Na ktorých portoch OpenVPN Access Server skutočne počúva?
Prejdite zoznam socketov na hostiteľovi s Access Serverom: rozpoznajte predvolených poslucháčov, odlíšte loopback od publikovaných portov a pred zatvorením portu skontrolujte presmerovanie.
Spúšťate ss -lntup na hostiteľovi s Access Serverom a dostanete zoznam dvakrát dlhší, než sa očakávalo. Polovica záznamov sú porty v tvare démona, o ktorých pri inštalácii nikto nehovoril. Reflex je zavrieť všetko, čo nie je 443 alebo 1194, a práve tak si ľudia rozbijú vlastný klientsky portál.
Access Server nie je jeden poslucháč. Je to VPN služba, webová služba a účastník clusteru a podľa toho, koľko TCP démonov ste nakonfigurovali, môže vytvárať ďalšie porty špecifické pre démonov a presmerovania firewallu.
Prejdite inventár po poradí: prečítajte sockety, zmapujte známe, roztrieďte ostatné podľa vlastníka a bindovania a potom skontrolujte, čo ich skutočne publikuje.
Začnite jediným príkazom len na čítanie
sudo ss -lntup vám dá transport, miestnu adresu, port a vlastniaci proces pre každý počúvajúci socket. Prepínače sú dôležité: -l počúvanie, -n číselne, -t TCP, -u UDP, -p proces. Bez rootu dostanete sockety, ale nie názvy procesov, a to je presne ten stĺpec, ktorý na klasifikáciu potrebujete.
Pred vytvorením akéhokoľvek názoru si pri každom riadku poznamenajte štyri polia: protokol, bindovaciu adresu, port a príkaz. Verziu Access Serveru a nakonfigurovaný počet démonov držte vedľa tohto zoznamu, pretože oboje mení to, čo je očakávané.
Dva riadky, ktoré vyzerajú rovnako, rovnaké nie sú. TCP a UDP na rovnakom čísle sú samostatné sockety so samostatnou expozíciou a 0.0.0.0 a :: sú samostatné bindovania pre samostatné rodiny adries. Služba viazaná len na 127.0.0.1 nie je priamo dostupná z iného hostiteľa, hoci miestne presmerovanie ju stále môže publikovať.
Poslucháči, ktorých by ste mali poznať
Tieto predvolené hodnoty pokrývajú väčšinu nasadení a dávajú vám základ na porovnanie. Sú to predvolené hodnoty, nie úplný zoznam povolených.
| Socket | Role to confirm |
|---|---|
| UDP 1194 | OpenVPN UDP tunnel listener |
| TCP 443 | OpenVPN TCP listener, optionally forwarded to the web service |
| TCP 943 | Admin and client web interfaces, and cluster control in Access Server 3.0 and later |
| TCP 945 | Cluster control in older configurations that predate the move to 943 |
Všetko nad to potrebuje vysvetlenie, nie predpoklad. Často uvidíte poslucháčov len pre miestny prístup, ktorí patria komponentom, ktoré produkt inštaluje pre seba. Potvrďte ich pomocou PID a konfigurácie služby, nie podľa zapamätaného čísla portu, a nepovažujte neznámy port za nepriateľský len preto, že je neznámy.
Socket mimo známej dvojice tiež nie je automaticky zvyšok. Keď je nakonfigurovaných viac TCP démonov, Access Server vytvára poslucháčov pre každého démona a presmerúva na nich prevádzku, takže ich počet a hodnoty portov zodpovedajú tejto konfigurácii.
Klasifikujte, kým niečo zavriete
Pri každom neistom riadku odpovedzte na tri otázky v tomto poradí.
- Vlastník a účel. Spárujte PID s unitom alebo procesom a prečítajte konfiguráciu tejto služby. Ak vlastníka nedokážete pomenovať, nie ste pripravení o sockete čokoľvek rozhodnúť.
- Rozsah bindovania. Loopback je miestny pre menný priestor. Wildcard bind je dostupný len vtedy, ak to dovolí smerovanie, filtrovanie hostiteľa a prípadné pravidlá na úrovni cloudu, takže bindovacia adresa je nutná, ale nie postačujúca. Overte IPv4 a IPv6 ako samostatné rozhodnutia.
- Publikovaná cesta. Hľadajte presmerovanie služby, presmerovania špecifické pre démonov, externé proxy a efektívnu politiku firewallu. To je krok, ktorý ľudia vynechávajú, a práve on mení neškodne vyzerajúci backendový port na dostupnú administratívnu cestu.
Rovnaká otázka sa zvonku hostiteľa číta inak. Port bez pravidla firewallu hostiteľa môže stále zavrieť cloudová bezpečnostná skupina a port s povoľným pravidlom hostiteľa môže byť nedostupný, pretože k nemu nič nesmeruje. Pozrite sa na oba konce, kým napíšete záver inventára.
Kde sa publikovaná cesta líši od zoznamu socketov
Vlastná dokumentácia Access Serveru pokrýva prípad, ktorý spôsobuje najväčší zmätok: keď beží niekoľko TCP démonov, čelný port presmerúva na porty špecifické pre démonov a viditeľné usporiadanie prestane zodpovedať zoznamu socketov. tutoriál k filtrovaniu webového rozhrania opisuje tieto pravidlá a prečo filter napísaný len pre zrejmý port môže presmerovanú cestu úplne minúť.
Riadenie clusteru je druhé miesto, kde záleží na verzii. Od 3.0 zdieľa 943; staršie konfigurácie clusteru používali 945. Otvorenie alebo zablokovanie jedného z nich bez kontroly verzie vytvorí inventár, ktorý vyzerá upratane a je nesprávny.
Externe viditeľný povrch je teda zjednotenie troch vecí: počúvajúcich socketov, pravidiel presmerovania, ktoré ich znovu publikujú, a sieťových kontrol pred hostiteľom. Každý inventár, ktorý zaznamenáva len prvé, je neúplný, a každá zmena, ktorá berie do úvahy len prvé, buď nechá cestu otvorenú, alebo odreže službu.
Po každej zmene overte
Nastavenia poslucháčov meňte cez podporovaného vlastníka konfigurácie a počas toho majte otvorenú konzolu na obnovu. Strata administratívneho prístupu k webovému rozhraniu na vzdialenom hostiteľovi sa nedá obnoviť cez VPN, ktorú ste práve vypli.
Potom overte štyri veci, ktoré nasadenie zvyčajne potrebuje: VPN klient sa pripojí, klientsky portál sa načíta, administratívny prístup funguje a komunikácia clusteru stále funguje, ak prevádzkujete viac ako jeden uzol. Test len VPN pohodlne prejde, zatiaľ čo portál je pokazený.
Na záver zapíšte povolenú cestu pre každú službu: ktorý socket, ktoré bindovanie, ktoré pravidlo presmerovania, ktorá sieťová kontrola. Tento dokument je užitočný bezpečnostný výstup. Minimálny počet socketov ním nie je, rovnako ako hromadný reset, ktorý zatvára poslucháčov, ktorých nikto nestihol identifikovať.