Как пользоваться
- Выберите шаблон, например Веб-сервер (SSH, HTTP, HTTPS), или правьте правила напрямую.
- Для каждого правила укажите порты, протокол, адрес источника (пусто — отовсюду) и Разрешить или Блокировать.
- Задайте свой порт SSH и решите, блокировать ли весь остальной входящий трафик.
- Выберите файрвол и скопируйте команды в оболочку 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.
Конфиденциальность
Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.