Cicle formatiu: Administració de sistemes informàtics en xarxa (ASIX)
Mòdul: 0378. Seguretat i alta disponibilitat
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, clientsAquest 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.
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:
| 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 |
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:
ESTABLISHED,RELATED).É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.
La decisió d’on col·locar el tallafocs és tan important com la configuració de les regles. Els punts habituals són:
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 internaUn ú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 ── LANMé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.
Abans de desplegar cal documentar:
keepalived
en Linux).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).
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.
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:
policy drop) de les cadenes input i forward implementa el principi
default deny.ct state established,related accept és el que permet el
filtratge amb estat: no cal obrir regla d’entrada per a les
respostes.iif eth1 oif eth2 drop és explícita per
deixar constància de la decisió de disseny (la DMZ és
una zona no confiable i mai ha d’iniciar trànsit cap a la LAN), encara
que la política per defecte ja ho denegaria.log prefix) abans de fer drop, per poder-ho
revisar després (vegeu 4.5).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) |
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.
Configurar les regles no és suficient: cal verificar que fan el que es pretenia. Els registres (logs) del tallafocs permeten:
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 -rnA 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.
| 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 |
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.
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 21Comprovació 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 ESTABLISHEDAuditoria 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).
Quan un usuari reporta “no tinc accés a X”, el tallafocs sol ser el primer sospitós (i sovint, amb raó). Metodologia recomanada:
# 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.
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.
| 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 |
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.
nftables).### 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:** anualPer 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.