GNU/Linux >> Tutoriales Linux >  >> Cent OS

Los 7 mejores consejos para reforzar la seguridad del servidor CentOS 8/RHEL 8

Una vez que haya instalado su servidor CentOS 8 / RHEL 8, lo segundo es asegurarlo para evitar el acceso no autorizado y las intrusiones. Como dice el adagio, "más vale prevenir que curar", también es mejor prevenir los ataques que intentar remediarlo.

Explore algunos pasos que puede seguir para fortalecer y asegurar el servidor CentOS 8/RHEL 8 y frustrar los intentos de piratería.

1) Configurar un cortafuegos

Como usuario de Linux preocupado por la seguridad, no solo permitiría el tráfico en su sistema CentOS 8 / RHEL 8 por razones de seguridad. De hecho, configurar un firewall es una de las tareas iniciales de configuración del servidor que un administrador de sistemas debe realizar para abrir solo puertos específicos y permitir servicios actualmente en uso.

De forma predeterminada, el sistema CentsO8/RHEL 8 se envía con firewalld cortafuegos que se puede iniciar y habilitar en el inicio ejecutando los comandos:

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

Para verificar los servicios permitidos en el firewall, simplemente ejecute el comando:

$ sudo firewall-cmd --list all

Para abrir un puerto en el firewall, por ejemplo, el puerto 443, ejecute el comando:

$ sudo firewall-cmd --add-port=443/tcp --zone=public --permanent

Para permitir un servicio, por ejemplo, ssh, use el comando:

$ sudo firewall-cmd --add-service=ssh  --zone=public --permanent

Para eliminar un puerto y un servicio, use –remove-port y –remove-service atributos respectivamente.

Para que los cambios surtan efecto, siempre vuelva a cargar el firewall como se muestra.

$ sudo firewall-cmd --reload

2) Desactivar servicios no utilizados o no deseados

Siempre se recomienda desactivar los servicios no utilizados o innecesarios en su servidor. Esto se debe a que cuanto mayor sea la cantidad de servicios en ejecución, mayor será la cantidad de puertos abiertos en su sistema que un atacante puede explotar para obtener acceso a su sistema. Además, desista de usar un servicio antiguo e inseguro como telnet que envía tráfico en texto sin formato

Las mejores prácticas de seguridad recomiendan deshabilitar los servicios no utilizados y deshacerse de todos los servicios inseguros que se ejecutan en su sistema. Puedes usar la herramienta nmap para escanear su sistema y verificar qué puertos están abiertos y siendo escuchados.

3) Proteger archivos críticos

Es esencial bloquear los archivos críticos para evitar la eliminación o edición accidental. Dichos archivos incluyen /etc/passwd y /etc/gshadow que contienen contraseñas cifradas. Para hacer que los archivos sean inmutables (es decir, evitar la modificación o la eliminación accidental), use el comando chattr como se muestra:

$ sudo chattr +i /etc/passwd
$ sudo chattr +i /etc/shadow

Esto asegura que un pirata informático no pueda cambiar ninguna de las contraseñas de los usuarios ni eliminarlas, lo que provocaría la denegación del inicio de sesión en el sistema.

4) Protocolo SSH seguro

El protocolo SSH es un protocolo popularmente utilizado para inicios de sesión remotos. De forma predeterminada, el protocolo tiene debilidades nativas que pueden ser explotadas por un hacker.

De forma predeterminada, SSH permite el inicio de sesión remoto por parte del usuario root. Esta es una laguna potencial y si un pirata informático puede obtener la contraseña de la raíz de su sistema, su servidor está prácticamente a su merced. Para evitar esto, es aconsejable denegar el inicio de sesión raíz remoto y, en su lugar, crear un usuario normal de inicio de sesión con privilegios de sudo. Puede efectuar esto modificando el archivo de configuración de SSH /etc/ssh/sshd_config y deshabilitando el inicio de sesión raíz como se muestra:

Permitir inicio de sesión raíz

