Seguridad de Linux: 8 verificaciones más de bloqueo del sistema

El bloqueo del sistema no tiene que ser una tarea grande o espantosa que asuste a los corazones más hastiados de los administradores de sistemas. No, no es intuitivo ni necesariamente trivial bloquear correctamente un servidor Linux, pero tampoco es física cuántica. En mi artículo anterior, Seguridad del administrador del sistema: 8 verificaciones de bloqueo de Linux, he cubierto ocho cambios esenciales que debe realizar en cada sistema Linux, independientemente de la función. En este artículo, cubro más controles del sistema que puede implementar rápidamente y sin costo alguno.

Estos controles provienen de una variedad de fuentes, como mi propia experiencia, DISA STIG y otros administradores de sistemas. Los controles enumerados aquí no están clasificados en ningún orden particular de importancia o gravedad.

Índice

Bandera

Ya sea que su sistema tenga o no una interfaz gráfica de usuario, debe crear un banner que se muestre al usuario al iniciar sesión. El banner debe advertir al usuario que el sistema está protegido por y que el mal uso del sistema es un delito penal. El banner debería mostrarse para los usuarios de la consola, así como para aquellos que se conectan a través de la red.

Modificar el /etc/issue para los usuarios de la consola y el /etc/issue.net para los usuarios de la red. Asegúrese de proporcionar la ruta completa al archivo que está utilizando para el banner en el /etc/ssh/sshd_config archivo de la siguiente manera:

Banner /etc/issue.net

Puede usar cualquier archivo, pero debe cambiar la ruta del banner para que apunte al archivo que contiene su mensaje.

No, colocar un banner ciertamente no evitará que un atacante comprometa con éxito su sistema. Sin embargo, esto destruye el argumento de la defensa de que el atacante no sabía que el sistema era un sistema privado y protegido.

Cumplimiento de la complejidad de la contraseña

Haga cumplir la complejidad de la contraseña, para los sistemas que todavía usan contraseñas, cambiando la configuración en el /etc/security/pwquality.con archivo (que se muestra a continuación). Este archivo contiene una lista de parámetros modificables para hacer cumplir contraseñas seguras para sus sistemas.

# Configuration for systemwide password quality limits
# Defaults:
#
# Number of characters in the new password that must not be present in the
# old password.
# difok = 5
#
# Minimum acceptable size for the new password (plus one if
# credits are not disabled which is the default). (See pam_cracklib manual.)
# Cannot be set to lower value than 6.
# minlen = 9
#
# The maximum credit for having digits in the new password. If less than 0
# it is the minimum number of digits in the new password.
# dcredit = 1
#
# The maximum credit for having uppercase characters in the new password.
# If less than 0 it is the minimum number of uppercase characters in the new
# password.
# ucredit = 1
#
# The maximum credit for having lowercase characters in the new password.
# If less than 0 it is the minimum number of lowercase characters in the new
# password.
# lcredit = 1
#
# The maximum credit for having other characters in the new password.
# If less than 0 it is the minimum number of other characters in the new
# password.
# ocredit = 1
#
# The minimum number of required classes of characters for the new
# password (digits, uppercase, lowercase, others).
# minclass = 0
#
# The maximum number of allowed consecutive same characters in the new password.
# The check is disabled if the value is 0.
# maxrepeat = 0

Estos son los valores recomendados. Nota: asegúrese de descomentar la línea de parámetro para activar el valor aplicado.

difok = 8

minlen = 15

dcredit = -1

ucredit = -1

lcredit = -1

ocredit = -1

minclass = 4

maxrepeat = 3

maxclassrepeat = 4

Estas configuraciones ayudan a garantizar que las contraseñas del sistema sean mucho más seguras que las configuraciones predeterminadas. Se recomienda utilizar autenticación multifactor en lugar de contraseñas para aumentar la seguridad de acceso al sistema.

Nota la minlen (longitud mínima) debe establecerse en un valor de 15 o superior. Enseñe a los usuarios a usar frases de contraseña en lugar de tratar de encontrar una sola palabra que cumpla con los criterios.

Edad mínima de la contraseña

Algunos usuarios inteligentes cambian sus contraseñas varias veces para eludir la seguridad del sistema. Cuando se ven obligados a actualizar sus contraseñas, cambian sus contraseñas las veces suficientes para superar la seguridad del sistema y, finalmente, revertir su contraseña a la original. el PASS_MIN_DAYS parámetro en el /etc/login.defs El archivo puede evitar esta actividad. Establezca el valor en 1 o más. El valor predeterminado es 0, lo que provoca el problema de seguridad.

PASS_MIN_DAYS 1

