viernes, 11 de enero de 2013

Administración Remota en Linux


La administración remota es una herramienta básica en la administración de sistemas, ya que nos permite no estar físicamente delante del equipo. Para esto no es solo necesario el acceso remoto a los equipos, sino que también hay que tener en cuenta la seguridad con la que lo hacemos, esto nos impide utilizar una serie de herramientas que permiten el acceso remoto con control total, ya que por lo general requieren dejar el equipo encendido sin estar nosotros físicamente delante y esto podría hacer que cualquier persona malintencionada crease estragos en nuestro sistema.

Cuando hablamos de administración remota en modo texto, o linea de comandos, solo tenemos dos opciones posibles: SSH y Telnet. Pero lo cierto es que una dista muchísimo de la otra, tal como decíamos en el articulo anterior.
Telnet es un protocolo mas antiguo, e infinitamente mas vulnerable, de ahí su caída en desuso. Este protocolo permite la administración total del terminal al que queramos conectarnos pero el gran problema es que toda la información que circula entre los dos equipos lo hace como texto plano sin encriptar, por lo que cualquier persona con un sniffer y tiempo necesario, solo tendría que mantenerse a la escucha de nuestro puerto 23 para obtener todo lo necesario para causar estragos en nuestro sistema.

Posteriormente apareció el gran hermano mayor, SSH. Este protocolo a pesar de dar las mismas opciones de control sobre el equipo remoto, borraba de un plumazo el gran problema de Telnet. Ni siquiera el usuario y contraseña para hacer loggin viajaban sin encriptar, de manera que hacia prácticamente imposible saber que estábamos enviando, a pesar de que esa supuesta persona con demasiado tiempo libre pasase su vida escuchando, esta vez, nuestro puerto 22.





¿Tenemos mas opciones en Linux en modo texto? Pues si investigásemos seguramente encontraríamos algo mas, pero que hay mas sencillo en Linux que abrir un terminal...

En cuanto a herramientas gráficas existen numerosas opciones, muchísimas mas que en Windows, ya que el software libre siempre da mas variedad. Nosotros nos centraremos solo en las que son mas propias de Linux que de Windows, a pesar de que algunas de ellas se pueden ejecutar en ambos sistemas operativos.

Webmin es una potentísima herramienta que ofrece una interfaz gráfica que permite gestionar de manera remota un equipo con una cantidad de opciones que marearía a cualquier novato por estos lares. Sus opciones son de lo mas variopintas y van desde la administración de ficheros a la instalación y configuración de servidores DNS o DHCP a distancia, por nombrar algo. se gestiona desde tu navegador web, bajo https pero usa para comunicarse el puerto 10000, y aunque puede ser instalado en windows, es infinitamente mas utilizado en Linux.




Servidor X es una herramienta que se desarrollo en los años 80, inicialmente estaba pensada para dar uso a equipos a los que se conectaban numerosos clientes de manera simultanea. Básicamente y de manera muy, muy resumida, consiste en habilitar un Servidor X (o X11 que es la versión actual) en el equipo al que queremos conectarnos para efectuar su administración. Una vez instalado y habilitado podremos conectarnos a ese equipo y el servidor x se encargara de proporcionarnos un escritorio remoto con el que podamos trabajar sin inmiscuirnos en lo que otros posibles usuarios estén haciendo en ese equipo. Solo queda indicar que los servidores x, o X11 actualmente, suelen utilizar los puertos, 6000 y 7100.



Por ultimo solo nombraremos otras posibles herramientas que podrían ser utilizadas para la administración remota pero que se detallaron en el articulo anterior o de las que podrían realizarse artículos enteros para ellas solas. Entre ellas hay algunas que son comunes a Windows o Linux, como: PuTTy, LogMeIn, TeamViewer, VNC o similares.

jueves, 10 de enero de 2013

Administración remota en Windows


