GitHub ogłosił wprowadzenie zmian w serwisie, związanych z wzmocnieniem bezpieczeństwa protokołu Git, stosowanego podczas operacji git push i git pull przez SSH lub schemat „git://” (odwołania przez https:// nie będą dotknięte). Po rozpoczęciu działania zmian, do połączenia z GitHub przez SSH będzie wymagana przynajmniej wersja OpenSSH 7.2 (wydana w 2016 roku) lub PuTTY w wersji 0.75 (wydana w maju tego roku). Na przykład, nie będzie już kompatybilności z klientem SSH z pakietu CentOS 6 i Ubuntu 14.04, których wsparcie zostało już zakończone.
Zmiany polegają na zaprzestaniu wsparcia dla niezaszyfrowanych połączeń z Gitem (przez „git://”) oraz wzmocnieniu wymagań dotyczących kluczy SSH używanych do łączenia z GitHub. GitHub zakończy wsparcie dla wszystkich kluczy DSA oraz przestarzałych algorytmów SSH, takich jak szyfry CBC (aes256-cbc, aes192-cbc aes128-cbc) oraz HMAC-SHA-1. Ponadto wprowadzane są dodatkowe wymagania dla nowych kluczy RSA (zabronione zostanie użycie SHA-1) oraz realizowane jest wsparcie dla kluczy hosta ECDSA i Ed25519.
Zmiany będą wprowadzane stopniowo. 14 września zostaną wygenerowane nowe klucze hosta ECDSA i Ed25519. 2 listopada zakończy się wsparcie dla nowych kluczy RSA opartych na SHA-1 (wcześniej wygenerowane klucze będą działać). 16 listopada zakończy się wsparcie dla kluczy hosta opartych na algorytmie DSA. 11 stycznia 2022 roku, w ramach eksperymentu, tymczasowo zakończone zostanie wsparcie dla starych algorytmów SSH oraz możliwość połączeń bez szyfrowania. 15 marca wsparcie dla starych algorytmów zostanie na stałe wyłączone.
Dodatkowo można zaznaczyć wprowadzenie do kodu źródłowego OpenSSH zmiany, która domyślnie wyłącza obsługę kluczy RSA opartych na hashu SHA-1 („ssh-rsa”). Wsparcie dla kluczy RSA z hashami SHA-256 i SHA-512 (rsa-sha2-256/512) pozostało bez zmian. Zaprzestanie wsparcia dla kluczy „ssh-rsa” jest spowodowane zwiększeniem efektywności ataków kolizyjnych z zadanym prefiksem (koszt wygenerowania kolizji szacuje się na około 50 tysięcy dolarów). Aby sprawdzić wykorzystanie ssh-rsa w swoich systemach, można spróbować połączyć się przez ssh z opcją „-oHostKeyAlgorithms=-ssh-rsa”.
Źródło: opennet.ru
