Защита от брут-форса с помощью sshguard

На мой взгляд, sshguard самое простое приложение, которое я видел в последнее время, для защиты от массового подбора паролей к различным сервисам.

SSHGuard интересен не только своей простотой, но и тем, что написан на C (в отличие от других похожих демонов, написанных на bash, python, perl), поэтому он работает на порядок быстрее, а так же у него отсутствуют проблемы с безопасностью, которые могут потенциально возникнуть при использовании других обработчиков лог-файлов.

Основные возможности

Обработка логов различных форматов:

  • syslog
  • syslog-ng
  • metalog
  • multilog
  • raw log

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

По умолчанию может защитить самые популярные сервисы (Приведу те, которые используются в работе виртуальных серверов наших клиентов наиболее часто)

  • sshd
  • Sendmail
  • Exim
  • dovecot
  • vsftpd
  • proftpd
  • FreeBSD ftpd

Помимо обработки запросов к этим приложениям, sshguard для блокировки использует различные варианты, подходящие к разным операционным системам и дистрибутивам.

Как видно из списка, в основном это различные файрволы.

  • PF (OpenBSD, FreeBSD, NetBSD, DragonFly BSD)
  • netfilter/iptables (Linux)
  • IPFIREWALL/ipfw (FreeBSD, Mac OS X)
  • IPFILTER (FreeBSD, NetBSD, Solaris)
  • tcpd's hosts.allow (TCP-wrappers, не требует работы файрвола)

Другие возможности:

  • Поддержка ipv6
  • Ведение белых списков
  • Автоматические занесение в черный спиков
  • Поддержка сообщений в логах об авторизации
  • Возможность блокировки доступа как по адресам, так и по сервисам

Пример использования

После установки sshguard достаточно просто внести правила в файрвол вашего сервера и все.

В качестве примера рассмотрим защиту ssh-сервера, почтового сервера и ftp для Linux. В Linux по умолчанию используется файрвол iptables. Чтобы занести правила для защиты сервисов, следует выполнить команды:

Создаем цепочку правил для sshguard

iptables -N sshguard

Добавляем в цепочку правил отслеживание активности на портах 21, 22, 110, 143 (ftp, ssh, pop3, imap)

iptables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard

Сохраняем правила

service iptables save

 

Более подробное описание установки и настройки есть на нашей энциклопедии хостинга.

Автор статьи:

Сабынич Вадим

Аватар пользователя vadim s. sabinich
Вернуться