¿Cuáles son los pasos para proteger un servidor Linux?

Hoy hacemos eco de esta entrada del blog oficial de Imunify 360, por su relevancia para usuarios de habla hispana.
what-are-steps-to-secure-a-linux-server

En general, el sistema operativo Linux es muy seguro, pero las aplicaciones, herramientas y configuraciones que instalan los administradores crean riesgos para elmedio ambiente. Linux alimenta el 75% de Internet, y está instalado en 6,64 millones de servidores web. Debido a que Linux impulsa los sistemas críticos en todo el mundo, es imperativo que los administradores tomen las medidas necesarias para reforzar la seguridad del sistema operativo. Aunque Linux es inherentemente seguro, varias configuraciones y estrategias ayudan a fortalecer sus defensas y reducir el riesgo de un compromiso. Este artículo repasa las siguientes preguntas:

  1. Por qué la seguridad en Linux es importante
  2. ¿Cómo proteger los servidores Linux?
    1. Instalar solo los paquetes necesarios
    2. Usar una alternativa a la raíz
    3. Aplicar la seguridad de la contraseña
    4. SSH seguro
    5. Bloquear el arranque desde dispositivos externos
    6. Instalar y validar el firewall del servidor
    7. Actualice el software regularmente
  3. ¿Por qué se requiere el endurecimiento de la seguridad del sistema operativo?
  4. Conclusión
why security in linux is important

Por qué la seguridad en Linux es importante

La seguridad de Linux es importante porque Linux es tan popular entre los servidores web que los atacantes escriben scripts personalizados dirigidos al sistema operativo para buscar vulnerabilidades conocidas y explotarlas. Por ejemplo, los encabezados de respuesta del servidor web devuelven información crítica sobre el host, incluido el sistema operativo del servidor, a menos que los administradores sigan la sugerencia de OWASP de ocultar esta información.

Con la distribución y la versión de Linux en la mano, los atacantes pueden lanzar ataques dirigidos contra un servidor web. Si la versión de Linux tiene vulnerabilidades conocidas, un atacante puede descargar scripts prefabricados o crear un exploit propio. En otras palabras, una combinación de devolver información sobre la versión de Linux que se ejecuta en el servidor y ejecutar software obsoleto deja el servidor web abierto a exploits. Las vulnerabilidades del kernel son amenazas graves para la estabilidad de la web y pueden tener consecuencias críticas. Vulnerabilidades como Dirty Cow SACK Panic dieron a los atacantes privilegios elevados o una denegación de servicio (DoS), y estos problemas fueron solo dos ejemplos que podrían conducir a violaciones de datos críticas o tiempo de inactividad.

Las vulnerabilidades del kernel no son la única fuente de vulnerabilidades. Las aplicaciones de terceros también introducen vulnerabilidades y brindan a los atacantes la oportunidad de robar datos. Heartbleed se descubrió en 2014 y sigue siendo un problema para los servidores basados en Linux sin parches más antiguos, lo que permite a los actores de amenazas robar datos en un exploit de desbordamiento de búfer. La vulnerabilidad se encontró en varias versiones anteriores de OpenSSL, comúnmente utilizadas como una biblioteca de cifrado en servidores Linux.

how to secure linux servers

¿Cómo proteger los servidores Linux?

Con numerosas vulnerabilidades abiertas a los atacantes, es fundamental que los administradores sean conscientes de su superficie de ataque y los riesgos involucrados con la configuración predeterminada en Linux y cualquier aplicación de terceros que pueda causar problemas. No puede disminuir el riesgo en un 100%, pero puede tomar las precauciones correctas y realizar el endurecimiento en el sistema operativo independientemente de la distribución instalada.

Aquí hay algunos consejos para reforzar la seguridad en Linux:

  • Instale solo los paquetes necesarios. Es tentador instalar todos los paquetes que cree que podrían ser útiles en el futuro, pero cuantos más paquetes instale en un servidor, más riesgo agregará. Por ejemplo, si no necesita alojar DNS, no debe instalar paquetes DNS ni dejar abiertos sus puertos de servicio (53).
  • Utilice una alternativa a root. Aunque root es un objetivo para cualquier actor de amenazas, es especialmente arriesgado en servidores públicos. En lugar de dejar activo el usuario raíz, puede crear un nuevo usuario y elevar sus privilegios en el servidor. Después de elevar los privilegios, puede reducirlos en la raíz o deshabilitar la cuenta.
  • Aplique la seguridad de la contraseña. La longitud y la complejidad de la contraseña se defienden contra los ataques de diccionario de fuerza bruta. Las contraseñas de las cuentas críticas deben tener al menos 12 caracteres y rotarse con frecuencia. Muchos administradores conocen la importancia de la complejidad de las contraseñas, pero no tienen un programa de rotación. Las contraseñas deben rotarse con frecuencia para reducir la ventana que un atacante tiene para comprometer un sistema en caso de que su contraseña se filtre o sea forzada brutamente.
  • SSH seguro. Obtener acceso a SSH podría dar a un atacante un control total sobre el servidor, por lo que asegurarlo debería ser una prioridad. Puede realizar varios cambios en el servidor para garantizar que SSH sea seguro. Aquí hay algunas maneras de proteger SSH:

