Как мне бороться со всеми этими атаками методом грубой силы?

Как мне бороться со всеми этими атаками методом грубой силы?

У меня есть 3 выделенных сервера, все под управлением CentOS, которые физически расположены в Канаде.

На новейшем сервере cPHulk начал обнаруживать (и заносить в черный список) неудачные попытки входа. Это началось в тот день, когда сервер был запущен в сеть. С тех пор я получаю от cPHulk ежедневно 15-30 писем, сообщающих мне, что было «большое количество неудачных попыток входа».

Я заметил, что все попытки исходили из Китая, поэтому я установил csf и полностью заблокировал Китай. Пару дней спустя атаки возобновились, но из других стран. Пока что я заблокировал четыре страны из отчаяния, но я знаю, что это нелегитимное решение. Теперь они исходят из стран, которые я не могу позволить себе заблокировать, потому что я могу ожидать легитимного трафика из этих стран.

Я также получаю атаки с IP-адресов, которые, похоже, не связаны с какой-либо страной, как на этом снимке экрана:

http://i.imgur.com/LN6qmfK.png

Я не беспокоюсь, что они смогут угадать пароль, поскольку используемый мной пароль очень надежный.

Итак, мои вопросы:почему они нацелились на мой сервер и как они так быстро его нашли? Как мне смягчить эти попытки входа, не блокируя целые страны? И откуда этот IP на скриншоте?Единственное, что я предполагаю, это то, что мне каким-то образом присвоили IP-адрес с ужасной репутацией, но мой опыт и знания администратора сервера немного ограничены, поэтому я даже не знаю, насколько это правдоподобно.

решение1

Как сказал Майкл Хэмптон, они [TM] делают это со всеми. Их скрипты обнаружили IP-адрес, прослушивающий порт, и они бросают туда имена пользователей и пароли, чтобы посмотреть, приживется ли что-нибудь. Этотпредставляет собой карту реальных атак.

Если вас беспокоят электронные письма, вы можете вместо этого внести в белый список разрешенные IP-адреса для входа и настроить отправку вам электронного письма каждый раз, когда кто-то входит в систему с сайта, которого нет в белом списке.

Что касается IP на скриншоте,0.42.0.0:

Адрес 0.0.0.0 может использоваться только как адрес исходящего пакета, когда компьютер изучает, какой IP-адрес ему следует использовать. Он никогда не используется как адрес назначения. Адреса, начинающиеся с "0.", иногда используются для широковещательных рассылок на напрямую подключенные устройства.

Если в журналах вы видите адреса, начинающиеся с «0», вероятно, они используются в вашей сети, которая может представлять собой всего лишь компьютер, подключенный к домашнему шлюзу.

Этот блок был назначен IETF, организацией, которая разрабатывает интернет-протоколы, в стандартном документе RFC 1122 и дополнительно задокументирован в документе «Наиболее современная практика» RFC 6890. IANA указана в качестве регистратора, чтобы было ясно, что эта сеть не назначена какой-либо одной организации.

Эти документы можно найти по адресу: http://datatracker.ietf.org/doc/rfc1122 http://datatracker.ietf.org/doc/rfc6890

решение2

Я удивлен, что никто не поднял эту тему, но радикальный способ защитить себя от этих очень распространенных атак методом перебора — это настроить демона, блокирующего порты, напримерknockd. Таким образом, если злоумышленник не просканирует вашу машину с помощью определенной последовательности портов в правильном порядке, он даже не найдет открытый порт SSH. Для законных пользователей многие клиенты SSH поддерживают это и могут запускать правильную последовательность портов перед подключением к серверу ssh.

Но очевидно, что нетривиальная аутентификация с работающим джейлом fail2ban и соответствующим временем поиска и бана достаточна почти во всех случаях.

решение3

Если речь идет только о sshd- посмотрите например здесьhttps://unix.stackexchange.com/questions/21639/internet-ssh-server-security-considerations.

Я должен полагаться на использование имени пользователя и пароля, а не ключей. Для большей безопасности я запускаю sshdна нестандартном порту, который, кажется, препятствует примерно > 99% атак. Затем установите LoginGraceTimeв своих конфигурациях sshd, скажем, 10 Это означает, что после 3 неудачных попыток следующая попытка может быть сделана только через 10 секунд, что дает любой попытке аутентификации 10 секунд до закрытия соединения. Так что брутфорс больше не нуженчтомощный :) . Также не забудьте установить PermitRootLogin no.

Связанный контент