Страницы

Поиск по вопросам

вторник, 26 ноября 2019 г.

Как обезопасить сервер от брутфорс авторизации / подбора пароля?


Файл /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 то и превентивно защищены от плохих айпишников.

Комментариев нет:

Отправить комментарий