En la siguiente entrada vamos mostrar como buenas practicas, “sencillas pero efectivas” y sobre todo facil de hacer, vamos a asegurar el acceso a nuestro servidor para evitar ataques de fuerza bruta por ssh conectándonos por ssh key en vez del típico ssh, cambiando los puertos por defectos y también instalando fail2ban para que nos ayude a manejar sin demasiada configuración los intentos de ingreso a nuestro servidor. Obviamente les muestro la forma fácil, rápida y segura, pero podemos adentrarnos mucho mas en estas configuraciones.

ssh

Una de las conductas que se toman cuando empezamos a administrar servidores es hacer que todo ande a cuesta de cualquier cosa. En esto somos capaces de instalar mysql apache etc etc etc, probamos que nuestro desarrollo funcione y listo, ya esta, anda!!

En la vida real duramos 2 minutos! No resistimos un solo ataque de ningún tipo y por mas que el hosting donde estamos tenga su seguridad ante ddos y cosas así, sino ayudamos un poco estamos al horno.

Lo mas peligroso que hacemos al iniciar es dejar el ssh configurado por defecto. Y por defecto no hablo de la super contraseña sino del puerto y también del acceso mediante clave.

Lo que vamos a hacer en esta oportunidad es generar un ssh key que esta compuesto de una clave privada y una publica y representa a nuestro usuario en nuestra computadora

ssh-keygen -b 4096

Ahora si vamos a nuestra maquina vamos a listar la carpeta para ver que creo:

ls .ssh/
ssh key
algo asi les tiene que aparecer 🙂

Ahora vamos a copiar nuestra publica al servidor de ese modo ssh nos va autentificar comparando las claves y si esta bien listo.

ssh-copy-id -i .ssh/id_rsa.pub user@IP_SERVER

Nos va a pedir la clave de ssh del servidor y copiara la llave publica nuestra en el servidor en .ssh/authorized_keys

Este ejemplo anterior sirve si aun no cambiaron el puerto sino tienen que poner -p y el puerto.

Nos desconectamos y volvemos a conectarnos para ver que ya no nos pedirá la clave por que la key ya nos esta autorizando.

Recuerden que cada maquina con la queremos conectarnos debera tener su propia key y hay que copiarla al servidor.

Ahora nos conectamos y vamos a hacer un cambio en el siguiente archivo de configuracion de ssh:

sudo nano /etc/ssh/sshd_config

Si estabas usando el puerto 22 en cuyo caso va a decir algo como #22 lo que vas a hacer es descomentar y cambiar 22 por otro numero por ejemplo 2922 o lo que fuera.

Otro cambio es en el campo PasswordAuthentitation donde seguramente dice YES poner NO y nos queda:

PasswordAuthentitation no

Guardamos los cambios y reiniciamos el servicio.

sudo /etc/init.d/ssh restart

De este modo solo podrá ingresar el que tenga la key generada. Pero para asegurar apenas un poco más vamos a proceder a instalar:

sudo apt install fail2ban

Esto por defecto a los 3 intentos de ingresar por ssh lo va a bloquear. También podríamos instalar algun paquete como sendmail para envios de mensajes o alertas pero no es el caso ahora.

Una vez instalado procedemos a activar y a hecharlo andar:

systemctl start fail2ban
systemctl enable fail2ban

Fail2ban usa los archivos .conf ubicados en el directorio /etc/fail2ban/ por lo cual recomiendo que por las primeras veces hagas backup y registres las modificaciones.

Uno de los archivos más importantes es jail.conf, el cual define las medidas de protección. Allí se deben definir los servicios para los cuales Fail2ban debe estar habilitado.

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

ahora modificaremos el archivo:

nano /etc/fail2ban/jail.local

Si revisan el archivo muchas cosas vienen por defecto como la seguridad ssh al menos en ubuntu y debian.

Pero si quieren pueden cambiar algunos campos como:

Bantime – Findtime – Maxretry

es muy intuitivo verdaderamente así que no creo que tengan problemas por que son tiempos y cantidad de intentos. Luego tal vez haremos una entrada completa sobre fail2ban.

Por ahora gracias por pasar!! y como siempre los espero con sus comentarios, compartiendo y metiendole un poco de onda sobre todo para los que inician en administrar sistemas, web etc…..

Encontrame en:

Mastodon: https://mastodon.online/invite/KPwQGDRs

Twitter: twitter.com/Luis_Zambrana

Facebook: https://www.facebook.com/LuisZambranaBlogPersonal

Te invito también a ser parte de la comunidad @MakersArgentina y @RaspberrypiArg en telegram!

Invitame un café en cafecito.app
Print Friendly, PDF & Email
Share:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *