En OpenVPN-Gateway op eng eenzegt LAN mat UFW-Regelen begrenzen
Loosst Tunnelcliente genau een Subnetz erreechen an soss näischt. Wiechterketten virun de fréien UFW-Accepten, eng Routenerlaubnis an Tester déi d'Grenz beweisen.
Entscheet d'Erlaubnis ier Dir eng Firewall-Datei opmaacht: authentifizéiert Cliente kënnen d'Verbindunge mat engem bestëmmten Subnetz opmaachen, an de Gateway muss all aneren Transitwee ofleenen, och wann e Client zousätzlech Routen installéiert. Dee Saz ass den Design, an all Regel hei drënner existéiert fir en duerchzesetzen. Eppes méi breites, wéi de ganzen private Adressraum, den Internetausgang duerch den Tunnel oder de Peer-to-Peer-Trafic, ass en aneren Design dee seng eege Entscheedung brauch. D'Regelen sinn och bewosst langweileg, well eng clever Firewall déi ass déi een duerno net kann auditoren.
Schreift als éischt d'Topologie an d'Erlaubnis op
D'Beispill benotzt e Community OpenVPN Server mat engem TUN-Gerät am Benotzerraum mam Numm tun0, engem Clientpool 10.77.0.0/24, an engem ugehafte Subnetz 192.168.60.0/24 op lan0. IPv4-Weiderleedung funktionéiert schonn an d'LAN huet schonn eng Retourroute fir an de Pool, also hänkt hei näischt vun der Iwwersetzung tëscht hinnen of.
UFW besëtzt d'Firewall op dësem Host, an weder e Container-Regelsatz nach eng separat nftables-Tabelle däerf e fréieren Acceptespad installéieren. En Ofkierzungspad vun der Floss-Ofbau deen de Filter iwwerspréngt géif d'Wiechterketten dekorativ maachen, also bestätegt datt keng aktiv ass. Loosst dem OpenVPN seng eege client-to-client Weiderleedung ausgeschalt, well Peer-to-Peer-Trafic dee niemools de Filter vum Betribssystem duerchquert net domat begrenzt ka ginn. Den externen Nolauschterer an d'Administratiounsregelen bleiwen wéi se sinn, well dës Ännerung den decryptéierten Tunnel-Trafic regeiert amplaz d'Firewall z'ersetzen.
Setzt d'Wiechter virun dem UFW seng fréi Accepten
Eng Routenerlaubnis an duerno eng Oflehnung ass net genuch fir eng strikt Grenz. D'Standard-before-Regelen akzeptéieren etabléierten Trafic a gewielten ICMP ier iergendeng Benotzerregel consultéiert gëtt, dofir kann e Floss dee lescht Woch erlaabt gouf baussent der neier Destinatiounsbeschränkung bleiwen just well en nach en Zoustand huet. Maacht eng Sécherungskopie vun den UFW-Dateien a hält eng Out-of-Band-Konsole op ier Dir editéiert.
Am Sektioun *filter vun der Datei /etc/ufw/before.rules, deklaréiert zwee Kette niewent den existéierenden Deklaratiounen an virun enger Regelzeil.
:vpn-src-guard - [0:0]
:vpn-reply-guard - [0:0]Direkt no den Deklaratiounen, an virun den Erlaabnesser fir Input a Weiderleedung, spréngt dran a definéiert wat se zouloossen.
-A ufw-before-input -i tun0 -j DROP
-A ufw-before-forward -i tun0 -j vpn-src-guard
-A ufw-before-forward -o tun0 -j vpn-reply-guard
-A vpn-src-guard -o lan0 -d 192.168.60.0/24 -s 10.77.0.0/24 -m conntrack --ctdir ORIGINAL -j RETURN
-A vpn-src-guard -j DROP
-A vpn-reply-guard -i lan0 -d 10.77.0.0/24 -s 192.168.60.0/24 -m conntrack --ctstate RELATED,ESTABLISHED --ctdir REPLY -j RETURN
-A vpn-reply-guard -j DROPBehält de Rescht vun der Sektioun an seng COMMIT -Zeile. Eng zweet Filtertabelle pechen oder onverbonnen Regelen läschen ass de Wee wéi eng Firewall-Ännerung zu engem Ausfall gëtt, an d'Datei ass ee Neistart ewech dovun déi eenzeg Kopie ze sinn déi zielt.
Liest wat all Wiechter zouloosst an ofleent
Déi éischt Kett setzt d'Veraarbechtung nëmmen dann fort wann d'Quell am Pool ass, d'Destinatioun deen eenzege Subnetz ass, d'Ausgangsinterface d'LAN ass an de Pak an der ursprénglecher Richtung vu sengem Floss reest. All aneres wat aus dem Tunnel kënnt gëtt verworf, dorënner eng Quell baussent dem Pool an all Destinatioun iwwer de erlaabten Subnetz eraus.
E Peer-to-Peer-Pak geet an tun0 eran an eraus, dofir fält et am LAN-Interface-Test nach ier eng Destinatiounspréifung erreecht gëtt. Nei Verbindungen vun der LAN a Richtung Cliente falen och am Äntwertrichtungs-Test, wat de ëmgedréiten Zeréckruffpad standardméisseg zoumécht.
Den RETURN -Zil hält déi gewéinlech UFW-Politik am Spill. Dës Kette filtéieren, an d'Routenerlaubnis déi Dir duerno bäisetzt entscheet nach ëmmer ob e Pak dat iwwerlieft huet ugeholl gëtt. Genee déi Trennung erlaabt Iech duerno den erlaabten Subnetz op enger Plaz z'änneren. Wa d'Wiechter d'Pakene direkt akzeptéiert hätten, misst all zukünfteg Regel zweemol bäigesat ginn.
Autoriséiert den Subnetz a schléisst d'Säitendieren
Kuckt als éischt d'Routenerlaubnis un, an hëlt dann de Virschau-Fändel ewech fir se unzewenden: sudo ufw --dry-run route allow in on tun0 out on lan0 from 10.77.0.0/24 to 192.168.60.0/24. Duerno iwwerkuckt d'Reiefolleg vun de Benotzerregelen, well eng fréier Oflehnung nach ëmmer géint eng spéider Erlaubnis gewënnt. Eng Erlaubnis fir de ganze Subnetz ass och déi falsch Form wann nëmmen den HTTPS-Port vun engem Host erreechbar soll sinn.
Mierkt wat d'Input-Verwerfung mécht: Tunnelcliente kënnen keen Déngscht um Gateway selwer erreechen, dorënner en DNS-Nolauschterer dee sengem LAN-Adress gebonnen ass. DNS do ze hosten erfuerdert eng bewosst Ausnam virun der Verwerfung an en iwwerschafften Erlaubnis-Kontrakt. Wa UFW IPv6 verwalt, setzt passend Verwerfungen derbäi fir tun0 an before6.rules och, well eng IPv4-Destinatiounslëscht näischt iwwer IPv6-Paken seet.
Iwwerpréift déi gelueden Politik, net d'Virschau
Kuckt de Nei-Luede virun un, wendt en an engem Ënnerhaltsfenster un, a liest de liewegen Regelsatz.
sudo ufw --dry-run reload
sudo ufw show rawBestätegt datt d'Tunnelwiechter virun den Ëmstellungs- an ICMP-Standarderlaubnesser erschéngen. En einfachen ufw status weist handgeännert before-Regelen net, dofir schléissen d'Betreiber datt eng Regel feelt wärend se tatsächlech gelueden ass. Liest d'Rolëscht vun uewen no ënnen amplaz e Fragment ze sichen. Wann d'Wiechter no enger Zustandserlaubnis erschéngen, mécht d'Grenz net wat d'Datei suggeréiert.
Da test d'Verhalen an net den Text. Maacht eng frësch Verbindung op en erlaabten Host op a kuckt d'Äntwert, schéckt eng harmlos Ufro un eng Destinatioun baussent dem Subnetz a bestätegt datt se stierft, probéiert eng Peer-to-Peer-Verbindung, probéiert en Déngscht deen um Gateway lokal ass, a probéiert eng net ugefrote LAN-zu-Client-Verbindung. Huelt ee Floss baussent dem Beräich mat dee virun der Ännerung existéiert huet, a läscht nëmme dee Floss amplaz d'ganz Tracking-Tabelle vun der Maschinn ze leeren.
Notéiert d'Grenzen niewent de Regelen: dëst begrenzt den Transit an soss näischt. Et hält e Client net dovun of säin eegenen Internetverbindung ze benotzen, et hält en erlaabten LAN-Host net dovun of Trafic weiderzeleeden, an et ersetzt net d'Authentifikatioun bannent den erlaabten Déngschter.