La seguridad es un tema perenne de interés para los administradores de sistemas. Y asegurar nuevos sistemas siempre presenta un desafío porque realmente no hay estándares establecidos para hacerlo. Extraigo la lista de medidas y controles de seguridad de este artículo de una variedad de fuentes, incluida la experiencia personal, STIG de DISA y recomendaciones de otros administradores de sistemas y personal de seguridad. Si bien estas medidas de seguridad son buenas, son solo un primer paso hacia una mejor seguridad del sistema. Estos ocho controles del sistema no están en ningún orden particular de importancia.
Claves SSH
Configure la autenticación sin contraseña mediante pares de claves SSH. Consulte el artículo de Susan Lauber para obtener instrucciones:SSH sin contraseña usando pares de claves públicas y privadas. Las contraseñas no son una buena medida de seguridad, por largas o complejas que sean. Con pares de claves SSH y un solo jump box, puede establecer un alto nivel de acceso seguro a sus sistemas.
Autenticación SSH
Una vez que haya configurado los pares de claves SSH para la autenticación, deberá configurar SSHD
para aceptarlos para el inicio de sesión remoto. El /etc/ssh/sshd_config
El archivo es la ubicación central para asegurar SSHD
en sus sistemas. Las opciones notables para verificar y cambiar son:
Configuración original | Cambiar a |
#PermitRootLogin sí | PermitRootLogin no |
#PubkeyAuthentication sí | PubkeyAuthentication sí |
#PermitEmptyPasswords no | PermitEmptyPasswords no |
Autenticación de contraseña sí | Autenticación de contraseña no |
Debe reiniciar SSHD
después de realizar cambios en el archivo de configuración para que sus cambios surtan efecto.
Contraseñas NULA
Verifique que todas las cuentas usen una contraseña para la autenticación. No permita que ninguna cuenta tenga una contraseña nula o en blanco. La configuración de pares de claves es una buena defensa contra las contraseñas nulas. Elimina cualquier instancia de la opción "nullok" en /etc/pam.d/system-auth
y /etc/pam.d/password-auth
para evitar inicios de sesión con contraseñas vacías.
Eliminar servicios no seguros
Para proteger mejor sus sistemas, elimine cualquier servicio no seguro (aquellos que envían contraseñas en texto sin formato a través de la red o aquellos que permiten conexiones anónimas (no autenticadas)). Elimina los siguientes paquetes:
- ypserv
- servidor rsh
- vsftpd*
- servidor telnet
- servidor tftp
Las transferencias de archivos y la conectividad interactiva entre sistemas deben realizarse mediante SSH
. No hay necesidad de rsh-server
, vsftpd
y telnet-server
. Debe sustituir LDAP o Active Directory por ypserv
(NIS/NIS+). En cuanto a tftp-server
, si debe usarlo, dedíquele un sistema o máquina virtual e instálelo en un chroot
cárcel para mayor seguridad.
*Mientras vsftpd
encripta las comunicaciones, esta función se maneja mejor con SSH/SFTP/SCP
.
Deshabilitar la autenticación basada en host
Eliminar todas las instancias de autenticación basada en host en forma de .shosts
y shosts.equiv
archivos La autenticación basada en host no es suficiente para evitar el acceso no autorizado a un sistema, ya que no requiere la identificación y autenticación interactivas de una solicitud de conexión ni el uso de la autenticación multifactor.
Versión de SNMP y nombre de la comunidad
Utilice la versión 3.x de SNMP para la autenticación de usuarios y el cifrado de mensajes. Cambie la cadena de comunidad predeterminada de public
o private
a un valor de cadena diferente.
Reenvío X11
Si usa el protocolo X en su red, asegúrese de que esté protegido por SSL. Edite el /etc/ssh/sshd_config
y configure el parámetro X11Forwarding de la siguiente manera:
X11Forwarding yes
Si el parámetro existe pero se comenta con un #
inicial , luego elimina el #
y reinicie SSHD.
Proteger GNOME
Si usa GNOME en sus sistemas de servidor, asegúrelo con la siguiente configuración en /etc/gdm/custom.conf
expediente. Agregue o edite la línea para AutomaticLoginEnable
parámetro en el [daemon]
sección del custom.conf
archivo a falso, como se muestra a continuación.
[daemon]
AutomaticLoginEnable=false
Y agregue o edite la línea para TimedLoginEnable
parámetro en el [daemon]
sección del /etc/gdm/custom.conf
archivo a falso, como se muestra a continuación.
[daemon]
TimedLoginEnable=false
Algunos asesores de seguridad vuelven a advertir sobre el uso de interfaces gráficas de usuario (GUI) en los sistemas de servidores debido al malware que los ataca.
[ Mejore aún más la seguridad de su sistema con software antimalware:3 soluciones antimalware para sistemas Linux ]
Resumir
Aunque su seguridad similar a la de Unix es muy buena, Linux no es 100 por ciento seguro después de una instalación. Y no existe tal cosa como 100 por ciento seguro, pero puede configurar algunos controles y realizar algunas tareas básicas para proteger mejor un sistema. Estoy en proceso de brindarle más artículos como este que se centran en la seguridad del sistema.
[ ¿Quiere obtener más información sobre seguridad? Consulte la lista de verificación de cumplimiento y seguridad de TI. ]