Wydanie OpenSSH 10.0

Opublikowano wydanie OpenSSH 10.0, otwartej implementacji klienta i serwera do pracy na protokołach SSH 2.0 i SFTP. Główne zmiany:

  • Usunięto wsparcie dla cyfrowych podpisów opartych na algorytmie DSA, którego poziom bezpieczeństwa nie spełnia współczesnych wymagań. Koszty kontynuowania wsparcia dla niebezpiecznego algorytmu DSA nie mają uzasadnienia, a jego usunięcie pozwoli na zmotywowanie do zaprzestania wsparcia DSA w innych implementacjach SSH i bibliotekach kryptograficznych. Z defaultu korzystanie z kluczy DSA zakończono już w 2015 roku.
  • Kontynuowane jest podział sshd na kilka oddzielnych plików wykonywalnych. W OpenSSH 9.8 z sshd wyodrębniono proces sshd-session, który realizuje zadania związane z obsługą sesji. W OpenSSH 10.0 z sshd-session do oddzielnego procesu sshd-auth przeniesiono kod związany z autoryzacją. Proces sshd-auth pozwala dodatkowo izolować dane związane z autoryzacją w adresowej przestrzeni oddzielnego procesu, co uniemożliwia dostęp do tych danych w pamięci w przypadku przeprowadzania ataków na kod używany do obsługi etapów połączenia przed zakończeniem autoryzacji. Ponadto zmiana nieznacznie zmniejszy zużycie pamięci, ponieważ kod związany z autoryzacją jest teraz obecny w pamięci tylko w czasie autoryzacji, a następnie jest usuwany po zakończeniu procesu sshd-auth.
  • W ssh domyślnie zastosowano hybrydowy algorytm wymiany kluczy „mlkem768x25519-sha256”, odporny na ataki z użyciem komputera kwantowego, który stanowi kombinację X25519 ECDH oraz algorytmu ML-KEM (CRYSTALS-Kyber), standaryzowanych przez Krajowy Instytut Standardów i Technologii USA (NIST). ML-KEM wykorzystuje metody kryptografii oparte na rozwiązaniach problemów teorii sieci, które mają porównywalny czas rozwiązania na komputerach klasycznych i kwantowych.
  • W ssh_config dodano wsparcie dla podmiany „%-token” w dyrektywach SetEnv i User oraz rozwiązywanie zmiennych środowiskowych.
  • W ssh_config i sshd_config dodano wsparcie dla wyrażenia „Match version”, które pozwala stosować ustawienia w zależności od posiadanej wersji OpenSSH, na przykład, aby przypisać do OpenSSH 10, można użyć „Match version OpenSSH_10.*”.
  • W ssh_config dodano wsparcie dla wyrażeń:
    • „Match sessiontype”, umożliwiający stosowanie ustawień w zależności od typu żądanego sesji: „shell” dla sesji interaktywnych, „exec” dla uruchamiania poleceń, „subsystem” dla sftp oraz „none” dla tuneli i przekierowywania ruchu.
    • „Match command” do powiązania działań z poleceniami podanymi w wierszu poleceń do uruchomienia przez ssh.
    • „Match tagged „” oraz „Match command „” do powiązania z pustymi tagami i uruchomienia ssh bez określenia wykonywanego polecenia.
  • W sshd_config dozwolone jest używanie masek w ścieżkach plików wskazanych w dyrektywach AuthorizedKeysFile oraz AuthorizedPrincipalsFile.
  • W kliencie ssh dodano obsługę opcji „VersionAddendum” do dodawania dowolnego tekstu do linii z numerem wersji (wcześniej ta opcja była dostępna tylko dla serwera sshd).
  • W narzędziach scp i sftp zapewniono przekazanie ustawienia „ControlMaster no” w celu zablokowania użycia istniejących połączeń przy ponownym łączeniu z hostem.
  • W sshd domyślnie wyłączono wsparcie dla implementacji algorytmu Diffiego-Hellmana w polu skończonym, co doprowadziło do usunięcia z listy KEXAlgorithms metod „diffie-hellman-group*” oraz „diffie-hellman-group-exchange-*”. W porównaniu z algorytmem Diffiego-Hellmana opartym na krzywych eliptycznych, zdalna implementacja jest wolniejsza i wymaga dodatkowych zasobów obliczeniowych przy identycznym poziomie bezpieczeństwa.
  • W ssh przy wyborze szyfrowania dla połączenia tryb AES-GCM jest teraz bardziej preferowany niż AES-CTR. Domyślnie ustalono listę priorytetów przy wyborze szyfrów: Chacha20/Poly1305, AES-GCM (128/256) i AES-CTR (128/192/256).
  • W ssh-agent zrealizowano usunięcie wszystkich załadowanych kluczy po otrzymaniu sygnału SIGUSR1.
  • W ssh-keygen dodano obsługę tokenów FIDO, które nie zwracają danych certyfikacji, takich jak WinHello.
  • W ssh-agent dodano opcję „-Owebsafe-allow=…” do nadpisania białej listy aplikacji FIDO.
  • Dodano eksperymentalne narzędzie regress/misc/ssh-verify-attestation do weryfikacji danych certyfikacji FIDO, opcjonalnie generowanych przez ssh-keygen przy rejestracji kluczy FIDO.
  • W ssh-keygen dozwolone jest użycie „-” zamiast nazwy pliku.
  • W ssh-agent oraz przenośnej wersji OpenSSH dodano wsparcie dla aktywacji przez gniazdo w stylu systemd, zrealizowane z wykorzystaniem mechanizmu LISTEN_PID/LISTEN_FDS.
  • W przenośnej wersji:
    • Zrealizowano wsparcie dla biblioteki kryptograficznej AWS-LC (AWS libcrypto).
    • W sshd dodano wsparcie dla wtmpdb, analogi wtmp, która nie jest podatna na problem roku 2038.
    • W sshd dodano opcję «—with-linux-memlock-onfault» do zablokowania sshd w pamięci (zakaz wypychania do swapu).
    • Dodano opcję «—with-security-key-standalone» do kompilacji niezależnej biblioteki sk-libfido2.
    • Usunięto ustawienia kompilacji ze specyfikacji pakietu RPM dla RHEL 6.
  • Zmiana w sshd związana z bezpieczeństwem: dyrektywa DisableForwarding nie blokowała poprawnie przekazywania protokołu X11 i zapytań do ssh-agent. Przekazywanie X11 jest domyślnie wyłączone po stronie serwera, a przekazywanie ssh-agent po stronie klienta.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster