Kolik SSH klíčů u více serverů/klientů

Lol Phirae

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #15 kdy: 20. 06. 2016, 10:33:29 »
Kolik třešní, tolik višní.


Jenda

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #16 kdy: 20. 06. 2016, 16:56:22 »
stejne jako SSH pro roota.
IMO zakaz ssh pro roota neni bezpecnostni featura.
CVE-2008-0166

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #17 kdy: 20. 06. 2016, 18:00:24 »
IMO zakaz ssh pro roota neni bezpecnostni featura.
CVE-2008-0166
Konkrétní bezpečnostní chyby vás při zabezpečení zajímají jenom do té míry, že máte mít nainstalovanou opravu dané chyby. Nemá ale smysl používat konkrétní bezpečnostní chyby při obecném řešení zabezpečení – tam vás minulé chyby zajímají jen jako statistika, která umožňuje odhadnout, jak které typy chyb asi budou pravděpodobné.

Jenda

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #18 kdy: 20. 06. 2016, 23:29:20 »
IMO zakaz ssh pro roota neni bezpecnostni featura.
CVE-2008-0166
Konkrétní bezpečnostní chyby vás při zabezpečení zajímají jenom do té míry, že máte mít nainstalovanou opravu dané chyby. Nemá ale smysl používat konkrétní bezpečnostní chyby při obecném řešení zabezpečení – tam vás minulé chyby zajímají jen jako statistika, která umožňuje odhadnout, jak které typy chyb asi budou pravděpodobné.
Ano, a viděli jsme, že se může objevit chyba, která umožní přihlášení na známé uživatelské jméno. A tak přihlašování jen na uživatele (s netriviálním jménem) tuto třídu chyb odstíní.

(pozn. osobně mám přihlášení na roota povoleno)

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #19 kdy: 21. 06. 2016, 00:59:54 »
Ano, a viděli jsme, že se může objevit chyba, která umožní přihlášení na známé uživatelské jméno. A tak přihlašování jen na uživatele (s netriviálním jménem) tuto třídu chyb odstíní.
Tohle je myslím dobrý systém, jak mít trvale nezabezpečený systém. Neřešit chyby, které mohou nastat, ale ty, které už nastaly. Nebýt před útočníky o krok napřed, ale být vždy o krok pozadu.

Já osobně dávám přednost jinému postupu – nečekám, až se nějaká chyba objeví, ale dopředu vymýšlím, kde by mohl nastat problém, jak je pravděpodobný a jak se mu bránit. O tom, že by útočník prolomil ochranu klíčem jsem tedy přemýšlel dávno před tím, než byla nějaká CVE-2008-0166. Přičemž jako mnohem pravděpodobnější jsem viděl, že klíč prostě odněkud unikne, než že bude klíč systémově slabý – přičemž tato hrozba trvá i po opravě CVE-2008-0166. Zadávat heslo roota na cílovém serveru mi nepřipadá jako použitelné řešení takového případu.

Za prvé, většina serverů je zabezpečována proti vzdálenému útoku, útok lokálního uživatele je úplně jiná úroveň. Takže pokud útočník projde přes klíč, prolomení z lokálního uživatele na roota by ve většině případů byla ta snazší část. S tím souvisí i to, že by mohl heslo roota louskat lokálně a také to, že by se útočník mohl pokusit zfalšovat prostředí uživatele tak, aby by získal heslo roota v okamžiku, kdy se oprávněný uživatel domnívá, že provádí su na roota. Nebo-li aby to jako ochrana bylo účinné, muselo by to přihlášení z běžného uživatele na roota být minimálně stejně bezpečné, jako to přihlášení klíčem. Kdo z těch, kteří používají zákaz přímého přihlášení na roota, si troufne zveřejnit privátní klíč uživatele, protože věří, že mají su na roota tak dobře zabezpečené, že přes to nikdo neprojde?

Za druhé, nutnost pravidelně zadávat heslo roota zvyšuje pravděpodobnost toho, že heslo bude slabé a nebo že bude odposlechnuto (ne při přenosu po síti, ale při zadávání na klávesnici). Pokud tedy někdo tohle „zabezpečení“ používá, akorát tím zvyšuje pravděpodobnost, že v okamžiku prolomení klíče bude útočník už heslo dávno znát.

Takže kdybych chtěl zabezpečit účet roota proti kompromitaci klíče, použiju například dvoufaktorovou autentizaci už při přihlášení ze sítě.


