Міжмережевий екран (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-доступ перед активацією, щоб не втратити зв'язок із сервером.
🔐 Рекомендовані порти для відкриття
Сервіс |
Протокол |
Порт |
SSH |
TCP |
22 |
HTTP |
TCP |
80 |
HTTPS |
TCP |
443 |
Plesk |
TCP |
8443 |
cPanel |
TCP |
2083 |
FTP |
TCP |
21 |
SMTP |
TCP |
25 / 587 / 465 |
IMAP/POP3 |
TCP |
143 / 993 / 110 / 995 |
В ідеалі — відкривати тільки потрібні вам порти і лише для дозволених IP-адрес.