Zóny Shorewall pre dve cesty paketov OpenVPN
Oddeľte šifrovaný transport OpenVPN od dešifrovanej klientskej prevádzky, dajte tunelu vlastnú zónu a povoľte iba tú jednu službu, ktorú klient potrebuje.
Dva toky paketov prechádzajú bránou Shorewall, ktorá ukončuje OpenVPN, a iba jeden z nich je šifrovaný. Prvý je transport klienta k poslucháčovi VPN na rozhraní obrátenom do internetu. Druhý je dešifrovaná požiadavka, ktorá opúšťa tunelové rozhranie, smerom k serveru v kancelárii alebo službe na bráne. Zmapujte oba skôr, než začnete upravovať politiku, pretože pravidlo, ktoré splní prvý, nerobí pre druhý nič.
Nakreslite oba toky skôr, než začnete upravovať politiku
Zapíšte toky ako riadky so zdrojom, cieľom, protokolom a portom. Na vonkajšej ceste je zdrojom verejná adresa klienta a cieľom port poslucháča na bráne; Shorewall to berie ako prevádzku z internetu do firewallu. Na vnútornej ceste je zdrojom rozsah adries tunela a cieľom schválená služba. Oba riadky majú rôznych vlastníkov, aj keď ich spravuje jeden administrátor.
| Flow | Zone relationship | What to constrain |
|---|---|---|
| Encrypted OpenVPN transport | Internet to the firewall host | The listener's actual protocol and port |
| Decrypted request to a LAN service | VPN clients to the LAN zone | One approved server and service |
| Decrypted request to the gateway | VPN clients to the firewall host | Only the local services required |
| Request to another VPN client | VPN clients to VPN clients | Denied unless deliberately required |
Riadok pridajte len vtedy, keď požiadavka končí na samotnej bráne, napríklad prístup k resolveru alebo správe. Služba na hostiteľovi sa riadi politikou vstupu hostiteľa, nie odovzdávanou cestou. Práve miešanie oboch spôsobuje, že úzke tunelové pravidlo nakoniec odhalí administratívne rozhranie.
Priraďte zónu tunela a rozsah rozhrania
Zóna cestovateľa sa deklaruje v /etc/shorewall/zones, tunelové rozhranie sa pripája v /etc/shorewall/interfaces a vonkajšie spojenie sa opisuje v /etc/shorewall/tunnels. Prispôsobte sa syntaxi nainštalovaného vydania, pretože poradie stĺpcov a názvy volieb sa medzi hlavnými verziami zmenili. Príkladový port z návodu nie je dôvodom povoliť iný port, než na ktorom démon skutočne počúva. TCP a UDP nie sú zameniteľné len preto, že čísla sedia.
Návod zoskupuje rozhrania pomocou tun+. Na hostiteľovi s viac ako jedným tunelom môže tento zástupný znak umiestniť druhú VPN s inou úrovňou dôvery do tej istej zóny. Preverte rozsah voči rozhraniam, ktoré skutočne existujú, a držte pomenovanie v životnom cykle správcu pripojení, namiesto ručnej úpravy názvov rozhraní.
Historický návod obsahuje oveľa staršie ukážky konfigurácie OpenVPN a jeho kryptografické rady by sa nemali kopírovať do súčasného nasadenia. Vypožičajte si namiesto toho model zón a tokov. Kryptografický základ vezmite z udržiavanej politiky OpenVPN na bráne.
Povoľte iba cestu, ktorú ste klasifikovali
Široké prijatie zo zóny VPN do LAN je počiatočná schéma, nie hotová politika. Zapíšte povolený zdroj klienta, skutočnú adresu služby, protokol a port. Potom si prečítajte pravidlá nad ním a predvolenú hodnotu zóny, pretože úzky prírastok neruší široké povolenie, ktoré už zodpovedá. Prevádzka k hostiteľovi brány je samostatný vzťah od prevádzky odovzdávanej cez ňu.
Prevádzka medzi klientmi potrebuje vlastné rozhodnutie. client-to-client v OpenVPN aj routeback v Shorewall ovplyvňujú, či sa klienti navzájom dostanú, a ani jedno by sa nemalo zapínať len preto, aby fungovala jedna aplikácia v LAN. Rozhodnite, kde sa izolácia presadzuje, skôr než ju otestujete.
Držte spiatočnú cestu v tom istom pláne. Služba alebo jej router musí vedieť, ako vrátiť prevádzku do rozsahu tunela, alebo musí návrh zámerne preložiť zdroj a to v zamýšľanom rozsahu.
Overte a potom dokážte obe cesty
Overte konfiguráciu skôr, než čokoľvek reštartujete, a nechajte otvorenú nezávislú administratívnu reláciu pre prípad, že je nová politika chybná.
shorewall check
Po čistej kontrole konfiguráciu aplikujte a prečítajte si, čo Shorewall načítal. Tieto čítania opisujú bežiacu politiku, nie to, čo súbor zdanlivo hovorí.
shorewall show zones
ip route get 192.168.10.20
Otestujte jednu novú povolenú požiadavku a jednu zámerne odmietnutú požiadavku z toho istého klienta. Úspešný handshake OpenVPN dokazuje len vonkajšiu výmenu; povolená služba a odmietnutý prostriedok dokazujú vnútornú politiku, ktorú ste zamýšľali. Potom klienta znova pripojte a zopakujte, pretože názov a adresa tunelového rozhrania sa môžu medzi reláciami zmeniť. Ak sa výsledok líši, opravte rozsah zóny, namiesto rozšírenia pravidla.