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

Брандмауэр виртуальной среды с правилами CSF + iptables на виртуальной машине?

Мы начинаем виртуализацию с сервером Proxmox VE (OpenVZ + KVM). Мы планируем использовать брандмауэр CSF (http://configserver.com/cp/csf.html), работающей на хост-машине, поскольку у нас был достаточно хороший опыт работы с ней в прошлом.

Кроме того, мы планируем простые правила брандмауэра на виртуальных машинах (в основном контейнеры OpenVZ с тем же ядром) и, возможно, простые специальные правила fail2ban.

Буду признателен за комментарии с кем-нибудь с подобным опытом?

Я понимаю, что весь трафик идет через хост-машину, поэтому комбинированный брандмауэр с определенным брандмауэром на виртуальной машине должен работать, хотя некоторые правила iptables трудно заставить работать с контейнерами OpenVZ.

Мой совет - выполнить на аппаратном узле следующее:

  1. Если ваш HN имеет два интерфейса, настройте их оба как мосты (в моем случае у меня vmbr0 и vmbr1)
  2. В csf.conf настройте ETH_DEVICE как "vmbr +"
  3. Создайте файл с именем csfpost.sh в / и т.д. / csf / который просто позволяет пересылать:

    #!/bin/sh 
    IPT=/sbin/iptables 
    $IPT -F FORWARD
    $IPT -P FORWARD ACCEPT
    
  4. Теперь ваш HN защищен на всех интерфейсах, но будет прозрачно передавать трафик в ваши контейнеры и из них.

  5. Настройте свои контейнеры с помощью CSF, чтобы они были защищены.

Ноты
Убедитесь, что модули, необходимые для CSF, доступны для вашей виртуальной среды, разместив следующее в вашем /etc/vz/vz.conf:

 IPTABLES="iptable_filter iptable_mangle ipt_limit ipt_multiport ipt_tos ipt_TOS ipt_REJECT ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_LOG ipt_length ip_conntrack ip_conntrack_ftp ip_conntrack_irc ipt_conntrack ipt_state ipt_helper iptable_nat ip_nat_ftp ip_nat_irc ipt_REDIRECT"  

Также убедитесь, что ваше значение для "numiptent" составляет около 256 или выше, значение по умолчанию или 128 приведет к половинной загрузке CSF на вашей виртуальной среде (см. / Proc / user_bean_counters, чтобы узнать, достигли ли вы максимального числа)

Я также добавил указанные выше модули netfilter в свой / etc / modules (по 1 на строку). Я не совсем уверен, нужно ли это. Надеюсь это поможет!

Fail2ban не нужен, если вы используете CSF. CSF поставляется с LFD, который делает все, что делает fail2ban (и даже больше!). Я не вижу никаких проблем, которые могут возникнуть в результате предлагаемой вами настройки, хотя я бы предложил минимальные правила брандмауэра на хосте, чтобы предотвратить какие-либо накладные расходы.