SSH кључ копиран или агент прослеђен? Два различита ризика
Потпис није датотека кључа, а делегирани агент није откривање. Одвојте чињеницу о протоколу од питања поверења у крајњу тачку, па одговорите.
Пријава која користи SSH кључ преко VPN-а не значи да је приватни кључ предат мрежном оператеру, и то уверавање је уже него што људи чују. Аутентификација јавним кључем шаље јавни кључ и потпис који клијент ствара локално. Прослеђивање агента је другачији распоред са другачијом изложеношћу и може оставити употребљиву могућност аутентификације на машини коју не контролишете. Одговор који дугујете зависи од тога шта се од тога двога заиста догодило.
Шта шаље аутентификација јавним кључем
У стандардној методи јавног кључа клијент нуди јавни кључ, сервер одлучује да ли прихвата тај кључ, а клијент потписује изазов приватним кључем који остаје у његовој датотеци или његовом агенту. Кроз мрежу прелазе јавни кључ и потпис који из тога произилази. Ништа у тој размени не захтева да сервер, тунел или било ко на путу држи приватни материјал.
Спецификација аутентификације дефинише тај доказ, а приватни кључ није поље у захтеву.
То је тврдња о протоколу, не карактеристика сваке укључене крајње тачке. Провера идентитета хоста и даље мора бити нетакнута, јер сервер који не може да докаже ко је може прикупљати потписе за сврху коју нисте намеравали. Изнајмљени VM, наслеђени бастион и преносник који покреће непознато проширење три су одвојена питања поверења. Држите их одвојено од криптографског, које је заиста решено.
Шта прослеђивање агента делегира
Прослеђивање агента отвара канал од удаљеног хоста назад до агента на вашем рачунару, па процеси на том хосту могу тражити од агента да потпише, а да никада не држе приватни кључ. Кључ остаје где јесте, а способност не. Све што може да дође до тог прослеђеног сокета на удаљеном хосту, током трајања сесије, може захтевати аутентификационе радње као један од учитаних идентитета. То је делегирано овлашћење, зато прослеђивање заслужује ужу политику од предаје јавног кључа.
Копирана датотека кључа је откривање. Прослеђени агент је дозвола, и то двоје тражи различите одговоре.
Омогућите прослеђивање за именовану потребу и именоване хостове и проверите шта клијент заиста ради, а не шта се чини да конфигурација говори. Битне су ефективне поставке, јер блок хоста тихо надјачава глобални подразумевани избор. Иста логика важи на страни сервера, који може потпуно да одбије прослеђивање када га имплементација никада не треба.
Прочитајте доказе пре него што изаберете одговор
Ако се верује да је датотека приватног кључа или еквивалентни идентитет за потписивање изложен, одговор је замена и опозив кроз процес ваше организације, уз уклањање његовог прихватања из сваке услуге која му је веровала. Брисање једне локалне копије не поништава копије које не видите.
Ако је забринутост привремен приступ агента, одговор је ужи: зауставите непотребно делегирање, прегледајте укључене сесије и идентитете и препустите власнику инцидента да одлучи да ли је замена оправдана. Докази су овде важни, јер одсуство уоченог извоза не доказује да аутентификација није злоупотребљена, а сама промена путање није дијагноза украденог кључа. Запишите која је компонента била поверена, да ли је прослеђивање било омогућено и шта је заиста уочено. Затим изаберите одговор који одговара том запису, уместо најдраматичнијег доступног.
ssh-add -l
ssh -G host.example | grep -i forwardagent
Покрените их пре и после промене да поређење нешто значи. Сесија успостављена раније задржава делегирање које је добила, шта год поставке сада говориле.
Две контроле које нису заменљиве
Заштита приватног материјала, ограничавање ко може да тражи потпис и провера идентитета друге стране три су повезане контроле и ниједна не замењује другу. Тим који уклони прослеђивање без провере кључева хостова поправио је пола проблема. Тим који ротира кључ јер се рута променила није поправио ништа.
Компромитована крајња тачка је четврто питање, јер привилеговани софтвер на вашем сопственом рачунару може да учини знатно више од посматрања пакета.
Разврстајте инцидент у те категорије пре него што било шта додирнете и дајте свакој власника. Водите кратак запис о томе шта је било поверено, шта делегирано и шта проверено, јер тај запис чини следећи преглед јефтиним уместо још једне расправе. Ако је било која категорија непозната, напишите непознато уместо да претпоставите безопасан случај. Разлика је практична, не академска: одлучује да ли мењате акредитив, опозивате сесију или једноставно престајете да прослеђујете.