GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar el firewall del servidor de configuración (CSF) en Rocky Linux 8

CSF, también llamado “Cortafuegos del servidor de configuración,” es un cortafuegos de inspección de paquetes con estado (SPI) para sistemas operativos Linux. Proporciona la funcionalidad básica del cortafuegos, así como otras características de seguridad, incluido el inicio de sesión, la intrusión y la detección de inundaciones. También puede integrar CSF con DirectAdmin, cPanel y Webmin. Con CSF, puede detectar muchos tipos de ataques, como escaneos de puertos, inundaciones SYN y ataques de fuerza bruta de inicio de sesión en muchos servicios.

En esta publicación, le mostraremos cómo instalar y configurar el firewall CSF en Rocky Linux 8.

Requisitos

  • Un servidor que ejecuta Rocky Linux 8 en Atlantic.Net Cloud Platform
  • Una contraseña de root configurada en su servidor

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Rocky Linux 8 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

dnf update -y

Paso 2:instale CSF en Rocky Linux 8

CSF está escrito en Perl, por lo que deberá instalar todos los módulos Perl necesarios en su sistema. Puede instalarlos todos con el siguiente comando:

dnf install @perl perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch -y

Después de instalar todos los módulos requeridos, descargue la última versión de CSF usando el siguiente comando:

wget https://download.configserver.com/csf.tgz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar xzf csf.tgz

A continuación, navegue hasta el directorio extraído e instale CSF con el siguiente comando:

cd csf
sh install.sh

Una vez que CSF esté instalado, obtendrá el siguiente resultado:

Don't forget to:
1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_*
2. Restart csf and lfd
3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so

Adding current SSH session IP address to the csf whitelist in csf.allow:
Adding 27.61.171.115 to csf.allow only while in TESTING mode (not iptables ACCEPT)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
'lfd.service' -> '/usr/lib/systemd/system/lfd.service'
'csf.service' -> '/usr/lib/systemd/system/csf.service'
Created symlink /etc/systemd/system/multi-user.target.wants/csf.service → /usr/lib/systemd/system/csf.service.
Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service → /usr/lib/systemd/system/lfd.service.
Created symlink /etc/systemd/system/firewalld.service → /dev/null.
'/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz'

Installation Completed

Luego, verifique que todos los módulos de iptables requeridos estén disponibles.

perl /usr/local/csf/bin/csftest.pl

Si todo está configurado correctamente, obtendrá el siguiente resultado:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Ahora puede verificar la versión de CSF usando el siguiente comando:

csf -v

Obtendrá el siguiente resultado:

csf: v14.12 (generic)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration

Paso 3:configurar CSF

nano /etc/csf/csf.conf

Cambie PRUEBA ="1" a PRUEBA ="0" y agregue los puertos entrantes y salientes permitidos según sus requisitos:

 
# lfd will not start while this is enabled
TESTING = "0"

# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Guarde y cierre el archivo cuando haya terminado, luego inicie y habilite los servicios CSF y LFD:

systemctl start csf lfd
systemctl enable csf lfd

Puede verificar el estado de CSF con el siguiente comando:

systemctl status csf

Debería ver el siguiente resultado:

● csf.service - ConfigServer Firewall & Security - csf
   Loaded: loaded (/usr/lib/systemd/system/csf.service; enabled; vendor preset: disabled)
   Active: active (exited) since Wed 2021-11-17 08:41:05 UTC; 3s ago
  Process: 13236 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
 Main PID: 13236 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 11411)
   Memory: 0B
   CGroup: /system.slice/csf.service

Nov 17 08:41:05 rockylinux csf[13236]: ACCEPT  all opt    in * out lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPOUT  all opt    in * out !lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPIN  all opt    in !lo out *  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv4)
Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv6)
Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT  all opt -- in * out !lo  0.0.0.0/0  -> 0.0.0.0/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT  all opt -- in !lo out *  0.0.0.0/0  -> 0.0.0.0/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT  all opt    in * out !lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT  all opt    in !lo out *  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux systemd[1]: Started ConfigServer Firewall & Security - csf.

