Русский English Тэги View Sergey Zolotaryov's profile on LinkedIn Вход
Простая защита от root брут форс
Постоянная ссылка 02-05-2016 anydoby java

Как только я открыл порт 22 на своём сервере (см. предыдущую статью про Raspberry Pi 3), так сразу обнаружил в логе sshd вот такие штуки:


May  1 07:22:39 anydoby sshd[17190]: Failed password for root from 183.3.202.184 port 24525 ssh2
May  1 07:22:43 anydoby sshd[17190]: message repeated 2 times: [ Failed password for root from 183.3.202.184 port 24525 ssh2]
May  1 07:22:44 anydoby sshd[17190]: Received disconnect from 183.3.202.184: 11:  [preauth]
May  1 07:22:44 anydoby sshd[17190]: Disconnected from 183.3.202.184 [preauth]
May  1 07:22:44 anydoby sshd[17190]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=183.3.202.184  user=root
May  1 07:22:46 anydoby sshd[17206]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=183.3.202.184  user=root
May  1 07:22:48 anydoby sshd[17206]: Failed password for root from 183.3.202.184 port 61274 ssh2
May  1 07:22:52 anydoby sshd[17206]: message repeated 2 times: [ Failed password for root from 183.3.202.184 port 61274 ssh2]
May  1 07:22:53 anydoby sshd[17206]: Received disconnect from 183.3.202.184: 11:  [preauth]
May  1 07:22:53 anydoby sshd[17206]: Disconnected from 183.3.202.184 [preauth]
May  1 07:22:53 anydoby sshd[17206]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=183.3.202.184  user=root
May  1 07:22:54 anydoby sshd[17222]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=183.3.202.184  user=root
May  1 07:22:56 anydoby sshd[17222]: Failed password for root from 183.3.202.184 port 44434 ssh2
May  1 07:23:02 anydoby sshd[17222]: message repeated 2 times: [ Failed password for root from 183.3.202.184 port 44434 ssh2]
May  1 07:23:02 anydoby sshd[17222]: Received disconnect from 183.3.202.184: 11:  [preauth]
May  1 07:23:02 anydoby sshd[17222]: Disconnected from 183.3.202.184 [preauth]

Кто-то из детей балуется старым бояном, не зная, что по-умолчанию в Ubuntu, например, у юзера root и пароля-то нет. Ничего опасного нету в таких попытках, но всё-таки неприятно, что засоряется лог и уменьшается ресурс SD карточки на ненужные записи.

Полечить такое довольно просто. Если у вас не стоит iptables, то их нужно поставить:


apt-get install iptables

Далее добавляем примерно такие вот правила:


iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent   --update --seconds 60 --hitcount 4 -j DROP

iptables таким образом будет отрубать соединения от IP, с которого за последние 60 секунд пришло более 4 новых попыток подключиться к порту 22. После этих команд лог расти сразу перестал.

Теперь надо это запомнить навсегда:


iptables-save > /etc/iptables.rules

и добавлять правила при запуске интерфейса eth0. Проще всего вставить вот такую строку в /etc/network/interfaces сразу после инициализации интерфейса:


auto eth0
iface eth0 inet dhcp
        pre-up iptables-restore < /etc/iptables.rules

Добавить комментарий

Предыдущая статья Дешёвый Java/Tomcat сервер на RaspberryPi3 Следующая статья ConcurrentModificationException в java.util.ServiceLoader