En esta serie de dos artículos mencionamos importantes recomendaciones y medidas para aumentar el nivel de seguridad de su servidor Linux.

Este artículo en concreto se centra en las recomendaciones de seguridad específicas para configurar de forma segura su servidor Linux y garantizar su funcionamiento adecuado.

Atención

Estas recomendaciones de seguridad se aplican solo a los servidores con root.

Desactive el inicio de sesión mediante SSH

Por defecto, el usuario root  es el primer usuario que se crea en cada sistema Linux. El usuario root posee los mayores derechos y le da acceso a todos los comandos y archivos y tiene derechos de lectura, escritura y ejecución. Si esta cuenta de usuario se utiliza de forma incorrecta o inapropiada, puede tener un impacto muy grave en su servidor. Por lo tanto, debe utilizar este usuario únicamente para configurar el servidor después de que se haya creado.

Este usuario, al ser el primero que se crea, suele ser el objetivo de los ataques. Por esta razón, se recomienda configurar otra cuenta de usuario y luego desactivar el inicio de sesión mediante SSH. Cuando configure la cuenta de usuario, asegúrese de que puede obtener los derechos de usuario root introduciendo el comando sudo. Si no, puede desactivar la autenticación de contraseña para el usuario root en el archivo /etc/ssh/sshd/sshd_config usando la entrada PermitRootLogin prohibit-password. En este caso, el usuario root sólo puede conectarse al servidor utilizando la autenticación de clave pública SSH.

Encontrará más información al respecto en el siguiente artículo: Desactivar el acceso al servidor root mediante SSH

Cambie el puerto SSH

Por defecto, el puerto 22 se utiliza para establecer una conexión SSH. Este puerto se asocia automáticamente al instalar el sistema operativo.

Para reducir el número de ataques de fuerza bruta, puede configurar otro puerto para el acceso SSH.

Atención

Antes de cambiar el puerto, asegúrese de que las aplicaciones y servicios instalados en el servidor se pueden configurar sin el puerto 22. De lo contrario, un cambio  del puerto predeterminado, puede causar el cese de estas aplicaciones y servicios.

Encontrará más información en el siguiente artículo: Cambiar el puerto SSH predeterminado

Configure una notificación de advertencia por correo para informar sobre conexiones SSH

Para supervisar las actividades remotas, configure una notificación de advertencia por correo electrónico para informar de los accesos al servidor mediante SSH. Esta notificación le ayuda a determinar si se está produciendo un acceso no autorizado al servidor. Todo lo que se necesita es un script Shell que envíe automáticamente un correo electrónico de notificación a su dirección de correo por cada conexión remota que consiga acceder a su servidor.

Nota

Si un usuario establece una conexión SSH mediante programas que no establecen una conexión completa, como WinSCP, el script no enviará un correo electrónico de advertencia.

Proteja el acceso SSH contra ataques de fuerza bruta con Fail2ban

Fail2Ban es un software que analiza archivos de acceso como /var/log/pwdfail o /var/log/apache/error_log y bloquea temporalmente las direcciones IP con repetidos intentos de acceso fallidos. Esto le permite detectar y defenderse de los ataques de fuerza bruta.

Puede descargar Fail2Ban aquí.

Instale un sistema de detección de intrusos

Un sistema de detección de intrusos es un sistema con el que se pueden detectar ataques a servidores o redes en una fase temprana. Los sistemas de detección de intrusos más conocidos son Tripwire, Aide y Psad.

Compruebe los puertos abiertos en su servidor con Nmap

Nmap es un software de código abierto que le permite realizar comprobaciones de seguridad y determinar qué hosts están disponibles en la red. Además, puede utilizar Nmap para identificar los puertos abiertos de un host e identificar los servicios que responden a los puertos abiertos.

Puede encontrar más información al respecto en la siguiente página: Nmap

Consulte las guías de diferentes proveedores para reforzar la seguridad de su sistema operativo

Haga un seguimiento de procesos sospechosos

Si sospecha que han hackeado su servidor a pesar de todas las medidas de seguridad, debería comprobar los procesos que están activos. Para comprobar si existen procesos sospechosos en su servidor, sigue los siguientes pasos:


Ubuntu

  • Inicie sesión en el servidor como administrador.

  • Para mostrar la lista de procesos en ejecución, introduzca el siguiente comando:

    root@localhost:~# ps aux

    También puede redirigir los procesos en ejecución a un archivo utilizando el siguiente comando:

    ps:aux > procesos.txt
    less procesos.txt


CentOS 7

  • Inicie sesión en el servidor como administrador.

  • Para mostrar la lista de los procesos en ejecución, introduzca el siguiente comando:

    root@localhost:~# ps aux

    También puede redirigir los procesos en ejecución a un archivo utilizando el siguiente comando:

    ps:aux > procesos.txt
    less procesos.txt

Preste atención a los programas que se ejecutan desde directorios inusuales. Por ejemplo:

/usr/local/bin
/var/www/tmp
/tmp

Si ve un proceso que no consigue identificar, le recomendamos que primero busque si el proceso se está ejecutando de forma predeterminada en su sistema operativo o en una aplicación instalada.

Analice también su servidor en busca de malware y virus mediante un escáner de malware y un programa antivirus.

Consejos de seguridad para aplicaciones y bases de datos

Proteja o cambie el nombre de los subdirectorios de aplicaciones

Los hackers a menudo buscan ciertos subdirectorios de aplicaciones, como /phpmyadmin, y prueban todos los agujeros de seguridad para conseguir penetrarlos. Si no puede proteger estos subdirectorios, debe renombrarlos.

Si no necesita estas aplicaciones, desinstálelas por razones de seguridad.

Realice copias de seguridad de sus bases de datos

Si está utilizando una base de datos como MySQL o MariaDB, asegúrese de hacer una copia de seguridad de las mismas. A continuación se enumeran algunas medidas de seguridad importantes:

  • Asegúrese de que el usuario local root deba autenticarse.

  • Utilice los algoritmos de hash más potentes disponibles para la autenticación.

  • Asegúrese de que su estrategia de copias de seguridad esté correctamente implementada y compruebe si puede recuperar la base de datos. Puede ser que una copia de seguridad normal no sea suficiente. Por eso es mejor que exporte la base de datos con herramientas como mysqldump o pg_dump.

Más artículos sobre este tema

Puede encontrar el primer artículo de esta serie en el siguiente enlace: Información importante sobre la seguridad de su servidor Linux (Parte 1 de 2)