5 consejos para comenzar con la seguridad del servidor Linux

La seguridad es un tema popular entre los administradores de sistemas Linux. Cada foro que leo, cada conferencia a la que asisto y cada discusión centrada en TI en la que participo siempre gira en torno a la seguridad, y luego las conversaciones inevitablemente giran en torno a la seguridad de Linux. Esta es mi experiencia, y mi incapacidad para dejar de escuchar conversaciones técnicas sobre Linux es el origen de este artículo. Estas son mis cinco recomendaciones para comenzar con una instalación de Linux más segura desde el primer momento.

Índice

    Mantenlo al mínimo

    Cuando instalo Linux, siempre instalo la versión más pequeña posible. Para CentOS o Red Hat Enterprise Linux, eso significa una instalación mínima. Prefiero comenzar poco a poco y luego agregar lo que necesito en lugar de eliminar lo que no necesito. El beneficio adicional de seleccionar una instalación mínima es que el espacio ocupado por el sistema también es mínimo. El espacio en disco es barato, pero ¿quién quiere desperdiciar espacio en disco en aplicaciones superfluas que podrían volver a atormentarnos más tarde con problemas de seguridad? Todo lo que necesito inicialmente es una configuración básica con un servidor SSH para poder conectarme y administrarlo de forma remota. Puedo agregar cualquier cosa que necesite a través de DNF más adelante.

    Los servidores son áreas sin GUI

    Si su sistema Linux va a vivir su vida como un servidor, no instale una interfaz gráfica de usuario. Mucha gente discute este punto. Desde una perspectiva de seguridad, incluso la instalación de una GUI pequeña requiere muchos paquetes de software adicionales. Cualquiera de ellos podría estar sujeto a problemas de seguridad. Algunos paquetes de GUI pueden abrir puertos en su sistema, lo cual no es deseable ya que esta acción aumenta la superficie de ataque. Finalmente, el rendimiento de su sistema podría (puede) verse afectado por una GUI, ya que las GUI consumen muchos recursos del sistema.

    Deje las GUI en el escritorio. Aprende la línea de comando.

    Los cortafuegos son obligatorios

    En sistemas basados ​​en Red Hat (Red Hat Enterprise Linux, Sintióy CentOS), firewalld es su cortafuegos predeterminado. úsalo Este cortafuegos basado en host protege su sistema de intrusiones no deseadas a través de todos los puertos excepto aquellos que ha permitido explícitamente. También puede limitar selectivamente el tráfico saliente a través del firewall.

    Sin embargo, la forma más segura de limitar el tráfico saliente es configurar un servidor proxy de Internet interno y permitir solo el tráfico saliente a ese sistema. También puede permitir el tráfico SSH a su subred local en caso de que necesite conectarse de un sistema a otro. Los firewalls basados ​​en host pueden ser frustrantes cuando se prueba la conectividad entre sistemas, especialmente para los servicios recién configurados, pero vale la pena los momentos de frustración. Cuelgue un letrero justo encima de su(s) monitor(es) en su cabina que diga "COMPROBAR EL CORTAFUEGOS" y estará bien.

    Vale la pena aprender SELinux

    Ah, el tan odiado e incomprendido SELinux. Por lo general, los administradores del sistema deshabilitan o eliminan por completo SELinux en lugar de lidiar con la angustia de seguridad extrema que produce. Mi consejo es dejar este servicio activado, activado y configurado para la app.

    SELinux usa lo que se llama control de acceso obligatorio (o MAC), mientras que los cortafuegos usan control de acceso basado en reglas y los permisos *nix estándar se llaman control de acceso discrecional. Antes de darse por vencido y deshabilitar SELinux, lea la documentación sobre cómo configurarlo. Dado que la mayoría de los sistemas solo ejecutan un pequeño conjunto de servicios, la configuración no es tan complicada como para correr el peligro de no habilitar este servicio.

    SELinux debe configurarse de una manera particular, lo que permite etiquetar los archivos, configurarlos en contextos de seguridad y reiniciarlos varias veces para hacer las cosas. Lea la documentación. SELinux, contrariamente a la creencia popular, NO es un firewall (o un reemplazo de uno), una solución antimalware, un reemplazo de los mecanismos de autenticación como la autenticación multifactor o una panacea de seguridad por cualquier tramo de la imaginación.

    SELinux es una defensa contra la elevación de privilegios de servicios que se ejecutan como usuario root. Deshabilitarlo es probablemente una mala idea. El uso adecuado de SELinux es una capa adicional de protección necesaria en la era actual de amenazas persistentes avanzadas y malware más inteligente.

    Los inicios de sesión raíz remotos son una mala idea

    De forma predeterminada, en los sistemas basados ​​en Red Hat, el usuario raíz puede iniciar sesión de forma remota a través de SSH. Puedo entender por qué esta función es predeterminada en los sistemas recién instalados, pero debe deshabilitarse una vez que el sistema esté en funcionamiento y se hayan creado cuentas con acceso sudo.

    Deshabilitar el inicio de sesión raíz remoto evita que un atacante use métodos de fuerza bruta para adivinar su contraseña raíz. Los intentos se registran pero no tendrán ningún efecto en su seguridad ya que la cuenta raíz no puede iniciar sesión de forma remota. Y si ha instalado un script o servicio de prevención de intrusiones, los intentos repetidos darán como resultado automáticamente una nueva regla DROP o la creación de una /etc/hosts.deny Entrada.

    Compruebe si los inicios de sesión raíz remotos están habilitados:

    $ sudo grep -i root /etc/ssh/sshd_config
    
    PermitRootLogin yes
    # the setting of "PermitRootLogin without-password".
    #ChrootDirectory none

    Si tú ves PermitRootLogin yes, el usuario raíz puede iniciar sesión de forma remota a través de SSH. Modificar el /etc/ssh/sshd_config depositar y colocar un # para comentar la línea o modificar yes en no. reiniciarlo sshd service para aceptar la nueva configuración:

    $ sudo systemctl restart sshd.service

    El usuario raíz ya no podrá iniciar sesión a través de SSH.

    Envoltura

    Lea todas las encuestas de los últimos diez años y encontrará que la seguridad es la principal prioridad o preocupación de los administradores de sistemas. Priorice la protección de un sistema con al menos estos cinco consejos antes de que sus sistemas entren en producción. La seguridad no es algo que pueda posponer o relajarse. Estos cinco consejos lo ayudarán a poner un sistema más seguro en línea y hacer de su red un lugar más seguro para trabajar.

    Artículos de interés

    Subir