Shorewall-sones vir die twee OpenVPN-pakketroetes
Skei die versleutelde OpenVPN-vervoer van ontsleutelde kliëntverkeer, gee die tonnel sy eie sone en laat net die een diens deur wat die kliënt nodig het.
Twee pakketvloeie kruis ’n Shorewall-gweier wat OpenVPN termineer, en net een van hulle is versleutel. Die eerste is die kliënt se vervoer na die VPN-luisteraar op die internetgerigte koppelvlak. Die tweede is die ontsleutelde versoek wat die tonnelkoppelvlak verlaat na ’n kantoorserver of ’n diens op die gweier. Karteer albei voordat jy die beleid wysig, want ’n reël wat aan die eerste voldoen, doen niks vir die tweede nie.
Teken die twee vloeie voordat jy die beleid wysig
Skryf die vloeie as rye met bron, bestemming, protokol en poort. Op die buitenste roete is die bron die kliënt se openbare adres en die bestemming die gweier se luisterpoort; Shorewall behandel dit as internet-na-gweier-verkeer. Op die binneste roete is die bron die tonneladresreeks en die bestemming die goedgekeurde diens. Die twee rye het verskillende eienaars, selfs wanneer een administrateur albei onderhou.
| 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 |
Voeg net ’n ry by as die versoek by die gweier self eindig, soos naslaan- of bestuurstoegang. ’n Diens op die gasheer volg gasheer-invoerbeleid, nie die aanstuurroete nie. Om die twee te vermeng, is hoe ’n noue tonnelreël uiteindelik ’n administrasiekoppelvlak blootlê.
Wys die tonnelsone en koppelvlakomvang toe
Die padvegter-sone word in /etc/shorewall/zones verklaar, die tonnelkoppelvlak word in /etc/shorewall/interfaces geheg, en die buitenste verbinding word in /etc/shorewall/tunnels beskryf. Pas by die geïnstalleerde weergawe se sintaksis aan, want kolomorde en opsiename het oor hoofweergawes verander. Die gids se voorbeeldpoort is nie ’n rede om ’n ander poort toe te laat as die een waarop die daemon werklik luister nie. TCP en UDP is nie uitruilbaar net omdat die nommers ooreenstem nie.
Die gids groepeer koppelvlakke met tun+. Op ’n gasheer met meer as een tonnel kan daardie jokerteken ’n tweede VPN van ’n ander vertrouensvlak in dieselfde sone plaas. Hersien die omvang teen die koppelvlakke wat werklik bestaan, en hou die naamgewing onder die verbindingsbestuurder se lewensiklus eerder as om koppelvlakname met die hand te wysig.
Die historiese gids bevat baie ouer OpenVPN-konfigurasievoorbeelde, en sy kripto-advies moet nie in ’n huidige ontplooiing gekopieer word nie. Leen eerder die sone- en vloeimodel. Neem die kriptografiese grondslag uit die gweier se onderhoude OpenVPN-beleid.
Laat net die roete deur wat jy geklassifiseer het
’n Breë aanvaarding van VPN-sone na LAN is ’n beginprent, nie ’n afgeronde beleid nie. Skryf die toegelate kliëntbron, die werklike diensadres, die protokol en die poort. Lees dan die reëls bokant dit en die sone-verstek, want ’n noue toevoeging kanselleer nie ’n breë toestemming wat reeds pas nie. Verkeer na die gweier-gasheer is ’n aparte verhouding van verkeer wat daardeur aangestuur word.
Kliënt-tot-kliënt-verkeer het sy eie besluit nodig. OpenVPN se client-to-client en Shorewall se routeback beïnvloed albei of kliënte mekaar kan bereik, en nie een moet geaktiveer word net om een LAN-toepassing te laat werk nie. Besluit waar isolasie toegepas word voordat jy dit toets.
Hou die antwoordroete in dieselfde plan. Die diens of sy router moet weet hoe om verkeer na die tonnelreeks terug te stuur, of die ontwerp moet die bron doelbewus en binne die beoogde omvang vertaal.
Valideer, en bewys dan albei roetes
Valideer die konfigurasie voordat jy enigiets herbegin, en hou ’n onafhanklike administratiewe sessie oop ingeval die nuwe beleid verkeerd is.
shorewall check
Na ’n skoon kontrole, pas die konfigurasie toe en lees terug wat Shorewall gelaai het. Hierdie lesings beskryf die lopende beleid eerder as wat ’n lêer blyk te sê.
shorewall show zones
ip route get 192.168.10.20
Toets een nuwe toegelate versoek en een doelbewus geweierde versoek vanaf dieselfde kliënt. ’n Suksesvolle OpenVPN-handdruk bewys net die buitenste uitruiling; die toegelate diens en die geweierde hulpbron bewys die binneste beleid wat jy bedoel het. Herverbind dan die kliënt en herhaal, want die tonnelkoppelvlak se naam en adres kan tussen sessies verander. As die resultaat verskil, maak die sone-omvang reg eerder as om die reël te verbreed.