Наблюдая за серверами и учитывая, что практически ежеминутно на каждый сервер, доступный в инетернете, происходит атака подобора пароля, очень интересно наблюдать за этими злодействиями в системных журналах. Достаточно применить вот такой простой фильтр чтобы отобрать из журнала авторизации все неудачные попыки подключения к серверу
sudo grep ssh /var/log/auth.log |grep 'Invalid user'|awk '{print $8}'|sort|uniq -c|sort -rn|head -20
418 admin
160 oracle
71 postgres
64 test
62 nagios
31 support
31 git
29 user
27 teamspeak
25 minecraft
24 sandeep
23 jenkins
19 ftpuser
17 web
17 mythtv
17 hadoop
16 webmaster
16 sanjay
16 guest
15 vnc
Тут видно, что при всём богатстве выбора имён для OS пользователей сервера, злочинцы довольно часто используют имена созвучные с названием служб котоые могут быть запущены на сервере, например при создании git репозитария кажется логичным создать и пользователя git, так же с vnc, postgres и тд., но не имея возможность знать имена пользователей ОС сервера, расчитывауют использовать эту беспечность и подобрать пароль. По сути они напоминают взломщиков, которые перебирая свои отмычки вынуждены их постоянно подпиливать и пробовать снова.
Для того чтобы обезопасить себя от этих злочинцев необходимо как минимум сделать две вещи:
- Запретить логин root пользователя на сервер, добавив такую опцию в /etc/ssh/sshd_config
PermitRootLogin without-password
- Установить и настроить службу слежения за подключениями и блокировкой неудачников в фаерволе
aptitude search deny
i denyhosts
Rcnfnb
Кстати, на серверах которые дольше всех использует denyhosts, постоянно подключены к сети и имеют статический адрес количество подобных атак в разы меньше
sudo grep ssh /var/log/auth.log* |grep 'Invalid user'|awk '{print $8}'|sort|uniq -c|sort -rn| head25 admin
8 test
6 support
4 ghost
3 ubnt
3 pi
3 ashish
3 arun
3 aman
3 ajay
Видимо злочинцы осознанно сканируют сети динамических адрес в поисках серверов админов в махеровых халатах