jueves, 24 de febrero de 2011

Pequeña mini-guía por ssh

Lo publiqué ya en Infowebmática, pero lo pongo ahora aquí, dudo que a alguno le interese ya que es un tocho aburrido, pero bueno...


Servicio SSH

Es una herramienta que permite la  conexión remota entre dos equipos. La conexión es segura. Utiliza el puerto 22 y sigue el modelo cliente-servidor. Los usuarios pueden identificarse por clave o por contraseña. También se puede integrar con otros sistemas como Kerberos o PGP, y está implementado para la mayoría de los sistemas operativos.

Ventajas

Todos los datos que se envían y reciben van cifrados, y el cliente puede ejecutar SSH en aplicaciones graficas mediante shell de forma segura. Además, usar SSH evita que se intercepte la comunicación entre dos sistemas y la suplantación de un host (enmascaramiento). La versión SSH2 es más segura.

Conceptos básicos de encriptación

La encriptación consiste en convertir texto plano (normal) en texto cifrado. A esto se le llama criptografía. La encriptación permite que:

  • Nadie salvo su destinatario puede acceder a la información.
  • No se puede cambiar la información en su tránsito sin que se detecte.
  • El emisor y el receptor pueden confirmar la identidad del otro.
  • El emisor no puede negar que él es el autor de la información.

¿Cómo funciona SSH?

No transmite contraseñas en texto plano, el proceso de autenticación tiene garantías, las órdenes se ejecutan de forma segura, y sus sesiones gráficas X11 también son seguras.

Funciona según el proceso siguiente:
  1. El cliente abre una conexión TCP por el puerto 22 del servidor.
  2. Cliente y servidor se ponen de acuerdo con la versión de SSH.
  3. El servidor manda la clave pública al cliente.
  4. El cliente la compara con la que tiene almacenada.
  5. El cliente genera una clave de sesión aleatoria.
  6. Para el resto de la sesión se usa el algoritmo cifrado simétrico seleccionado.
  7. Se autentica el usuario.
  8. Se inicia sesión.

¿Qué es un túnel SSH?

El procedimiento es crear un túnel donde viajan los datos de forma segura. En los extremos del túnel están ejecutando servicios con protocolos no seguros. SSH, mediante criptografía, mantiene segura la comunicación.

¿Qué es un cliente SSH?

Se trata de una herramienta de software que nos permite a nosotros, los usuarios, solicitar el establecimiento de una conexión segura con el servidor SSH desde nuestra máquina remota. La conexión se puede llevar a cabo mediante herramientas gráficas o mediante comandos en la consola. También se puede usar la herramienta FreeNX o el cliente PuTTY. El usuario es el login de conexión, y el host es la IPde la máquina servidor SSH, o su nombre si esta configurado con un servidor DNS.

Transferencia segura de archivos

Para GNU/Linux tenemos diversas opciones:
  • Orden scp: nos permite realizar transferencias simples desde la máquina de comandos. Podemos hacer copias de seguridad con conexión segura y encriptada.
  • Orden sftp: abre una sesión segura e interactiva de este tipo.
    • Sftp nombre_usuario@ nombre_maquina
    • sftp maquina_remota

Reenvío X11

SSH tiene una función que es establecer una línea de órdenes segura, pero también puede abrir sesiones X por un canal SSH. El proceso es el siguiente:
  • Establece mediante un canal cifrado una conexión con el servidor remoto usando SSH.
  • Desde la maquina local se ejecuta xterm, el Terminal virtual que usa el sistema gráfico X Window.
  • Xterm se comunica con el servidor X que está corriendo en la máquina (sin cifrar).

Es preferible que se pueda usar el mismo canal seguro que establece SSH. El reenvío de X11 es un mecanismo que nos permite usar el canal SSH. El procedimiento es:
  • Conectar al servidor usando ssh.
  • Se ejecuta xterm.
  • Xterm comunica con el pseudoservidor X.
  • El pseudoservidor X comunica con el cliente SSH a través de un canal cifrado.
  • El cliente transmite los datos de xterm al servidor X real.

Reenvío por TCP/IP

Se basa en la asignación de un puerto local del cliente a un puerto remoto del servidor. TCP/IP se configura para escuchar puertos por debajo del 1024, si es así, es preciso acceder como root. La sintaxis es la siguiente:
Ssh –l puerto_local:maquina_local:puerto_remoto nombre_usuario@maquina_remota

$ ssh –l 10143:localhost:143 alumno@mail.servidor.aula

Si el administrador del sistema no quire dejar activa la posibilida de usar el reenvío de puertos tiene que ir al servidor SSH y deshabilitar la opción “AllowTcpForwarding”.

¿Qué es un servidor SSH?

Nos facilita el establecimiento de conexiones remotas. Como herramienta base cogemos OpenSSH, sus características son:
  • Proyecto de Código Abierto.
  • Licencia libre que permite su uso para cualquier propósito.
  • Compatible con SSH1 y SHH2.
  • Disponible para casi todos los sistemas operativos.
  • Reenvío por puertos.
  • Reenvío por agente.
  • Soporte para cliente y servidor SFTP.
  • Compresión de datos.

Autenticación de usuarios
  • Por contraseña: el usuario tiene una contraseña, la introduce y se manda al servidor. Se comprueba que existe en el archivo /etc/shadow.
  • Por clave pública.

Utilización básica de SSH

El demonio servidor es /usr/sbin/sshd. El cliente es /usr/bin/ssh.

El agente de autenticación ssh-agent

Actúa como almacén de las claves privadas y las suministra al cliente SSH.

Servidor SSH bajo Windows 2008 server

Usaremos freeSSHd, sus características son:
  • Permite usar SSH.
  • Soporta varios métodos de autenticación.
  • Soporta varios métodos de cifrado.
  • Selecciona usuarios a los que les permite la conexión.
  • Selecciona máquinas/redes a las que les permite o deniega la conexión.
  • Lleva un registro de todas las operaciones realizadas.

Para conectarse al servidor freeSSHd desde Windows, usamos PuTTY. Para GNU/Linux solo necesitamos la orden ssh.

Los servicios del termina permiten iniciar sesión a varios usuarios simultáneamente en el servidor. El administrador también puede tener disponibles varias sesiones remotas y acceder desde ellas a los dispositivos locales. Dentro de los servicios de Terminal esta Remote Desktop, se activa con tsadmin.exe, y sus principales características son:
  • Administración gráfica de los servidores.
  • Instalar y ejecutar programas de forma remota.
  • Las sesiones remotas del administrador no afectan al rendimiento.
  • Hay disponibles dos sesiones virtuales remotas además de la consola.
  • La comunicación cliente servidor se lleva a cabo mediante el protocolo RDP (Remote Desktop Protocol).
 (Re

0 comentarios:

Publicar un comentario

En Para Quien Lo Quiera estamos abiertos a opiniones, no seas timid@ y dejanos la tuya.

Reenvia

 
Design by Wordpress Themes | Bloggerized by Free Blogger Templates | Macys Printable Coupons