Файл /var/log/messages забит сообщениями типа:
Jun 5 18:41:02 test saslauthd[740]: do_auth : auth failure: [user=root
[service=] [realm=] [mech=pam] [reason=PAM auth error]
Jun 5 18:41:06 test saslauthd[741]: do_auth : auth failure: [user=oracle] [service=] [realm=] [mech=pam] [reason=PAM auth error]
Jun 5 18:41:07 test saslauthd[741]: do_auth : auth failure: [user=guest] [service=] [realm=] [mech=pam] [reason=PAM auth error]
Jun 5 18:41:09 test saslauthd[738]: do_auth : auth failure: [user=mysql] [service=] [realm=] [mech=pam] [reason=PAM auth error]
Jun 5 18:41:12 test saslauthd[737]: do_auth : auth failure: [user=billing] [service=] [realm=] [mech=pam] [reason=PAM auth error]
Я так понимаю, что пытаются подобрать логин/пароль. Но я не могу найти какой IP блочить. Как вычислить IP?
Ответы
Ответ 1
апдейт с учетом новой реальности:
посмотрите на принятый на днях пакетик законов Яровой, и попрощайтесь с безопасностью ваших пользователей. И ваших серверов. Держитесь там. Здоровья.
1) сканируют вас (обычно) китайские и русские ботнеты, поэтому айпишников будет УЙМА. Увы. Руками вы их не отфильтруете.
Для серверов это не столько атака (разовый, не очень долгий всплеск активности
целью взломать/заддосить), сколько постоянная и непрекращающася борьба вашего открытог
всему миру сервера с зараженными компьютерами всего мира. Или целыми подсетями (как в моем примере с боевого серва ниже), которые просто принципиально целиком принадлежат не очень хорошим людям. Как вирусы и бактерии для вашего организма. Только у вашего сервера нет иммунной системы :-)
2) прочитайте про - и поставьте - fail2ban - вкратце - он смотрит в логи и при опеределенном количестве неудачных авторизаций временно блокирует ip в iptables.
3) смените дефолтный порт ssh с 22 на что-нибудь другое, подавляющее большинств
ботнетов смотрит на дефолтные порты.
4) обязательно запретите root-доступ к серверу. логиньтесь со своим юзернеймом
подавляющее большинство ботнетов сканит на root-доступ
5) желательно (а может и обязательно, смотря насколько вам это важно), уберите возможност
логиниться через пароль, только через ssh-ключ. ssh-ключ зашифруйте с паролем и забэкапьте несколько раз - на флэшку или cd. И спрячьте. В нескольких разных местах - для физической безопасности.
6) если у вас проблемы с текущей властью (в чем я сомневаюсь ) и ваш хостинг находитс
в России, ваши проблемы с безопасностью возрастают на порядок, но, в целом, решаем
(до определенных пределов). Впрочем, если у вас успешный бизнес, который можно отжать/убить с помощью доступа к вашим серверам, у вас, скорее всего, рано или поздно будут проблемы.
объяснение: небольшая взяточка или угроза и все ваши пароли/данные перехватываютс
через провайдера связи, через хостера и т.д. условно говоря, доступ к вашим данным может получить любой упорный участковый или гэбешник, которому вы просто не понравились.
и да, tcpdump вам особо не нужен для поиска таких попыток логина. есть /var/log/auth.log, он показывает IP-адреса (собственно, fail2ban и туда тоже смотрит)
вот кусок лога fail2ban:
2016-06-06 09:18:07,572 fail2ban.actions: WARNING [ssh] Ban 13.76.250.141
#вот сволочь
2016-06-06 09:24:27,945 fail2ban.actions: WARNING [ssh] Ban 121.18.238.19
2016-06-06 09:25:54,061 fail2ban.actions: WARNING [ssh] Unban 139.129.192.152
#подсеть та же
2016-06-06 09:41:23,212 fail2ban.actions: WARNING [ssh] Unban 121.18.238.31
2016-06-06 10:03:46,795 fail2ban.actions: WARNING [ssh] Ban 58.218.204.32
2016-06-06 10:05:09,915 fail2ban.actions: WARNING [ssh] Ban 82.78.247.40
2016-06-06 10:21:53,956 fail2ban.actions: WARNING [ssh] Ban 81.198.66.141
2016-06-06 10:22:00,971 fail2ban.actions: WARNING [ssh] Unban 114.55.57.177
#неприятные люди
2016-06-06 10:51:44,671 fail2ban.actions: WARNING [ssh] Unban 121.18.238.6
2016-06-06 10:56:19,927 fail2ban.actions: WARNING [ssh] Unban 58.218.204.80
#снова выходят на связь
2016-06-06 11:38:05,327 fail2ban.actions: WARNING [ssh] Ban 121.18.238.6
2016-06-06 11:51:40,250 fail2ban.actions: WARNING [ssh] Unban 49.128.240.33
2016-06-06 11:58:28,641 fail2ban.actions: WARNING [ssh] Ban 58.218.204.80
2016-06-06 12:17:55,667 fail2ban.actions: WARNING [ssh] Unban 116.31.116.35
2016-06-06 12:29:42,528 fail2ban.actions: WARNING [ssh] Ban 120.92.4.184
2016-06-06 13:43:36,826 fail2ban.actions: WARNING [ssh] Ban 222.186.21.143
2016-06-06 13:47:52,173 fail2ban.actions: WARNING [ssh] Ban 5.226.98.21
2016-06-06 13:52:22,402 fail2ban.actions: WARNING [ssh] Ban 120.76.76.31
2016-06-06 13:58:11,771 fail2ban.actions: WARNING [ssh] Ban 120.76.42.147
2016-06-06 14:24:01,346 fail2ban.actions: WARNING [ssh] Ban 221.229.162.7
#и снова те же гости
2016-06-06 14:58:44,162 fail2ban.actions: WARNING [ssh] Ban 121.18.238.11
#гвозди бы делать из этих людей, не было б больше этих людей
2016-06-06 15:14:49,197 fail2ban.actions: WARNING [ssh] Unban 121.18.238.12
2016-06-06 15:19:49,488 fail2ban.actions: WARNING [ssh] Unban 178.239.180.101
2016-06-06 15:22:01,653 fail2ban.actions: WARNING [ssh] Unban 188.99.247.231
2016-06-06 15:42:37,835 fail2ban.actions: WARNING [ssh] Unban 155.133.41.5
здесь вы можете видеть, как fail2ban запрещает доступ к порту ssh с айпишников, которые попытались залогиниться несколько раз неудачно.
p.s. fail2ban забанит доступ к порту ssh, а не просто "забанит ip", не ко всем портам
т.е. с этого IP по прежнему можно будет зайти на сайт (порт 80), но при попытке соединиться через ssh на порт 22 - подходящий ip встретит бан в iptables (я к ответам выше, где пугают "вы не можете банить целые сети")
p.p.s. о ситуации, когда вашу собственную сеть fail2ban забанил на несколько часов:
это лучше, чем взлом сервера
залогиньтесь через vpn/с рабочей машины/с мобильного модема
у облачных сервисов и нормальных хостеров есть интерфейс доступа к серверу чере
браузер (по сути дела, через браузер вы обращаетесь к KVM switch/локальной сети вашего сервера в датацентре, а ее никогда не забанят), и если вам СРОЧНО нужен доступ к ssh, то вы всегда сможете зайти через браузер и разбанить себя.
если вы можете работать с tcpdump/iptables, то сможете настроить и fail2ban
p.p.p.s
если у вас ubuntu, обязательное: https://help.ubuntu.com/community/AutomaticSecurityUpdates - автоматические апдейты софта по безопасности.
p.p.p.p.s.
если вы не просто защищаетесь от ботов и подбора паролей, очень рекомендую попробовать https://github.com/BinaryDefense/artillery
Ответ 2
Мой собственный опыт - достаточно сменить порт на нестандартный, как подобные запис
исчезают практически полностью. Большинство таких записей вызваны от попыток пробитьс
к вам на сервер на авось. Это как хулиганы, проходящие мимо двери, и наугад дёргающи
ручку - а вдруг открыто. Но стоит поместить дверь на 2 метра выше - и никто прыгать к ней не станет. Если образно. А если не образно - то боты как правило не занимаются перебором портов, лишь перебором паролей. Так что самое минимальное что можно сделать, не прибегая к сторонним инструментам - изменить номер порта. Хотя, конечно, если кто-то заинтересуется именно вашим сервером - это не поможет.
Ответ 3
как вариант можно рассмотреть denyhosts
Принцип похожий, если будете подключены к базам denyhosts то и превентивно защищены от плохих айпишников.
Комментариев нет:
Отправить комментарий