Cómo instalar CSF Firewall en Ubuntu 20.04 LTS

En este tutorial, le mostraremos cómo instalar CSF Firewall en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, ConfigServer Security & Firewall (CSF) es una popular herramienta de seguridad Stateful Packet Inspection (SPI) de código abierto para Linux. Además, proporciona una interfaz simple para iptables para proteger los servidores Linux. El CSF tiene múltiples características como un firewall de inspección de paquetes con estado, detección de intrusiones, un demonio de falla de inicio de sesión, protección DDOS e integración del panel de control.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de ConfigServer Security & Firewall (CSF) en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.

Instale CSF Firewall en Ubuntu 20.04 LTS Focal Fossa

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguiente apt comandos en la terminal.

sudo apt update
sudo apt upgrade

Paso 2. Instalación de CSF Firewall en Ubuntu 20.04.

Ahora descargamos el último código fuente del archivo CSF ​​de su sitio oficial:

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

A continuación, extraiga el archivo descargado y luego ejecute su secuencia de comandos de instalación:

tar -xvzf csf.tgz
cd csf
sudo bash install.sh

Después de eso, ejecute el csftest.pl Script de Perl para verificar si todos los módulos de iptables requeridos están instalados en su sistema para que funcione correctamente:

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

Producción:

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

Paso 3. Configure CSF.

Ahora configure CSF según su estándar de seguridad. Puedes configurarlo editando el archivo /etc/csf/csf.conf:

nano /etc/csf/csf.conf

Cambie la siguiente línea según sus requisitos:

TESTING = "0"
RESTRICT_SYSLOG = "3"
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"

# Allow incoming UDP ports
UDP_IN = "20,21,53,80,443"

# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list
UDP_OUT = "20,21,53,113,123"

# Allow incoming PING. Disabling PING will likely break external uptime
# monitoring
ICMP_IN = "1"

Save y close el archivo, luego reinicie el CSF con el siguiente comando:

csf -r
csf -l

Producción:

iptables mangle table
=====================
Chain PREROUTING (policy ACCEPT 55 packets, 3332 bytes)
num pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 48 packets, 3054 bytes)
num pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 24 packets, 15822 bytes)
num pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 24 packets, 15822 bytes)
num pkts bytes target prot opt in out source destination

iptables raw table
==================
Chain PREROUTING (policy ACCEPT 51 packets, 3321 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 24 packets, 15966 bytes)
num pkts bytes target prot opt in out source destination

iptables nat table
==================
Chain PREROUTING (policy ACCEPT 12 packets, 1410 bytes)
num pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 1 packets, 69 bytes)
num pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 1 packets, 23 bytes)
num pkts bytes target prot opt in out source destination

Paso 4. Acceso a la interfaz web de CSF.

CSF proporciona una interfaz basada en web para administrar el firewall desde un navegador web. Primero, edite el archivo de configuración principal de CSF con el siguiente comando:

nano /etc/csf/csf.conf

Agrega las siguientes líneas:

#Enable Web UI
UI = "1"

#Listening Port
UI_PORT = "8080"

#Admin username
UI_USER = "admin"

#Admin user password

UI_PASS = "your-password"

#Listening Interface
UI_IP = ""

Save y close el archivo cuando haya terminado. Luego, necesitará editar el /etc/csf/ui/ui.allow y agregue la dirección IP de su servidor y la IP de la máquina remota desde donde desea acceder a la interfaz de usuario web de CSF.

nano /etc/csf/ui/ui.allow

Agregue la IP de su servidor y la IP de la máquina remota:

your-server-ip
remote-machine-ip

Save y close el archivo, luego reinicie el servicio CSF ​​y LFD para aplicar los cambios:

csf -r
service lfd restart

Finalmente, abra su navegador web y busque la dirección IP del servidor seguida del puerto 8080:

https://your-server-ip:8080

¡Felicidades! Ha instalado CSF ​​correctamente. Gracias por usar este tutorial para instalar ConfigServer Security and Firewall en su sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de CSF.