Налаштування міжмережевого екрану (Firewall) для виділеного сервера
Налаштування 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-доступ перед активацією, щоб не втратити зв’язок із сервером.
🔐 Рекомендовані порти для відкриття
Сервіс | Протокол | Порт |
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-адрес.