El túnel cau, l’interruptor d’emergència informa que s’ha activat i una descàrrega continua. No hi ha res trencat a les regles d’IPv4. L’aplicació simplement s’ha mogut a un camí per al qual aquestes regles mai es van escriure.

Els dispositius de doble pila tenen dues vies de sortida independents. Un bloqueig en una d’elles és mig bloqueig.

Dos conjunts de regles, dos valors per defecte

A Linux, iptables i ip6tables són taules separades amb polítiques separades. Posar les cadenes INPUT i OUTPUT de la taula IPv4 a DROP no canvia res a la taula IPv6, on el valor per defecte sol ser ACCEPT. La mateixa divisió existeix a nftables, on podeu inspeccionar una família i trobar que només una d’elles porta les vostres regles. Aquesta asimetria és normal, i és tot el problema.

És per això que un interruptor d’emergència pot semblar exhaustiu i comportar-se parcialment. L’script que va escriure les regles d’IPv4 s’ha executat, els comptadors incrementen, la línia de registre apareix i un paquet IPv6 surt per la interfície física completament intacte.

Llegiu què instal·la realment el vostre client i no què promet la pàgina de màrqueting. Alguns clients encaminen IPv6 al túnel, d’altres el bloquegen deliberadament, i d’altres el deixen en pau mentre un bloqueig a nivell de plataforma aplica una regla diferent. La documentació del proveïdor és l’única font que val la pena confiar aquí.

Què us diu la configuració de la interfície

La pàgina del manual de wg-quick inclou regles IPv6 a la seva configuració d’exemple, i el motiu és exactament aquest buit. L’exemple no és decoració. Existeix perquè només les regles d’IPv4 deixarien oberta la segona família.

Copiar mig exemple produeix mitja política. Aquest és l’origen més comú d’aquesta filtració. Una entrada de blog va retallar l’exemple per longitud. La versió retallada es va convertir llavors en la plantilla que tothom va reutilitzar.

# what is actually installed, per family?
sudo iptables -S OUTPUT | head -20
sudo ip6tables -S OUTPUT | head -20

# nftables: inspect each family separately
sudo nft list ruleset inet | head -40

# does this host even have a usable IPv6 path?
ip -6 route show default

Si la segona ordre imprimeix una política permissiva mentre la primera imprimeix DROP, heu trobat la resposta sense tocar el client. Aquesta asimetria és l’error.

Per què una sola consulta no és tota la història

Un sol nom pot retornar tant un registre A com un registre AAAA, i les aplicacions no trien totes de la mateixa manera. Un navegador pot preferir IPv6 quan la xarxa l’ofereix i tornar en cas de fallada, mentre que una sincronització en segon pla o un actualitzador utilitza el seu propi resolutor i la seva pròpia preferència. Per tant, una prova reeixida sobre IPv4 demostra un camí, no la política.

Les transicions de xarxa també canvien la resposta. Unir-se a una altra xarxa Wi-Fi, reprendre després de la suspensió o passar a la xarxa mòbil pot donar al dispositiu un nou prefix IPv6, i la política que semblava adequada a la LAN de l’oficina potser no el cobreix.

Proveu l’estat en què el túnel està caigut

Provar mentre esteu connectat us diu que el túnel funciona. La prova interessant és l’estat no disponible, perquè és quan l’interruptor d’emergència ha de resistir. Atureu el túnel expressament i després proveu les destinacions que importen des de l’aplicació que protegiu.

# with the tunnel stopped, does anything still leave?
ip -6 route get 2606:4700:4700::1111
curl -6 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv6.example.net/
curl -4 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv4.example.net/

Totes dues famílies haurien de fallar tancades. Si la sol·licitud IPv4 expira i la sol·licitud IPv6 retorna un codi d’estat, la política és incompleta, i cap quantitat de repetició de la prova del túnel ho canviarà.

Manteniu també les excepcions documentades en aquesta prova. El descobriment de la xarxa local, una renovació de DHCP o el camí d’arrencada fins al punt final de la VPN poden necessitar romandre accessibles, i aquestes excepcions s’haurien de nomenar a la política en lloc de descobrir-se durant una interrupció. Una prova de filtració que falla perquè el túnel no pot tornar a pujar no és una troballa de seguretat, és una troballa de connectivitat.

Articles relacionats