Фаєрвол пропускає на сервер лише потрібні з'єднання — наприклад, SSH і вебтрафік, — а решту блокує.
UFW (Ubuntu, Debian)
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Перевірити правила: sudo ufw status verbose. Видалити правило: sudo ufw delete allow 80/tcp.
Дозволити доступ до порту лише з однієї IP-адреси (наприклад, до бази даних):
sudo ufw allow from 198.51.100.5 to any port 3306
firewalld (AlmaLinux, Rocky Linux)
sudo systemctl enable --now firewalld
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.
Завжди дозволяйте SSH до ввімкнення фаєрвола. Якщо ви змінили порт SSH, відкрийте саме його. Якщо доступ втрачено, увійдіть через VNC-консоль у панелі керування VPS і виправте правила.
Docker і фаєрвол
Docker додає власні правила iptables, і порти контейнерів, опубліковані через -p, можуть бути доступні ззовні попри правила UFW. Публікуйте службові порти лише на 127.0.0.1, наприклад -p 127.0.0.1:5432:5432.