Jenda

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #20 kdy: 21. 06. 2016, 02:54:17 »
Tohle je myslím dobrý systém, jak mít trvale nezabezpečený systém. Neřešit chyby, které mohou nastat, ale ty, které už nastaly.
Řeším hypotetickou budoucí chybu, kdy se bude dát obejít ověření klíče v sshd.

Přičemž jako mnohem pravděpodobnější jsem viděl, že klíč prostě odněkud unikne, než že bude klíč systémově slabý
To jsou dva nezávislé problémy.

Zadávat heslo roota na cílovém serveru mi nepřipadá jako použitelné řešení takového případu.
Ten uživatel to heslo ani zadávat nemusí, může mít su/sudo bez hesla.

Zadávat heslo roota na cílovém serveru mi nepřipadá jako použitelné řešení takového případu.
Proč?

Za prvé, většina serverů je zabezpečována proti vzdálenému útoku, útok lokálního uživatele je úplně jiná úroveň.
Toto je vzdálený útok, útočník prostě zkusí průměrně 2^14 klíčů.

Takže pokud útočník projde přes klíč, prolomení z lokálního uživatele na roota by ve většině případů byla ta snazší část.
Aha, asi jsem to napsal nepochopitelně. Pokud útočník nezná jméno uživatele, neprojde vůbec přes klíč. Ne že získá toho uživatele a pak se bude snažit dostat na roota - to je mi jasné, že když má uživatele, tak je to většinou už ztracené.

Takže kdybych chtěl zabezpečit účet roota proti kompromitaci klíče, použiju například dvoufaktorovou autentizaci už při přihlášení ze sítě.
Ano, toto je moudré řešení.

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #21 kdy: 21. 06. 2016, 08:19:39 »
Řeším hypotetickou budoucí chybu, kdy se bude dát obejít ověření klíče v sshd.
V tom případě nemůžete odkazovat na existující CVE.

Ten uživatel to heslo ani zadávat nemusí, může mít su/sudo bez hesla.
Pak už o tom ale vůbec nejde mluvit jako o bezpečnostním řešení.

Toto je vzdálený útok, útočník prostě zkusí průměrně 2^14 klíčů.
Řeším případ, kdy už se útočník přes klíč dostal.

Aha, asi jsem to napsal nepochopitelně. Pokud útočník nezná jméno uživatele, neprojde vůbec přes klíč.
Jméno uživatele je veřejná informace. Nemá žádný smysl považovat jméno uživatele za nějaký další bezpečnostní prvek, jméno uživatele uniká ze systému tisíci různými způsoby a není odolné proti útoku hrubou silou. Prostě předpokládejte, že útočník jméno uživatele zná.

Jenda

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #22 kdy: 21. 06. 2016, 13:11:13 »
Ten uživatel to heslo ani zadávat nemusí, může mít su/sudo bez hesla.
Pak už o tom ale vůbec nejde mluvit jako o bezpečnostním řešení.
Proč ne?

Řeším případ, kdy už se útočník přes klíč dostal.
Tak to řešíte jiný případ než o kterém mluvím.

Jméno uživatele je veřejná informace. Nemá žádný smysl považovat jméno uživatele za nějaký další bezpečnostní prvek, jméno uživatele uniká ze systému tisíci různými způsoby a není odolné proti útoku hrubou silou. Prostě předpokládejte, že útočník jméno uživatele zná.
Není a nepředpokládám. Pokud ten uživatel neposílá ven maily, nespouští služby atd., tak to tak jednoduché nebude.

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #23 kdy: 21. 06. 2016, 14:40:28 »
Proč ne?
Pokud to považujete za bezpečnostní opatření, dejte nám sem potřebné údaje tak, abychom se na nějaký takový váš počítač mohli přihlásit. Uvidíme, jestli vás pak ochrání to, že je nutné napsat su a odeslat enterem.

Tak to řešíte jiný případ než o kterém mluvím.
V tom případě netuším, o jakém případu mluvíte. Já řeším případ, kdy by přihlášení klíčem nebylo dostatečným bezpečnostním opatřením – nebo-li bych předpokládal, že útočník tuto obranu překonal.

