UFW на VPS: простая настройка firewall для Linux
UFW удобен для простого сервера: он закрывает всё лишнее и оставляет только нужные порты. Главное — не включать firewall до разрешения SSH.
Проверьте текущие порты
Перед настройкой firewall нужно понять, что сейчас слушает сеть. Иначе можно закрыть важный сервис или оставить открытым лишний.
ss -tulpn
Разрешите SSH до включения UFW
Если SSH работает на нестандартном порту, разрешать нужно именно его. Команда для 22 порта не поможет, если sshd слушает 57483.
ufw allow 22/tcp
ufw enable
ufw status verbose
Откройте веб-порты
Для сайта обычно нужны 80 и 443. Если HTTPS не используется, достаточно 80. Но при выпуске сертификатов через HTTP-01 порт 80 всё равно должен быть доступен.
ufw allow 80/tcp
ufw allow 443/tcp
Не открывайте служебные панели всем подряд
Панели управления, базы данных, Redis, Docker API и внутренние backend-порты не должны быть публичными. Если доступ нужен только вам, ограничьте его по IP.
- MySQL/PostgreSQL наружу открывать не стоит;
- Redis не должен быть публичным;
- Docker API нельзя оставлять открытым без защиты.
IPv6 нужно учитывать отдельно
Если на сервере есть IPv6, firewall должен фильтровать и его. Иначе сервис может быть закрыт по IPv4, но доступен по IPv6.
Как не потерять доступ
- оставьте активную SSH-сессию открытой;
- имейте консоль провайдера;
- проверьте ufw status verbose;
- после включения откройте новую SSH-сессию.