To pakkestrømme krydser en Shorewall-gateway, der terminerer OpenVPN, og kun den ene af dem er krypteret. Den første er klientens transport til VPN-lytteren på det internetvendte interface. Den anden er den dekrypterede anmodning, der forlader tunnel-interfacet til en kontorserver eller en tjeneste på gatewayen. Kortlæg dem begge, før du redigerer politikken, fordi en regel, der opfylder den første, intet gør for den anden.

Tegn de to strømme, før du redigerer politikken

Skriv strømmene som rækker med kilde, destination, protokol og port. På den ydre vej er kilden klientens offentlige adresse, og destinationen er gatewayens lytteport; Shorewall behandler det som trafik fra internettet til firewallen. På den indre vej er kilden tunneladresseområdet, og destinationen er den godkendte tjeneste. De to rækker har forskellige ejere, selv når én administrator vedligeholder 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

Tilføj kun en række, hvis anmodningen ender på gatewayen selv, såsom adgang til resolver eller administration. En tjeneste på værten følger værtens inputpolitik, ikke den videresendte vej. At blande de to er, hvordan en snæver tunnelregel ender med at eksponere en administrationsgrænseflade.

Tildel tunnelzonen og interfaceomfanget

Road-warrior-zonen erklæres i /etc/shorewall/zones, tunnel-interfacet knyttes i /etc/shorewall/interfaces, og den ydre forbindelse beskrives i /etc/shorewall/tunnels. Tilpas dig den installerede udgivelses syntaks, fordi kolonneorden og valgnavne har ændret sig mellem hovedversioner. Vejledningens eksempelport er ikke grund til at tillade en anden port end den, daemonen faktisk lytter på. TCP og UDP kan ikke udskiftes, blot fordi tallene passer.

Vejledningen grupperer interfaces med tun+. På en vært med mere end én tunnel kan det jokertegn placere et andet VPN med et andet tillidsniveau i den samme zone. Gennemgå omfanget mod de interfaces, der faktisk findes, og hold navngivningen under forbindelsesadministratorens livscyklus i stedet for at redigere interfacenavne i hånden.

Den historiske vejledning indeholder meget ældre OpenVPN-konfigurationseksempler, og dens kryptoråd bør ikke kopieres til en aktuel udrulning. Lån i stedet zone- og strømmodellen. Tag det kryptografiske grundlag fra gatewayens vedligeholdte OpenVPN-politik.

Tillad kun den vej, du har klassificeret

En bred accept fra VPN-zone til LAN er et startdiagram, ikke en færdig politik. Skriv den tilladte klientkilde, den faktiske tjenesteadresse, protokollen og porten. Læs derefter reglerne oven over og zonens standard, fordi en snæver tilføjelse ikke ophæver en bred tilladelse, der allerede matcher. Trafik til gatewayværten er et separat forhold fra trafik, der videresendes gennem den.

Klient-til-klient-trafik kræver sin egen beslutning. OpenVPNs client-to-client og Shorewalls routeback påvirker begge, om klienter kan nå hinanden, og ingen af dem bør aktiveres blot for at få én LAN-applikation til at virke. Beslut, hvor isoleringen håndhæves, før du tester den.

Hold svarvejen i samme plan. Tjenesten eller dens router skal vide, hvordan trafik returneres til tunnelområdet, eller designet skal oversætte kilden bevidst og inden for det tilsigtede omfang.

Validér, og bevis derefter begge veje

Validér konfigurationen, før du genstarter noget, og hold en uafhængig administrativ session åben i tilfælde af, at den nye politik er forkert.

shorewall check

Efter et rent tjek skal du anvende konfigurationen og læse tilbage, hvad Shorewall har indlæst. Disse læsninger beskriver den kørende politik snarere end det, en fil ser ud til at sige.

shorewall show zones
ip route get 192.168.10.20

Test én ny tilladt anmodning og én bevidst afvist anmodning fra den samme klient. Et vellykket OpenVPN-håndtryk beviser kun den ydre udveksling; den tilladte tjeneste og den afviste ressource beviser den indre politik, du havde til hensigt. Genopret derefter klienten, og gentag, fordi tunnel-interfacets navn og adresse kan ændre sig mellem sessioner. Hvis resultatet er anderledes, skal du rette zoneomfanget i stedet for at udvide reglen.

Relaterede artikler