To pakkestrømmer krysser en Shorewall-gateway som terminerer OpenVPN, og bare én av dem er kryptert. Den første er klientens transport til VPN-lytteren på det internettvendte grensesnittet. Den andre er den dekrypterte forespørselen som forlater tunnelgrensesnittet til en kontorserver eller en tjeneste på gatewayen. Kartlegg begge før du redigerer policyen, fordi en regel som tilfredsstiller den første ikke gjør noe for den andre.

Tegn de to strømmene før du redigerer policyen

Skriv strømmene som rader med kilde, destinasjon, protokoll og port. På den ytre stien er kilden klientens offentlige adresse og destinasjonen gatewayens lyttport; Shorewall behandler det som trafikk fra internett til brannmuren. På den indre stien er kilden tunneladresseområdet og destinasjonen den godkjente tjenesten. De to radene har forskjellige eiere selv når én administrator vedlikeholder begge.

FlowZone relationshipWhat to constrain
Encrypted OpenVPN transportInternet to the firewall hostThe listener's actual protocol and port
Decrypted request to a LAN serviceVPN clients to the LAN zoneOne approved server and service
Decrypted request to the gatewayVPN clients to the firewall hostOnly the local services required
Request to another VPN clientVPN clients to VPN clientsDenied unless deliberately required

Legg bare til en rad hvis forespørselen ender på gatewayen selv, for eksempel tilgang til resolver eller administrasjon. En tjeneste på verten følger vertens inngangspolicy, ikke den videresendte stien. Å blande de to er hvordan en smal tunnelregel ender med å eksponere et administrasjonsgrensesnitt.

Tildel tunnelsonen og grensesnittomfanget

Road-warrior-sonen deklareres i /etc/shorewall/zones, tunnelgrensesnittet knyttes i /etc/shorewall/interfaces, og den ytre forbindelsen beskrives i /etc/shorewall/tunnels. Tilpass deg syntaksen til den installerte utgivelsen, fordi kolonnerekkefølge og opsjonsnavn har endret seg mellom hovedversjoner. Veiledningens eksempelport er ikke grunn til å tillate en annen port enn den daemonen faktisk lytter på. TCP og UDP er ikke utskiftbare bare fordi tallene stemmer.

Veiledningen grupperer grensesnitt med tun+. På en vert med mer enn én tunnel kan det jokertegnet plassere en annen VPN med et annet tillitsnivå i samme sone. Gå gjennom omfanget mot grensesnittene som faktisk finnes, og hold navngivningen under livssyklusen til tilkoblingsbehandleren i stedet for å redigere grensesnittnavn for hånd.

Den historiske veiledningen inneholder mye eldre OpenVPN-konfigurasjonseksempler, og kryptorådene bør ikke kopieres til en gjeldende utrulling. Lån i stedet sone- og strømmodellen. Ta det kryptografiske grunnlaget fra gatewayens vedlikeholdte OpenVPN-policy.

Tillat bare stien du klassifiserte

En bred aksept fra VPN-sonen til LAN er et startdiagram, ikke en ferdig policy. Skriv den tillatte klientkilden, den faktiske tjenesteadressen, protokollen og porten. Les deretter reglene over den og sonens standardverdi, fordi et smalt tillegg ikke opphever en bred tillatelse som allerede passer. Trafikk til gatewayverten er et eget forhold til trafikk som videresendes gjennom den.

Trafikk mellom klienter trenger sin egen beslutning. OpenVPNs client-to-client og Shorewalls routeback påvirker begge om klienter kan nå hverandre, og ingen av dem bør aktiveres bare for å få én LAN-applikasjon til å virke. Bestem hvor isolasjonen håndheves før du tester den.

Hold returveien i samme plan. Tjenesten eller ruteren må vite hvordan trafikk returneres til tunnelområdet, eller designet må oversette kilden bevisst og innenfor det tiltenkte omfanget.

Valider, og bevis deretter begge stier

Valider konfigurasjonen før du starter noe på nytt, og hold en uavhengig administrativ sesjon åpen i tilfelle den nye policyen er feil.

shorewall check

Etter en ren sjekk, bruk konfigurasjonen og les tilbake hva Shorewall lastet. Disse lesingene beskriver den kjørende policyen snarere enn hva en fil ser ut til å si.

shorewall show zones
ip route get 192.168.10.20

Test én ny tillatt forespørsel og én bevisst avvist forespørsel fra samme klient. Et vellykket OpenVPN-håndtrykk beviser bare den ytre utvekslingen; den tillatte tjenesten og den avviste ressursen beviser den indre policyen du mente. Koble deretter klienten til på nytt og gjenta, fordi tunnelgrensesnittets navn og adresse kan endre seg mellom sesjoner. Hvis resultatet er annerledes, rett sonenomfanget i stedet for å utvide regelen.

Relaterte artikler