Настройка файрвола (UFW) чтобы не взломали в первый же час
Дата публикации: 18.05.2026

Настройка файрвола (UFW) чтобы не взломали в первый же час

Хочу себе такие же кнопки
ccb9a536

Введение

Вы только что запустили VDS на VDSina и хотите, чтобы ваш сервер был защищён уже в первые минуты работы. Самый простой и надёжный способ – включить UFW (Uncomplicated Firewall). После этого вы сможете блокировать всё, что не нужно, и открывать только те порты, без действительно используют. В этом уроке вы узнаете, как быстро установить, настроить и проверить UFW, а также как добавить базовые правила защиты от сканеров и атак‑переборовок.


1. Что такое файрвол и почему именно UFW?

Термин Описание Аналогия Китайский термин
Файрвол Программный «запор» между сетью сервера и внешним миром. Как охранник у входной двери, который решает, кого впустить, а кого нет. 防火墙 (fáng huǒ qiáng)
UFW Упрощённый интерфейс к iptables, позволяющий управлять правилами в несколько команд. Как автоматический замок, который открывается только по нужному коду. 简易防火墙 (jiǎn yì fáng huǒ qiáng)
Порт Цифровой «канал», через который приложение принимает соединения. Как отдельный канал в почтовом офисе для разных типов писем. 端口 (duān kǒu)

UFW выбран потому, что:

  • Установить и включить его можно за секунды.
  • Синтаксис команд интуитивно понятен даже новичкам.
  • Он полностью совместим с любой Linux‑дистрибуцией, поддерживаемой 🏰 VDSina (Ubuntu, Debian, CentOS‑подобные).

2. Установка и базовая ика

# Обновляем список пакетов
sudo apt update

# Устанавливаем UFW (для Ubuntu/Debian)
sudo apt install ufw -y

Важно: Если ваш сервер работает под CentOS или Rocky Linux, используйте yum install ufw или dnf install ufw.

Проверка статуса

sudo ufw status verbose

Если вывод говорит Status: inactive, значит файрвол пока не работает – дальше мы его включим.


3. Принципы работы: политики по умолчанию

UFW работает по принципу deny‑by‑default – всё блокируется, если явно не разрешено.

# Запрещаем всё входящее соединение
sudo ufw default deny incoming

# Разрешаем всё исходящее (по умолчанию обычно уже так)
sudo ufw default allow outgoing

Эти две команды задают «правила по умолчанию». После их выполнения сервер будет принимать только те соединения, которые вы явно откроете.


4. Открываем нужные порты

4.1 SSH (порт 22) – ваш «ключ» к серверу

sudo ufw allow ssh
# или явно по номеру порта
sudo ufw allow 22/tcp

Совет: если вы меняете порт SSH (например, на 2222), откройте его сразу, иначе потеряете доступ.

4.2 HTTP и HTTPS (порты 80 и 443) – веб‑сайт

sudo ufw allow http
sudo ufw allow https
# или одной командой
sudo ufw allow 80,443/tcp

4.3 Базы данных (MySQL, PostgreSQL) – обычно не открываем в интернет

Если вам нужен удалённый доступ к базе, откройте порт только для конкретного IP‑адреса:

# MySQL (3306) только для 203.0.113.10
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp

Если доступа нет, оставьте порт закрытым – это огромный плюс к безопасности.

4.4 Пример полного набора типичных правил

Порт Протокол Действие Команда
22 TCP Allow sudo ufw allow 22/tcp
80 TCP Allow sudo ufw allow 80/tcp
443 TCP Allow sudo ufw allow 443/tcp
3306 TCP Allow (только для IP) sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp
25 TCP Deny (spam‑mail) sudo ufw deny 25/tcp

5. Включаем UFW и проверяем

sudo ufw enable

После подтверждения вы увидите сообщение «Firewall is active and enabled on system startup».

Проверяем статус ещё раз:

sudo ufw status numbered

Вывод будет выглядеть так:

Status: active

     To                         Action      From
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 443/tcp                    ALLOW IN    Anywhere
[ 4] 3306/tcp                   ALLOW IN    203.0.113.10
[ 5] 25/tcp                     DENY IN     Anywhere

6. Логирование и мониторинг

UFW умеет писать события в /var/log/ufw.log. Включаем подробный лог:

sudo ufw logging on

Для быстрой проверки можно использовать:

sudo tail -f /var/log/ufw.log

Если вы замечаете много попыток подключения к закрытым портам, это уже сигнал, что ваш сервер «привлечён» сканерами.


7. Защита от brute‑force и сканеров

7.1 Ограничение частоты попыток подключения к SSH

sudo ufw limit ssh/tcp

Эта команда создаёт правило, которое позволяет только 6 попыток в течение 30 секунд с одного IP. После этого IP блокируется на 30 минут.

7.2 Блокировка целых подсетей (например, известные злоумышленники)

# Блокируем всю подсеть 185.6.0.0/16
sudo ufw deny from 185.6.0.0/16

7.3 Белый список (whitelist) для доверенных IP

# Разрешаем всё от вашего дома (203.0.113.5)
sudo ufw allow from 203.0.113.5

Эти правила ставятся перед общими deny incoming, поэтому они работают как «открытые двери» для доверенных адресов.


8. Как удалить или изменить правило

UFW нумерует правила, поэтому удобно удалять их по номеру:

sudo ufw status numbered
# Предположим, что правило 4 – это лишний порт
sudo ufw delete 4

Если нужно изменить правило, проще удалить старое и добавить новое.


9. Тестируем работу файрвола из внешней сети

  1. Проверка открытых портов – используйте онлайн‑сервис YouGetSignal (добавьте ?partner=5095 к любой ссылке на VDSina, если хотите порекомендовать их).
  2. Пинг и telnet – с другого компьютера выполните:
telnet your-vds-ip 22   # должно соединиться
telnet your-vds-ip 25   # должно быть отказано

Если всё работает как ожидается, ваш сервер готов к работе в продакшене.


10. Лучшие практики «первого часа»

Практика Почему это важно
Открывать только нужные порты Чем меньше открытых «дверей», тем меньше возможностей для атак.
Ограничить SSH Защищает от перебора паролей и сканеров.
Включить логирование Позволяет быстро заметить подозрительные попытки.
Регулярно проверять статус Ошибки в правилах могут оставить сервер открытым.
Обновлять ОС и пакеты Уязвимости в ядре и приложениях часто фиксируются в обновлениях.

Практика для закрепления

  1. Создайте правила: откройте порты 22, 80, 443, закройте 25 и 3306 (без доступа из интернета). Проверьте, что ufw status numbered отражает эти изменения.
  2. Ограничьте SSH: включите ufw limit ssh. Сымулируйте несколько быстрых попыток подключения (можно через ssh -o BatchMode=yes user@your-vds-ip). Убедитесь, что после 6‑й попытки соединение будет отклонено.
  3. Добавьте whitelist: разрешите всё входящее соединение от вашего домашнего IP‑адреса (например, 203.0.113.5). Затем проверьте, что с этого IP вы можете подключиться к закрытому порту 3306, а с другого – нет.
  4. Проверьте логи: включите логирование, выполните несколько curl http://your-vds-ip и telnet your-vds-ip 25. Посмотрите, какие записи появились в /var/log/ufw.log.
  5. Удалите правило: найдите номер правила, которое блокирует порт 25, и удалите его. После этого проверьте, что порт 25 действительно открыт (можно через онлайн‑сканер).

Выполнив эти упражнения, вы будете уверенно управлять файрволом и защищать ваш VDS от большинства автоматических атак уже в первый час работы. Удачной настройки!