La administración remota en Windows es un asunto peliagudo ya que de por si, Windows no dota de demasiadas opciones a sus sistemas operativos desde su propio software. Para administrar vía linea de comandos en los sistemas Windows no hay ninguna herramienta que sea propia de Windows, por eso tenemos que recurrir directamente a aplicaciones como PuTTY para poder acceder via SSH o Telnet.
También podemos encontrar otros programas externos que nos permiten una conexión en modo linea de comando, pero que previamente nos obliga a configurarlo en un entorno gráfico  así que este tipo de software podría incluirse como herramienta gráfica solo en parte, ya que la interacción con el equipo remoto solo se realiza mediante comandos. En este tipo de programas podríamos incluir Bitvise WinSSHD.

PuTTY:

Panel de Configuración:



Terminal en linea de comandos:



Bitvise WinSSHD:

Paneles diversos de configuración:






Pantalla de Consola:



En cuanto a herramientas gráficas si que tenemos alguna opción mas, comenzando por Terminal Server o La Conexión a Escritorio Remoto, utilidad que podemos encontrar desde hace unas cuantas versiones en Windows. Despues de eso, Microsoft no ofrece muchas mas salidas, a menos que tomemos como administracion remota propiamente dicha la Solicitud de Asistencia Remota que MSN Live Messenger ofrecia entre sus opciones (Puerto 1863), aunque esta desaparecerá en el mes de marzo.

Terminal Server:



Escritorio Remoto:




Asistencia Remota en MSN Live Messenger




También debemos hablar de Citrix. Esta empresa se dedica a multitud de tareas pero entre los productos que ofrece podemos encontrar algunas aplicaciones de utilidad como GoToAssist que están diseñadas específicamente para la administración remota de sistemas, aunque añade funciones como transferencia de archivos o chat.

GoToAssist:



Una vez llegados a este punto hay que hablar del mayor quebradero de cabeza que podemos encontrar dentro de la administración remota, la seguridad. La seguridad es un aspecto importantísimo dentro de este tema y cada aplicación o herramienta usa su propio sistema de encriptado y su puerto para enviar la información. En un principio Telnet y su puerto 23 eran lo mas usado, pero tenia el problema de que la información viajaba como texto plano sin codificar, por lo que cualquiera con un sniffer y algo de tiempo podía capturar toda la información que quisieses incluidos los usuarios y contraseñas, vamos, que era un autentico desastre ya que carecia por completo de seguridad. Después, con la implementación y uso de SSH la seguridad fue casi total, ya que al viajar por la red toda la información cifrada, incluso el usuario y su contraseña de loggin, el puerto 22 se convirtió en el favorito para la administración remota.
Una vez dicho esto podríamos hacer una lista enorme con diferentes aplicaciones que sirven para realizar una asistencia remota, cada una con sus propios sistemas de encriptado, sus mecanismos, el puerto que utilizan, pero prácticamente daría para un articulo propio por cada aplicación, así que nos limitaremos a nombrar algunas de ellas y dar los detalles mas significativos:

TeamViewer: Crea un túnel bajo SSH entre su servidor y los dos equipos a conectar, pero el propio servidor de la compañía no tiene acceso a la información que se transmite entre los clientes. Ademas, añaden otra capa de seguridad al usar su propio sistema de encriptado ademas de SSH.

VNC: Famoso programa de escritorio remoto, muy utilizado bajo diferentes sistemas operativos, su información circula bajo SSH y los puertos que utiliza van entre 5400, 5500, 5600, 5700, 5800 o el 5900.

PcAnywhere:  Aplicación mas usada para el hackeo que para funciones mas honorables, pero que también trabaja bajo SSH y que suele funcionar en los puertos 5631 y 5632.

RAdmin: o Remote Administrator es una herramienta ya prácticamente obsoleta pero que hace un tiempo era bastante usada, esta funcionaba encriptando sus datos bajo un protocolo propio y solía usar el puerto  4899.