Que es SSH y OpenSSH
OpenSSH es una implementación abierta y gratuita de SSH. SSH es un protocolo que permite establecer
conexiones seguras a través de redes que no lo son, además es capaz de servir de tunel seguro para otros
protocolos que no lo son. Podemos entonces realizar tareas de mantenimientos de sistemas y conexiones remotas
al estilo UNIX de forma segura. SSH2, la segunda versión de SSH, resuelve algunas de las deficiencias de su
antecesor SSH1, ofreciendo de esta manera un alto nivel de cifrado de datos y un método de autentificación
bastante fiable. Es además una alternativa fiable a no seguro telnet ó rlogin, rsh, rcp, rdist.
Secure Shell previene, además, de una serie de ataques como son:
- Ataques proveniente de Sniffers.
- IP Spoofing
- MACpoofing
- DNS Spoofing
- Telnet Hickjacking
- ARP Spoofing
- ARP Spoofing
- ICMP Spoofing
Nos puede servir también para crear canales o túneles seguros para otras aplicaciones como correo,
VNC, ftp, etc. Aquí explicaremos su uso para conexiones con
VNC. Pasos para su instalación y configuración. Instalando el paquete OpenSSH para Windows
Descargar el paquete desde
aquí(OpenSSH for Windows v3.7.1p1-1 Actualizado a 30 September 2003)
Crear un par de llaves
Para crear un par de claves DSA, acceder al directorio base de OpenSSH mediante la línea de comandos
y ejecutar:
Código:
ssh-keygen -d -f c:\ssh\ssh_host_dsa_key -N “”
Para crear un par de claves RSA, ejecutar:
Código:
ssh-keygen -f c:\ssh\ssh_host_key -N “”
En estos ejemplos se ha utilizado el directorio C:\ssh como directorio base, por lo que si se utiliza un directorio
base distinto habrá que reemplazar este dato en el ejemplo. Serán generadas por defecto pares de claves
de 1.024 bits, en principio suficientemente seguras.
Variables de entorno Mi PC > Propiedades > Avanzado > Variables de Entorno >
Añadir al path el valor del la ruta donde se encuentr OpenSSH por ejemplo:
Código:
C:\Archivos de programa\Exceed.nt;C:\Archivos de programa\Archivos comunes\Autodesk Shared\;C:\OpenSSH
Mi PC > Propiedades > Avanzado > Variables de Entorno >
Crear una nueva variable del sistema:
Código:
Variable: HOME
Valor : C:\OpenSSH ( o la ruta donde se encuentre OpenSSH )
Creación de los archivos passwd y group
Dentro de la carpeta /bin se encuentran los programas mkpasswd y mkgroup para crear usuarios/grupos que
servirán para la autentificación. Una vez realizada la autentificación en Cygwin, este transfiere la solicitud de autentificación a Windows 2000 para la comprobación de contraseñas en el SAM (Administrador de cuentas de seguridad) local y después en la base de datos del dominio si este exsite. Con lo cual los usuarios creados con
passwd deben ser tambien usuarios creados en el sistema.
Código:
mkpasswd -l -u username >> ..\etc\passwd
mkgroup -l >> ..\etc\group
reemplazaremos
username por el nombre de usuario quie debe de existir en Windows2000 y
-l por
-d si estamos en un dominio. Para ver los usuarios del sistema donde queremos configurar OpenSSH:
Código:
C:\OpenSSH\bin>mkpasswd -l
SYSTEM:*:18:544:,S-1-5-18::
Administradores:*:544:544:,S-1-x-32-544::
Administrador:unused_by_nt/2000/xp:500:513:U-INFOGRAFIA3\Administrador,
S-1-5-21-682003330-10600084298-49167539
-500:/home/Administrador:/bin/switch
Ejemplo de creación de usuario/grupo:
Código:
C:\OpenSSH\bin>mkpasswd -d -u INFOGRAFIA3 >> ..\etc\passwd
C:\OpenSSH\bin>mkgroup -d >> ..\etc\group
[size=3Restricción de usuarios[/size]
Para que solo algunos usuarios puedan conectarse via SSH al servidor, agregar la siguiente linea en
/etc/sshd_config:
Código:
AllowUsers <user1> <user2> ...
Esta tambien permitido aceptar grupos de usuarios. Se hace con AllowGroups
Arrancar el servicio Conexión con el servidor OpenSSH
Para conectarse al servidor OpenSSH desde un cliente Windows podemos usar PuTTY. PuTTY es un cliente
de Telnet y de SSH «libre» para la interoperación con OpenSSH desde sistemas Windows.
http://gnuwin.epfl.ch/apps/putty/es/
Para conectarse desde una shell en modo MSDOS:
Seguridad
Es necesario asignar permisos a las carpetas par que sólo los usuarios que queramos puedan acceder a ellas.
Algunas reglas importantes. - Siempre que sea posible, conceder el acceso remoto sólo a los administradores.
- Sólo la cuenta LocalSystem y el grupo local «Administradores» deben tener acceso a los directorios
\ssh, \var y \etc. - Si aparece en pantalla un mensaje de advertencia del cliente SSH para comunicarle que la clave de host
del servidor OpenSSH ha cambiado y no se trata de la primera vez que establece conexión con dicho servidor, hay que averiguar la causa. - Utilizar SSH1 exclusivamente cuando existan clientes más antiguos que utilicen dicha versión de SSH.
Listo todo. Ya tenemos nuestro servidor OpenSSH instalado y preparado para funcionar.
-----------------------------------------
(c) Alfon.
www.seguridadyredes.tk
-----------------------------------------