Seguridad en los sistemas Linux

9
Curso y Ciclo: 2º ASIR Módulo: SEG Alumno/a: Lucia Expósito Ortega [Seguridad en los accesos al sistema GNU/Linux] 1. Comprueba la fortaleza de las contraseñas de tus usuarios utilizando la herramienta john the ripper. 2. Mejora la seguridad de tu sistema GNU/Linux aplicando las recomendaciones del artículo http://blackhold.nusepas.com/2011/02/09/securizando-los-accesos-a-un-sistema-gnulinux/. 3. Blinda tu sistema contra ataques de fuerza bruta con la herramienta fail2ban para el servicio ssh. 1.Comprobación de la fortaleza de nuestras contraseñas. John the ripper es una herramienta que nos permite descifrar las contraseñas de los usuarios de nuestro sistema GNU/LINUX Lo descargamos con la siguiente orden: wget openwall.com/john/j/john-1.8.0.tar.xz Una vez descargado lo descomprimimos y ya podemos empezar a utilizarlo. tar xvf john-1.8.0.tar.xz Ahora nos metemos en el directorio src y con el comando make podemos ver para que sistemas tiene apoyo John the ripper.

description

Obtener la contraseña de los usuarios con John The Ripper.Mejorar la seguridad en las conexiones SSH.Prevenir ataques a nuestro sistema via ssh baneando IPs.

Transcript of Seguridad en los sistemas Linux

Page 1: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Alumno/a: Lucia Expósito Ortega

[Seguridad en los accesos al sistema GNU/Linux]

1. Comprueba la fortaleza de las contraseñas de tus usuarios utilizando la herramienta john

the ripper.

2. Mejora la seguridad de tu sistema GNU/Linux aplicando las recomendaciones del artículo

http://blackhold.nusepas.com/2011/02/09/securizando-los-accesos-a-un-sistema-gnulinux/.

3. Blinda tu sistema contra ataques de fuerza bruta con la herramienta fail2ban para el servicio ssh.

1.Comprobación de la fortaleza de nuestras contraseñas.

John the ripper es una herramienta que nos permite descifrar las contraseñas de los usuarios de nuestro sistema GNU/LINUX

Lo descargamos con la siguiente orden:

wget openwall.com/john/j/john-1.8.0.tar.xz

Una vez descargado lo descomprimimos y ya podemos empezar a utilizarlo.

tar xvf john-1.8.0.tar.xz

Ahora nos metemos en el directorio src y con el comando make podemos ver para que sistemas tiene apoyo John the ripper.

Page 2: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Utilizando la sintaxis de la orden make, seleccinamos nuestro sistema:

Aqui podemos ver los archivos que tenemos dentro de nuestro directorio.

Nos vamos al directorio run y desde ahí ejecutamos la orden unshadow que usaremos para combinar dos archivos en uno,que será el que utilice John. Aquí muestro la sintaxis que se debe usar:

Page 3: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Ejecutamos el comando y combinamos el archivo /etc/passwd y /etc/shadw

Ahora lo redirigiremos a otro fichero, al que llamaré claves.txt

Ejecutamos dicho archivo con John y nos aparecerán nuestros usuarios y contraseñas, aun que no todos, por ejemplo, no es capaz de reconocer usuarios cuya contraseñas no supera un carácter.

2.Mejora de la seguridad en las conexiones por ssh.

Para ello, vamos a denegar el acceso al usuario root, a permitir el acceso a un solo usuario, a cambiar el puerto por defecto (22) y a incrementar la seguridad de los password de nuestro sistema.

PermitRootLogin no

AllowUsers nombreusuario

Port 2224

Lo primero que haremos es denegar el acceso a nuestra maquina al usuario root, para ello editamos el fichero /etc/ssh/sshd_config descomentando la linea PermitRootLogin no

Page 4: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Comprobación:

Intentamos conectar y nos deniega el acceso:

En cambio, si intentamos conectarnos con un usuario del sistema accedemos sin problemas:

Ahora habilitaremos la conexión solo para un usuario especicico, para ello añadiremos AllowUsers nombreusuario:

Page 5: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Comprobación:

Intentamos acceder con el usuario que accedimos anteriormente (lucia) y nos deniega el acceso, en cambio, con el usuario especificado (lu) si nos permite la conexión:

Para terminar con ssh, mejoraremos la seguridad cambiando el puerto por defecto:

Page 6: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Implementar seguridad en el password de los usuarios.

Los usuarios no podrán utilizar password de diccionario, para ello instalamos el paquete libpam-cracklib y lo activamos en el fichero /etc/pam.d/common-password

Para activarlo, descomentamos las siguiente linea en el fichero common-password.

password requisite pam_cracklib.so retry=3 minlen=8 difok=3

También los obligaremos a que cumplan una longitud y requisitos:

password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=1 ucredit=1 dcredit=1 ocredit=0

Donde:minlen: especifica el número mínimo de caracteres.lcredit: especifica el número mínimo de letras minúsculasucredit: especifica el número mínimo de letras mayúsculasdcredit: especifica el número mínimo de caracteres numéricos ocredit especifica el número de caracteres de otro tipo, como por ejemplo símbolos.

En el fichero /etc/login.defs especificaremos el tiempo de validez del password:

Page 7: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Nos hará cambiar la contraseña pasados 2 dias, avisándonos cada vez que hagamos login el dia previo a caducar.

Además para forzar que no se repitan los passwords, pam_unix.so nos permite guardar los passwords usados en un fichero llamado opasswd dentro de /etc/security, para activar esto tendremos que volver a editar el ficherocommon-password y modificar la linea:

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=10

Lo siguiente para evitar que alguien pille un usuario y empiece a probar passwords, vamos a definir un numero máximo de intentos y un tiempo de gracia para que el usuario en cuestión pueda entrar de nuevo pasado este tiempo. Para ello editamos el fichero common-auth:

# nano /etc/pam.d/common-authauth required pam_tally.so onerr=fail deny=3 unlock_time=3600

Para ver si los logins fallidos de un usuario vamos a usar el comando pam_tally. En el caso que un usuario tenga demasiados intentos fallidos, pero sea el propio usuario el que se ha hecho el “auto-ataque”, podemos resetear el numero de intentos otra vez a 0.

Page 8: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

3.Blinda tu sistema contra ataques de fuerza bruta con la herramienta fail2ban para el servicio ssh.

Fail2ban es una aplicación que monitorea los logs de varios servicios, para prevenir ataques, baneando a los visitantes con un comportamiento sospecho.

Para instalarlo basta con ejecutar apt-get install fail2ban

Su fichero de configuración se encuentra enn /etc/fail2ban/jail.conf

Podemos añadir destemail para que nos notifique por email cuando un usuario sea baneado:

Reiniciamos, para que se efectuen los cambio y comprobamos el estado del servicio:

Page 9: Seguridad en los sistemas Linux

Curso y Ciclo: 2º ASIR

Módulo: SEG

Intentamos acceder varias veces con una contraseña incorrecta, hasta que nos muestre un mensaje de conexión rechazada, que será cuando el sistema nos banee (mi ip es diferente ya que no le tengo asignada una ip fija a mi maquina).

Si miramos el archivo de log de fail2ban comprobamos como nos avisa

Pasados los 600 segundos (10 minutos) podemos ver como dicha IP puede volver a intentar acceder: