Как поставить патч на OpenSSH, что бы исключить уязвимости CVE-2016-0777 и CVE-2016-0778
Проект OpenSSH сообщает о наличии бага уязвимости приватных ключей. Данный вид уязвимости идентифицирован. Как исправить уязвимость клиента OpenSSH на операционной системе Linux или Unix-подобной?
Серьезная проблема безопасности был найден и исправлен в программном обеспечении OpenSSH. Две уязвимости были обнаружены в OpenSSH 14 /Jan/2016. Общую уязвимость и риски проекта определяют следующие вопросы:
- Все версии OpenSSH с 5,4 до 7,1 являются уязвимыми CVE-2016-0777 и CVE-2016-0778
- CVE-2016-0777 — утечка информации (раскрытие памяти) может быть использована для перехвата конфиденциальных данных из памяти клиента, включая, например, частные ключи.
- CVE-2016-0778 — переполнение буфера (что приводит к утечке дескрипторов файлов), может быть использована уязвимость SSH, из-за ошибки в коде только при определенных условиях (не конфигурации по умолчанию ), при использовании ProxyCommand, ForwardAgent или ForwardX11.
В этой статье вы узнаете, как исправить в OpenSSH клиенте и сервере ошибки CVE-2016-0777 и CVE-2016-0778 Linux или Unix-подобной системах.
Как определить OpenSSH версию в системе Linux или Unix-подобной?
Синтаксис выглядит следующим образом CentOS / RHEL / SL:
1 |
yum list installed openssh\* |
Синтаксис выглядит следующим образом на Debian / Ubuntu Linux:
1 2 3 |
dpkg --list | grep openssh ### или ### dpkg --list openssh\* |
Результат команды
Список Linux дистрибутивов имеющих уязвимость в Openssh
- CentOS Linux 7.x
- RHEL (RedHat Enterprise Linux) 7.x
- Debian Linux (squeeze, wheezy, jessie, stretch, and sid release)
- Ubuntu Linux 14.04 LTS
- Ubuntu Linux 12.04 LTS
- Ubuntu Linux 15.10
- Ubuntu Linux 15.04
- SUSE Linux Enterprise Server 12 (SLES 12)
- SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP1)
- SUSE Linux Enterprise Server 11 Service Pack 4 (SLES 11 SP4)
- SUSE Linux Enterprise Server 11 Service Pack 3 (SLES 11 SP3)
- openSUSE 13.2
- openSUSE Leap 42.1
Исправлений №1: Как устранить уязвимость CVE-2016-0777
ведите команду в соответствии с вашей ОС Linux или Unix:
OpenSSH на FreeBSD
1 2 3 |
## Необходимо быть root для выполнения команды ## sudo -s echo 'UseRoaming no' >> /etc/ssh/ssh_config |
Openssh on Linux
1 2 |
## запуск от root с использованием sudo ## echo 'UseRoaming no' | sudo tee -a /etc/ssh/ssh_config |
Openssh on Apple Mac OS X
1 2 |
## запуск обычным пользователем ## echo "UseRoaming no" >> ~/.ssh/config |
Fix openssh on OpenBSD
1 2 |
## запуск от root ## echo -e 'Host *\nUseRoaming no' >> /etc/ssh/ssh_config |
Все из вышеперечисленных команд добавиляют опцию UseRoaming /etc/ssh/ssh_config или ~/.ssh/config конфигурационный файла SSH клиента. Конечно, вы можете использовать эту опцию непосредственно во время сеанса:
1 2 |
ssh -oUseRoaming=no user@server1.system-admins.ru ssh -oUseRoaming=no root@server2.system-admins.ru |
Исправление № 2: Обновите OpenSSH, чтобы исправить CVE-2016-0778
Чтобы исправить CVE-2016-0777 просто обновить все свои пакеты или как минимум обновите OpenSSH-сервер и клиент:
Debian/Ubuntu/Mint Linux
Для обновления openssh используйте следующие команды:
1 2 |
sudo apt-get update sudo apt-get upgrade |
или
1 2 |
sudo apt-get update sudo apt-get install openssh-client openssh-server openssh-sftp-server |
SL/RHEL/CentOS Linux
Используйте команду yum
1 |
sudo yum update |
Fedora Linux
Используйте команду dbf
1 |
sudo dnf update |
FreeBSD unix user
1 2 |
freebsd-update fetch freebsd-update install |
SUSE Enterprise Linux
SUSE Linux Enterprise Server 12-SP1:
1 |
zypper in -t patch SUSE-SLE-SERVER-12-SP1-2016-85=1 |
SUSE Linux Enterprise Server 12:
1 |
zypper in -t patch SUSE-SLE-SERVER-12-2016-85=1 |
SUSE Linux Enterprise Desktop 12-SP1:
1 |
zypper in -t patch SUSE-SLE-DESKTOP-12-SP1-2016-85=1 |
SUSE Linux Enterprise Desktop 12:
1 |
zypper in -t patch SUSE-SLE-DESKTOP-12-2016-85=1 |
1 |
zypper patch |
openSUSE Leap 42.1
1 2 |
zypper in -t patch openSUSE-2016-38=1 zypper patch |
Нужно ли перезагружать сервер после установки?
Нет не нужно.
Как проверить, применились ли обновления для OpenSSH?
1 2 |
ssh -v user@server1 ssh -v root@server2.system-admins.ru |
Сообщение Roaming not allowed by server, говорит о том, что ваша система еще уязвима. Если вы выполните предыдущие рекомендации и установите обновление, то не увидите такого сообщения.
у Вас есть сервер и вы не уверены в своих возможностях администрирования, мы предлагаем услуги по поддержке серверов Linux/Unix ОС, подробнее в контакты.