Уязвимость в SSH. FIX-инструкция
Описание
В июле была обнаружена очередная уязвимость в SSH, которая позволяла ботам авторизоваться на сервере и заменить сервер и клиент SSH своими файлами, а потом сканить интернет на предмет уязвимых серверов.
Инструкция
Это краткая инструкция о том, как обезопасить себя от этой проблемы и решить ее если вы уже заражены вирусом.
Проверим, заражен ли ваш сервер.
1 Проверим размер ssh-сервера и клиента.
#stat `which sshd`
Размер сервера должен быть не более, чем 1 мегабайт. В зависимости от версии размер будет варьироваться.
Centos 6
[root@sh ~]# stat `which sshd` File: `/usr/sbin/sshd' Size: 571224 Blocks: 1120 IO Block: 4096 regular file
Debian 7
root@debian:~# stat `which sshd` Файл: «/usr/sbin/sshd» Размер: 521576 Блоков: 1024 Блок В/В: 4096 обычный файл
Если размер отличается более чем в полтора раза, это признак зараженности сервера.
2 Проверим признаки подмены ssh-клиента. Помимо огромного размера клиента, в системе может быть файл /usr/include/netda.h В него вирус ворует пароли от пользователей
root@victory:~# cat /usr/include/netda.h cat: /usr/include/netda.h: Нет такого файла или каталога
Всем пользователям, которых найдете там, необходимо незамедлительно сменить пароли
Лечение
1 Закроем порт ssh добавив в фаеврол свои IP по примеру.
-A INPUT -s 17.19.8.17/32 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j DROP
2 Исправим атрибуты на исполняемые файлы
/usr/sbin/sshd /usr/bin/ssh
Для для этого выполните команды:
chattr -ia /usr/sbin/sshd chattr -ia /usr/bin/ssh
Затем, выполните переустановку пакетов openssh
Debian:
aptitude reinstall openssh-server aptitude reinstall openssh-client
Centos
yum reinstall openssh-server yum reinstall openssh-client
После проделанных операций убедитесь, что сервер и клиент весят около полумегабайта, а не в 2.5 раза больше.
Также, при наличии, удалите папку /usr/src/info - в ней лежит вирус и чистилка логов. А также, проверьте /tmp/ на предмет подозрительных файлов.
Рекомендации
1 Для обеспечения надлежащей безопасности, закройте все порты, кроме необходимых.
2 Доступ к ssh разрешите только для своих IP
3 Отключите вход по ssh от имени root.
4 Регулярно обновляйте софт на серверах.