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

Snort IDS на HAproxy с зашифрованным трафиком

Могу ли я, используя HAproxy, направить трафик на внутренний сервер со всех остальных внутренних серверов в пуле? С точки зрения сети это было бы сопоставимо с зеркалированием всех портов коммутатора на один порт для проверки. Таким образом, я мог передать весь трафик в незашифрованном виде на адрес обратной связи и проверить его с помощью SNORT.

В настоящее время мы шифруем весь трафик на наших узлах HAproxy и отправляем этот трафик в зашифрованном виде на наши веб-серверы. У нас есть внешняя IDS, однако, поскольку у нее есть только наш сертификат для расшифровки трафика, мы не можем реализовать идеальную прямую секретность или шифры diffie-helman на haproxy.

Я читал руководства, которые позволяют делать это с помощью F5, но для нас это не вариант.

Спасибо за любую информацию, которую вы можете предоставить.

HAProxy не может этого сделать сам по себе, но если вы использовали набор довольно простых frontend/listen declerations, вы можете использовать iptables TEE цель (см. Вот для использования), это должно быть довольно просто.

Для системы, в которой «общедоступный» IP-адрес сервера - 10.10.10.10, серверные части - 192.168.1.11 и 192.168.1.12, а IDS - 172.16.172.10, конфигурация HAProxy будет выглядеть примерно так:

listen IN
  mode tcp
  bind 10.10.10.10:443
  <other HAProxy options/directives here>
  server hap-intermediary 127.1.1.1:443

frontend INTERMEDIARY
   mode http
   bind 127.1.1.1:443 ssl crt /path/to/cert.pem
  <other HAProxy options/directives here>
  <backend selection logic, if needed>

  default_backend SERVERS

backend SERVERS
  <other HAProxy options/directives here>
  server server1 192.168.1.11:443 check check-ssl ssl
  server server2 192.168.1.12:443 check check-ssl ssl

Это просто пропускает весь трафик от IN к INTERMEDIARY в какой бы форме он ни поступал на сервер, а затем INTERMEDIARY расшифровывает запросы и делает любой выбор.

Затем вам нужно будет настроить iptables правила, которые выглядят так:

iptables -t mangle -A PREROUTING -d 127.1.1.1 -j TEE --gateway 172.16.172.10
iptables -t mangle -A POSTROUTING -s 127.1.1.1 -j TEE --gateway 172.16.172.10

Конечно, это предполагает, что все маршруты и сети настроены, но это должно работать.

Я полагаю, вы могли бы просто покончить со всем материалом HAProxy и настроить некоторые iptables правила для соответствия вашим внутренним хостам и TEE этот трафик прямо к вашей IDS.

# Server 1
iptables -t mangle -A PREROUTING -d 192.168.1.11 -j TEE --gateway 172.16.172.10
iptables -t mangle -A POSTROUTING -s 192.168.1.11 -j TEE --gateway 172.16.172.10
# Server 2
iptables -t mangle -A PREROUTING -d 192.168.1.12 -j TEE --gateway 172.16.172.10
iptables -t mangle -A POSTROUTING -s 192.168.1.12 -j TEE --gateway 172.16.172.10