После пяти месяцев разработки представлен (http://lists.mindrot.org/pipermail/openssh-unix-dev/2018-Aug...) релиз OpenSSH 7.8 (http://www.openssh.com/), открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP.
Основные новшества:
- В ssh-keygen осуществлён переход на использование по умолчанию формата OpenSSH для хранения закрытых ключей, вместо заимствованного из OpenSSL формата PEM. Формат OpenSSH обеспечивает лучшую защиту от перебора паролей и поддерживает размещение комментариев в закрытых ключах. Для использования формата PEM теперь следует явно запускать ssh-keygen с опцией "-m PEM" при генерации или обновлении ключа;- В sshd удалена встроенная поддержка многофакторной аутентификации S/Key (для использования S/Key теперь следует использовать внешние реализации через PAM или BSD auth);
- Код ssh почищен от компонентов для выполнения в режиме setuid. Попытка запуска ssh теперь приводит к выходу с выводом ошибки, если на исполняемый файл установлен флаг setuid или если uid не равен эффективному uid;
- Изменена семантика опций PubkeyAcceptedKeyTypes и
HostbasedAcceptedKeyTypes для sshd, в которых теперь нужно указывать и применяемый для аутентификации алгоритм формирования цифровой подписи (например, "rsa-sha2-256" или "rsa-sha2-512");- Изменён приоритет обработки переменных окружения для sshd: ~/.ssh/environment и опции environment="..." в файлах authorized_keys теперь не переопределяют переменные окружения SSH_*, явно заданные для sshd;
- По умолчанию изменён IPQoS для ssh/sshd: для интерактивного трафика теперь применяется DSCP AF21, а для пакетных запросов CS1;
- Представлены новые алгоритмы цифровых подписей "rsa-sha2-256-cert-v01@openssh.com" и "rsa-sha2-512-cert-v01@openssh.com", которые указывают на необходимость использования в ходе аутентификации только RSA/SHA2;
- Добавлена возможность явного определения списка разрешённых переменных окружения для sshd, задаваемого через опцию PermitUserEnvironment, которая ранее позволяла только в общем виде разрешить или запретить пользовательские переменные окружения;
- В sshd_config добавлена новая директива PermitListen, а также аналогичная опция "permitlisten=" в authorized_keys, которые позволяют определить IP-адрес и порт для приёма соединений при удалённом перенаправлении трафика (ssh -R);- Добавлена защита от атаки, позволяющей удалённому атакующему определить существует ли пользователь с данным именем в системе. Метод атаки базируется на разности поведения при обработке запроса на аутентификацию для существующего и неизвестного пользователя. Атакующий может отправить некорректный запрос аутентификации (например, отправить повреждённый пакет), в случае отсутствия пользователя в системе выполнение функции userauth_pubkey() завершалось сразу с отправкой ответа SSH2_MSG_USERAUTH_FAILURE. Если пользователь присутствует в системе, происходил сбой при вызове функции sshpkt_get_u8() и сервер просто молча закрывал соединение. Для противодействия подобным атакам также добавлена случайная задержка в размере 5-9мс, добавляемая при любом сбое аутентификации;
- Для sshd реализована новая директива SetEnv, позволяющая определять переменные окружения в файле sshd_config. Данные переменные имеют более высокий приоритет чем значения по умолчанию и переменные окружения, заданные пользователем;
- В ssh добавлена директива SetEnv, при указании которой переменные окружения для сеанса выставляются на основании значений, переданных сервером;
- Для очистки переменных окружения, ранее помеченных для отправки на сервер, добавлена команда "SendEnv -PATTERN";
- В ssh/sshd обеспечена передача UID в виде %-выражений во всех директивах, манипулирующих именем пользователя;
- В ssh добавлена возможность указания "ProxyJump=none" для отключения функциональности ProxyJump;
- В sshd обеспечена передача в PAM-модули детальных сведений об успешно завершённой аутентификации через переменную окружения SSH_AUTH_INFO_0;
- Улучшено определение неподдерживаемых опций компилятора;
- В sshd добавлена поддержка режима sandbox-изоляции в Linux для архитектуры s390;
- При сборке без OpenSSL для затравки генератора псевдослучайных чисел задействован вызов getrandom().URL: http://lists.mindrot.org/pipermail/openssh-unix-dev/2018-Aug...
Новость: https://www.opennet.me/opennews/art.shtml?num=49180
По ходу самая нужная, хорошая, функциональная и интересная программа из мира *nix. Долгих лет проекту, и пусть он переживет systemГ.
Больше. Самый лучший и непревзойденный инструмент админа. Единственный инструмент с которым спокоен за безопасность.
Админы в 2018м? Не видел таких.
А в каком видели?
а кто в 2к18, девопсы?
вовики
Варкрафты? игроки ВОВ?
В 200018? Пока не знаемс. Машину времени пока не изобрели...
>Админы в 2018м? Не видел таких.Да я в любом году сильно бы удивился, увидев админов или любых других IT-шегов на вашей говнокачке 8-о ...
Хипстеры никак не угомонятся с этими https и ssh, гонят насильно на них. Вы не понимаете что большинству хватит http и telnet?
> Хипстеры никак не угомонятся с этими https и ssh, гонят насильно на них. Вы не понимаете что большинству хватит http и telnet?Быренько мне копирни файло с десктопа "А" на сервак "Б".
man onionshare
man nc
Не быть тебе админом, братуха, не быть...
> man onionshare[root@srv etc]# man onionshare
No manual entry for onionshare
еще и команды с форума под рутом выполняет. Точно не быть админом
scp конечно же, все остальное от лукавого
ssh не перестает радовать, не столько хорошими новостями, сколько отсутствием плохих. Аминь.
А ЛибреССХ?
> А ЛибреССХ?очередной кусок навоза, сделанный ради самопиара, без умения и знания.
Такая же бесполезная и опасная хрень, как и libressl.
А либре и не начинал радовать.
CVE-2018-15473
Это не дыра
без поддержки openssl-1.1 не нужно.
Мамкины иксперты без поддержки openssl-1.1 не нужны
> Код ssh почищен от компонентов для выполнения в режиме setuid.
> Попытка запуска ssh теперь приводит к выходу с выводом ошибкип-сы, сэр :-(
ну почему они не могут просто убрать свои кривые клешни от кода, который им не нужен и которого не понимают?
Зато grep -i roaming все еще приносит пачку совпадений. Это они не выпилят, это ж "инновация", а этот ваш setuid - они вообще не знают уже, для чего был, но на всякий случай надо запретить.
Ну, зато через пятнадцать лет мы научились удалять переменные окружения (без которых лично я спал спокойнее). П-сы, вдвойне.
Вечно ты всем недоволен. Пойми, мир не вертится вокруг тебя. Свет клином на тебе не сошелся.
> Вечно ты всем недоволен. Пойми, мир не вертится вокруг тебя. Свет клином
> на тебе не сошелся.Тихо сам с собою … ?
мир семимильными шагами идет нaх..й... проектами рулят полоумные ди6илоиды, неспособные сложить два и два.немногочисленные хорошие разработки гробит либо тупая жадность авторов (как это, кстати, случилось с Йлоненом) либо еще более тупая жадность еще более тупых инвесторов, ничего не понимающих в том, во что они инвестируют, но желающих немедленных бабок.
Пипл хавает, ибо разбираться немодно, но новую версию непременно надо поставить, она же новая!Полагаю, вы не поняли ровно ничего из моего первоначального текста.
Уверен, что вы и сами ничего не поняли из своего первоначального текста. Куда уж нам, смертным
Подписываюсь под каждым Вашим словом.
> Подписываюсь под каждым Вашим словом.Да, незамутнённое "всё
> Подписываюсь под каждым Вашим словом.Да, незамутнённое и стоическое(*) "всё г--но" в достаточно связных, но длинных для прочтения целиком "текстах" вывывают... [эээ, как оно там у классиков-то]... "кучу lulz-ов у читателей".
Браво, бис, да.
(*) Тёплое, "человеческое" "я продавал астериск по 2лимона", проскользнувшее невзначай... не, не поколебало Имыдж.
> мир семимильными шагами идет нaх..й... проектами рулят полоумные ди6илоиды, неспособные
> сложить два и два.
> немногочисленные хорошие разработки гробит либо тупая жадность авторов (как это, кстати,
> случилось с Йлоненом) либо еще более тупая жадность еще более тупых
> инвесторов, ничего не понимающих в том, во что они инвестируют, но
> желающих немедленных бабок.
> Пипл хавает, ибо разбираться немодно, но новую версию непременно надо поставить, она
> же новая!
> Полагаю, вы не поняли ровно ничего из моего первоначального текста.Уважаемый, пох!
Если Вас не затруднит, пожалуйста, объясните (только коротко), для чего он (setuid) там был? А то ведь сейчас setuid это не стильно, не модно, и не молодежно (причем одновременно стало не :(
А заодно и про переменные окружения.Это не стёб. Просто хочется краткую инфу получить (лень искать, да и уровень не тот, придется пол Интернет-а изрыть и глубоко в тему погрузится, вдруг не вынырну ;)
Спасибо.
> Уважаемый, пох!
> Если Вас не затруднит, пожалуйста, объясните (только коротко), для чего он (setuid)
> там был? А то ведь сейчас setuid это не стильно, не
> модно, и не молодежно (причем одновременно стало не :(
> А заодно и про переменные окружения.
> Это не стёб.Да-а-а, лан, не стёб. Курс програмления и курс безопасного програмления, пусть и частями, втиснуть в [один!] коммент? Пусть попробует -- лулзов будет. Маэстро, арена жждёт.
>> Уважаемый, пох!
>> Если Вас не затруднит, пожалуйста, объясните (только коротко), для чего он (setuid)
>> там был? А то ведь сейчас setuid это не стильно, не
>> модно, и не молодежно (причем одновременно стало не :(
>> А заодно и про переменные окружения.
>> Это не стёб.
> Да-а-а, лан, не стёб. Курс програмления и курс безопасного програмления, пусть
> и частями, втиснуть в [один!] коммент? Пусть попробует -- лулзов
> будет. Маэстро, арена жждёт.Пары примеров использования. Где без setuid трудно обойтись. А так же, на какие переменные среды обратить внимание, что бы спасть спокойно.
Я в программирование и не лезу. Думаю без меня хороших программистов достаточно.
Хотя, где то в глубине души, мне кажется, что "было бы желание, придут к тебе и знания". То есть, не Боги горшки обжигают, и опыт сын ошибок трудных, все перемелет.Хотя ладно, видимо придется самому просвещаться с гуглом в помощниках.
>>> Уважаемый, пох!
>> будет. Маэстро, арена жждёт."" -- Серё-о-ожа, выходи! ""
> Пары примеров использования. Где без setuid трудно обойтись. А так же, на
> какие переменные среды обратить внимание, что бы спасть спокойно.Чтоб спать -- _не_ обращай на них.
> Хотя ладно, видимо придется самому просвещаться с гуглом в помощниках.
Один пример, смутно припоминаю -- какой-то суидный бинарь "крутили" то ли на переполнении в printf-е, толь на "путях" во врайтабль директории... Вот прям тут в новостях, правд-правд! Или то были два разных бинаря? Или не тут... "Ну, скажем Полуэкт!" Не, не помню. Пусть пох уями отбивается.
> Чтоб спать -- _не_ обращай на них.не получится - в современных линуксе и ближайших его конкурентах наиболее опасно то, что переменные окружения парсит еще ld-linux или местный аналог.
Причем он _уже_ исполняется с повышенными привиллегиями в этот момент. Твоему коду управление еще даже не передано, ибо некуда.собственно, последние cve glibc - оттуда как раз. оверинжинеренная херня, как обычно.
> Да-а-а, лан, не стёб. Курс програмления и курс безопасного програмления, пустьда не, тут больше про системное администрирование. Хотя, конечно, тоже безнадежно. Немет, похоже, очень своевременно утонула.
для чего, для чего - для того же, для чего он был у rsh.
В случае, когда мы доверяем админу удаленного хоста (например, потому что сам и есть тот админ) - это некоторая гарантия, что его запустил пользователь, которому на самом деле можно его запускать, и запустил именно ssh, а не открыл сокет как сумел (читай - это не ssh'шный червяк, который долбится на любой открытый инет-хост по 20 соединений в минуту). И _поэтому_ hosts.equiv auth на нем можно было делать, а не наоборот.> А то ведь сейчас setuid это не стильно, не модно, и не молодежно (причем одновременно стало не :(
"позикс ненужная фигня, юникс устарел, линукс ваш новый стандарт!" (тут вроде и open, но люди-то те же).
ну да, любители overenginering наделали много сложных и неочевидных граблей в ld, делающих запуск suid программ несколько более опасным, чем он был бы без этого, и решили что мир прекрасен, только suid надо запретить.
собственно, проблема openssh именно в этом же - хрен с ним, с suid, посмотрите на остальные "достижения" этой версии (кроме тех, где "мы удалили код, который наши слабые мозги не могут поддерживать"). И прикиньте, сколько лет этим проблемам (точно поболее десяти).
suid там был для открытия портов < 1024 при аутентификации в режиме rhosts+RSA.
поддержку ssh v1 выпилили где-то с год назад, до это оно лет 10 числилось устаревшим.
Люди чистят свой код от ненужного хлама, и это хорошо.
только почти весь _их_ код - ненужный хлам. И это плохо. Со времен околобсдшного форка хорошего сделано около нуля. Плохая копипаста из йлоненского проекта не в счет.Минимум дважды при этом улучшайки приносили опасные уязвимости, особенно хорошо им удалась история с "roaming". Но нет, этот мусор - свой, родной, до конца его выпиливать у них рука не поднимается.
Да, история с тривиально подбираемыми паролями к ключам - это тоже прекрасный улучшизм, а чо, есть же любимая (насквозь гнилая) openssl, зачем копаться в древнем коде, поддерживающем ssh-формат ключа, давайте все хранить в pem. И нет, это тоже не их код.
> Минимум дважды при этом улучшайки приносили опасные уязвимости, особенно хорошо им удалась
> история с "roaming". Но нет, этот мусор - свой, родной, до
> конца его выпиливать у них рука не поднимается.Звездишь, этот код _полностью_ удален в день раскрытия CVE.
главное - верить!
И ни в коем случае не уметь посмотреть в код.
> главное - верить!
> И ни в коем случае не уметь посмотреть в код.Главное меньше врать. Ну или показать выхлоп tar -xzOf openssh-7.8p1.tar.gz|grep -i roaming
% git clone git://anongit.mindrot.org/openssh.git
% grep -ri roaming ./openssh
Двоичный файл ./openssh/.git/objects/pack/pack-b8f3902eb188d69276ea4dd002235716285ccd04.pack совпадает
./openssh/readconf.c: { "useroaming", oDeprecated },
> % git clone git://anongit.mindrot.org/openssh.git
> % grep -ri roaming ./openssh
> Двоичный файл ./openssh/.git/objects/pack/pack-b8f3902eb188d69276ea4dd002235716285ccd04.pack
> совпадает
> ./openssh/readconf.c: { "useroaming", oDeprecated },Код, то который "удалять жалко"где???
То есть вам реально нужно, чтобы SSH-клиент открывал порт с номером до 1024, и sudo/doas вам не подходят?
> То есть вам реально нужно, чтобы SSH-клиент открывал порт с номером до
> 1024, и sudo/doas вам не подходят?Вы там полегше со своим юниксвеем. Договоритесь ведь неравёнч! До SSL через tunnel, терминалы через telnet, ключи чз gpg, проброс портов netcat-ом... Прям, как представлю - вдрогну. Никакого уважения к труду сабжев.
>> То есть вам реально нужно, чтобы SSH-клиент открывал порт с номером до
>> 1024, и sudo/doas вам не подходят?
> Вы там полегше со своим юниксвеем. Договоритесь ведь неравёнч! До
> SSL через tunnel, терминалы через telnet, ключи чз gpg, проброс портов
> netcat-ом... Прям, как представлю - вдрогну. Никакого уважения к
> труду сабжев.По-моему, на эту ночь кому-то пора заканчивать с алкоголем, чтобы утром не было мучительно стыдно.
> Вы там полегше со своим юниксвеем.угу, "линукс ваш новый стандарт!"
>> Вы там полегше со своим юниксвеем.
> угу, "линукс ваш новый стандарт!"Пока гербовый Hurd не готов, пишем на обычной.