Není a nepředpokládám. Pokud ten uživatel neposílá ven maily, nespouští služby atd., tak to tak jednoduché nebude.
Jméno uživatel je veřejná informace. To, že ho za neveřejné považujete vy, nic neznamená, protože to jméno zná spousta dalších systémů (a obvykle i lidí), které ho za veřejnou informaci považují. To, že jste si vzpomněl na dva příklady, kdy se uživatelské jméno možná nevyzradí, neznamená, že neexistuje milion dalších, kdy se vyzradí.

Jenda

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #24 kdy: 21. 06. 2016, 16:33:43 »
Tak to řešíte jiný případ než o kterém mluvím.
V tom případě netuším, o jakém případu mluvíte. Já řeším případ, kdy by přihlášení klíčem nebylo dostatečným bezpečnostním opatřením – nebo-li bych předpokládal, že útočník tuto obranu překonal.

Já řeším případ, kdy útočník umí překonat heslo/klíč sshd (ale musí nejdřív vědět, na koho se má přihlašovat).

Není a nepředpokládám. Pokud ten uživatel neposílá ven maily, nespouští služby atd., tak to tak jednoduché nebude.
Jméno uživatel je veřejná informace. To, že ho za neveřejné považujete vy, nic neznamená, protože to jméno zná spousta dalších systémů (a obvykle i lidí), které ho za veřejnou informaci považují. To, že jste si vzpomněl na dva příklady, kdy se uživatelské jméno možná nevyzradí, neznamená, že neexistuje milion dalších, kdy se vyzradí.

OK, počítač: fry.hrach.eu, soukromý klíč:

Kód: [Vybrat]
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAwX5Rqb3HkzPdRgxgzK3DKzwHs9M0AB2622uYD1Np3Q57p0fI
Xpt/6kICZjMwkn9L9+G7h082XVgcWihQLOkF+ty4de4WVbXuD8yDJXR5K95LaIv1
LFM4mFpyIV76w4wozo8mMx9aZ8XtWpPhho9bJFaY+N3jZWrQzIk5MitELoDfh2Sl
wufNw0xzqlEluZHKipndWjs9BIcVyRn5Qna9FjSAwlef2YuikVywp2eEpidKy2fw
HiIzfxwtsC1ZmgiefoXFVY2wm/P4IEK9++hhlHMJ5ctb1whTcemsUsrF7lh9Zr6T
X2sOhVkiOBZ8vOIiHxcjsEqISJwLr80M7ujJXQIDAQABAoIBACmimsPhmE4ufNCT
3Uhto29sLWQecDQOMaUBU+kIU+FDOoxWP+FLqIypw4ZmQW9kgN5H7mhBPTt8uC0W
O5pOUgEW+YI2xwuOaDlyEk4+78vmu2c1pn3xMl5mJ+TSYTcus6Eu4FNjzbpCtr4k
0AR6WGxLTgNPC51JDMDWTj5jXPp8VAnaEu0TE7hYBOwNpwxkK1IDgGF9wTMJdX+L
mJ1SMo/shYMcFT1aghl3eqUWsyp2aQZFYoYHOoTvVmCEz3hH1O86rQy07x6ZcOtU
XG1Q4dl+O67G9Qn2VFjcH5OSBuxUUWAGA/8MLwbYdm9RJb06Zof+1gpeKua6+TR5
3AOJXsECgYEA/RkJJMJWBziEqBTIvi4AViog8vJik7IknQbXiUFvHEbZRNG27qSG
7e3VQM+OB0RYd0w9razWwjsoyG3CngS5661KFEWQEy6Uc7eH5LL+mVlt30m+zICa
aryt5ivDnzo0lwxB7S5TJglSIsaIrtqzpSplXrS740Ih/pP5loRYB9UCgYEAw7ZQ
0Mixa7Z2X0d/tQX5FGoUKCVLFpdbF3lxvhViG2qMef7CKSzj5OQgbqJ9hQ7atTRU
QJC0ZVFHKwaZD4FHV6rvu4ex4cPrKY4jmT7LzsuXwJyCalxJRQ0WcU8Lm6RJs19T
qIhMn9obmM7Vfb9TDbRMJVG++333Dpt2N7Bbx2kCgYBGFP+eKR2vJCw/annnh09a
jJHRE+LN6N8QiAt4myDMIKYa00MnM3GVQmzxZEd8paUla3wMsjZJVB5H2XSxUre0
lahUkqqBVT2QCTrczd+H0OaGlKH7eITJl3NDr8ycM37KcH900IX/m0ceEAFbAX4K
9wFYxwzbsb0+A/VxgzXo/QKBgQDDsDMkX9ePBPVdFYerAFrqP5sB/TAUWaiaUzMY
xha/pQzrGoEXXKxN/JA1L0HkXlLu5nDr0gSeXeOUMNeweipUjTWBxA9n11b2yQnt
O63bixSkYZnBMZ+NbKWpDElmCaIruUBT/lznZNU9OGqdfkVUKZgNpKwamPwD3gwZ
aLyMKQKBgQD8vRyn2i3cxzDT1wri6l2lmvGJNj7ukpNrR+W8m7qLha6wznwMwv5i
ZNJsAxxb/CaCdwR0U3fyiG3v5ol3inATHZqN1nv6PczJB59NqMOPUE7GXipNqY7y
3dsDMFdYItukeJwSGziTRwgCV9FMHiLYMTDPUKS83UT7c2401Pmuwg==
-----END RSA PRIVATE KEY-----

