У нас есть сервер Ubuntu, работающий 16.04, который используется для клиентского веб-сайта. Клиенту недавно сделали проверку защиты, и одна из рекомендаций состояла в том, чтобы обновить нашу версию OpenSSH, по крайней мере, к версии 7.4, но 16.04 прибывает предварительно установленный с 7,2. Я пытался просто сделать, прямое обновление, но 7.2 является последним доступным выпуском, таким образом, мы теперь пытаемся установить 7.6 вручную.
Я загрузил и установил 7.6 хорошо, и это, кажется, хорошо работает:
sshd
OpenSSH_7.6p1, OpenSSL 1.0.2g 1 Mar 2016
Однако при соединении удаленно или даже просто работая ssh -v localhost
это соединяет использование старых 7.2:
root@server-new:~# ssh -v localhost
...
debug1: Local version string SSH-2.0-OpenSSH_7.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2
Ubuntu-4ubuntu2.2
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 pat OpenSSH* compat 0x04000000
...
Это - в основном процесс, кроме которого я прошел, с 7,6 пакетами: https://gist.github.com/techgaun/df66d37379df37838482c4c3470bc48e
То, что я заметил, - то, что каталог установки отличается теперь, это было /usr/sbin/ssh
но это теперь /usr/local/sbin/ssh
root@server-new:~# which sshd
/usr/local/sbin/sshd
root@server-new:~# which ssh
/usr/local/bin/ssh
Я действительно обновлял и/etc/init.d/ssh и/etc/init/ssh.conf для использования нового пути, но даже после перезапуска это, кажется, не имеет много значения.
Что мы делаем неправильно? Я предполагаю, что мы просто должны указать для использования установки SSH на запуске, но я не вижу как.
Я нашел набор других потоков вокруг, но ничто, кажется, не помогает, например.
https://serverfault.com/questions/310384/problem-with-upgrading-openssh-to-the-latest-version
Обновить сервер OpenSSH в 12,04?
https://forums.cpanel.net/threads/whats-it-take-to-update-to-openssh-5-1-or-higher.170818/
Спасибо
Это - классическое I-want-LTS-but-I-don't-want-LTS логическое прерывание.
Одна цель LTS Ubuntu состоит в том, чтобы предоставить Вам устойчивость. Ubuntu делает это, не увеличивая версии программного обеспечения. Когда Вы решаете использовать LTS, Вы блокируете себя в те версии без изменений в течение двух лет.
(Если это не то, что Вы хотите, затем не используйте LTS.)
НО существует одно крошечное исключение:Обновления системы безопасности. Служба безопасности Ubuntu выпускает обновления системы защиты, не наталкиваясь к следующему восходящему выпуску (который нарушил бы LTS, конечно). Вместо этого они исправляют исходный код.
Таким образом, когда уязвимость в OpenSSH 7.2 обнаружена, две вещи происходят:
Веб-сайт OpenSSH объявляет, что все должны сразу обновить до нового OpenSSH 7.3
Однако Служба безопасности Ubuntu продвигает OpenSSH 7.2p2-4ubuntu2.2 Вам.
С точки зрения безопасности они идентичны - весь одинаковый, уязвимости закрываются в обоих. Ваш аудитор безопасности просто не понимает это.
У Вас есть три варианта:
Палка с LTS: можно понять, что аудитор просто дезинформирован, проведите немного исследования в Службе безопасности Ubuntu, и в конечном счете ничего не сделайте..., потому что никакая дополнительная операция защиты не на самом деле необходима.
Следуйте за Аудитором: можно спрыгнуть из LTS к нормальным 6-месячным релизам Ubuntu. Это может означать большую дополнительную работу каждые шесть месяцев, если обновление версии изменяет Ваш рабочий процесс или производственные системы.
Создайте Frankensystem: это хуже из обоих миров, более опасно, и тяжелее поддержать. Можно попытаться установить более новые версии OpenSSH от PPAs или более новых релизов Ubuntu на более старый LTS. Мог бы повредить Вашу систему, не мог бы. Мог бы повредить будущие обновления и обновления системы защиты, не мог бы.