Begrens en VPN-lytter til grensesnittene du hadde ment
En jokertegn-lytter og en brannmurregel er ulike kontroller. Les de virkelige socketene med ss, og sjekk deretter adressefamilien og brannmuren.
En VPN-tjeneste er nåbar fra der socketen er bundet og brannmuren tillater det. Dette er to atskilte beslutninger, og vanligvis tar folk bare én av dem. Å lese den virkelige lytteren tar ti sekunder og avgjør et spørsmål som gjetting ikke klarer. Begynn der, og endre så én kontroll av gangen.
Alt nedenfor forutsetter at du kan kjøre kommandoer på verten som root eller med sudo.
Les socketene før du endrer noe
På Linux lister ss -lunp opp UDP-lyttere med lokal adresse, port og prosess, og ss -ltnp gjør det samme for TCP. Se etter VPN-ens port og les adressekolonnen nøye. 0.0.0.0:51820 og [::]:51820 betyr alle grensesnitt, mens 10.0.0.5:51820 betyr én adresse på ett grensesnitt. ss-håndboken beskriver kolonnene hvis utskriften er ukjent. Mangler prosessnavnet, kjør samme kommando med sudo, siden eierkolonnen krever privilegier.
Skriv ned adressen. Det er dette faktumet resten av veiledningen hviler på.
Bind til en adresse, ikke til et ønske
OpenVPN knytter lytteren til en bestemt adresse gjennom local-direktivet, og det er den støttede måten å begrense den på prosessnivå. Ikke alle implementasjoner har en tilsvarende, og en protokoll uten bindemulighet kan ikke snevres inn slik. Har din ingen, er brannmuren din eneste kontroll, og utrullingsnotatene bør si det rett ut. På en vert med flere adresser, bind til den som vender mot tunnelen; å binde til en flytende adresse er vanligvis en feil.
En tjeneste som må tåle en adresseendring trenger en plan for den foreldede bindingen, ikke bare en linje i konfigurasjonen.
Sjekk adressefamilien hver for seg
IPv4 og IPv6 er atskilte sockets. En prosess bundet til 0.0.0.0 kan fortsatt ta imot IPv6 via en dual-stack-socket, eller ikke, avhengig av socket-innstillingen og plattformens standardverdi. Å lese bare IPv4-linjen har lurt mer enn én utrullingsgjennomgang. List opp begge familiene før du konkluderer med at lytteren er smal.
Hvis IPv6 ikke inngår i designet, er det renere å slå det av på socket-nivå enn å håpe at brannmuren dekker det. Det er en prinsippbeslutning, så før den inn sammen med de andre grensesnittvalgene.
Legg brannmuren oppå bindingen
En smal binding erstatter ikke en brannmurregel, og en brannmurregel gjør ikke en jokertegn-binding smalere. Bruk begge: bind der implementasjonen støtter det, og tillat så porten bare fra kildene som skal nå den. Skysikkerhetsgrupper ligger foran vertens brannmur, så sjekk begge når veien krysser en VPC-grense. Den effektive regelen er snittet av de to, og hvert lag kan bare fjerne tilgjengelighet.
Test fra en tillatt kilde og fra en som er bevisst utelukket. En tilkobling fra localhost beviser ingenting om den offentlige grensen.
Før opp det du valgte
Skriv ned den bundne adressen, grensesnittet som eier den, brannmurregelen og formålet med den. Et bytte-NIC eller en tildelt skyadresse på nytt kan endre eksponeringen uten at noen redigerer profilen. Sett dato på notatet, fordi skyadresser flytter på seg mellom gjennomganger oftere enn folk regner med.
Det er notatet som gjør neste gjennomgang til en sammenligning i stedet for et arkeologisk prosjekt.