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

В чем разница между fail2ban и snort?

У меня есть сервер, подключенный к Интернету, и я хотел бы обеспечить некоторую защиту от DDOS-атак. В настоящее время я рассматриваю возможность использования fail2ban и / или snort. Я знаю, что у них разные подходы к работе. Насколько я понимаю, Fail2Ban отслеживает файлы журналов для определения вторжений, а snort отслеживает входящие пакеты.

Стоит ли использовать оба? Достаточно ли использовать только один из них? Какая функциональность однозначно одна, а другая - нет? Меня беспокоит производительность. Может ли snort замедлить работу нашей сети?

На вашем месте я бы начал с fail2ban.

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

fail2ban проще сделать сразу полезным (по крайней мере, на мой взгляд).

Гораздо проще настроить фактическую блокировку вредоносных источников, чем snort, и вы можете настроить fail2ban для сканирования журналов snort, чтобы заблокировать их.

По всей вероятности, ни один из них не защитит вас от DDoS как такового, но оба могут, в их эквиваленте режиму блокировки, использоваться для предотвращения исчерпания несетевых ресурсов, (фактически) избегая взаимодействия с реальными серверами приложений.

Одна из проблем с snort заключается в том, что несколько нетривиально заставить его работать в режиме IPS (то есть фактически блокировать трафик) - AFAIK, гораздо более распространенным является запуск его как IDS (то есть обнаружение только вредоносного трафика).

fail2ban, как вы говорите, по сути, просто скрипт, который выполняет регулярное выражение в файлах журнала, извлекает вредоносные источники из этих журналов (например, неудачный вход в систему по SSH, запуск веб-клиента повторяющихся ответов 4xx или 5xx или наличие пользовательского агента, связанного с известными профилями злоумышленников. ). Он интегрируется с iptables (и со всем, что может работать поверх iptables, например firewalld, shorewall), чтобы блокировать трафик, связанный с вредоносными хостами. Эти блоки обычно реализуются либо как простые правила iptables, либо как правило iptables + ipset.

snort (и suricata, и другие IDSen) фактически проверяют различные аспекты потоков трафика, чтобы обнаружить потенциально вредоносный трафик. Он использует правила в формате, зависящем от домена, который также может выполнять сопоставление IP-адресов (и / или имени хоста / домена), а также проверку пакетов, повторную сборку и многое другое. Достаточно широко используемый набор правил в EmergingThreat's - вы можете прочитать (некоторые из них), чтобы почувствовать возможности snort.

Одно из соображений заключается в том, что fail2ban, как правило, будет полезен из коробки, в то время как это не совсем относится к snort - вам обычно нужно настроить его правила (и, возможно, добавить некоторые из своих), чтобы сбалансировать объемы событий с их действенностью. .

Лично мне, пока я трачу некоторое время на то, чтобы научиться работать с snort, работает следующая установка:

  • настроить fail2ban с ssh и соответствующими веб-тюрьмами
  • создать тюрьму, читая журнал предупреждений IDS (в моем случае это suricata, но это деталь), особенно ища предупреждения Prio 1, а также просматривая любые хосты, помеченные как DROP (да, я мог бы просто загрузить соответствующие ipset)
  • пусть fail2ban сделает все остальное.

Это может сработать, а может и не сработать, но это означает, что вы получите некоторые дополнительная защита от фырканья без необходимости особенно разбираться в его устройстве.

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

Как только вы освоитесь с snort, сначала настройте его, а затем подумайте, хотите ли вы, чтобы он имел дело с вещами напрямую (например, переводил его в режим IPS).

Попутно вы можете подумать о том, как WAF может быть частью общей картины, если многие из ваших открытых ресурсов размещены в Интернете.