След три месеца разработка освобождаване , отворена клиентска и сървърна реализация за работа чрез протоколите SSH 2.0 и SFTP.
Новата версия добавя защита срещу scp атаки, които позволяват на сървъра да предава имена на файлове, различни от заявените (за разлика от , атаката не прави възможно промяната на избраната от потребителя директория или глобална маска). Спомнете си, че в SCP сървърът решава кои файлове и директории да изпрати на клиента, а клиентът проверява само коректността на върнатите имена на обекти. Същността на идентифицирания проблем е, че ако системното извикване на utimes е неуспешно, тогава съдържанието на файла се интерпретира като файлови метаданни.
Тази функция, при свързване към сървър, контролиран от нападател, може да се използва за запазване на други имена на файлове и друго съдържание във файловата система на потребителя при копиране чрез scp в конфигурации, които водят до неуспех при извикване на utimes (например, когато utimes са забранени от политиката на SE).Linux (или филтър за системни повиквания). Вероятността от реални атаки се оценява като минимална, тъй като в типичните конфигурации извикването на utimes не се проваля. Освен това атаката не е безшумна – при извикване на scp се съобщава за грешка при прехвърляне на данни.
Общи промени:
- В sftp обработката на аргумента „-1“ е спряна, подобно на ssh и scp, който преди беше приет, но игнориран;
- В sshd, когато използвате IgnoreRhosts, вече има три възможности за избор: "yes" - игнорирайте rhosts/shosts, "no" - зачитайте rhosts/shosts и "shosts-only" - разрешавайте ".shosts", но забранявайте ".rhosts";
- Ssh вече поддържа заместване на %TOKEN в настройките LocalFoward и RemoteForward, използвани за пренасочване на Unix сокети;
- Разрешаване на зареждане на публични ключове от некриптиран файл с частен ключ, ако няма отделен файл с публичния ключ;
- Ако libcrypto присъства в системата, ssh и sshd сега използват изпълнението на алгоритъма chacha20 от тази библиотека, вместо вграденото преносимо изпълнение, което изостава в производителността;
- Реализирана е възможността за изхвърляне на съдържанието на двоичен списък с отменени сертификати при изпълнение на командата “ssh-keygen -lQf /path”;
- Преносимата версия прилага дефиниции на системи, в които сигнали с опцията SA_RESTART прекъсват операцията на select;
- Проблемите с изграждането на HP/UX и AIX системи са разрешени;
- Отстранени проблеми със sandbox компилациите на seccomp в някои конфигурации Linux;
- Подобрено откриване на библиотека libfido2 и разрешени проблеми с изграждането с опцията „--with-security-key-builtin“.
Разработчиците на OpenSSH също отново предупредиха за предстоящото разграждане на алгоритми, използващи SHA-1 хешове поради ефективността на атаките на сблъсък с даден префикс (цената за избор на сблъсък се оценява на приблизително 45 хиляди долара). В една от предстоящите версии те планират да деактивират по подразбиране възможността за използване на алгоритъма за цифров подпис с публичен ключ „ssh-rsa“, който е споменат в оригиналния RFC за SSH протокола и остава широко разпространен в практиката (за тестване на използването на ssh-rsa във вашите системи, можете да опитате да се свържете чрез ssh с опцията „-oHostKeyAlgorithms=-ssh-rsa“).
За плавен преход към нови алгоритми в OpenSSH, в бъдеща версия настройката UpdateHostKeys ще бъде активирана по подразбиране, което автоматично ще мигрира клиенти към по-надеждни алгоритми. Препоръчителните алгоритми за миграция включват rsa-sha2-256/512, базиран на RFC8332 RSA SHA-2 (поддържан от OpenSSH 7.2 и използван по подразбиране), ssh-ed25519 (поддържан от OpenSSH 6.5) и базиран на ecdsa-sha2-nistp256/384/521 на RFC5656 ECDSA (поддържа се от OpenSSH 5.7).
От последното издание "ssh-rsa" и "diffie-hellman-group14-sha1" са премахнати от списъка CASignatureAlgorithms, който дефинира алгоритмите, разрешени за цифрово подписване на нови сертификати, тъй като използването на SHA-1 в сертификатите представлява допълнителен риск поради това нападателят има неограничено време за търсене на сблъсък за съществуващ сертификат, докато времето на атака върху ключовете на хоста е ограничено от времето за изчакване на връзката (LoginGraceTime).
Източник: opennet.ru
