Les regles de tallafocs només NEW no tanquen tots els camins WAN
Rebutjar les connexions NEW deixa intactes els fluxos establerts i les respostes. Llegeix l’estat de conntrack, l’ordre de les regles i les excepcions abans de dir que una política està tancada.
Rebutjar les connexions sortints noves a la WAN sembla una política de fail-closed, però és una promesa més estreta del que sembla. Els paquets que pertanyen a fluxos que ja existeixen no hi coincideixen, i moltes respostes tampoc. Aquest buit és fàcil de passar per alt perquè la regla es llegeix com si cobrís la interfície i no un estat de connexió sobre ella. I llegir la coincidència d’estat com un veredicte és el que produeix una falsa sensació de tancament.
L’estat és una condició de coincidència, no un veredicte
El seguiment de connexions classifica els paquets pel que el tallafocs ja ha vist, no pel que creu l’aplicació. Un flux observat en tots dos sentits és establert, i els seus paquets posteriors continuen establerts fins i tot quan la ruta de sota canvia d’un túnel a l’enllaç ascendent ordinari. Una resposta a una connexió entrant també pot ser trànsit establert. Aquests paquets no tornen a ser nous mai.
Per això una regla limitada a les connexions noves no pot establir que tots els paquets protegits estiguin bloquejats. Deixa els altres estats a allò que la resta del conjunt de regles hi faci, que pot ser una acceptació col·locada abans a la cadena.
Llegeix la regla en el seu entorn
Una acceptació àmplia per al trànsit establert i relacionat col·locada abans del bloc admet un paquet abans que el bloc s’avaluï. Treure la condició d’estat d’una regla posterior no ho canviarà, perquè l’avaluació no hi arriba mai. L’ordre decideix el resultat, i la coincidència d’estat decideix quins paquets arriben a aquest ordre.
Inspecciona el conjunt de regles efectiu i no el fitxer que has editat, incloent-hi els salts a altres cadenes i tot el que genera la plataforma. En un encaminador gestionat amb iptables, llistar la cadena mostra les definicions de les regles, i les cadenes a què fa referència també s’han de seguir. Un sistema natiu amb nftables necessita revisar el seu propi conjunt de regles i les prioritats dels enllaços, perquè el firmware poques vegades genera cadenes idèntiques.
Els comptadors diuen quina regla ha coincidit realment, i normalment són més informatius que una captura de paquets feta després de la decisió. Una regla amb el comptador a zero no s’ha assolit, faci el que faci la seva posició.
Expressa la prohibició amb independència de l’estat
Si un grup de clients no ha d’arribar mai a internet fora del túnel, digues-ho directament en lloc d’aproximar-ho amb un sol estat. La regla ha de seleccionar per origen, sortida i destinació sense dependre de l’estat de la connexió, i ha d’estar on cap acceptació anterior no la pugui evitar. Llavors l’accés de gestió i les excepcions de la xarxa local reben les seves pròpies regles explícites, i la intenció es fa visible a la política.
Triar reject en lloc de drop canvia com falla el trànsit coincident, i no amplia el conjunt de paquets que la regla selecciona. Una connexió rebutjada i un temps d’espera silenciós són símptomes diferents que apunten a la mateixa selecció.
Una política que permet deliberadament les respostes a un accés iniciat remotament per la WAN és defensable. Només cal descriure-la així en lloc de presentar-la com un aïllament total només pel túnel.
Comprova qui és realment dins del grup
L’exemple cobreix el trànsit IPv4 reenviat d’un prefix per una interfície. No diu res sobre IPv6, sobre un segon enllaç ascendent ni sobre el trànsit que origina el mateix encaminador. Un encaminador que fa de resolutor DNS envia les seves pròpies consultes ascendents, i aquestes no passen mai per la cadena forward.
Confirma que els clients protegits encara tenen adreces dins del prefix seleccionat, perquè un dispositiu que se n’ha sortit és directe per accident i no per política. Ampliar el bloc a tota la LAN sense revisar el disseny de les excepcions també sol eliminar el teu propi camí administratiu.
iptables -S FORWARD
iptables -L FORWARD -v -n
cat /proc/net/nf_conntrack | grep -c ESTABLISHED
Després prova un flux vell al costat d’un de nou. Un intent de connexió nou i una transferència bidireccional ja activa es comporten de manera diferent sota aquesta regla, i només provar tots dos mostra quina política tens realment.