SSH-bastion of direkte VPN-toegang: watter beleid geld?
Voer vier kontroles in volgorde uit: wat die bastion beheer, of die teiken die paaie kan onderskei, wat die logboeke bevat, en waar beleid afgedwing word.
Of VPN-gebruikers bedieners kan bereik sonder om 'n spronggasheer te kruis, is 'n beleidsvraag in 'n netwerkpak. As die bastion 'n vereiste beheer uitvoer, moet aansluiting by die VPN daartoe lei eerder as daaromheen. As die spronggasheer bloot 'n segment oorbrug het wat voorheen onbereikbaar was, kan 'n smal direkte pad die eerlike vervanging wees. Werk die kontroles hieronder in volgorde deur en stop by die eerste een wat misluk, want daardie antwoord bepaal die res.
Kontroleer wat die bastion werklik beheer
Begin met bewyse oor die hede, nie 'n diagram uit die ontwerpdocument nie. Kyk na die teiken se SSH-konfigurasie en pakketfilter: as inkomende poort 22 slegs vanaf die bastion se adres aanvaar word, is die spronggasheer 'n afgedwonge beheer. As dieselfde poort verbindings van die hele VPN-poel aanvaar, was die bastion 'n gerief en leef die afdwinging heeltemal elders. Kaartjiesgeskiedenis bevestig gewoonlik watter van die twee eerste bestaan het.
Stel die bevinding in een sin wat die beheer noem wat die bastion bied: bestemmingsbeperking, 'n tweede verifikasiestap, sessie-opname of operasionele sigbaarheid tydens 'n voorval. Daardie sin is wat die vervangingsbeleid moet behou.
Kontroleer of die teiken die paaie kan onderskei
Bronadresreëls werk net terwyl die twee paaie met verskillende bronadresse aankom. 'n VPN-gwe wat verkeer na die bediener-subnet masquerade, wis daardie verskil uit, en dan lyk elke verbinding na poort 22 asof dit van die gwe kom. Die kontrole is plaaslik op die teiken en neem 'n oomblik: lys die gevestigde SSH-sessies en lees die eweknie-adres vir elkeen.
Wanneer beide paaie in een adres ineensmelt, moet die onderskeid vroeër gemaak word, deur watter bestemmings die VPN mag stoot en deur die gwe se eie filters. Om in daardie situasie 'n reël op die teiken by te voeg, skep die illusie van 'n grens sonder om te verander wat aankom.
Kontroleer wat elke rekord werklik bevat
Drie verskillende logboeke beskryf drie verskillende gebeure, en nie een van hulle vervang 'n ander nie. Die VPN se verbindingsrekord wys dat 'n identiteit die netwerkomvang binnegekom het. Die bastion se aanstuurrekord wys dat 'n TCP-kanaal dit verlaat na 'n bestemming en poort. Die teiken se verifikasielog wys dat 'n rekening oor SSH aangemeld het. Om hulle saam te lees, lewer 'n tydlyn; om een alleen te lees, lewer 'n raaiskoot.
Nie een van daardie rekords bevat wat binne die versleutelde sessie tussen kliënt en teiken gebeur het nie. As kontrole op opdragvlak 'n vereiste is, benodig dit 'n doelbewus ontplooide opnamemeganisme met sy eie reëls vir datahantering. Om dit van spronggasheer-logboeke te verwag, is hoe 'n ouditgat verborge bly totdat dit saak maak.
Kontroleer waar die beleid werklik afgedwing word
'n Kliëntinstelling soos ProxyJump is 'n versoek, nie 'n beperking nie. OpenSSH sal met graagte 'n direkte verbinding open wanneer die bestemming bereikbaar is, so konfigurasielêers op skootrekenaars beskryf bedoeling terwyl firewalls uitkomste bepaal. Afdwinging hoort by die VPN-gwe se toegelate bestemmings en by die teiken se eie toegangsreëls, wat albei 'n gebruiker nie kan wysig nie. Oudit terselfdertyd die alternatiewe paaie: 'n tweede koppelvlak, 'n openbare luisteraar, 'n mesh-oorleg of 'n ouer werf-tot-werf-tonnel kan elkeen die kortpad wat jy pas gesluit het, herstel.
Stel ProxyJump tog op, want dit maak die goedgekeurde roete die maklike een en keer dat roetinewerk uitsonderings genereer. Bevestig wat die kliënt werklik oplos voordat jy dit vertrou.
ssh -G app01.lab.internal | grep -iE '^(hostname|port|proxyjump|proxycommand)'
Verifieer met 'n doelbewuste direkte poging
Beleid wat nog nooit getoets is nie, is 'n hoop. Probeer vanaf 'n kliënt wat aan die VPN gekoppel is die pad wat nou geweier behoort te word, probeer dan die goedgekeurde een, en hou albei resultate. Die geweierde poging is die bewys dat die verandering in werking getree het.
nc -vz -w 3 10.20.30.41 22
ssh -J bastion.lab.internal app01.lab.internal true
'n Skoon resultaat lyk soos 'n geweierde of uitgetelde direkte verbinding na die teikenadres, gevolg deur 'n suksesvolle spronggasheer-aanmelding en 'n verifikasierekord aan die teikenkant wat die ondersteunde bron noem. Enigiets anders beteken die grens is steeds poreus, wat die dokumentasie ook al sê. Teken die datum, die reël wat verander is en die twee uitkomste aan, en gee die herstelpad 'n eienaar en 'n vervaldatum sodat noodtoegang nie stilweg die alledaagse roete word nie.