Displaying items by tag: seguriad

Una vez que haya instalado su servidor CentOS 8 / RHEL 8, asegurarlo para evitar accesos no autorizados e intrusiones es lo segundo. Como dice el adagio, "es mejor prevenir que curar", por lo que es mejor prevenir los ataques que intentar remediarlos.

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

 

1) Configure un firewall

Como usuario de Linux preocupado por la seguridad, no 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 los servicios actualmente en uso.

De forma predeterminada, el sistema CentsO8 / RHEL 8 se envía con un firewall firewalld que se puede iniciar y habilitar al 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, utilice los atributos –remove-port y –remove-service respectivamente.

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

$ sudo firewall-cmd --reload

 

2) Desactive los servicios no utilizados / indeseables

Siempre se recomienda desactivar los servicios innecesarios o no utilizados 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 pueden ser explotados por un atacante para ingresar a su sistema. Además, desista de usar servicios antiguos e inseguros como telnet que envían tráfico en texto plano

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. Puede usar la herramienta nmap para escanear su sistema y verificar qué puertos están abiertos y son escuchados.

 

3) Asegure los 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 hash. Para hacer que los archivos sean inmutables (es decir, evitar modificaciones o eliminaciones accidentales) 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 la contraseña de ningún usuario o eliminarla, lo que provocará la denegación del inicio de sesión en el sistema.

 

4) Protocolo SSH seguro

El protocolo SSH es un protocolo de uso popular para inicios de sesión remotos. De forma predeterminada, el protocolo tiene debilidades nativas que un pirata informático puede aprovechar.

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 root de su sistema, su servidor está prácticamente a su merced. Para evitar esto, es recomendable denegar el inicio de sesión de root remoto y, en su lugar, crear un usuario normal con privilegios de sudo. Puede realizar esto modificando el archivo de configuración SSH / etc / ssh / sshd_config y deshabilitando el inicio de sesión de root como se muestra:

 

PermitRootLogin

Otra forma de proteger SSH es configurando 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 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 mediante 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, desactive la autenticación de contraseña modificando el archivo de configuración / etc / ssh / sshd_config y estableciendo 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 los 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 disuadir los ataques de fuerza bruta. Nuevamente, diríjase al archivo de configuración SSH, desplácese y ubique el parámetro "MaxAuthTries". Descomente y establezca un valor, por ejemplo 3 como se muestra.

MaxAuthTries 3

 

Esto implica que después de 3 intentos de contraseña incorrectos, la sesión se cerrará. Esto es útil, especialmente cuando desea bloquear scripts / programas robóticos que intentan obtener acceso 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 de código abierto y gratuito que protege 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 malintencionado o no autorizado ni siquiera puede iniciar un intento de inicio de sesión SSH.

 

7) Actualice periódicamente su servidor

Este artículo no estaría completo sin enfatizar lo importante que es actualizar su servidor con regularidad. Esto asegura 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 pasar una estadía prolongada o de vacaciones sin acceso al servidor.

 

                       DONACIONES EN BTC                        

QRDONACIONESBTC

  bc1q2y2cnh920tzd59r49pewpt3p77wn08t79zxw98

Published in GNU/Linux