Три рівні файрвола у Proxmox VE
Файрвол Proxmox VE працює поверх iptables/nftables і налаштовується одразу на трьох рівнях: датацентр, вузол і окрема віртуальна машина або контейнер. Правила датацентра застосовуються до всіх вузлів кластера, правила вузла — до трафіку конкретного сервера, а правила VM — тільки до мережевих інтерфейсів цієї машини.
Така ієрархія зручна: спільні правила безпеки задаються один раз на датацентрі, а точкові обмеження — на рівні VM. Підсумкова поведінка пакета визначається сумою правил усіх трьох рівнів, тому перед увімкненням файрвола варто розуміти, де і що вже налаштовано.
Як увімкнути файрвол на датацентрі і вузлі
Увімкнення виконується в розділі Datacenter → Firewall → Options: параметр enable перемикається у значення Yes. Те саме потрібно зробити в розділі Firewall на рівні кожного вузла — інакше правила датацентра не застосуються до трафіку сервера.
Перед увімкненням обов'язково додайте правило, яке дозволяє доступ до веб-інтерфейсу на порту 8006 і SSH на порту 22 з ваших робочих адрес. Інакше після активації політики DROP за замовчуванням панель керування стане недоступною. Додатково панель варто захистити через двофакторну автентифікацію.
Правила Security Group: створення і застосування
Security Group — це іменований набір правил, який можна застосувати одразу до кількох вузлів або VM. Група створюється в розділі Datacenter → Firewall → Security Groups і потім підключається до потрібного об'єкта одним рядком.
| Поле | Приклад значення | Значення |
|---|---|---|
| Direction | in | вхідний трафік до об'єкта |
| Action | ACCEPT | дозволити пакет |
| Protocol | tcp | обмеження за протоколом |
| Dest. port | 443 | порт призначення |
- Створити групу з зрозумілим іменем, наприклад
web-servers. - Додати до неї правила ACCEPT для потрібних портів і DROP для іншого.
- Підключити групу до VM або вузла через кнопку Insert в розділі Firewall об'єкта.
Файрвол для конкретної VM або контейнера
Індивідуальні правила задаються на вкладці Firewall самої VM або LXC-контейнера. Увімкніть файрвол для машини і додайте лише ті порти, які справді потрібні — наприклад 80 і 443 для веб-сервера, решту закрийте політикою DROP за замовчуванням.
cat /etc/pve/firewall/100.fw
[OPTIONS]
enable: 1
[RULES]
IN ACCEPT -p tcp -dport 80
IN ACCEPT -p tcp -dport 443
На тій самій вкладці доступні опції захисту від спуфінгу: MAC Filter перевіряє, що VM надсилає пакети тільки зі свого MAC-адреси, а IP Filter — зі своїх IP. Доступ до налаштування файрвола варто обмежити через ролі і ACL, щоб змінювати правила могли лише адміністратори.
IP-сети для груп адрес
IPSet об'єднує список IP-адрес або підмереж під одним іменем і дозволяє посилатися на них у правилах замість переліку кожної адреси. Це зручно для списку офісних IP або адрес моніторингу.
cat /etc/pve/firewall/cluster.fw
[IPSET management]
203.0.113.10
203.0.113.0/28
[RULES]
IN ACCEPT -p tcp -dport 22 -source +management
Запис +management у правилі означає посилання на IPSet із цим іменем. При зміні списку адрес достатньо відредагувати один IPSet — усі правила, які на нього посилаються, оновляться автоматично.
Як перевірити правила і не заблокувати себе
Перед увімкненням строгої політики DROP перевірте доступ через резервний канал: через IPMI, консоль у веб-інтерфейсі гіпервізора або фізичний доступ до сервера. Якщо самостійно закрили собі SSH і веб-інтерфейс, повернути доступ можна через консоль вузла командою pve-firewall stop, яка тимчасово зупиняє застосування правил.
Після кожної зміни перевіряйте статус модуля командою pve-firewall status і переглядайте журнал у розділі Firewall → Log — там видно, які пакети були відкинуті і за яким правилом.
Чек-лист безпечного налаштування файрвола
- Правило доступу до портів 8006 і 22 додано до увімкнення DROP за замовчуванням.
- Файрвол увімкнено і на датацентрі, і на кожному вузлі.
- Для груп серверів створено Security Group замість дублювання правил.
- На VM із публічними сервісами відкрито лише справді потрібні порти.
- Є резервний канал доступу на випадок помилки в правилах.
Файрвол доповнює мережеву ізоляцію на рівні мостів: базові принципи розділення мереж описані у статті про мережеві мости і VLAN.