Ee Destinatiounsberäich pro VPN-Clientpool blockéieren
Eng eenzeg nftables-Reeg kann engem zougeloossene VPN-Pool e Destinatiounsprefix verweigeren, ouni den eegene Verkéier vum Gateway ze beréieren. Passt den Hook an d’Positioun un.
Eng Reeg kann en zougeloossene VPN-Pool vun engem Destinatiounsberäich ewech halen, ouni eppes anescht ze stéieren, wat den Gateway mécht. D’Reeg selwer ass kuerz; wat entscheet, ob se funktionéiert, ass den Hook, an deem se lieft, an hir Positioun an der Kette. Wien dës zwee falsch wielt, kritt eng Firewall, déi richteg ausgesäit a sech inkonsistent behuelen. Fänkt domat un, wat de Packet mécht, wann d’Reeg en gesäit.
Wat d’Reeg tatsächlech ofgläicht
D’Reeg gläicht dräi Saachen zur gläicher Zäit of: eng Input-Interface, e Quellpräfix an e Destinatiounsprefix. All dräi mussen zoutreffen, ier den Drop gräift, an dat hält se enk. Se als een Ausdrock ze liesen ass méi einfach wéi se als dräi getrennt Richtlinne ze liesen.
Den Interface-Ofgläich ass dat, wat de weidergeleet Clientverkéier vun den eegene Verbindunge vum Gateway ënnerscheet. Ouni en géif eng Reeg, déi just de Quellpool nennt, och Packeten treffen, déi den Gateway selwen aus där Adress generéiert, wann dat je geschitt. De Quellpräfix begrenzt d’Richtlinn op zougeloosse Clienten, an den Destinatiounsprefix begrenzt se op een Beräich. Liest d’Reeg als Schnëttmass an net als Lëscht.
Schreift déi dräi Wäerter op, ier Dir eppes ännert: den Numm vum Tunnel-Interface, de Pool, deen de Server verdeelt, an de Präfix, deen Dir wëllt verweigeren. En Tippfeeler an engem vun hinnen ergëtt eng Reeg, déi propper geparst gëtt an näischt schützt. Hält déi dräi Wäerter am Ännerungsprotokoll nieft der Reeg.
Den Hook entscheet, fir wien d’Reeg gilt
Eng netfilter-Kette ass un engem Hook befestegt, an den Hook entscheet, wéi eng Packeten d’Kette iwwerhaapt gesäit. Den Hook forward gesäit Verkéier, deen duerch den Gateway gerout gëtt, a genee dat ass Client-zu-Destinatioun-Verkéier. Alles anescht an der Kette riicht sech un eng aner Publikum.
Den Hook input gesäit Verkéier, deen un den Gateway selwer adresséiert ass, dofir regelt eng Reeg, déi do steet, den Zougang zu sengen eegene Servicer an net den Transit. Den Hook output gesäit Verkéier, deen den Gateway selwer erzeugt, wat dat Géigendeel vun deem ass, wat eng Clientpool-Richtlinn brauch. Kettennimm sinn arbiträr Etiketten, déi deen, deen de Reegesatz geschriwwen huet, gewielt huet, also leet den Hook net vum Numm of. Préift, wou d’Kette befestegt ass, ier Dir unhëlt, wat se ofgläiche kann.
| Hook | Traffic it sees | Right for this policy |
|---|---|---|
| input | Addressed to the gateway | No, that is the host's own services |
| forward | Routed through the gateway | Yes, for client-to-destination traffic |
| output | Generated by the gateway | No, that is the opposite direction |
D’Befestegung ze liesen ass eng eenzeg Kontrollzeil, déi verhënnert, datt eng Reeg an enger Kette land, déi de Packet ni gesäit.
Plazéiert d’Reeg virum breeden Accept
Reegele ginn an der Rei bewäert, an dat éischt Urteel gewënnt. E breeden Accept méi uewen an der Kette beendet d’Bewäertung fir d’Packeten, déi en trëfft, sou datt en Drop, deen duerno ugehaange gëtt, fir si ni leeft. Dës Reiefolleg ass de ganzen Grond, firwat eng korrekt ausgesinn Reeg keng Wierkung kann hunn.
Fügt d’Reeg virum Accept an, amplaz se um Enn unzehaangen. Wann d’Kette schonn en allgemengen Accept fir den Tunnel-Interface huet, muss déi nei Reeg virdrun stoen, soss ass se just dekorativ. Préift déi resultéierend Reiefolleg an net d’Datei, déi Dir geännert hutt, well e Reegesatz, deen aus méi Dateien zesummegesat ass, vläicht keng eenzeg dovun entsprécht. Bestätegt duerno mat engem Testpacket aus dem Pool.
sudo nft list chain inet filter forward
sudo nft insert rule inet filter forward iifname "tun0" ip saddr 10.90.0.0/24 ip daddr 198.51.100.0/24 drop
sudo nft -c -f /etc/nftables.conf
Den drëtten Uerder parst d’Datei, ouni se unzewenden, wat Syntaxfeeler fänkt, ier se zu engem Ausfall ginn. Wëend en un mat engem Zréckplang, well eng falsch Reeg an enger forward-Kette kann den Tunnel ofschneiden, iwwer deen Dir schafft.
Bestoend Flëss këmmeren sech net ëm Är nei Reeg
En conntrack-Antrag, deen entstanen ass, ier d’Reeg existéiert huet, entsprécht weider der fréierer Accept. Dofir schéngt en neien Drop heiansdo fir frësch Verbindungen ze wierken a fir déi, déi getest gëtt, näischt ze maachen.
Liest den State-Ofgläich uewen an der Kette. Wann en established- an related-Verkéier virun Ärer Reeg unhëlt, fléisst all Floss, deen nach leeft, weider, bis en zougeet. Normalerweis ass dat dat Verhalen, wat Dir fir eng Noutfall-Reeg wëllt, an et ass verwirrend, wann Dir en direkten Schnëtt erwaart. Entscheet, wéi eng Wierkung Dir wëllt, ier Dir ausrullt. En Test, deen eng oppe Verbindung erëmbenotzt, erzielt Iech déi falsch Geschicht.
sudo conntrack -L -s 10.90.0.14 -d 198.51.100.20
sudo nft list ruleset | grep -n -A3 'ct state'
Den éischten Uerder weist, ob et e Floss gëtt, an den zweeten, ob eng fréi State-Reeg en nach ëmmer unhëlt. Béid si just liesend an et ass sécher, se während engem Tëschefall ze lafen.
Wat dës Reeg net ass
D’Reeg ass keng Domain-Schwaarzlescht, keng IPv6-Richtlinn an och keng Aschränkung op en eenzelt Applikatiounskonto.
Jiddwereen dovun brauch säin eegene Mechanismus. Eng Domain-Spaar muss Nimm opléisen, wat e Packetfilter net mécht. IPv6-Verkéier brauch säin eegenen Ofgläich, well en ip-Ausdrock näischt iwwer ip6-Packete seet. Eng Aschränkung op Applikatiounsniveau gehéiert zum Service oder zu engem authentifizéierte Proxy an net zu engem Präfix-Ofgläich. Genee dës Fuerderungen auserneenzehalen ass et, wat verhënnert, datt eng enk Reeg véier Aarbechte soll maachen.
De Kontrakt, deen dës Reeg liwwert, ass präzis: Verkéier aus engem zougeloossene Pool zu engem Destinatiounsprefix gëtt verweigert, während onverbonne Verkéier vum Gateway seng bestoend Richtlinn behält. Schreift dës Saz nieft d’Reeg, an déi nächst Persoun weess, woufir se war.