Como proteger el acceso remoto por ssh

enero 21, 2008 at 11:09 am (Redes, Seguridad, Servidores, Tips, Unix)

Según la wikipedia:

SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X arrancado..

Asegurar SSH

SSH ya de por si es un protocolo seguro , pero podemos afinar mas los parametros para que sea aun mas seguro

Pasos que seguiremos

  • Deshabilitar SSH 1
  • Autenticación basada en clave
  • No permitir autenticación por Password
  • Cambiar el puerto por Defecto
  • No Permitir logeo como root
  • Banear ips tras 5 logins erroneos

Deshabilitar SSH 1

Puesto que la versión del protocolo ssh 1 hay algunas inseguridades , que mejor manera que usar el protocolo 2 que es mucho mas seguro. Para esto editaremos el fichero de configuración de ssh en /etc/ssh/sshd_config

dejaremos la opción protocolo así

Protocolo 2

Eso significa – aceptar la versión 2 del protocolo, y nada más. Guardar el fichero de configuración y reiniciar sshd.

# /etc/init.d/sshd restart

Autenticación basada en clave

Entrar con usuario y password está bien , pero podemos tener mas seguridad usando un par de claves publica y privada

Creando nuestra clave publica (En nuestra maquina Cliente)

ssh-keygen -t rsa

Al ejecutar este comando nos pide una clave le asignamos una y luego deberemos colocar en esa maquina remota la clave RSA publica que acabamos de generar ( ~/.ssh/id_rsa.pub ) en el directorio ~/.ssh/authorized_keys de el servidor ssh.

Habilitamos Autenticación por Clave (En el Servidor)

Ahora es momento de volver a configurar /etc/ssh/sshd_config para habilitar la autenticación con las claves anteriormente añadidas ~/.ssh/authorized_keys del servidor ssh.

En /etc/ssh/sshd_config :

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

Deshabilitar la autenticación por password

Para poder hacer util lo anteriormente mencionado dejaremos solo la autenticación por clave eliminando la autenticación por password para esto editaremos de nuevo /etc/ssh/sshd_config

PasswordAuthentication no

De está forma se elimina el impacto de ataques por fuerza bruta.

Cambiar el puerto por defecto

Para asegurar aun mas nuestro sistema cambiaremos el puerto por defecto de este modo evitaremos exploits tipicos de Script Kidies

/etc/ssh/sshd_config remplazamos la linea

Port 22

por

Port 25142

Donde 25142 puede ser otro puerto.

No permitir logeo como root

Puesto que root es el usuario con mas privilegios y el que se suele intentar explotar pues no permitiremos el logeo como root añadiendo en /etc/ssh/sshd_config

PermitRootLogin no

Banear a las ips que hacen mas de 5 logeos erroneos

Para esto usaremos una herramienta llamada fail2ban

instalamos fail2ban

# apt-get install fail2ban

una vez instalado crearemos una directiva para ssh

# vi /etc/fail2ban/jail.local

añadiendo la siguiente directiva

[ssh]enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5

reiniciamos fail2ban

# /etc/init.d/fail2ban restart

Nota: Cada vez que se hace un cambio en /etc/ssh/sshd_config tenemos de reiniciar sshd para ser aplicado /etc/init.d/sshd restart

Espero que os guste😀

2 comentarios

  1. FoxDie said,

    Hola, creo que en la configuración de fail2ban, en port, en vez de ssh tendrías que poner 25142 (utilizado en el ejemplo), ya que si nos, supongo que te cojerá el 22 de toda la vida

  2. _TuXeD_ said,

    Exactamente fue un despiste , gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: