Старая серверная версия SSH, бегущая за обновлением

У нас есть сервер 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/

Спасибо

-1
задан 19 October 2017 в 19:39

1 ответ

Это - классическое I-want-LTS-but-I-don't-want-LTS логическое прерывание.

Одна цель LTS Ubuntu состоит в том, чтобы предоставить Вам устойчивость. Ubuntu делает это, не увеличивая версии программного обеспечения. Когда Вы решаете использовать LTS, Вы блокируете себя в те версии без изменений в течение двух лет.

(Если это не то, что Вы хотите, затем не используйте LTS.)

НО существует одно крошечное исключение:Обновления системы безопасности. Служба безопасности Ubuntu выпускает обновления системы защиты, не наталкиваясь к следующему восходящему выпуску (который нарушил бы LTS, конечно). Вместо этого они исправляют исходный код.

Таким образом, когда уязвимость в OpenSSH 7.2 обнаружена, две вещи происходят:

  1. Веб-сайт OpenSSH объявляет, что все должны сразу обновить до нового OpenSSH 7.3

  2. Однако Служба безопасности Ubuntu продвигает OpenSSH 7.2p2-4ubuntu2.2 Вам.

С точки зрения безопасности они идентичны - весь одинаковый, уязвимости закрываются в обоих. Ваш аудитор безопасности просто не понимает это.

У Вас есть три варианта:

  1. Палка с LTS: можно понять, что аудитор просто дезинформирован, проведите немного исследования в Службе безопасности Ubuntu, и в конечном счете ничего не сделайте..., потому что никакая дополнительная операция защиты не на самом деле необходима.

  2. Следуйте за Аудитором: можно спрыгнуть из LTS к нормальным 6-месячным релизам Ubuntu. Это может означать большую дополнительную работу каждые шесть месяцев, если обновление версии изменяет Ваш рабочий процесс или производственные системы.

  3. Создайте Frankensystem: это хуже из обоих миров, более опасно, и тяжелее поддержать. Можно попытаться установить более новые версии OpenSSH от PPAs или более новых релизов Ubuntu на более старый LTS. Мог бы повредить Вашу систему, не мог бы. Мог бы повредить будущие обновления и обновления системы защиты, не мог бы.

3
ответ дан 2 November 2019 в 02:37

Другие вопросы по тегам:

Похожие вопросы: