RA4. Implantació de tallafocs

Cicle formatiu: Administració de sistemes informàtics en xarxa (ASIX)

Mòdul: 0378. Seguretat i alta disponibilitat

Introducció

Un tallafocs (firewall) és l’element de seguretat perimetral més bàsic i, alhora, més crític de qualsevol infraestructura de xarxa. La seva funció és senzilla d’explicar, però delicada de configurar bé: decidir, paquet a paquet o connexió a connexió, què pot entrar i sortir d’una xarxa (o d’una màquina) i què no.

En aquesta unitat treballarem els vuit criteris d’avaluació del RA4, des de la teoria (tipus, nivells de filtratge) fins a la pràctica (regles amb nftables i amb un tallafocs perimetral tipus pfSense/OPNsense), passant per l’anàlisi de registres, les proves de funcionament i el diagnòstic d’incidències.

Com a escenari de referència farem servir un muntatge típic de xarxa docent, similar al del nostre laboratori THOS.LOCAL:

                    ┌─────────────┐
   Internet ────────┤  TALLAFOCS  ├──────── DMZ (10.0.10.0/24)
                    │      3      │            └─ srv-web, srv-mail
                    │ interfícies ├──────── LAN interna (10.0.20.0/24)
                    └─────────────┘            └─ SRV-DC01, SRV-FS01, clients
💡
Nota

Aquest disseny amb tres zones (Internet / DMZ / LAN) és el que farem servir com a fil conductor en tots els exemples pràctics de la unitat.

1. Característiques, tipus i funcions dels tallafocs

1.1. Què és un tallafocs

Un tallafocs és un sistema (maquinari, programari o una combinació dels dos) situat en un punt de la xarxa que inspecciona el trànsit que hi circula i aplica una política de seguretat definida per l’administrador, que permet o denega connexions segons un conjunt de regles.

Característiques bàsiques que ha de complir:

1.2. Tipus de tallafocs

Tipus Descripció Exemple
Tallafocs de filtratge de paquets Analitza capçaleres IP/TCP/UDP (IP origen/destí, ports, flags) sense mantenir estat de la connexió iptables en mode stateless, ACL de router
Tallafocs d’estat (stateful) Manté una taula d’estats de les connexions actives i permet respostes legítimes sense regla explícita nftables, pf, la majoria de tallafocs actuals
Tallafocs d’aplicació / proxy (application-layer) Actua a nivell 7, entén el protocol (HTTP, FTP, SMTP…) i pot filtrar continguts Squid, WAF, proxy SMTP amb antispam
Tallafocs personal (host-based) S’executa a la mateixa màquina que protegeix Windows Defender Firewall, ufw/firewalld
Tallafocs perimetral (network-based) Dispositiu dedicat entre xarxes, sol tenir diverses interfícies pfSense, OPNsense, FortiGate, Cisco ASA
UTM / NGFW (Next-Generation Firewall) Integra filtratge, IDS/IPS, antivirus, VPN, control d’aplicacions en un sol dispositiu FortiGate, Palo Alto, Sophos XG

1.3. Funcions principals

  1. Filtratge de trànsit segons adreces IP, ports, protocols o aplicacions.
  2. Traducció d’adreces (NAT/PAT), imprescindible per compartir una única IP pública.
  3. VPN (terminació de túnels IPsec/WireGuard/OpenVPN per a accés remot o interconnexió de seus).
  4. Registre i auditoria (logging) del trànsit permès i denegat.
  5. Balanceig de càrrega i alta disponibilitat en els models més avançats (failover entre dos tallafocs).
  6. IDS/IPS integrat per detectar i bloquejar signatures d’atac conegudes.

2. Nivells de filtratge de trànsit

El filtratge es pot fer a diferents capes del model OSI/TCP-IP. Com més amunt es filtra, més informació té el tallafocs però més cost de procés i més complexitat:

Capa Exemples de criteri de filtratge Tecnologia típica
Enllaç (2) Adreça MAC Filtratge MAC en switches/AP
Xarxa (3) IP origen/destí, ICMP ACL de router, iptables -s/-d
Transport (4) Port TCP/UDP, flags TCP (SYN, ACK…), estat de connexió Tallafocs stateful (nftables, pf)
Aplicació (7) Contingut del protocol: URL, capçaleres HTTP, adjunts de correu, comandes FTP Proxy, WAF, DPI (Deep Packet Inspection)

En la pràctica, un tallafocs modern combina diversos nivells alhora:

💡
Nota

És fonamental saber identificar a quin nivell es demana filtrar quan es dissenya una regla. Per exemple, “bloquejar l’accés a xarxes socials” no es pot resoldre només amb IP/port (moltes usen els mateixos CDN que altres serveis legítims): cal filtratge de capa 7 (per domini/SNI) o un proxy amb llistes de categories.

3. Planificació de la instal·lació de tallafocs

3.1. Ubicació dins la xarxa

La decisió d’on col·locar el tallafocs és tan important com la configuració de les regles. Els punts habituals són:

  1. Perímetre (Internet ↔︎ xarxa corporativa): el més bàsic i imprescindible. Separa la xarxa interna d’Internet.
  2. Entre zones internes de diferent nivell de confiança (per exemple, xarxa d’administració vs. xarxa d’aules, o xarxa de servidors vs. xarxa de clients). Aplica el principi de segmentació: si un segment es compromet, el tallafocs interior limita la propagació (moviment lateral).
  3. Davant d’una DMZ (zona desmilitaritzada): xarxa intermèdia on es col·loquen els serveis que han de ser accessibles des d’Internet (web, correu, DNS públic) però que no han de tenir accés directe a la LAN interna.
  4. A escala d’amfitrió (host-based): cada servidor o client amb el seu propi tallafocs local, com a capa addicional de seguretat (defensa en profunditat).

3.2. Arquitectures típiques amb DMZ

a) Tallafocs amb tres interfícies (arquitectura més habitual en centres educatius i pimes):

Internet ── [WAN] TALLAFOCS [DMZ] ── srv-web, srv-mail
                       [LAN] ── xarxa interna

Un únic dispositiu amb tres (o més) interfícies físiques o VLANs, cadascuna amb la seva política. És l’arquitectura més senzilla d’administrar.

b) Doble tallafocs (arquitectura “back-to-back”):

Internet ── TALLAFOCS EXTERN ── DMZ ── TALLAFOCS INTERN ── LAN

Més segura (dos productes/fabricants diferents redueixen el risc que una vulnerabilitat afecti els dos alhora), però més cara i complexa de mantenir. Habitual en entorns d’alta seguretat.

3.3. Criteris de planificació

Abans de desplegar cal documentar:

4. Configuració de filtres a partir d’un llistat de regles

4.1. Regles de filtratge: estructura general

Independentment del producte, una regla de tallafocs sol tenir aquests camps:

Interfície | Direcció | Protocol | IP origen | Port origen | IP destí | Port destí | Acció | Log

Les accions habituals són ACCEPT/PASS, DROP (descarta sense avisar) i REJECT (descarta i respon amb un missatge d’error, per exemple ICMP port unreachable).

💡
Nota

DROP és preferible a REJECT en un tallafocs perimetral perquè no revela informació a un possible atacant (l’origen no sap si el port està tancat o filtrat). REJECT és útil en xarxes internes, on la resposta ràpida d’error facilita el diagnòstic als usuaris legítims.

4.2. Exemple amb nftables (Linux)

Suposem el tallafocs de l’escenari amb tres interfícies: eth0 (WAN), eth1 (DMZ, 10.0.10.0/24) i eth2 (LAN, 10.0.20.0/24).

#!/usr/sbin/nft -f

flush ruleset

table inet filter {

    chain input {
        type filter hook input priority 0; policy drop;

        # Trànsit ja establert o relacionat, sempre permès
        ct state established,related accept
        ct state invalid drop

        # Loopback
        iif lo accept

        # Gestió del propi tallafocs només des de la LAN, per SSH
        iif eth2 tcp dport 22 accept

        # Registre de la resta abans de descartar
        log prefix "INPUT-DROP: " drop
    }

    chain forward {
        type filter hook forward priority 0; policy drop;

        ct state established,related accept
        ct state invalid drop

        # Internet -> DMZ: només HTTP/HTTPS al servidor web i SMTP/IMAP al de correu
        iif eth0 oif eth1 ip daddr 10.0.10.10 tcp dport { 80, 443 } accept
        iif eth0 oif eth1 ip daddr 10.0.10.20 tcp dport { 25, 143, 993 } accept

        # LAN -> Internet: navegació i DNS
        iif eth2 oif eth0 tcp dport { 80, 443 } accept
        iif eth2 oif eth0 udp dport 53 accept

        # LAN -> DMZ: administració del servidor web des de la LAN
        iif eth2 oif eth1 ip daddr 10.0.10.10 tcp dport 22 accept

        # La DMZ MAI ha d'iniciar connexions cap a la LAN
        iif eth1 oif eth2 drop

        log prefix "FORWARD-DROP: " drop
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }
}

Punts clau d’aquest exemple:

4.3. Exemple equivalent en un tallafocs perimetral (pfSense/OPNsense)

En aquest tipus de producte les regles es defineixen per interfície, amb interfície gràfica, però segueixen la mateixa lògica. Per a la interfície WAN:

