Ein liten Linux-server køyrer ein utgåande VPN for programmet han hostar, og administratoren vil framleis nå han over SSH frå skrivebordet ved sida av. Det er eit rimeleg krav, og det treng vanlegvis korkje portvideresending, ei leverandøradresse eller eit hol i tunnelen. Det som trengst, er ein administrasjonsveg som er designa med vilje i staden for arva frå det VPN-klienten gjorde med rutetabellen.

Trinna nedanfor føreset at administratoren er på same LAN.Fjernadministrasjon er eit anna problem med eit anna svar.

Bind SSH til adressa administratørane brukar

Start ved lyttaren.ss -ltnp | grep :22 viser kva sshd er bunden til, og ein lyttar på 0.0.0.0 tek imot samband frå kvart grensesnitt, òg tunnelen. Å binda til LAN-adressa er smalare og gjer føremålet synleg:ListenAddress 192.168.10.20 i sshd_config, etterfølgt av ein konfigurasjonstest og ei nyinnlasting. Ein skrivefeil i den adressa er meir synleg enn eit jokerteikn, fordi sshd nektar å starta når adressa ikkje finst.

Hald på vertsnøkkelkontrollen og autentisering per brukar nøyaktig slik dei er. «Det er berre det lokale nettet» er ikkje ein autentiseringsmetode, og ein administrasjonskanal som hoppar over nøkkelverifiseringa fordi ruta er kort, er ein administrasjonskanal som ventar på misbruk. Ein DHCP-reservasjon eller ei statisk adresse gjer målet føreseieleg utan å gjera det til den offentlege identiteten til serveren.

Hald LAN-ruta utanfor tunnelen

Ein vert med adresse på 192.168.10.0/24 har ei tilkopla rute for det prefikset, og ei meir spesifikk rute slår standardruta til VPN-en i same tabell. Difor held lokal SSH ofte fram med å verka av seg sjølv når tunnelen kjem opp. Stadfest det i staden for å tru:ip route get 192.168.10.50 namngjev grensesnittet og kjeldeadressa som kjernen ville bruka, og svaret bør vera LAN-eininga, ikkje tunnelen. Gjenta kontrollen frå maskina til administratoren òg, fordi hennar eiga tabell avgjer om pakkane i det heile kjem fram. To vertar på same kabel kan vera usamde om kva retning som er nåbar.

Føresetnaden bryt saman på to stader. Ein policy-ruting-regel kan senda trafikk til ein tabell der standarden peikar inn i tunnelen før hovudtabellen vert konsultert. Ein VPN-klient med låse- eller kill-switch-funksjon kan òg blokkera trafikk som ikkje går inn i tunnelen, uansett kva rutetabellen seier.

Ruta administrasjons-VLAN er det andre tilfellet. Viss administratoren sit på 192.168.50.0/24 bak den lokale rutaren, treng serveren ei eksplisitt rute for det prefikset gjennom 192.168.10.1, og den ruta må overleva ein gjentilkopling. Hald unntaket spesifikt for administrasjonsprefikset; eit breitt unntak for private område øydelegg føremålet med tunnelen.

Gjer brannmur-unntaket like smalt som regelen

Viss verten køyrer ein brannmur, tillat SSH berre frå administrasjonskjelda og berre på LAN-grensesnittet. Ein regel som tillèt port 22 frå kvar som helst er breiare enn kravet og vanskelegare å forsvara i ein gjennomgang. På ein nftables-vert høyrer regelen heime i input-kjeda med grensesnitt og kjelde matcha; på ein iptables-vert er ekvivalenten eit par treff på -i og -s. Kommenter regelen med administratorgruppa han tener, slik at neste revisjon ikkje må gjeta på kvifor port 22 er open.

Sjekk òg filteret til VPN-klienten sjølv. Nokre klientar installerer reglar som droppar lokal trafikk ved design, og ein korrekt brannmurregel oppå eit drop på klientnivå endrar ingenting. Les konfigurasjonen til klienten før du redigerer brannmuren til verten, fordi to filter i serie gjev ein feil som ikkje liknar nokon av dei.

Test båe tilstandane

Køyr testen to gonger: éin gong med tunnelen tilkopla og éin gong fråkopia. I kvar tilstand, stadfest lyttaren, ruta og ein faktisk SSH-innlogging frå maskina til administratoren. Ein veg som berre verkar medan tunnelen er oppe, er ikkje ein lokal administrasjonsveg; det er eit samantreff.

Start deretter tunnelen på nytt medan ein SSH-økt er open. Ei økt som overlever provar at rutina er stabil; ei økt som fell fortel deg at klienten skriv om ruter eller filter ved gjentilkopling, noko det er verdt å vita før ei hending i staden for under ei.

Noter kjeldeadressa du testa frå, fordi ein regel skriven for 192.168.10.50 feilar stille når den bærbare datamaskina til administratoren flyttar til eit anna subnett.

Skriv gjenopprettingsvegen inn i runbooken

Bestem no kva som skjer viss den utgåande VPN-en øydelegg den lokale vegen. Konsolltilgang, ei anna administrasjonsadresse eller ein dokumentert prosedyre for å stoppa klienten er alle legitime svar, og nokre av dei er betre enn å oppdaga problemet i augneblinken du må logga inn. Viss serveren er ekstern, finst ikkje den lokale vegen, og rett design er ein eigen godkjend ekstern tilgangsveg eller ein bastion i staden for ein eksponert offentleg port.

Hald dei to rollene åtskilde i dokumentasjonen: lokal SSH for administratoren som er i nærleiken, og den utgåande tunnelen for trafikken til programmet. Når rollene er skrivne ned, har ei framtidig endring i ein av dei ein openberr stad å bli kontrollert, og neste person slepp å gjenoppdaga kvifor ein server med VPN framleis svarar på LAN-adressa si.

Relaterte artiklar