Firwat e VPN-Client um Büro-LAN all Äntwert verléiert
E Laptop um Büro-LAN an op engem Tunnel am selwechte Subnetz äntwert aus der falscher Schnëttstell. Lues Ëmwee-Filterung erkläert d’Stëllt.
E Laptop sëtzt iwwer Ethernet um /24 vum Büro a mëscht sech och un en OpenVPN-Server, deen am selwechten /24 wunnt. E Kolleg pingt d’Tunneladress; d’Ufro kënnt kloer un, an et kënnt näischt zréck. D’Tunnellog ass propper an d’Browsen funktionéiert nach, also ass den Tunnel de falsche Verdächtegen. D’IPv4-Quellvalidéierung op der Maschinn, déi kritt, geheit de Pak ewech, ier eppes en liest.
D’Ewechgeheie geschitt, ier eppes de Pak liest
D’Quellvalidéierung stellt eng Fro iwwer all erakommende Pak: wann dësen Host déi Quell äntwerte géif, géif d’Äntwert dann duerch déi Schnëttstell erausgoen, op där de Pak just ukomm ass? Wann d’Äntwert nee ass, geheit de Kernel de Pak beim Ukommen ewech. Weder e Socket nach en Iwwerleeungswee gesäit en je, an dowéinst registréiert eng Opnam um Tunnel nach ëmmer eng Ufro, déi d’Applikatioun ni kritt.
De Client hei huet 10.66.0.9 op sengem Tunnel, an den OpenVPN-Server äntwert op 192.168.80.10 bannent dem Büropräfix. E Kolleg op 192.168.80.25 pingt d’Tunneladress, also quitt d’Ufro d’LAN, de Server leet se an den Tunnel, an se kënnt op der Tunnelschnëttstell vum Client un, mat enger Büroquelladress. An der Routingstabell vun där Maschinn gehéiert de Büropräfix zum Ethernet-Apparat, net zum Tunnel. D’Validéierung vergläicht d’Ukommsschnëttstell mat der Route, fënnt eng Divergenz a verwerft de Pak, also gesäit de Kolleg e komplette Verloscht, wärend béid Enner vun engem gesonden Tunnel schwätzen.
D’Spigelrichtung huet déi selwecht Form: wann de Client Richtung Büro ufänkt, kënnen Äntwerten op der Bürosäit aus demselwecht Grond verworfe ginn. Eng Korrektur, déi nëmmen an enger Richtung verifizéiert ass, kënnt meeschtens als zweet Ticket zréck.
Beweist de Modus, deen am Kraaft ass, ier Dir en sysctl beréiert
Liest déi effektiv Wäerter, amplaz enger Distributiouns-Standard ze vertrauen, well d’Astellung pro Schnëttstell nëmmen d’Halschent vun der Decisioun ass. De Modus, deen am Kraaft ass, ass deen héijen aus dem Schnëttstellwäert an dem Wäert vun all, also bedeit eng Null op der Tunnelschnëttstell näischt, soulaang all een ass. D’Decisioun vum strenge Modus ass eng Routingdecisioun, also fuert déi Sich aus, déi de Kernel ausféiert, a vergläicht hir Äntwert mat der Schnëttstell, op där de Pak wierklech ukomm ass.
tcpdump -ni tun0 icmp and host 192.168.80.25
ip route get 192.168.80.25
sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.tun0.rp_filter
Widderhielt dann de Ping, wärend Dir de Fehlerzieler kuckt. E Zieler, deen nieft enger Ufro klëmmt, déi d’Opnam schonn weist, ass d’Signatur vun dësem Ewechgeheie, net déi vun enger feelender Route. Schalt d’Marsianer-Logbuchung an, wärend Dir do sidd, sou datt de Kernel d’Quell an d’Schnëttstell nennt, déi en ofgeleent huet. Zesummen schléissen se d’Verschlësselung, d’Firewall an en feelenden iroute als Erklärungen aus.
Schreift d’Baseline op, ier Dir eppes ännert: béid Wäerter, den Apparat, deen d’Sich gewielt huet, an de Zieler, deen Dir observéiert hutt. Deen Opzeechnung ass et, deen Iech duerno seet, ob d’Ännerung dat gemaach huet, wat Dir denkt.
Wat all rp_filter-Modus wierklech akzeptéiert
De Kernel weist dräi Wäerter pro Schnëttstell, an et sinn net dräi Nuancen vun enger Regel. Null schalt d’Iwwerpréifung aus. Eent ass streng a verlaangt, datt d’Quell iwwer d’Ukommsschnëttstell zréck gerout gëtt. Zwee ass lues a verlaangt nëmmen, datt et eng Route zur Quell an der Tabell gëtt, wou se och ëmmer hiweist.
| Value | Name | Accepts | Still rejects |
|---|---|---|---|
| 0 | off | any source at all | nothing on this check |
| 1 | strict | a source routed back out the arrival interface | a source whose route points elsewhere |
| 2 | loose | a source with any route in the table | a source with no route at all |
D’Rei, déi hei zielt, ass déi lues, an dat, wat se weider verwërft. Eng gefälscht Quell, déi iwwerall an Ärer Tabell routbar ass, kënnt duerch, wärend eng Quell ouni all Route nach ëmmer refuséiert gëtt. Op engem Laptop ass dat eng schmuel Konzessioun; op engem Router, deen de Verkéier fir aner Leit weidergëtt, eng breed. De Modus gehéiert zum Host, also dréit déiselwecht Zuel op den zwou Plazen aner Gewiicht.
Wat fir eng Rei dës Topologie brauch, ergëtt sech aus der Tabell an net aus der Gewunnecht. De Pak ass legitim an seng Quell ass routbar, also akzeptéiert déi lues en an déi streng net. Näischt an dësem Fall verlaangt Null, an Null ze wielen géif eng Iwwerpréifung ewechhuelen, déi hei näischt kascht.
Wielt déi klengst Ännerung, déi d’Villdeitegkeet ewechhëlt
De luese Modus ass déi klengst Ännerung, déi passt, an et ass eng richteg Reduktioun vun der Strenge, net en harmlose Schalter. Eng besser Optioun gëtt et ëmmer, wann d’Topologie et erlaabt: hieft d’Iwwerlappung ewech, an d’Villdeitegkeet verschwënnt.
Wou de Büropräfix nëmmen iwwer Ethernet gebraucht gëtt, hieft en aus de Routern ewech, déi de Profil zitt, an d’Adress gëtt iwwer ee Wee erreechbar. Wann béid Weeër wierklech musse koexistéieren, pinnt d’Quell an den Apparat mat enger Politikregel un, amplaz d’Validéierung op all Schnëttstell lues ze maachen. Dat behält eng streng Filterung fir alles anescht op der Maschinn a dokumentéiert d’Ausnam do, wou den nächsten Ingenieur se siche wäert.
Wéi ee Wee Dir och wielt, notéiert en an engem sysctl-Drop-in an net an engem liewegen Uerder. Setzt d’Schlësselen all an default zesummen, sou datt eng Neiverbindung de strenge Modus net stëll ka restauréieren.
# /etc/sysctl.d/99-rp-filter.conf
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
sysctl --system
Wat de luese Modus opgëtt, an wou
De luese Modus verwërft nach ëmmer eng Quell, déi keng Route erreeche kéint, an en hält op, eng gefälscht Quell ze verwerfen, déi zoufälleg routbar ass. Op engem Laptop ass dat eng schmuel Konzessioun. Op engem Apparat, deen de Verkéier weidergëtt, deen him net gehéiert, ass déiselwecht Wiel eng vill méi breed. Dofir dréit déiselwecht Astellung zwou ganz verschidde Bedeitungen, jee nodeem wou se leeft.
D’Iwwerpréifung ganz ofzeschalten op engem Host, deen de Verkéier fir aner Leit weidergëtt, ass déi eng Reparatur, déi een evitëiere soll. Null geheit d’Validéierung ewech, déi de luese Modus suergfälteg behält. Wann den Host fir aner weidergëtt, argumentéiert amplaz fir d’Optioun vun der Politikregel aus dem virege Sektioun.
Loosst eng Notiz, déi déi zwou Schnëttstellen, de Präfix deen iwwerlappt an déi genau Test nennt, déi elo geléngt. Dat ass fir den nächsten Ingenieur méi nëtzlech wéi eng Zeil, déi seet, d’Filterung wier ugepasst.