SSH-bastion eller direkte VPN-adgang: hvilken politik gælder?
Udfør fire kontroller i rækkefølge: hvad bastionen styrer, om målet kan skelne vejene, hvad logfilerne indeholder, og hvor politikken håndhæves.
Om VPN-brugere kan nå servere uden at krydse en springvært, er et politisk spørgsmål i netværkstøj. Hvis bastionen udfører en krævet kontrol, skal tilslutning til VPN føre til den og ikke uden om. Hvis springværten blot forbandt et segment, der før var utilgængeligt, kan en smal direkte vej være den ærlige erstatning. Arbejd gennem kontrollerne nedenfor i rækkefølge, og stop ved den første, der fejler, fordi det svar afgør resten.
Kontroller, hvad bastionen faktisk styrer
Start med beviser om nutiden, ikke et diagram fra designdokumentet. Se på målets SSH-konfiguration og pakkefilter: hvis indgående port 22 kun accepteres fra bastionens adresse, er springværten en håndhævet kontrol. Hvis samme port accepterer forbindelser fra hele VPN-puljen, var bastionen en bekvemmelighed, og håndhævelsen bor helt andre steder. Sagshistorikken bekræfter normalt, hvilken af de to der fandtes først.
Formulér fundet i én sætning, der navngiver den kontrol, bastionen leverer: destinationsbegrænsning, et andet godkendelsestrin, sessionsoptagelse eller operationel synlighed under en hændelse. Det er den sætning, erstatningspolitikken skal bevare.
Kontroller, om målet kan skelne vejene
Regler for kildeadresse virker kun, så længe de to veje ankommer med forskellige kildeadresser. En VPN-gateway, der maskerer trafik til serverundernettet, udvisker den forskel, og så ser enhver forbindelse til port 22 ud, som om den kommer fra gatewayen. Kontrollen er lokal på målet og tager et øjeblik: list de etablerede SSH-sessioner, og læs peer-adressen for hver.
Når begge veje falder sammen til én adresse, skal forskellen laves tidligere, ved hvilke destinationer VPN'et må skubbe, og ved gatewayens egne filtre. At tilføje en regel på målet i den situation skaber en illusion af grænse uden at ændre, hvad der ankommer.
Kontroller, hvad hver post faktisk indeholder
Tre forskellige logfiler beskriver tre forskellige hændelser, og ingen af dem erstatter en anden. VPN'ets forbindelsespost viser, at en identitet gik ind i netværksomfanget. Bastionens videresendelsespost viser en TCP-kanal, der forlader den mod en destination og port. Målets godkendelseslog viser, at en konto loggede ind over SSH. Det er læsningen sammen, der giver en tidslinje; at læse én alene giver et gæt.
Ingen af disse poster indeholder, hvad der skete inde i den krypterede session mellem klient og mål. Hvis gennemgang på kommandoniveau er et krav, kræver det en bevidst udrullet optagemekanisme med sine egne regler for datahåndtering. At forvente det fra springværtens logfiler er måden, hvorpå et revisionshul forbliver skjult, indtil det betyder noget.
Kontroller, hvor politikken faktisk håndhæves
En klientindstilling som ProxyJump er en anmodning, ikke en begrænsning. OpenSSH åbner gerne en direkte forbindelse, når destinationen er tilgængelig, så konfigurationsfiler på bærbare beskriver hensigt, mens firewalls afgør udfaldet. Håndhævelse hører til VPN-gatewayens tilladte destinationer og til målets egne adgangsregler, og ingen af dem kan brugeren redigere. Revidér samtidig de alternative veje: et andet interface, en offentlig listener, et mesh-overlay eller en ældre site-to-site-tunnel kan hver især genskabe den genvej, du netop lukkede.
Konfigurér alligevel ProxyJump, fordi det gør den godkendte rute til den nemme og forhindrer, at rutinearbejde skaber undtagelser. Bekræft, hvad klienten faktisk opløser, før du stoler på den.
ssh -G app01.lab.internal | grep -iE '^(hostname|port|proxyjump|proxycommand)'
Bekræft med et bevidst direkte forsøg
Politik, der aldrig er testet, er et håb. Fra en klient tilsluttet VPN'et, forsøg den vej, der nu bør afvises, forsøg derefter den godkendte, og gem begge resultater. Det afviste forsøg er beviset for, at ændringen trådte i kraft.
nc -vz -w 3 10.20.30.41 22
ssh -J bastion.lab.internal app01.lab.internal true
Et rent resultat ser ud som en afvist eller tidsudløbet direkte forbindelse til måladressen, efterfulgt af et vellykket login på springværten og en godkendelsespost på målsiden, der navngiver den understøttede kilde. Alt andet betyder, at grænsen stadig er porøs, uanset hvad dokumentationen siger. Notér datoen, den ændrede regel og de to udfald, og giv genopretningsvejen en ejer og en udløbsdato så nødadgang ikke stille bliver den daglige rute.