Kahte erinevat sündmust nimetatakse lekkinud SSH-võtmeks, ja need nõuavad erinevaid vastuseid. Avaliku võtmega autentimine saadab avaliku võtme ja privaatvõtmega tehtud allkirja, seega privaatvõti ei ole kunagi päringu väli. Agendi edasisaatmine paljastab midagi muud, sest kaugem host, mis pääseb ligi sinu edasisaadetud agendile, võib paluda sellel allkirjastada, ilma et võtit kunagi käes hoiaks. Kui kohelda neid ühe sündmusena, jõuad kas mõttetu võtmevahetuseni või delegaadini, mis jääb tööle.

Avaliku võtmega sisselogimine edastab allkirja, mitte võtit

Autentimisvahetus kannab kasutaja avalikku võtit ja seansiandmete allkirja. Server kontrollib seda allkirja võtmega, mida ta juba usaldab, seepärast võib privaatne pool jääda kliendile ka läbi mitteusaldusväärse võrgu. VPN-operaator, kes tunnelit jälgib, näeb igal juhul krüpteeritud SSH-seanssi.

See kirjeldab protokolli, mitte tee iga lõpp-punkti usaldusväärsust. Hoidke hosti identiteedi kontroll puutumata, sest klient, kes võtab vastu ükskõik millise hosti võtme, on loobunud teisest kontrollist kui see, millest räägime. Kinni püütud seanss ja kinni püütud võti on eraldi leiud ning ainult üks neist on volituste kaotus. Hoidke mõlemad raportis eraldi lausetes.

ssh-keygen -lf ~/.ssh/id_ed25519.pub
ssh -o StrictHostKeyChecking=yes [email protected]

Esimene käsk trükib avaliku sõrmejälje, et saaksite seda võrrelda serveri loetletuga. Teine teeb hosti võtme kontrolli selgesõnaliseks, selle asemel et loota vaikeväärtusele, mida keegi ei lugenud. Käivitage mõlemad enne, kui võtmetega midagi muudate, et lähtejoon oleks dokumenteeritud.

Agendi edasisaatmine delegeerib allkirjastamisvõime

Kui edasisaatmine on lubatud, ilmub kaugemale hostile sokkel ja kohalik agent vastab selle kaudu saabuvatele päringutele. Igaüks, kes saab seda soklit seansi ajal kasutada, saab end teie nimel autentida hostide juures, mis aktsepteerivad laaditud identiteete. Selle toimimiseks ei ületa võrku ükski privaatvõti.

Paljastus on võime, mitte fail. Seetõttu kuulub edasisaatmine nimetatud ülesandele ja nimetatud hostile, mitte igale ühendusele, mille sülearvuti loob. Hüppehost, mis edastab ühenduse ilma edasisaadetud agendita, kõrvaldab vajaduse tavaliselt täielikult.

ssh-add -l
ssh -o ForwardAgent=no [email protected]
ssh -J [email protected] [email protected]

Esimene loetleb, milliseid identiteete agent praegu hoiab, mida tasub teada enne, kui annad selle sokli teisele masinale. Teine ühendub ilma delegeerimiseta. Kolmas näitab hüppehosti mustrit, mis sageli asendab edasisaatmise täielikult.

Valige vastus olemasolevate tõendite järgi

Allkirjastav identiteet, mida peetakse paljastatuks, nõuab asendamise ja tühistamise protsessi ning selle aktsepteerimise eemaldamist teenustest, mis seda usaldasid. Sülearvutis oleva koopia kustutamine jätab kõik teised koopiad puutumata. Alustage teenustest, seejärel koristage kliendid.

Ajutine delegeerimisprobleem on kitsam. Lõpetage edasisaatmine, mida polnud vaja, ja vaadake koos juhtumi omanikuga üle, milliseid seansse ja identiteete see hõlmas. Võtme asendamine võib järgneda, kuid seda otsustavad tõendid, mitte mure.

Jälgitud ekspordi puudumine tõestab ainult seda, et mehhanism, mida kartsite, ei ilmnenud. See ei ütle midagi selle kohta, mida muu oleks selle sokli teises otsas olev host saanud teha.

Hoidke kontrollid raportis eraldi

Kaitske privaatset materjali, piirake, kes saab sellelt allkirja paluda, hoidke teise poole identiteet kontrollituna. Need on kolm kontrolli, mis üksteist tugevdavad, ja ükski neist ei asenda teist, kui selgitate, mis juhtus.

Kompromiteeritud sülearvuti või sellel olev privilegeeritud rakendus on kolmas juhtum palju laiema mõjuraadiusega. VPN-marsruudi muutmine ei lahenda seda ega taasta usaldust võtme vastu, mida võidi kettalt lugeda.

Kirjutage üles, millist komponenti usaldati, kas edasisaatmine oli sees ja mida tegelikult jälgiti. Just see kirje teeb järgmise otsuse kaitstavaks, mitte oletuseks selle kohta, mida leke tähendab.

Seotud artiklid