Налаштування міжмережевого екрану (Firewall) для виділеного сервера

Міжмережевий екран (firewall) — один з найважливіших елементів безпеки виділеного сервера. Він контролює вхідний і вихідний трафік, дозволяючи або блокуючи доступ до сервісів на основі заданих правил. Правильна конфігурація фаєрвола допоможе захистити сервер від несанкціонованого доступу, DDoS-атак, сканувань портів тощо.

🔧 Що потрібно знати перед налаштуванням

  • Які сервіси запущені на сервері (SSH, HTTP, HTTPS, FTP, пошта тощо)

  • Які порти вони використовують

  • Звідки до них має бути доступ (усі IP, лише офіс, VPN тощо)

🛡️ Основні типи фаєрволів

  • iptables / nftables — системні фаєрволи в Linux

  • firewalld — зручна надбудова для CentOS, AlmaLinux, Rocky

  • ufw (Uncomplicated Firewall) — проста утиліта для Ubuntu/Debian

  • CSF (ConfigServer Security & Firewall) — популярний фаєрвол для Plesk/cPanel

  • Панельні інтерфейси — в Plesk, cPanel, HestiaCP часто є графічний інтерфейс для керування фаєрволом

⚙️ Базова конфігурація фаєрвола

1. UFW (Ubuntu / Debian)

sudo apt install ufw

sudo ufw default deny incoming

sudo ufw default allow outgoing

# Дозволити доступ до основних сервісів

sudo ufw allow ssh

sudo ufw allow http

sudo ufw allow https

# Увімкнути фаєрвол

sudo ufw enable

# Перевірити статус

sudo ufw status

2. firewalld (AlmaLinux, Rocky, CentOS)

sudo systemctl enable firewalld –now

# Перевірити зони

sudo firewall-cmd –get-active-zones

# Додати правила

sudo firewall-cmd –permanent –add-service=ssh

sudo firewall-cmd –permanent –add-service=http

sudo firewall-cmd –permanent –add-service=https

# Застосувати зміни

sudo firewall-cmd –reload

# Перевірити активні правила

sudo firewall-cmd –list-all

3. iptables (універсальний варіант)

# Політика за замовчуванням

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

# Дозволити loopback та встановлені з’єднання

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# Дозволити доступ до портів

iptables -A INPUT -p tcp –dport 22 -j ACCEPT   # SSH

iptables -A INPUT -p tcp –dport 80 -j ACCEPT   # HTTP

iptables -A INPUT -p tcp –dport 443 -j ACCEPT  # HTTPS

# Зберегти правила

sudo iptables-save > /etc/iptables/rules.v4

⚠️ За замовчуванням iptables/ufw/firewalld можуть блокувати все. Обов’язково дозволяйте SSH-доступ перед активацією, щоб не втратити зв’язок із сервером.

🔐 Рекомендовані порти для відкриття

СервісПротоколПорт
SSHTCP22
HTTPTCP80
HTTPSTCP443
PleskTCP8443
cPanelTCP2083
FTPTCP21
SMTPTCP25 / 587 / 465
IMAP/POP3TCP143 / 993 / 110 / 995

В ідеалі — відкривати тільки потрібні вам порти і лише для дозволених IP-адрес.