2. GESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE
SERVIDORES
Que es ssh???........................................................................................................................................3
Contenido del Paquete OpenSSH.........................................................................................................3
Porque SSH y no TELNET?.................................................................................................................3
Instalación y configuración de SSH en Linux......................................................................................3
Estado...............................................................................................................................................3
Configuración..................................................................................................................................3
Restringir IPs atacantes........................................................................................................................5
Comandos SSH.....................................................................................................................................5
Conexión simple.........................................................................................................................5
Conexión modo gráfico...............................................................................................................5
Túnel...........................................................................................................................................5
Generar Claves............................................................................................................................6
Exportar clave.............................................................................................................................6
Altavoces remotos.......................................................................................................................6
Comparar ficheros.......................................................................................................................6
3. Que es ssh???
Las siglas de SSH significan Secure SHell, en español, tabla de comandos segura.
El servicio SSH es un protocolo para acceder a máquinas remotas, igual que TELNET, pero cifrado
por lo tanto mas seguro, funciona mediante TCP así que esta orientado a la conexión.
Contenido del Paquete OpenSSH
ssh: para el acceso remoto
scp: para copiar ficheros
sftp: para la transferencia de archivos
sshd: Servidor SSH daemon par que este siempre activo
ssh-keygen: para generar y inspeccionar claves RSA y DSA
ssh-agent y ssh-add: para autentificarse mas fácil y no tener que introducir la frase de acceso cada
vez que se utilice la clave
ssh-keyscan: Escanear clientes y recolectar sus claves públicas
Porque SSH y no TELNET?
El cifrado de SSH nos proporciona autenticidad e integridad de los datos.
Utiliza llaves públicas para validarse en la maquina remota.
También puedes transferir ficheros por SCP o sFTP que son servicios de escritorio remoto
Instalación y configuración de SSH en Linux
Vamos a instalar OpenSSH, se instalaría de la siguiente forma
sudo apt-get install openssh-server
Estado
De estas tres formas podemos ver su estado y encender, reiniciar y parar el servicio:
sudo /etc/init.d/ssh status
sudo /etc/init.d/ssh start
sudo /etc/init.d/ssh restart
sudo /etc/init.d/ssh stop
Configuración
Ahora vamos a configurar-lo
accedes a su fichero de configuración sshd_config pero primero hacemos una copia del fichero por
si tenemos algún error poder volver a empezar
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old
4. este sera el contenido que debemos de tener configurado:
El puerto por el que tendremos las conexiones
Port 22
La interfaz por la que tendremos las conexiones si tenemos más de una (opcional)
ListenAdress 192.168.1.109
El protocolo 2 para mayor protección
Protocol 2
Aqui es donde se guardan las Keys
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
Tiempo de vida (segundos) y tamaño del la clave (bytes)
KeyRegenerationInterval 3600
ServerKeyBits 2048
Tipo de loggin (autentificación)
SyslogFacility AUTH
LogLevel INFO
Si queremos que se pueda loggear con Root
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
Autentificación con claves RSA
RSAAuthentication yes
PubkeuAuthentication yes
El resto del fichero lo dejamos como esta
Aqui unas posibles modificaciones que son opcionales
Permitir un usuario específico
AllowUsers usuario@host
permitir un grupo específico
AllowGroups sudoers
Número de intentos fallidos máximo para cerrar la conexión
MaxAuthTries 1
Mensaje de bienvenida
Banner
maximo de conexiones abiertas
MaxStartups
Conexión modo gráfico
X11Forwarding yes
5. Restringir IPs atacantes
Podemos Instalar un programa para banear las Ips que hacen muchos intentos fallidos al loggearse,
vamos a utilizar fail2ban
asi lo instalaríamos
sudo apt-get install fail2ban
para editar si fichero de configuración lo haremos asi y le insertaremos estas líneas dentro del
fichero
sudo gedit /etc/fail2ban/jail.local
[ssh]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 9
lo iniciamos asi:
sudo /etc(init.d/fail2ban start
y para ver los logs de conexión hacemos esto:
cat /var/log/auth.log
Comandos SSH
Conexión simple
ssh -l usuario -p puerto servidor
ssh -p puerto usuario@servidor
Conexión modo gráfico
Ssh -l usuario -p puerto -X servidor
ssh -p puerto -X usuario@servidor
Túnel
ssh -R 16789:localhost:2222 usuario@servidor
ssh -N -L 2001:localhost:80 servidor
6. Generar Claves
Clave de 1024 caracteres
Ssh-keygen -t dsa
clave de 2048 caracteres
ssh-keygen -t rsa
Exportar clave
ssh-copy-id -i clavepublica.pub usuario@servidor
ssh-copy-id usuario@servidor
Altavoces remotos
dd if=/dev/dsp | ssh -c arcfour -C usuario@servidor dd of=/dev/dsp
Comparar ficheros
ssh user@host cat archivoremoto | diff ficherolocal -
Conexión Host in the middle
Ssh -t serveralcanzable ssh serverinalcanzable
Configuración desde Webmin
Entramos al navegador y escribimos en la barra de arriba, las dos son validas
localhost:10000
127.0.0.1:10000
A la izquierda nos aparecerán unas opciones, tenemos que pinchar en la pestaña donde pone
Servers y dentro nos aparecerá un listado, pinchamos SSH Server y en el navegador nos
aparecerán sus opciones
8. En Access Control podemos determinar si queremos que puedan conectarse unos usuarios
específicos o algunos grupos y también denegarles el acceso
en Misellaneous Options tenemos el tipo de login y el X11 que es el modo gráfico
Y tenemos una opción que es la de editar el fichero de configuración Edit Config File
9.
10. Lo primero que debemos hacer es descargarnos el programa FreeSSHd
Ahora vamos a instalarlo y saldrá una ventana, le damos a siguiente
Seleccionamos el destino de instalación y le damos a siguiente.
Seleccionamos Full instalation y pinchamos en siguiente para que se instale todo y no solo lo basico
12. Nos pedirá crear las claves ahora, le decimos SI
Ahora nos va a pedir si FreeSSHd se instalara como un servicio
13. Pinchamos en FINISH y terminamos la instalación
Configuración de FreeSSHd
Ejecutamos el programa FreeSSHd con permisos de administrador para poder configurarlo
Nos saldrá esta ventana
Aquí tenemos la configuración
14. Vamos a la pestaña de SSH, donde configuraremos la dirección IP de escucha
15. Ahora elegimos un puerto para el servidor SSH, por defecto es el puerto 22, también permite tener
un máximo de usuarios conectados simultáneamente, lo podemos dejar en 0 si queremos que sea
ilimitado.
Como podéis ver, las claves RSA y DSA creadas, son de 1024 bits, podemos crear unas de 2048 bits
pero tendrán menos rendimiento
16. La forma más segura de conectarnos mediante SSH es con una llave pública para la verificación,
pero es muy pesado llevar dicha llave pública ya sea en un pendrive etc, por tanto sólo vamos a
requerir un usuario y clave
17. El tipo de cifrado que usaremos será AES256 que es mas segura
18. Ahora vamos a configurar el SFTP, lo que tenemos que hacer es asignar una ruta que al hacer login
nos de acceso al equipo, hay pocas opciones de configuración porque el SFTP es una opción
añadida
19. Vamos a crear las cuentas de usuario en Users, creamos un login y la clave, la opción del centro es
para poner una password
20. Este programa nos permite habilitar ciertas direcciones IPs para que sólo podamos acceder desde
esa dirección en concreto o también permite seleccionar una lista negra para impedir el paso.
21. Vamos a activar los LOGs para controlar a fondo el servicio SSH y quién se conecta y desde donde
22. Ahora que ya tenemos todo configurado
Nos vamos a la pantalla principal y podemos iniciar el servidor
23. Conexión SSH con Putty
También podremos conectarnos mediante SCP y SFTP y os saldrá una interfaz como Filezilla para
pasar archivos