Račte se přihlásit.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #25 kdy: 21. 06. 2016, 16:38:51 »
Jirsak, co nechapete na to, ze o uzivateli root uz kazdy slysel, zatimco uzivatele bflm566535654kjlsjhlhjlfgdl0 musi hadat? To, ze ho treba znaji jine systemy, jeste neznamena, ze ho zna i utocnik. Samozrejme, pokud utocnik to jmeno zjisti, tak se z tohoto bezpecnostniho opatreni stava zadne bezpecnostni opatreni. Nicmen je otazka, jestli utocnim ma k dispozici prostredky to jmeno zjistit. Rekl bych, ze vetsinou nema. Takze je to dalsi klacek, ktery utocnikovi hodite pod nohy a kazdy klacek se hodi.

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #26 kdy: 21. 06. 2016, 17:14:46 »
Já řeším případ, kdy útočník umí překonat heslo/klíč sshd (ale musí nejdřív vědět, na koho se má přihlašovat).
Já takové hlouposti neřeším. Předpokládám, že když někdo umí překonat silnější zabezpečení, poradí si i s velmi slabým zabezpečením (mezi která patří vydávání uživatelského jména za součást hesla). Dávat do trezoru ještě kasičku s fabkou, protože když se kasař dostal do trezoru, třeba ho zastaví aspoň ta kasička, je dětinské.

Nicmen je otazka, jestli utocnim ma k dispozici prostredky to jmeno zjistit. Rekl bych, ze vetsinou nema.
Tak to říkáte špatně. Přihlašovací jméno je veřejný údaj, a pokoušet se z něj dělat tajný údaj je marné.

Takze je to dalsi klacek, ktery utocnikovi hodite pod nohy a kazdy klacek se hodi.
Někdo hází pod pásy tanku klacky, někdo pochopí, že proti tanku potřebuje protitankové miny, protitankové střely nebo něco podobného.

Jenda

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #27 kdy: 21. 06. 2016, 18:11:23 »
Já řeším případ, kdy útočník umí překonat heslo/klíč sshd (ale musí nejdřív vědět, na koho se má přihlašovat).
Já takové hlouposti neřeším. Předpokládám, že když někdo umí překonat silnější zabezpečení, poradí si i s velmi slabým zabezpečením (mezi která patří vydávání uživatelského jména za součást hesla). Dávat do trezoru ještě kasičku s fabkou, protože když se kasař dostal do trezoru, třeba ho zastaví aspoň ta kasička, je dětinské.

Zajímavé je, že v roce 2008 byla nalezena chyba, jejímuž zneužití přesně tohle zabránilo.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #28 kdy: 21. 06. 2016, 18:28:56 »
Helejte Jirsak, Jenda vam sem dal klic na fry.hrach.eu. Tak kdyz je jmeno uzivatele verejne, mohl byste mi ho prozradit nebo alespon kde ho najdu? Naivne totiz predpokladam, ze to neni "jenda".

Re:Kolik SSH klíčů u více serverů/klientů
« Odpověď #29 kdy: 21. 06. 2016, 18:33:28 »
Zajímavé je, že v roce 2008 byla nalezena chyba, jejímuž zneužití přesně tohle zabránilo.
Jak už jsem psal, pokud se budete bránit pořád jen proti minulým chybám, budete pořád o krok pozadu za útočníky a budete mít pořád děravý systém.

Navíc zneužití té chyby nezachránil zákaz přihlášení na roota, ale to, že jiné cíle byly snáze dostupné.