Перейти к содержимому
ToolMug

Генератор правил файрвола

Откройте нужные серверу порты и закройте остальные, не вспоминая три разных синтаксиса. Выберите шаблон, перечислите порты, протоколы и адреса источников и скопируйте команды для ufw (Ubuntu, Debian), firewalld (RHEL, Rocky, AlmaLinux) или обычного iptables. Генератор ставит блокирующие правила перед разрешающими и предупреждает, если правила отрежут ваше собственное SSH-подключение.

Работает в браузере — введённые данные никуда не загружаются

Начать с:

Входящие правила

Запускайте от имени root. ufw enable просит подтверждение; список можно проверить командой ufw status numbered.

Блокирующие правила ставятся перед разрешающими, потому что все три файрвола применяют первое подходящее правило. У облачных серверов часто есть ещё и группа безопасности в консоли провайдера; порты должны быть открыты и там.

Как пользоваться

  1. Выберите шаблон, например Веб-сервер (SSH, HTTP, HTTPS), или правьте правила напрямую.
  2. Для каждого правила укажите порты, протокол, адрес источника (пусто — отовсюду) и Разрешить или Блокировать.
  3. Задайте свой порт SSH и решите, блокировать ли весь остальной входящий трафик.
  4. Выберите файрвол и скопируйте команды в оболочку root на сервере.

Описание параметров

Порты
Один порт (22), список (80,443) или диапазон (8000-8100).
Откуда
Адрес или сеть IPv4 либо IPv6, например 203.0.113.0/24. Источники IPv6 попадают в ip6tables.
Блокировать весь остальной входящий трафик
Задаёт политику входящего трафика по умолчанию — запрет. Исходящий трафик остаётся разрешённым.

Пример результата

Три правила при SSH на порту 22 и политике по умолчанию «запретить»: разрешить SSH только с 203.0.113.5, разрешить TCP-порты 80 и 443 отовсюду и заблокировать 198.51.100.0/24 для порта 25. Правило блокировки записано первым, потому что срабатывает первое подходящее правило.

# ufw
ufw default deny incoming
ufw default allow outgoing
ufw deny from 198.51.100.0/24 to any port 25 proto tcp
ufw allow from 203.0.113.5 to any port 22 proto tcp
ufw allow 80,443/tcp
ufw enable

# iptables
iptables -A INPUT -p tcp -s 198.51.100.0/24 --dport 25 -j DROP
iptables -A INPUT -p tcp -s 203.0.113.5 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -P INPUT DROP

В firewalld порты, открытые для всех, добавляются через --add-port, а правила с источником или блокировкой используют rich rule. Поскольку единственное правило для SSH содержит адрес источника, команды firewalld также удаляют из зоны стандартную службу ssh. Без этого шага зона по-прежнему пускала бы всех на порт 22.

Часто задаваемые вопросы

Как не потерять доступ к собственному серверу?

Оставьте правило, разрешающее ваш порт SSH, а если ограничиваете SSH определёнными IP, сначала проверьте свой текущий IP. Открытая веб-консоль облачного провайдера даст путь назад.

Я открыл порт, но подключиться всё равно не могу. Почему?

У облачных серверов обычно есть ещё группа безопасности или сетевой файрвол в консоли провайдера; порт должен быть открыт и там. Проверьте также, что служба слушает порт, например командой ss -tlnp.

Какой файрвол использует мой сервер?

Ubuntu и Debian обычно используют ufw; RHEL, Rocky, AlmaLinux и CentOS — firewalld. Оба — надстройки над файрволом ядра, поэтому пользуйтесь одним из них и не смешивайте с «сырыми» командами iptables.

Конфиденциальность

Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.

Похожие инструменты