También puede verificar los puertos que están abiertos cuando CSF ​​se está ejecutando usando el siguiente comando:

csf -p

Salida de muestra:

Ports listening for external connections and the executables running behind them:
Port/Proto Open Conn  PID/User             Command Line                            Executable
22/tcp     4/6  1     (709/root)           /usr/sbin/sshd -D -oCiphers=aes256-g... /usr/sbin/sshd
80/tcp     4/6  -     (8954/root)          /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8957/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8958/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8959/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (9172/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
323/udp    -/-  -     (552/chrony)         /usr/sbin/chronyd                       /usr/sbin/chronyd

Paso 4:Cómo usar CSF

Para vaciar todas las reglas de CSF, ejecute el siguiente comando:

csf -f

Para recargar el cortafuegos CSF, ejecute el siguiente comando:

csf -r

Para permitir conexiones entrantes desde la IP específica, ejecute el siguiente comando:

csf -a remote-ip-address

Para denegar conexiones desde la IP específica, ejecute el siguiente comando:

csf -d remote-ip-address

También puede editar el csf.deny y csf.permitir archivo para definir la lista de IP permitidas y denegadas en el firewall.

Paso 5:habilite la interfaz de usuario de CSF

CSF también proporciona una interfaz basada en web para administrar el firewall. Está deshabilitado por defecto.

Antes de habilitar la interfaz de usuario de CSF, instale los módulos necesarios con el siguiente comando:

dnf install perl-IO-Socket-SSL perl-Net-SSLeay perl-IO-Socket-INET6 perl-Socket -y

A continuación, edite el archivo de configuración de CSF:

nano /etc/csf/csf.conf

Habilite la interfaz de usuario, defina el puerto de escucha y configure el nombre de usuario y la contraseña del administrador como se muestra a continuación:

# 1 to enable, 0 to disable web ui 
UI = "1"

# Set port for web UI. The default port is 6666, but
# I change this to 1025 to easy access. Default port create some issue
# with popular chrome and firefox browser (in my case) 

UI_PORT = "8080"

# Leave blank to bind to all IP addresses on the server 
UI_IP = ""

# Set username for authetnication 
UI_USER = "admin"

# Set a strong password for authetnication 
UI_PASS = "securepassword"

UI_ALLOW = "0"

Guarde y cierre el archivo, luego reinicie el servicio CSF ​​y LFD para aplicar los cambios:

systemctl restart lfd
systemctl restart csf

Paso 6:acceda a la interfaz de usuario de CSF

Ahora, abra su navegador web y acceda a la interfaz de usuario de CSF usando la URL https://your-server-ip:8080 . Debería ver la página de inicio de sesión de CSF:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver la interfaz web de CSF en la siguiente pantalla:

Paso 7:eliminar el cortafuegos CSF

Si desea eliminar completamente el cortafuegos CSF de su servidor, simplemente ejecute el siguiente script:

bash /etc/csf/uninstall.sh

Esto eliminará el cortafuegos de CSF con todos los archivos, directorios y reglas creados por CSF.

Conclusión

En la guía anterior, explicamos cómo instalar CSF y CSF UI en Rocky Linux 8. También explicamos cómo prohibir y desbanear direcciones IP específicas con CSF. Ahora puede implementar CSF en su servidor y protegerlo de varios tipos de ataques. ¡Pruébalo en tu VPS de Atlantic.Net!


Linux
  1. Cómo instalar el cortafuegos del servidor de configuración (CSF) en Debian 11

  2. Cómo instalar y configurar el cortafuegos CSF en Linux

  3. Cómo instalar Python 3.10 en Rocky Linux 8

  4. ¿Cómo instalar ConfigServer Firewall en Linux VPS?

  5. Cómo instalar un servidor Linux de virtualización

Cómo instalar Webmin en Rocky Linux 8

Cómo instalar la pila LEMP en Rocky Linux 8

Cómo instalar la última línea principal de Nginx en Rocky Linux 8

Cómo instalar y configurar el cortafuegos CSF para Linux

Cómo instalar Jenkins en Rocky Linux 8

Cómo instalar Nginx en Rocky Linux 9