Назад | Перейти на главную страницу

Предотвращение атак грубой силы

Каковы лучшие инструменты для предотвращения атак грубой силы на ssh и FTP на серверах Linux?

Проверьте fail2ban. http://www.fail2ban.org/wiki/index.php/Main_Page это очень удобно для предотвращения атак грубой силы на серверах http, ftp, stmp и т. д.

Это не всем на вкус, но мне очень нравится DenyHosts за широкую блокировку автоматических зондов для sshd:

http://denyhosts.sourceforge.net/

Я использую его в очень параноидальном режиме, если вы его запутаете - вы получите запись в hosts.deny с префиксом ALL :, а не только с SSH: one. Вы можете разрешить denyhosts периодически очищать запрещенный список, если хотите.

Советы по SSH:
- Установить PermitRootLogin нет
- Установить MaxStartups 1
- Установите MaxAuthTries 3 (или меньше)

Это для аутентификации по паролю. Я бы избегал атаки грубой силы с использованием RSAAuthentication с открытыми ключами с хорошей парольной фразой, доступной только для тех пользователей, которых я хочу.

Также измените порт по умолчанию, используемый для SSH, и используйте другой порт, отличный от 22 в свободном доступном диапазоне, и установите iptables для фильтрации входящего трафика.

Вы также можете использовать iptables для ограничения скорости для любого порта, который хотите. Это очень гибко.

Я использовал OSSEC, который не так уж сложно установить и настроить.

«Вы также можете подумать о защите своего домена на уровне DNS. Что-то вроде CloudFlare»

На самом деле мы не можем проксировать трафик через эти порты (SSH, ftp), потому что мы работаем только с веб-трафиком (порты 80 и 443). Вы можете посмотреть на что-то вроде Купол9.

Сначала проверьте, есть ли модуль или нет /lib/security/pam_tally2.so

Чтобы защитить пользователя от атаки грубой силы: Затем отредактируйте /etc/pam.d/system-auth

Добавьте в последнюю строку:

auth required pam_tally2.so deny=3 unlock_time=3600
account required pam_tally2.so

Откройте другой терминал и проверьте, используя имя пользователя и неправильный пароль.

Чтобы заблокировать конкретного пользователя: отредактируйте /etc/pam.d/system-auth и добавить even_deny_root к первой строке:

auth required pam_tally2.so deny=3 unlock_time=3600 even_deny_root
account required pam_tally2.so

Откройте другой терминал и проверьте, используя имя пользователя и неправильный пароль.

Ноты:
pam_tally2 -> эта команда используется для хранения количества записей об отказах
pam_tally2 -u kannan -> просматривать только записи о сбоях пользователей каннана
pam_tally2 -u username –r -> сбросить заблокированного вручную пользователя

Сам не использовал, но ssh охранник выглядит интересно.

используйте «последний» модуль Netfilter и подавите его в зародыше на уровне ядра. Также это решение не зависит от приложения (т.е. не зависит от конфигурации приложения).

видеть http://blog.andrew.net.au/2005/02/16

Вы также можете подумать о защите своего домена на уровне DNS. Что-то вроде CloudFlare Или Инкапсула.

Оба они предлагают бесплатные планы, но в конечном итоге им платят за услуги.

Я использую бесплатный сервис для своего сайта. Он не блокирует все атаки, но все дело в уровнях безопасности.

Попробуйте прочитать Linux Security HOWTO из TLDP а затем, возможно, уточните свой вопрос, если он еще не дает ответа.

РЕДАКТИРОВАТЬ (после обновления вопроса): В дополнение ко всему вышеперечисленному (наиболее классифицируемому как обнаружение вторжений) существует также блокировка портов.

Он не предотвращает атаки методом грубой силы, но укрепляет систему несколькими способами.

  • делает систему менее интересной (из-за того, что порты кажутся закрытыми)
  • добавляет еще один уровень защиты, увеличивая сложность успешной атаки (возможные комбинации для 10-ти портовых сбоев по возможным 256-портам: 256 ^ 10> 94 ^ 10, где 94 - это количество всех печатаемых символов ascii)
  • делает атаку «громкой» (легче поймать с помощью систем обнаружения вторжений)
  • ранние последователи получают выгоду от выхода из зоны «низко висящих плодов» (аналогично тому, как использование надежных паролей, просто заставляет вас перестать быть целью для определенных злоумышленников)

я нашел этот Ответ на критику системы достаточно информативен.