Скрипт настройки файрвола UFW (открытие портов 80/443, SSH и лимиты)
Пошаговый Bash-скрипт настройки фаервола UFW на Linux: правила по умолчанию, открытие HTTP/HTTPS, защита SSH с rate-limit, защита от сканирования портов.
Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/root/setup-ufw.sh
#!/bin/bash
# Настройка UFW для веб-сервера SysKit
ufw --force reset
ufw default deny incoming
ufw default allow outgoing
# Разрешаем SSH с защитой от перебора (rate limiting)
ufw limit 22/tcp comment 'SSH Port'
# Разрешаем веб-трафик HTTP и HTTPS
ufw allow 80/tcp comment 'HTTP Web'
ufw allow 443/tcp comment 'HTTPS SSL'
# Включаем файрвол
ufw --force enable
ufw status verbose
Разбор ключевых директив конфигурации
Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).
| Директива / Блок | Рекомендуемое значение | Зачем нужно и системное влияние (CPU / RAM / I-O) |
|---|---|---|
ufw default deny incoming |
deny | Блокирует любые входящие подключения ко всем портам, кроме явно разрешенных. |
ufw limit ssh/tcp |
limit | Блокирует IP, если с него происходит более 6 попыток подключения за 30 секунд. |
bantime = 24h |
24h | Блокирует IP адрес атакующего на 24 часа при превышении порога неудачных попыток авторизации. |
PasswordAuthentication no |
no | Запрещает вход по паролю через SSH, требуя авторизацию исключительно по криптографическим ключам Ed25519. |
Рекомендуемые системные требования VDS под этот стек
Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.
Оптимальный сайзинг: Любой Linux сервер с установленным пакетом ufw
Timeweb Cloud
2 CPU / 4 GB NVMe
Рекомендуемые ресурсы
1 vCPU /
1 GB RAM /
20 GB NVMe
Selectel
2 vCPU / 4 GB RAM
Рекомендуемые ресурсы
1 vCPU /
1 GB RAM /
20 GB NVMe
Beget
Turbo 4 GB
Рекомендуемые ресурсы
1 vCPU /
1 GB RAM /
20 GB NVMe
Онлайн-утилиты SysKit для проверки этого сервера
Протестируйте корректность применения конфигурации прямо сейчас в один клик.
Частые ошибки при настройке и их решение (FAQ)
Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.
Как разрешить доступ к MySQL только с одного IP?
Выполните команду: `ufw allow from 192.168.1.100 to any port 3306 proto tcp`.
Как не заблокировать собственный IP адрес?
Добавьте ваш IP в директиву `ignoreip = 127.0.0.1/8 ::1 ВАШ_IP` в файле `/etc/fail2ban/jail.local`.
Как разблокировать ошибочно забаненный IP?
Выполните команду `fail2ban-client set <jail_name> unbanip <IP_ADDRESS>`.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.