Opublikowana została wersja OpenSSH 8.8, otwartej implementacji klienta i serwera do pracy z protokołami SSH 2.0 i SFTP. Wydanie to jest szczególne, ponieważ domyślnie wyłączono możliwość wykorzystania podpisów cyfrowych opartych na kluczach RSA z hashem SHA-1 („ssh-rsa”).
Zaprzestanie wspierania podpisów „ssh-rsa” jest spowodowane zwiększoną efektywnością ataków kolizyjnych z określonym prefiksem (koszt znalezienia kolizji szacowany jest na około 50 tysięcy dolarów). Aby sprawdzić zastosowanie ssh-rsa w swoich systemach, można spróbować połączyć się przez ssh z opcją „-oHostKeyAlgorithms=-ssh-rsa”. Wsparcie dla podpisów RSA z hashami SHA-256 i SHA-512 (rsa-sha2-256/512), które są wspierane od wersji OpenSSH 7.2, pozostało bez zmian.
W większości przypadków zaprzestanie wspierania „ssh-rsa” nie wymaga od użytkowników podejmowania żadnych ręcznych działań, ponieważ w OpenSSH wcześniej domyślnie była włączona opcja UpdateHostKeys, automatycznie przenosząca klientów na bardziej niezawodne algorytmy. Do migracji stosowane jest rozszerzenie protokołu „hostkeys@openssh.com”, które umożliwia serwera po zakończeniu uwierzytelniania informowanie klienta o wszystkich dostępnych kluczach hosta. W przypadku łączenia się z hostami z bardzo starymi wersjami OpenSSH po stronie klienta można selektywnie przywrócić możliwość korzystania z podpisów „ssh-rsa”, dodając do ~/.ssh/config: Host stara_nazwa_hosta HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa
W nowej wersji rozwiązano również problem z bezpieczeństwem, spowodowany tym, że w sshd, począwszy od wersji OpenSSH 6.2, niepoprawnie inicjowano grupę użytkownika w trakcie wykonywania poleceń określonych w dyrektywach AuthorizedKeysCommand i AuthorizedPrincipalsCommand. Podane dyrektywy powinny zapewnić wykonywanie poleceń jako inny użytkownik, ale w praktyce dziedziczyły one listę grup używanych przy uruchamianiu sshd. Takie zachowanie, przy pewnych ustawieniach systemowych, potencjalnie mogło umożliwić uruchomionemu procesowi uzyskanie dodatkowych przywilejów w systemie.
W uwadze do nowego wydania opublikowano również ostrzeżenie o zamiarze domyślnego przejścia narzędzia scp na użycie SFTP zamiast przestarzałego protokołu SCP/RCP. SFTP wykorzystuje bardziej przewidywalne metody obsługi nazw i nie stosuje przetwarzania wzorców glob w nazwach plików przez shell na zdalnym hoście, co stwarza problemy z bezpieczeństwem. W szczególności, gdy stosuje się SCP i RCP serwer decyduje, które pliki i katalogi wysłać klientowi, a klient jedynie sprawdza poprawność zwróconych nazw obiektów, co w przypadku braku odpowiednich weryfikacji po stronie klienta pozwala serwerowi na przesyłanie innych nazw plików, różniących się od żądanych. Protokół SFTP pozbawiony jest tych problemów, ale nie obsługuje rozszerzonych ścieżek, takich jak „~/”. Aby rozwiązać tę różnicę, w poprzednim wydaniu OpenSSH zaproponowano nowe rozszerzenie protokołu SFTP do obsługi ścieżek ~/ i ~user/.
Źródło: opennet.ru
