Jaka jest obecnie potrzeba kluczy hosta ssh dsa?

11

Kiedy zacząłem zajmować się serwerami * nix, serwery openssh były dostarczane z kluczami hosta dsa i rsa, a klienci openssh woleli klucz rsa. Obecnie serwery openssh mają klucze hosta dsa, rsa oraz ecdsa, a klienci openssh wolą klucz hosta ecdsa.

W jakim stopniu nadal potrzebuję / chcę skonfigurować opensh do dostarczania kluczy hosta dsa?

Głównie zastanawiam się nad implementacjami klienta innymi niż openssh.

andol
źródło
Lenistwo. Wspieram aplikację, której inżynierowie dystrybuują klucze DSA od 10 lat ... ale nie ma już powodu. Poniższe uwagi dotyczące zgodności są prawidłowe.
ewwhite

Odpowiedzi:

12

Nie mogę wymyślić niczego powszechnie używanego, które nie obsługuje przynajmniej RSA, a jeśli naprawdę używasz emulatora terminali w systemie Windows (na przykład), który obsługuje tylko DSA, powinieneś przestać go używać i pobrać kit lub zaktualizować.

Istnieje możliwość zapewnienia zgodności. Jednak to także zwiększa twoją powierzchnię bezpieczeństwa; osoba atakująca może osłabić Twoją kryptografię, przekonując klienta do deklarowania wsparcia tylko dla DSA. Ten scenariusz jest dość dalekie. Jeśli dotyczy Ciebie, wyłącz DSA.

Jedyny scenariusz, jaki mogę sobie wyobrazić, który prawdopodobnie doprowadziłby do poważnego kompromisu, jest taki, że jeden z twoich użytkowników użył pary kluczy DSA na niezaufanym lub zagrożonym komputerze, który zawsze negocjował DSA i generował zdublowane wartości efemeryczne do tworzenia podpisów DSA; w rezultacie klucz użytkownika może zostać przejęty, ale nie wydaje się, aby była to ścieżka najmniejszego oporu dla atakującego. O ile Twój system nie jest używany przez międzynarodowych szpiegów, prawdopodobnie nie musisz się tym martwić. Zobacz to pytanie na jednej z naszych siostrzanych witryn: /security//q/29262/12223 .

Tak naprawdę nie ma bezpośredniego sposobu wyłączenia DSA. Błąd Debiana 528046 proponuje go i zapewnia łatkę (dla opcji PubKeyTypes) i spotkał się ze wsparciem, ale nie był podejmowany od 2009 roku, bez żadnych dowodów na to, że był wcześniej.

Falcon Momot
źródło
Jest teraz sposób na wyłączenie DSA i jest to również ustawienie domyślne.
joshudson
9

Twoja odpowiedź prawdopodobnie znajduje się tutaj:

/security/5096/rsa-vs-dsa-for-ssh-authentication-keys

Większość zaleceń dotyczy kluczy RSA z różnych powodów, więc klucze DSA są w dużej mierze dostępne dla kompatybilności wstecznej. DSA został wprowadzony, gdy pojawił się SSH2, ponieważ w tym czasie RSA było nadal opatentowane, a DSA było bardziej otwarte. Od tego czasu to się zmieniło.

Z tego powodu klucze DSA są prawie bezużyteczne. Będą działać, a ssh-keygen je nawet wygeneruje, jeśli o to poprosisz, ale ktoś musi to specjalnie zadać, co oznacza, że ​​może użyć RSA, jeśli zmusisz ich do tego. Według mojej najlepszej wiedzy nic nie robiło tylko DSA. Klucze DSA są zabronione.

sysadmin1138
źródło
Tak, zdaję sobie sprawę, że klucze hosta dsa dotyczą porównywalności wstecznej, ale moje pytanie (które prawdopodobnie mogłoby być jaśniejsze) dotyczy wszystkiego, co jest nadal potrzebne dla tej porównywalności wstecznej.
andol
2

Jedynym powodem, dla którego mogę wymyślić bezpieczeństwo, jest spadek faktoryzacji pierwszorzędnej, ale dyskretny log nie spada RSA, ale DSA stoi. W takim przypadku pytasz, jak wyłączyć RSA. Jeśli dyskretny dziennik spadnie, spadnie zarówno RSA, jak i DSA. Jeśli jednak ssh nadal wymaga dokładnie 1024 bitów na DSA, napraw to teraz.

Joshudson
źródło