Введение: чем VDS отличается от шаред-хостинга и зачем это веб-мастеру
Как правильно выбрать тариф: CPU, RAM, NVMe или SSD, канал
Выбор операционной системы: почему Ubuntu 22.04/24.04 — стандарт индустрии
Регистрация домена и первичная настройка DNS-записей (A, AAAA, CNAME)
Генерация SSH-ключей на локальном компьютере (Windows/Mac/Linux)
Добавление публичного ключа на сервер и первый вход по SSH
Отключение входа по паролю и запрет авторизации для root
Смена стандартного порта SSH для снижения шума в логах
Создание основного рабочего пользователя с правами sudo
Базовое обновление системы и установка необходимых утилит (curl, wget, git, htop)
Настройка часового пояса и синхронизация времени (NTP)
Установка и базовая настройка фаервола UFW
Разрешение только необходимых портов (SSH, HTTP, HTTPS)
Установка Fail2Ban для защиты от перебора паролей
Настройка правил Fail2Ban для SSH и веб-сервера
Знакомство с Docker: установка движка и CLI
Установка Docker Compose для управления мульти-контейнерными приложениями
Основы изоляции: почему каждый проект должен быть в своем контейнере
Подготовка файловой структуры сервера для удобного хранения проектов
Развертывание Nginx как обратного прокси-сервера через Docker
Настройка конфигурации Nginx для статических сайтов
Установка PHP-FPM в отдельном контейнере
Связка Nginx и PHP-FPM через внутреннюю Docker-сеть
Оптимизация настроек PHP-FPM (pm.max_children, memory_limit) под нагрузку
Установка MariaDB/MySQL в изолированном контейнере
Безопасное хранение паролей от БД через переменные окружения (.env)
Подключение к базе данных из внешнего клиента (DBeaver/Navicat) через туннель
Установка Redis для кэширования запросов и сессий
Интеграция Redis с PHP-приложением для ускорения работы
Автоматическая выдача SSL-сертификатов через Certbot (Let's Encrypt)
Настройка автопродления SSL-сертификатов по крону
Принудительный редирект с HTTP на HTTPS в Nginx
Включение gzip и brotli сжатия для ускорения загрузки страниц
Настройка кэширования статики (browser caching) в заголовках Nginx
Защита от простых DDoS и ботов: модуль limit_req в Nginx
Настройка резервного копирования баз данных (mysqldump) по расписанию
Настройка резервного копирования файлов проектов (tar)
Отправка бэкапов на удаленное хранилище (S3-compatible storage или другой сервер)
Ротация и очистка старых логов, чтобы не забить диск
Мониторинг нагрузки: установка и настройка htop и iotop
Просмотр логов в реальном времени: tail, grep и journalctl
Установка простого мониторинга доступности (Uptime Kuma или скрипт в Telegram)
Изоляция арбитражных инструментов: запуск ботов в отдельных контейнерах
Установка SOCKS5/HTTP прокси (3proxy) внутри Docker для мультиаккаунтинга
Настройка аутентификации и ограничения доступа к прокси по IP
Проверка анонимности и работы прокси-сервера
Оптимизация ядра Linux (sysctl.conf) для высоких нагрузок и сетевых соединений
Настройка swap-файла: когда он нужен, а когда вредит
Чек-лист финальной проверки безопасности перед запуском проекта
План действий при взломе или падении сервера: восстановление из бэкапа
АПТЕЧКА ДЛЯ ЖИВОТНЫХ
Автомобили Германии — FORD, MERSEDES, VW, IVECO
Чат рулетка 2026: чаты, где каждый момент — шанс
Чат рулетка онлайн
Чат с Аней: психологический разговор
Чатрулетка: новый способ общения
Чай и кофе: сила вкуса
Детские игрушки из безопасных материалов
Эксплуатация шин: Рекомендации по использованию
Фототехника для пейзажей
Как Aptum хостинг помогает малым бизнесам в управлении CRM-системами
Как выбрать Vdsina вечный хостинг для своего проекта
Компоненты безопасности IP
Конкуренция на российском автомобильном рынке
Онлайн генератор паролей для Windows
Оптимизация обработки форм GEO проекта
Сервер для социальных сетей: Безопасность, Скорость, Изоляция
Смешные моменты
Сравнение Arsys хостинг сервисов для блогеров с WordPress на 2023 год
Весь экран под циферблат
рейтинг хостингов 2026 Быстрые VDS серверы