Vous êtes sur la page 1sur 7

Servidor OpenSSH en Windows 2k...

+ VNC

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
Código:
C:\net start opensshd

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:
Código:
ssh usuario@servidor

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
-----------------------------------------
__________________
Un saludo,

Úlima edición por Alfon fecha: 11-11-2003 a las 03:26 AM.

Alfon
Ver Perfil
Enviar Mensaje Privado
¡Visita mi Sitio!
Encontrar Mensajes
Agregar a Alfon a Tu Lista de Amigos
#2
11-11-2003, 02:49 AM
Alfon Fecha de Ingreso: Nov 2002
Moderador Mensajes: 1,546

Tunelización de conexiones VNC bajo OpenSSH

Tunelización de conexión para VNC sobre SSH

Introducción

Una de las aplicaciones que podemos dar a SSH es la creación de tuneles seguros, es
decir, crear conexiones TCP seguras a través de una canal o red insegura. Ya sabemos
que muchas aplicaciones usan protocolos inseguros que envian, por ejemplo, nombre de
usuario y contraseña en texto. SSH cifra los datos para que viajen seguros tanto por
redes locales como hosts remotos a través de internet. Podemos también, por poner otro
ejemplo, crear un canal seguro entre un servidor y un cliente MySQL, leer correo ó
tunelizar conexiones remotas via VNC. Explicamos la manera a través de un ejemplo
práctico como puede ser la tunelización de conxiones VNC a través de OpenSSH.

Antes que nada

Tenemos que indicar al sistema que VNC va a realizar conexiones del tipo Loopback.
Esto de realiza en el registro de windows. El contenido de un archivo .reg ( archivo de
registro de win32 ) para realizar la operación sería este:
Código:
Windows Registry Editor Version 5.00

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;
;
; Registro de window.
;
; Añadir claves para Loopback
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;

[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default]

"AllowLoopback"=dword:00000001

Tanto en el servidor como en el cliente editar el archivo: ssh_config y añadir:


Código:
GatewayPorts yes

Esquema básico de conexión para VNC sobre SSH


Código:
conexión segura
192.168.4.3 ----------------------------------------> 192.168.4.7
Cliente SSH y VNC Servidor SSH y VNC

(Este es un esquema básico. Se pueden realizar múltiples conexiones y de muy


diferentes maneras.)

En 192.168.4.3 insertamos lo siguientes comandos ssh


Código:
C:\>ssh -2 -C -N -L 5902:localhost:5901 INFOGRAFIA2@192.168.4.7

Desde 192.168.4.3 abrimos vncviewer.exe:


Código:
vncviewer localhost:2

ó
Código:
vncviewer localhost:5902

Explicación de los comandos ssh para realizar el tunel


 2 Usa el protocolo SSH2
 C Realiza compresión de los datos
 -N (solo para la versión SSH2) Indicamos a ssh que no se ejecutaran comandos
en el servidor, sólo el tunel.
 -L Realizar tunel
 5902 puerto local (dispaly 2 para vncviewr ) para conexión remota. Este es el
puerto que indicaremos a wncviewer
 localhost Ip servidor, en este caso localhost para realizar el tunel.
 5901 puerto remoto donde escuchará VNC (display 1)
 INFOGRAFIA2@192.168.4.7 usuario/IP máquina segura ejecutando SSH.

Otro comando opcional a usar usar sería -S: que destruye el tunel cuando acabe la
conexión. Fija un tiempo de espera o Delay para nueva conexión y si no se realiza se
destruye el tunel.

Una vez creado el túnel, tan sólo tendremos que ejecutar VNC Viewer introduciendo en
el campo VNC Server:
Código:
localhost:5902 ó localhost:2
El túnel SSH también lo podemos realizar con un cliente win32 como PuTTY. Desde
este cliente y para realizar dicho tunel:

Session:
Specify your connection by host name or Ip address:
Host Name (or Ip address): 192.168.4.7
Port 22 (SSH)

SSH > Tunnels >


Add new forwarded port:
Source port: 5902 ( este es el puerto localhost )
Destination: 192.168.4.7:5901
(pulsar Add) y (Open)

Para comprobar que la conexión se realiza a través del canal seguro

Si cerramos la consola MSDOS donde introducimos las lineas ssh para tunelización ó el
cliente ssh (PuTTy), debe cerrarse también la conección VNC.

-----------------------------------------
(c) Alfon.
www.seguridadyredes.tk
-----------------------------------------
__________________
Un saludo,

Úlima edición por Alfon fecha: 11-11-2003 a las 03:26 AM.

Vous aimerez peut-être aussi