Возможные дубликаты:
Это нормально - получать сотни попыток взлома в день?
Что мне делать, если я обнаружу, что кто-то пытается подобрать пароль к моему серверу?
У меня есть коробка Ubuntu 10.04 VPS. Он был установлен в течение нескольких дней и работает только ssh, postfix / dovecot. Сервер предназначен для использования в моих личных целях, таких как электронная почта и разработка RoR. Мой /var/log/auth.log
уже примерно 300 КБ и полон таких сообщений:
Jul 4 03:18:36 artemis sshd[360]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=66.96.201.81 user=root
Jul 4 03:18:38 artemis sshd[360]: Failed password for root from 66.96.201.81 port 58040 ssh2
Jul 4 03:18:39 artemis sshd[362]: reverse mapping checking getaddrinfo for 66-96-201-81.static.hostnoc.net [66.96.201.81] failed - POSSIBLE BREAK-IN ATTEMPT!
Есть и другие случайные пользователи, с которыми они пытались войти, например user
, testftp
, ftp
, samba
, postgres
, admin
, alex
и так далее. Я произвольно сделал whois для некоторых IP-адресов, и они, похоже, принадлежат Китаю, Уругваю, Эквадору и некоторым другим странам. Насколько распространены такие попытки взлома методом грубой силы? Мне нужно волноваться? Стоит ли мне устанавливать брандмауэр или принимать какие-либо другие меры безопасности?
Вы не должны беспокоиться об этих попытках, поскольку они очень распространены, что вы можете (и должны сделать ИМХО), чтобы снизить риск взлома вашего сервера, следующее:
Используйте брандмауэр, если можете, вы должны разрешить только своим IP-адресам подключаться к частным службам, какими бы они ни были. В любом случае настройте свой брандмауэр, чтобы блокировать наиболее распространенные ложные / странные пакеты (перенаправление ICMP, поддельные диапазоны IP-адресов ...) и разрешать соединения только через нужные вам порты и протоколы.
Используйте ssh в своих интересах, используйте ssh-ключи в качестве единственного метода аутентификации и защитите свой закрытый ключ паролем, так что атаки по словарю / брутфорсу больше не имеют шансов. Если вы не можете использовать ключи, используйте директиву Match с Address, чтобы дополнительно ограничить, какая учетная запись может входить с общедоступных IP-адресов.
Посмотри на fail2ban, этот инструмент может динамически изменять правила брандмауэра, чтобы блокировать слишком много попыток с одного и того же IP-адреса, будьте осторожны, вы можете стать собственной жертвой :)
Больше информации о fail2ban Вот
У меня была такая же проблема, как и у вас. Множественные атаки SSH и атаки по словарю. Я бы предложил использовать подход IPTables - либо с правилами, созданными вручную, либо с использованием такого пакета, как fail2ban или denyhosts. Что-то похожее на pam_shield, но его использование немного более ограничено.
Я бы предложил SSH-вход без пароля (то есть на основе сертификата / ключа), а также ограничение адресов, с которых можно выполнять вход по SSH.
Пример некоторых правил IPTables, которые можно использовать для этой цели, можно найти по адресу: http://www.thatsgeeky.com/2011/01/limiting-brute-force-attacks-with-iptables/
То, что вы замечаете, очень распространено - пока у вас есть сервер в общедоступном Интернете, люди будут пытаться взломать его. Следовательно, обновление вашего кода и программных пакетов является обязательным! И да, использование хорошего межсетевого экрана тоже важно.
Я использую программу под названием Конфигурация безопасности сервера (CSF). Это хорошо, потому что он автоматически регистрирует эти вещи, и вы можете настроить его на постоянную блокировку определенного IP-адреса после стольких неудачных попыток SSH.
Еще одна практика, которую я делаю, - это уменьшить количество «Максимальное количество неудачных попыток» в файле sshd_config.