La configuración de este parámetro significa que el usuario debe mantener la nueva contraseña durante al menos un día antes de volver a cambiarla. Puede establecer el valor en cualquier número, pero evitar que el usuario cambie inmediatamente varias veces parece resolver el problema.

Antigüedad máxima de la contraseña

Quizás aún más peligroso que la edad mínima de la contraseña es la configuración de la edad máxima de la contraseña. El valor predeterminado es 99999, lo que significa que el usuario nunca tendrá que cambiar su contraseña. Esta es una brecha de seguridad grave.

Según las políticas y las necesidades de seguridad de su empresa, debe aplicar los cambios de contraseña en el intervalo de 60 a 90 días. Para aplicar dicho cambio en todo el sistema, modifique el PASS_MAX_DAYS ajuste en el /etc/login.defs archivar.

PASS_MAX_DAYS 60

Esta configuración obliga a los usuarios a cambiar sus contraseñas cada 60 días. Sí, escuchará gruñidos, especialmente cuando se combina con el PASS_MIN_DAYS restricción. La seguridad supera las quejas de los usuarios.

sudo seguridad

A menudo, los administradores del sistema configuran sus cuentas de usuario para usar el sudo Comando sin contraseña. Esta es una violación de seguridad grave y nunca debe permitirse en ningún sistema, independientemente de su función.

Modificar el /etc/sudoers carpeta con visudo y elimine todas las instancias de NOPASSWD en el archivo.

Además, busque instancias de "! Autenticación" en el /etc/sudoers archivar. Esta entrada permite a un usuario que tiene sudo acceso para seguir usando sudo sin re-autenticación. Esta es una brecha de seguridad. Elimine todas las instancias de "! Autenticación" de la /etc/sudoers archivar.

Tiempo de espera de conexión fallido

Para ayudar a frustrar los ataques de fuerza bruta en las cuentas de usuario, debe configurar el tiempo de espera de falla de inicio de sesión en al menos 4 segundos. Esto disuade los ataques de fuerza bruta, pero también puede ayudar a los usuarios a ingresar la contraseña correcta, lo que se vuelve más difícil para contraseñas y frases de contraseña más largas.

Este parámetro se define en el /etc/login.defs archivar. El número es el número de segundos que el sistema se detiene antes de presentar un nuevo aviso de inicio de sesión después de un intento fallido de inicio de sesión.

FAIL_DELAY 4

Cuatro segundos es lo suficientemente corto como para no frustrar a los usuarios que podrían haber presionado la tecla incorrecta por accidente, pero lo suficientemente largo como para evitar intentos repetidos de inicio de sesión por parte de los bots.

Deshabilitar el montaje automático de dispositivos

Los sistemas de archivos de montaje automático presentan riesgos de seguridad de dispositivos desconocidos que pueden estar conectados a un sistema. En otras palabras, un atacante podría conectar un dispositivo USB para proporcionar una carga útil cuando el dispositivo se monta automáticamente. Deshabilite la edición automática deteniendo y deshabilitando el autofs un servicio.

$ sudo systemctl stop autofs

$ sudo systemctl disable autofs

Puede que sea un poco menos conveniente tener que montar manualmente los sistemas de archivos después de conectar un nuevo dispositivo al sistema, pero la mayor seguridad compensa los tres segundos adicionales de trabajo que se necesitan para montar un dispositivo. Esto le permite al administrador del sistema deshabilitar, borrar o expulsar un dispositivo no autorizado.

Restringir los permisos de creación de archivos

volvemos a la /etc/login.defs archivo para hacer un cambio en todo el sistema. Cuando los usuarios crean nuevos archivos, generalmente reciben permisos de 644 como resultado de la umask configuración de filtro de 022. Para mejorar la seguridad, todos los archivos nuevos deben crearse con un umask de 077, que otorga a los nuevos archivos 600 permisos predeterminados.

UMASK 077

Para la mayoría de los usuarios, esto puede ser menos importante, pero para los archivos creados por root, este parámetro es obligatorio. Establecerlo en todo el sistema garantiza la coherencia.

Conclusión

Mejorar la seguridad del sistema es una de las principales tareas del administrador del sistema. Los sistemas nuevos, los sistemas heredados y los sistemas que realizan funciones de nicho son los más vulnerables de su red. Se debe prestar especial atención a la protección de cada sistema de red. A menudo, comprometer un sistema lleva a que varios sistemas se vean comprometidos porque el atacante ahora está dentro de la red y tiene el control de uno o más sistemas.

Algunas de estas comprobaciones de seguridad pueden parecer engorrosas, pero en comparación con la recuperación de una infracción, son solo parte de la "normalidad" actual.

Artículos de interés

Subir