Я мало работал с SNORT или проводил слишком много исследований по этому поводу, но это кажется возможным.
Если я настрою сервер и запустил на нем snort. Можно ли будет направлять ВЕСЬ мой трафик через него как брандмауэр на мои веб-сайты? Позволит ли это мне иметь центральную точку для фильтрации всего плохого трафика?
Что касается пересылки, следует ли мне использовать туннелирование GRE или есть способ лучше? я бы хотел пытаться и сохраните IP клиента, если это возможно.
Так что я мог бы запустить, возможно, HA Proxy / nGinx как способ перенаправить трафик веб-сайта и сохранить IP-адрес клиента в пакете, а не использовать каждого клиента в качестве IP-адреса прокси-сервера.
Один из способов установки Snort - это встроенный режим. В этой конфигурации ваш датчик snort будет перегородкой для вашего трафика, как традиционный маршрутизатор или межсетевой экран. Все пакеты будут получены на внешнем интерфейсе, пройдены через приложение snort, а затем перенаправлены на внутренний интерфейс. Если все сделано правильно, он будет прозрачен для трафика и будет не более чем мостом. Это также не требует модификации серверов, которые вы пытаетесь защитить. Весь трафик будет проходить через датчик, потому что он не может никуда идти.
Отсюда вы можете решить, запускать ли snort в режиме IDS или IDP. Реализовать IDS менее опасно, поскольку будут срабатывать предупреждения и регистрироваться плохой трафик, но пакеты все равно будут передаваться. Режим IDP будет анализировать пакеты и, если он настроен, отбрасывать пакет, если он вызывает предупреждение.
В любом случае вы должны быть осторожны с тем, какие правила вы настраиваете, и что ваш датчик имеет правильный размер. Если, например, процесс snortd перегружен и не может обработать пакет, он не выйдет на другую сторону. Для snort довольно просто достичь 100% использования процессора или памяти.
По первому вопросу - да, это возможно. У вас должен быть DNS для ваших веб-серверов, настроенный на сервер, на котором выполняется SNORT, и этот сервер перенаправляет трафик на фактический веб-сервер. Это один из стандартных способов настройки брандмауэра / сервера фильтрации.
Во-вторых, это вопрос, который требует долгого обсуждения, что-то не совсем подходит для сайта ServerFault. «Лучше» - это очень субъективный и неопределенный термин. Я должен начать с рассмотрения ваших приоритетов с точки зрения безопасности, стабильности, простоты обновления / обновления пакетов, производительности и т. Д. Как только это будет сделано, вы можете начать сравнивать, как два разных unix'а сравниваются в этих отношениях, и есть ли у вас на некоторые конкретные вопросы больше шансов получить хороший ответ.
Можно ли будет направлять ВЕСЬ мой трафик через него как брандмауэр на мои веб-сайты?
Это не только возможно, но и именно так вы должны настроить IPS, если хотите, чтобы он действительно отбрасывал плохой трафик.
Если нет, то он становится IDS и будет только флаг плохой трафик.
Единственная часть вашего вопроса, с которой я не согласен, - это когда вы сравниваете Snort с межсетевым экраном.
У меня такое ощущение, что вы смешиваете три аспекта сетевой безопасности.
IPS / IDS
Отбрасывает трафик на основе глубокой проверки пакетов и подписей
Брандмауэр
Отбрасывает / разрешает трафик в зависимости от источника, пункта назначения и порта. Брандмауэр эволюционировал и больше не такой «тупой», но это основная цель создания брандмауэра.
Брандмауэр веб-приложений (WAF)
Немного похоже на IPS, но нацелен на проверку трафика HTTP и HTTPS. WAF может, как и IPS, отбросить попытку SQL-инъекции, если ему предоставлены правильные подписи.
Позволит ли это мне иметь центральную точку для фильтрации всего плохого трафика?
Ключевая часть вашего заявления весь плохой трафик. На это я бы ответил нет.
Единственный способ заблокировать весь плохой трафик - это заблокировать весь трафик.
Это наиболее защищенное веб-приложение, которое я видел из всех трех (IPS, Firewall и WAF), защищающих интерфейс. Затем приложение и данные были разделены брандмауэром между тремя уровнями. У него также была другая IPS только для проверки SQL Injection между приложением и данными.
Угадайте, что ... вероятно, он все еще не смог сбросить весь плохой трафик.
Наконец, по поводу используемой платформы.
мне действительно нравится openBSD. PF это очень мощный и бесплатный брандмауэр.
Но ваш выбор должен основываться на том, что вам удобно управлять и настраивать. Если вы привыкли к Ubuntu или CentOS, то сделайте это. Нет смысла пытаться защитить свое приложение с помощью инструмента, которым вы не владеете.
Потому что, если вы это сделаете, скорее всего, вы действительно снизите уровень безопасности своей сети, а не увеличите его.