Com restringir l'accés a la xarxa mitjançant FirewallD


Com a usuari de Linux, podeu optar per permetre o restringir l'accés a la xarxa a alguns serveis o adreces IP mitjançant el tallafocs del tallafoc que és natiu de CentOS/RHEL 8 i la majoria de distribucions basades en RHEL, com ara Fedora.

El tallafocs firewalld utilitza la utilitat de línia d'ordres firewall-cmd per configurar les regles del tallafoc.

Abans de poder realitzar qualsevol configuració, primer habilitem el servei firewalld mitjançant la utilitat systemctl tal com es mostra:

$ sudo systemctl enable firewalld

Un cop habilitat, ara podeu iniciar el servei firewalld executant:

$ sudo systemctl start firewalld

Podeu verificar l'estat de firewalld executant l'ordre:

$ sudo systemctl status firewalld

La sortida següent confirma que el servei firewalld està en funcionament.

Configuració de regles amb Firewalld

Ara que tenim firewalld en execució, podem anar directament a fer algunes configuracions. Firewalld us permet afegir i bloquejar ports, llistes negres, així com adreces IP de llista blanca per proporcionar accés al servidor. Un cop fetes les configuracions, assegureu-vos sempre de tornar a carregar el tallafoc perquè les noves regles tinguin efecte.

Per afegir un port, per exemple, el port 443 per a HTTPS, utilitzeu la sintaxi següent. Tingueu en compte que heu d'especificar si el port és un port TCP o UDP després del número de port:

$ sudo firewall-cmd --add-port=22/tcp --permanent

De la mateixa manera, per afegir un port UDP, especifiqueu l'opció UDP tal com es mostra:

$ sudo firewall-cmd --add-port=53/udp --permanent

El senyalador --permanent assegura que les regles persisteixen fins i tot després d'un reinici.

Per bloquejar un port TCP, com ara el port 22, executeu l'ordre.

$ sudo firewall-cmd --remove-port=22/tcp --permanent

De la mateixa manera, bloquejar un port UDP seguirà la mateixa sintaxi:

$ sudo firewall-cmd --remove-port=53/udp --permanent

Els serveis de xarxa es defineixen al fitxer /etc/services. Per permetre un servei com https, executeu l'ordre:

$ sudo firewall-cmd --add-service=https

Per bloquejar un servei, per exemple, FTP, executeu:

$ sudo firewall-cmd --remove-service=https

Per permetre una única adreça IP al tallafoc, executeu l'ordre:

$ sudo firewall-cmd --permanent --add-source=192.168.2.50

També podeu permetre un rang d'IPs o una subxarxa sencera mitjançant una notació CIDR (Classless Inter-Domain Routing). Per exemple, per permetre una subxarxa sencera a la subxarxa 255.255.255.0, executeu.

$ sudo firewall-cmd --permanent --add-source=192.168.2.0/24

Si voleu eliminar una IP de la llista blanca del tallafoc, utilitzeu la marca --remove-source tal com es mostra:

$ sudo firewall-cmd --permanent --remove-source=192.168.2.50

Per a tota la subxarxa, executeu:

$ sudo firewall-cmd --permanent --remove-source=192.168.2.50/24

Fins ara, hem vist com podeu afegir i eliminar ports i serveis, així com afegir i eliminar les IP de la llista blanca. Per bloquejar una adreça IP, s'utilitzen regles riques per a aquest propòsit.

Per exemple, per bloquejar la IP 192.168.2.50 executeu l'ordre:

$ sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.50' reject"

Per bloquejar tota la subxarxa, executeu:

$ sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.0/24' reject"

Si heu fet algun canvi a les regles del tallafoc, heu d'executar l'ordre següent perquè els canvis s'apliquin immediatament:

$ sudo firewall-cmd --reload

Per haver de mirar totes les regles del tallafoc, executeu l'ordre:

$ sudo firewall-cmd --list-all

Això conclou aquesta guia sobre com permetre o restringir l'accés a la xarxa mitjançant FirewallD a CentOS/RHEL 8. Esperem que aquesta guia us sigui útil.