Genere claves criptográficas y cárguelas en su servidor utilizando los siguientes comandos:

$ ssh-keygen -t rsa

$ ssh-copy-id <nombreusuario>@ip_address

El uso de claves criptográficas en lugar de contraseñas hace que sea más difícil para un actor de amenazas usar ataques de fuerza bruta contra las credenciales.

Después de generar y cargar claves criptográficas, puede deshabilitar la autenticación de contraseña en el archivo /etc/ssh/sshd_config. Las dos directivas siguientes deben configurarse en «no» en el archivo de configuración:

PasswordAuthentication no

PermitRootLogin no

  • Bloquear el arranque desde dispositivos externos. La mayoría de los administradores piensan en ataques virtuales, pero los ataques físicos también son posibles. Piggybacking (o tailgating) es un método utilizado para obtener acceso físico a los servidores. El arranque de servidores con un dispositivo USB proporciona a los atacantes numerosas formas de ejecutar su propio malware o robar datos. Para deshabilitar el arranque desde un dispositivo USB, ejecute:

# chmod 000 /medios/

Nota:Esto no protege completamente un sistema cuando el atacante tiene acceso físico a él.

  • Instale y valide el firewall del servidor. Un firewall ayudará a detener los ataques entrantes y salientes. El firewall en Linux cerrará los puertos populares utilizados en exploits. Para instalar el firewall, utilice el siguiente comando:

$ sudo apt instalar ufw

Después de instalar el firewall, utilice el siguiente comando para habilitarlo:

$ sudo ufw habilitar

Puede ver los servicios habilitados y ejecutando el servidor mediante el siguiente comando:

$ sudo estado de ufw

  • Actualice el software regularmente. El software obsoleto es una de las vulnerabilidades más comunes responsables del compromiso del sistema. Los ataques de ransomware ocupan un lugar destacado en la lista de riesgos, especialmente en los últimos años, y representan el 46,4% de las infracciones. El software obsoleto puede conducir a ataques de ransomware exitosos, violaciones de datos, ejecución remota de código, compromiso del servidor y muchos otros riesgos que podrían resultar en ingresos y pérdida de reputación para la organización. Al actualizar el software con regularidad, se aplican revisiones de seguridad críticas al software del servidor que corrigen la vulnerabilidad.
why is operating system security hardening required

¿Por qué se requiere el endurecimiento de la seguridad del sistema operativo?

El sistema operativo Linux es seguro, pero el proceso de instalación lo configura con la configuración predeterminada. Los atacantes son conscientes de la configuración predeterminada de cada distribución, y algunas configuraciones hacen que el servidor sea vulnerable a los exploits. Por ejemplo, la configuración predeterminada de SSH debilita la seguridad en el sistema, por lo que es importante reforzar la seguridad en un servidor que ejecuta SSH.

Con las configuraciones predeterminadas en su lugar, los atacantes saben exactamente cómo se configura y ejecuta su servidor. Cuanto más difícil sea para los atacantes averiguar cómo se configura un servidor, más capas de seguridad agregará a su entorno. Otro ejemplo es deshabilitar o reducir los privilegios de raíz. Los atacantes se dirigen a la cuenta de usuario raíz, ya que es el usuario con más privilegios conocido. Cuando se reconfigura, pones una llave inglesa en sus obras y los obligas a descubrir la cuenta alternativa.

conclusion what are the ways to secure linux server

Conclusión

El endurecimiento del sistema operativo es importante para la seguridad de su servidor y la protección de los datos del usuario. Para mantenerse por delante de los atacantes, configure Linux con configuraciones personalizadas que dificulten que los atacantes analicen el sistema y exploten las vulnerabilidades comunes para agregar capas de seguridad a su servidor. No puede garantizar el 100% de seguridad en ningún sistema, pero el endurecimiento del sistema operativo reduce en gran medida los riesgos asociados con los ataques cibernéticos. Aprenda a aprovechar la seguridad del servidor Linux con Imunify360 y descubra en qué se diferencia de otras herramientas de seguridad.

Jun 11, 2021 3: 00: 00 PM
Autor: Dmitri Tkachuk
Imunify Security, Propietario del producto

Entrada anterior MySQL Governor y sus características
Entrada siguiente [Acción requerida] Actualizar a una suscripción de Google Workspace