Otra forma de proteger SSH es configurar la autenticación sin contraseña SSH mediante el uso de claves ssh. En lugar de utilizar la autenticación de contraseña, que es propensa a los ataques de fuerza bruta, se prefieren las claves SSH, ya que solo permiten la entrada a los usuarios con la clave ssh para iniciar sesión en el servidor remoto y bloquear a cualquier otro usuario. El primer paso para habilitar la autenticación sin contraseña es generar un par de claves usando el comando:

$ ssh-keygen

Esto genera un par de claves pública y privada. La clave privada reside en el host mientras que la clave pública se copia en el sistema o servidor remoto. Una vez que se copia el par de claves ssh, puede iniciar sesión sin esfuerzo en el sistema remoto sin que se le solicite una contraseña. A continuación, deshabilite la autenticación de contraseña modificando el archivo de configuración /etc/ssh/sshd_config y configurando este valor:

PasswordAuthentication no

Una vez que haya realizado los cambios, asegúrese de reiniciar el servicio SSH para que los cambios surtan efecto.

$ sudo systemctl restart sshd

5 ) Defina un límite para intentos de contraseña

Para fortalecer aún más su servidor, puede considerar limitar la cantidad de intentos de contraseña al iniciar sesión a través de SSH para evitar ataques de fuerza bruta. Nuevamente, diríjase al archivo de configuración de SSH, desplácese y localice el parámetro "MaxAuthTries". Descoméntelo y establezca un valor, por ejemplo, 3 como se muestra.

MaxAuthTries 3

Esto implica que después de 3 intentos de contraseña incorrecta, la sesión se cerrará. Esto es útil especialmente cuando desea bloquear scripts/programas robóticos que intentan acceder a su sistema.

6) Configurar un sistema de prevención de intrusiones (IPS)

Hasta ahora, hemos cubierto los pasos básicos que puede seguir para fortalecer su servidor CentOS 8 / RHEL 8. Para agregar otra capa, se recomienda que instale un sistema de detección de intrusos. Un ejemplo perfecto de IPS es Fail2ban.

Fail2ban es un sistema de prevención de intrusiones gratuito y de código abierto que protege a los servidores de los ataques de fuerza bruta al prohibir las direcciones IP después de una cierta cantidad de intentos de inicio de sesión que se pueden especificar en su archivo de configuración. Una vez bloqueado, el usuario malicioso o no autorizado ni siquiera puede iniciar un intento de inicio de sesión SSH.

7) Actualiza regularmente tu servidor

Este artículo no estaría completo sin enfatizar cuán crítico es actualizar su servidor regularmente. Esto garantiza que su servidor obtenga las últimas funciones y actualizaciones de seguridad que son esenciales para abordar los problemas de seguridad existentes.

Puede configurar actualizaciones automáticas utilizando la utilidad de cabina, que es una herramienta de administración de servidor basada en GUI que también realiza una serie de otras tareas. Esto es ideal especialmente si tiene la intención de irse de vacaciones o una estadía prolongada sin acceso al servidor.


Cent OS
  1. 15 pasos de refuerzo de Linux para el servidor CentOS 7

  2. Configurar el servidor SysLog en CentOS 6 / RHEL 6

  3. Cómo configurar un puerto separado para SSH y SFTP en CentOS/RHEL

  4. Cómo crear un banner SSH en el servidor CentOS/RHEL

  5. "El servidor se negó a asignar pty":no se puede iniciar sesión en CentOS/RHEL

Configure el servidor Samba en CentOS 8/RHEL 8 para compartir archivos

7 consejos efectivos para bloquear el spam de correo electrónico con Postfix en CentOS/RHEL

Cómo instalar Varnish Cache para Apache en CentOS/RHEL 8

Prácticas recomendadas para implementar el servidor Hadoop en CentOS/RHEL 7:parte 1

Panel web de CentOS:panel de control de alojamiento web gratuito todo en uno para CentOS/RHEL 6

Cómo configurar SSH en CentOS y RHEL