# Protocol Origen Port origen Destí Port destí Acció
1 TCP * * 10.0.10.10 (web) 80, 443 Pass
2 TCP * * 10.0.10.20 (mail) 25, 143, 993 Pass
3 * * * * * Block (implícita)

Per a la interfície LAN:

# Protocol Origen Port origen Destí Port destí Acció
1 UDP LAN net * Aquest tallafocs 53 Pass
2 TCP LAN net * * 80, 443 Pass
3 TCP LAN net * 10.0.10.10 22 Pass
4 * * * * * Block (implícita)
💡
Nota

A pfSense/OPNsense les regles s’avaluen de dalt cap avall i s’atura en la primera coincidència (com a iptables), i sempre hi ha una regla implícita final de block a cada interfície. Cal tenir molt present aquest ordre: una regla massa genèrica situada abans pot “tapar” regles més específiques posades després.

5. Revisió dels registres d’esdeveniments

5.1. Per què cal revisar els logs

Configurar les regles no és suficient: cal verificar que fan el que es pretenia. Els registres (logs) del tallafocs permeten:

5.2. On i com consultar-los

A Linux (nftables/iptables), els paquets marcats amb log es registren via journald/syslog:

# Veure en temps real
journalctl -k -f | grep 'FORWARD-DROP'

# Comptar quants intents s'han bloquejat per IP origen en l'última hora
journalctl -k --since "-1 hour" | grep 'INPUT-DROP' | grep -oP 'SRC=\K[\d.]+' | sort | uniq -c | sort -rn

A pfSense/OPNsense, l’apartat Status → System Logs → Firewall mostra taula amb interfície, acció, origen/destí i regla que ha coincidit, amb possibilitat de filtrar en temps real.

Centralització: en un entorn amb diversos tallafocs (o simplement per no dependre de logs locals que roten), és recomanable enviar-los a un servidor de logs centralitzat (syslog remot, Wazuh, Graylog…) per correlacionar-los amb altres fonts (IDS, servidors) i generar alertes.

5.3. Què buscar

Patró als logs Possible interpretació
Molts DROP des d’una mateixa IP origen a ports consecutius en poc temps Escaneig de ports (nmap)
DROP repetit del mateix client cap al mateix servei intern Regla mal configurada bloquejant trànsit legítim → revisar
Pics sobtats de trànsit ACCEPT cap a un port poc habitual Possible exfiltració o servei no autoritzat aixecat sense permís
Molts intents SSH/RDP fallits des de l’exterior Atac de força bruta → valorar fail2ban, canvi de port o VPN obligatòria

6. Proves de funcionament: opcions de programari i maquinari

6.1. Programari vs. maquinari

Programari (nftables, pf, ufw…) Maquinari dedicat (Fortigate, Cisco ASA, aparell pfSense)
Cost Baix (sovint lliure), aprofita maquinari genèric Alt, però rendiment garantit pel fabricant
Rendiment Depèn del maquinari on s’instal·la; pot patir amb molt trànsit o inspecció TLS ASIC/hardware dedicat per a xifratge i inspecció a alta velocitat
Flexibilitat Molt alta, totalment personalitzable, s’integra amb scripts Limitada a les funcions del fabricant, encara que sol ser molt completa
Manteniment Requereix més coneixement tècnic intern Suport oficial del fabricant, actualitzacions de firmware
Cas d’ús típic Laboratoris, entorns amb personal tècnic, virtualització Entorns de producció crítics, requisits de certificació

En un centre educatiu és habitual combinar totes dues coses: un tallafocs perimetral (programari com OPNsense sobre maquinari genèric, o un aparell comercial) i tallafocs locals a cada servidor (firewalld, Windows Defender Firewall) com a capa addicional.

6.2. Sondeig i proves

Un cop desplegades les regles, cal provar-les activament, no donar per fet que funcionen:

Des de fora cap al tallafocs (comprovar que només s’obre el necessari):

# Escaneig de ports TCP contra la IP pública/WAN
nmap -sS -p 1-1000 <IP_WAN>

# Comprovar un port concret
nmap -p 443 <IP_WAN>

# Petició real al servei per confirmar que respon correctament
curl -I https://<IP_WAN>

Des de la LAN cap a l’exterior o la DMZ (comprovar que el permès funciona i el prohibit es bloqueja):

# Ha de funcionar (permès a la matriu de fluxos)
curl -I https://www.exemple.cat

# Ha de fallar/bloquejar-se (LAN -> DMZ per un port no autoritzat)
nc -zv -w2 10.0.10.10 21

Comprovació de l’estat de les connexions al mateix tallafocs:

# nftables: veure la taula d'estats de connexió
cat /proc/net/nf_conntrack | wc -l
conntrack -L | grep ESTABLISHED

