Beperk 'n VPN-luisteraar tot die koppelvlakke wat jy bedoel
'n Wildcard-luisteraar en 'n firewall-reël is verskillende beheermaatreëls. Lees die werklike sockets met ss en kyk dan na die adresfamilie en die firewall.
'n VPN-diens is bereikbaar van oral waar sy socket gebind is en sy firewall dit toelaat. Dit is twee afsonderlike besluite, en mense neem gewoonlik net een van hulle. Om die werklike luisteraar te lees neem tien sekondes en besleg 'n vraag wat raaiery nie kan nie. Begin daar, en verander dan een beheer op 'n slag.
Alles hieronder veronderstel dat jy opdragte op die gasheer met root of sudo kan uitvoer.
Lees die sockets voordat jy enigiets verander
Op Linux lys ss -lunp UDP-luisteraars met hul plaaslike adres, poort en proses, en ss -ltnp doen dieselfde vir TCP. Soek die VPN se poort en lees die adreskolom noukeurig. 0.0.0.0:51820 en [::]:51820 beteken elke koppelvlak, terwyl 10.0.0.5:51820 een adres op een koppelvlak beteken. Die ss-handleiding dokumenteer die kolomme as die uitvoer onbekend is. As die prosesnaam ontbreek, voer dieselfde opdrag met sudo uit, want die eienaar-kolom vereis privileges.
Skryf die adres neer. Dit is die feit waarvan die res van hierdie runbook afhang.
Bind aan 'n adres, nie aan 'n wens nie
Die OpenVPN se local-richtlijn bind die luisteraar aan 'n spesifieke adres, en dit is die ondersteunde manier om dit op prosesvlak te beperk. Nie elke implementering bied 'n ekwivalent nie, en 'n protokol sonder 'n bind-opsie kan nie so vernou word nie. As joune geen het nie, is die firewall jou enigste beheer, en die ontplooiingsnotas moet dit duidelik sê. Op 'n gasheer met verskeie adresse, bind aan die een wat na die tonnel wys; om aan 'n adres te bind wat ronddryf is gewoonlik 'n fout.
'n Diens wat 'n adresverandering moet oorleef, het 'n plan vir die verouderde binding nodig, nie net 'n konfigurasie-reël nie.
Kontroleer die adresfamilie afsonderlik
IPv4 en IPv6 is afsonderlike sockets. 'n Proses wat aan 0.0.0.0 gebind is, kan steeds IPv6 deur 'n dubbelstapel-socket aanvaar, of nie, afhangende van die socket-opsie en die platformverstek. Om net die IPv4-reël te lees het al meer as een ontplooiingsoorsig mislei. Lys beide families voordat jy tot die gevolgtrekking kom dat die luisteraar smal is.
As IPv6 nie deel van die ontwerp is nie, is dit skoner om dit op socketvlak te deaktiveer as om te hoop die firewall dek dit. Dit is 'n beleidsbesluit, so teken dit saam met die res van die koppelvlakkeuses aan.
Laag die firewall bo-op die binding
'n Smal binding vervang nie 'n firewall-reël nie, en 'n firewall-reël vernou nie 'n wildcard-binding nie. Gebruik albei: bind waar die implementering dit ondersteun, en laat dan die poort net van die bronne toe wat dit behoort te bereik. Wolk-sekuriteitsgroepe sit voor die gasheer-firewall, so kontroleer albei wanneer die pad 'n VPC-grens oorsteek. Die effektiewe reël is die snyding van die twee, en elke laag kan net bereikbaarheid aftrek.
Toets vanaf 'n toegelate bron en vanaf een wat doelbewus uitgesluit is. 'n Verbinding vanaf localhost bewys niks oor die openbare grens nie.
Teken aan wat jy gekies het
Skryf die gebinde adres neer, die koppelvlak wat dit besit, die firewall-reël en sy doel. 'n Vervanging-NIC of 'n hertoegewysde wolkadres kan blootstelling verander sonder dat iemand die profiel wysig. Dateer die nota, want wolkadresse beweeg tussen hersienings meer dikwels as wat mense verwag.
Dit is die nota wat die volgende hersiening 'n vergelyking maak in plaas van 'n argeologieprojek.