Lei ’n SSH-sessie oor ’n VPN wat jy nie self bedryf nie, en die wagwoord behoort steeds aan die SSH-bediener, nie aan die netwerk tussenin nie. As die vervoer na ’n geverifieerde gasheer behoorlik beskerm is, ’n passiewe waarnemer op daardie pad kry nie die wagwoord in leesbare vorm nie. Verander egter een voorwaarde, en die antwoord verander: ’n ongeverifieerde gasheer, ’n verswakte syferlys of ’n gekompromitteerde werkstasie lewer almal verskillende uitkomste. Voer die kontroles hieronder in volgorde uit, en behandel elkeen as ’n stopvoorwaarde.

Noem die ontvanger voordat jy enigiets tik

Die wagwoordveld reis binne ’n verifikasieboodskap, en daardie boodskap reis binne die geënkripteerde vervoer. Vertroulikheid is ’n eienskap van die vervoer, wat beteken dit hang daarvan af dat beskerming onderhandel is en dat dit met die beoogde gasheer onderhandel is. Daardie tweede helfte is die deel wat mense oorslaan. ’n Verbinding wat aan ’n bedrieër geënkripteer is, is terselfdertyd vertroulik en nutteloos. Die VPN-aanmelding bewys niks oor die SSH-gasheer nie, en die diensverskaffer se reputasie is nie ’n plaasvervanger vir die sleutelkontrole nie.

Hou die twee rigtings apart in jou kop. Die gasheersleutel beantwoord watter bediener jy bereik het. Wagwoord- of sleutelverifikasie beantwoord watter gebruiker die bediener aanvaar. Om die tweede te verbeter maak nooit die eerste reg nie.

Kontroleer die gasheeridentiteit, die rekord en die onderhandeling

Begin by die kliënt met die rekord wat jy reeds het. ’n Gepubliseerde vingerafdruk wat teen ’n betroubare bron vergelyk word, en ’n known_hosts-inskrywing wat steeds pas, gee jou die enigste bewyse wat saak maak voordat verifikasie begin.

ssh-keygen -F ssh.internal.example.net -f ~/.ssh/known_hosts
ssh -o StrictHostKeyChecking=yes ssh.internal.example.net

Druk aan die bedienerkant die vingerafdrukke wat jy van plan is om te publiseer, eerder as om hulle uit die geheue te kopieer. Om dit buite die kanaal te versprei is die hele punt; ’n vingerafdruk wat uit dieselfde geselskapkanaal as die gasheernaam geplak is, bewys net dat albei van dieselfde plek kom.

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
sudo sshd -T | grep -E 'hostkey|kexalgorithms|cipher'

Die onderhandelde algoritmes kom uit die snyding van beide kante. As ’n kliëntkonfigurasie ’n verouderde sleuteluitruiling vaspen om ’n ou toestel te bereik, geld daardie keuse vir elke gasheer waarmee dit praat, so beperk dit tot daardie gasheer eerder as globaal.

Lees die metodes wat die bediener werklik aanvaar

Om te weet watter verifikasiemetodes ’n bediener toelaat, vertel jou waarvoor die wagwoord self is. ’n Gasheer wat net publieke sleutels aanvaar, het geen wagwoordruil om te beskerm nie, en ’n gasheer wat steeds wagwoorde aanvaar, verdien ’n doelbewuste beslissing eerder as ’n oorgeërfde verstek.

sudo sshd -T | grep -E 'passwordauthentication|pubkeyauthentication|permitrootlogin'

Om ’n gebruiker na sleutelverifikasie oor te skakel, verwyder daardie gebruiker se wagwoord uit daardie ruil. Dit maak nie ’n gekompromitteerde werkstasie veilig nie, en dit maak ’n onbetroubare afgeleë sessie nie skadeloos nie. Dit is verskillende risiko’s met verskillende kontroles. Besluit ook oor agent-deurvoering. Om ’n agent na ’n onbetroubare gasheer deur te stuur, gee daardie gasheer die vermoë om jou sleutels te gebruik vir die duur van die sessie, wat ’n groter blootstelling is as die wagwoordvraag waarmee dit begin het.

Hanteer ’n gasheersleutelwaarskuwing as ’n insidentstap

Wanneer die kliënt waarsku dat die gasheeridentifikasie verander het, stop en verifieer deur ’n kanaal wat nie deur dieselfde netwerkpad loop nie. Vergelyk die vingerafdruk met die bedienerkonsole of met die operateur wat dit herbou het. Om die ou inskrywing te skrap om die waarskuwing stil te maak, is die een aksie om te weier. Dit gooi die bewyse weg en verander ’n moontlike onderskepping in ’n normale aanmelding.

As die gasheer wettig herbou is, verwyder die verouderde inskrywing eers nadat die nuwe vingerafdruk bevestig is, en herverbind dan en kontroleer die onderhandeling weer. Teken die verandering met die datum en die rede aan, want die volgende persoon sal dieselfde waarskuwing sien en moet weet dat dit opgelos is.

Wat hierdie runbook nie dek nie

’n VPN-operateur wat verkeer dophou, is nie dieselfde as sagteware met plaaslike voorregte op jou masjien nie. Eindpuntkompromittering, ’n vyandige blaaieruitbreiding of ’n sleutelbordlogger sit onder enigiets wat SSH kan onderhandel, en geen tonnel verander dit nie. As die werkstasie verdag is, volg die insidentproses eerder as om geheimhouding te toets deur deur ’n ander uitgang te herverbind. Herverbinding bewys dat die netwerkpad verander het en niks oor die eindpunt nie.

Eindig met die gewone geval: geverifieerde gasheer, beskermde vervoer, die verifikasiemetode wat jy doelbewus gekies het, en geen deurvoering wat jy nie nodig gehad het nie. Daardie kombinasie is die antwoord op die vraag in die titel, en dit is vier besluite eerder as een.

Verwante artikels