Auditoria automatitzada de la configuració: eines com nmap --script firewall-bypass o revisions manuals de la política contra la matriu de fluxos prevista ajuden a detectar regles obsoletes o massa permissives (per exemple, una regla any any any oblidada d’una prova).

7. Diagnòstic de problemes de connectivitat provocats pel tallafocs

Quan un usuari reporta “no tinc accés a X”, el tallafocs sol ser el primer sospitós (i sovint, amb raó). Metodologia recomanada:

7.1. Reproduir i acotar el problema

7.2. Comprovar la connectivitat capa a capa

# Capa 3: hi ha ruta i respon l'equip?
ping <IP_desti>

# Capa 3/4: hi ha un salt (el tallafocs) que talla el camí?
traceroute <IP_desti>          # Linux
tracert <IP_desti>             # Windows

# Capa 4: el port concret és accessible?
nc -zv <IP_desti> <port>
telnet <IP_desti> <port>

Si el ping (ICMP) falla, però el servei real funciona (o a l’inrevés), sovint és perquè hi ha una regla que tracta l’ICMP de manera diferent del trànsit TCP/UDP — un error de disseny relativament habitual.

7.3. Consultar els registres del tallafocs (enllaç directe amb 4.5)

Els logs solen donar la resposta immediata: buscar l’entrada DROP/REJECT corresponent a l’origen, destí i port del problema, i identificar quina regla (o la política per defecte) l’ha generat.

7.4. Causes habituals de problemes de connectivitat provocats pel tallafocs

Símptoma Causa freqüent
Un servei intern deixa de ser accessible des de fora just després d’un canvi Ordre de regles: una regla nova o modificada coincideix abans que l’específica (a nftables/pfSense, la primera coincidència guanya)
Les connexions s’obren, però es tallen als pocs segons Temps d’espera (timeout) de la taula d’estats massa curt per a connexions de llarga durada
Un protocol amb port dinàmic (FTP actiu, SIP, algunes VPN) no funciona tot i tenir el port de control obert Falta el mòdul d’ajuda de connexió (connection tracking helper, p. ex. nf_conntrack_ftp) que entengui el protocol i obri dinàmicament els ports necessaris
Funciona intern però no des d’Internet (o a l’inrevés) Confusió entre regles de WAN/LAN/DMZ o entre INPUT (tràfic cap al mateix tallafocs) i FORWARD (trànsit que el travessa)
Alguns usuaris sí i altres no, mateix servei Regla basada en IP origen concreta en lloc de xarxa/subxarxa, o resta d’una regla temporal de proves no eliminada
Tot funciona per IP però no per nom No és problema del tallafocs sinó de resolució DNS; cal descartar-ho abans de “culpar” les regles

8. Documentació del tallafocs

Un tallafocs sense documentar és un risc de seguretat en si mateix: si la persona que el va configurar marxa, ningú sap per què existeix cada regla, i això porta a no gosar tocar-lo mai (regles obsoletes que s’acumulen) o a eliminar regles necessàries per error.

8.1. Continguts mínims de la documentació

  1. Esquema de xarxa amb totes les zones, interfícies, VLANs i adreçament IP.
  2. Matriu de fluxos (la treballada a 4.3), amb justificació de negoci/servei de cada flux permès.
  3. Llistat de regles amb, per a cadascuna: propòsit, data d’alta, responsable de la petició i data de revisió/caducitat prevista (especialment important en regles “temporals”).
  4. Procediment de gestió de canvis: com se sol·licita, aprova i desplega un canvi a les regles (evita canvis improvisats sense registre).
  5. Procediment de còpia de seguretat i restauració de la configuració del tallafocs.
  6. Procediment davant d’incidents: què fer si es detecta un atac o una regla compromesa, a qui escalar-ho.
  7. Registre de canvis (cronologia): qui ha canviat què i quan (idealment amb control de versions si la configuració és fitxers de text, com en el cas de nftables).

8.2. Exemple de plantilla de fitxa de regla

### Regla: WEB-DMZ-HTTPS-01
- **Zones:** WAN -> DMZ
- **Origen:** any
- **Destí:** 10.0.10.10 (srv-web)
- **Port/Protocol:** TCP/443
- **Acció:** ACCEPT
- **Justificació:** publicació del web corporatiu
- **Sol·licitat per:** Direcció / Comunicació
- **Data d'alta:** 2026-02-10
- **Revisió prevista:** anual
💡
Nota

Per a la unitat, els mateixos fitxers de configuració comentats (nftables, regles de pfSense exportades en XML) ja constitueixen part de la documentació tècnica, sempre que es mantinguin sota control de versions (per exemple amb Git) i s’acompanyin de l’esquema de xarxa i la matriu de fluxos en un document a part.

Versions d’aquest document

Domini Públic (CC0)