cp.lv — VPS, выделенные и облачные серверы

cp.lv (LANGMARKET LLP) — хостинг-провайдер: VPS, выделенные и облачные серверы на NVMe с выбором ОС, полным root-доступом и поддержкой 24/7. Тест-период до оплаты: выделенные серверы — 5 дней, VPS и облако — 5 часов.

Contact Info
LANGMARKET LLP
Rīga, Latvija

+371 00 000 000

Follow Us

Личный кабинет

Язык

Пошаговая настройка фаервола ufw

Пошаговая настройка фаервола ufw

Запустить на сервере одной командой (сначала проверьте содержимое скрипта ниже):

curl -sSL https://cp.lv/scripts/nastrojka-ufw-poshagovo.sh | sudo bash

…или через wget:

wget -qO- https://cp.lv/scripts/nastrojka-ufw-poshagovo.sh | sudo bash

Содержимое скрипта nastrojka-ufw-poshagovo.sh:

#!/usr/bin/env bash
# Базовая настройка firewall ufw (Ubuntu/Debian)
set -euo pipefail

# 1. Установка
sudo apt update && sudo apt install -y ufw

# 2. Базовые политики: всё входящее — запрет, исходящее — разрешено
sudo ufw default deny incoming
sudo ufw default allow outgoing

# 3. ВАЖНО: разрешаем SSH до включения, иначе потеряем доступ
sudo ufw allow OpenSSH
sudo ufw limit OpenSSH

# 4. Веб-порты HTTP и HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 5. Логирование и включение (--force — без интерактивного подтверждения)
sudo ufw logging on
sudo ufw --force enable

# 6. Проверка
sudo ufw status verbose
echo "Готово: firewall включён, открыты SSH, HTTP и HTTPS."

ufw (Uncomplicated Firewall) — простая обёртка над iptables. Базовая настройка занимает четыре команды: запретить весь входящий трафик, разрешить исходящий, открыть SSH и включить firewall. Ниже — полная последовательность с проверкой, чтобы не потерять доступ к серверу.

Что делает ufw

По умолчанию сервер принимает подключения на все открытые порты. ufw позволяет явно указать, какие порты доступны извне, а всё остальное — блокировать. Это первый рубеж защиты любого VPS.

Шаг 1. Установка

На Ubuntu ufw обычно уже установлен. Если нет:

apt update
apt install -y ufw

Шаг 2. Базовые политики

ufw default deny incoming
ufw default allow outgoing

Теперь весь входящий трафик блокируется, исходящий — разрешён.

Шаг 3. ВАЖНО: разрешите SSH до включения

Если включить firewall без правила для SSH, вы потеряете доступ:

ufw allow OpenSSH

Или по номеру порта (если SSH на нестандартном порту):

ufw allow 2222/tcp

Шаг 4. Веб-порты

Для сайта или API откройте HTTP и HTTPS:

ufw allow 80/tcp
ufw allow 443/tcp

Можно использовать профили приложений:

ufw app list
ufw allow 'Nginx Full'

Шаг 5. Включение

ufw enable

Подтвердите y. Проверьте статус:

ufw status verbose

Вывод покажет активные правила и политики по умолчанию.

Ограничение доступа по IP

Разрешить SSH только с вашего IP — сильно снижает риск брутфорса:

ufw allow from 203.0.113.10 to any port 22 proto tcp

Разрешить целую подсеть:

ufw allow from 192.168.1.0/24

Запретить конкретный IP:

ufw deny from 198.51.100.5

Защита SSH от перебора

Правило limit блокирует IP, который создаёт больше 6 подключений за 30 секунд:

ufw limit OpenSSH

Это хорошее дополнение к fail2ban.

Управление правилами

Показать правила с номерами:

ufw status numbered

Удалить правило по номеру:

ufw delete 3

Удалить по описанию:

ufw delete allow 80/tcp

Логирование

ufw logging on
ufw logging medium

Логи пишутся в /var/log/ufw.log. Смотреть в реальном времени:

tail -f /var/log/ufw.log

Полезные команды

Команда Действие
ufw status verbose Подробный статус
ufw reload Перечитать правила
ufw disable Выключить firewall
ufw reset Сбросить все правила

Профили приложений

ufw хранит готовые профили портов для популярных сервисов. Посмотреть список:

ufw app list

Детали профиля:

ufw app info 'Nginx Full'

Использование профилей делает правила читаемыми: вместо 80,443/tcp — понятное имя Nginx Full.

Настройка IPv6

Если у сервера есть IPv6, убедитесь, что ufw управляет и им. В /etc/default/ufw:

IPV6=yes

После изменения перезапустите firewall:

ufw disable && ufw enable

Правила allow/deny будут применяться к обоим протоколам автоматически.

Порядок правил имеет значение

ufw обрабатывает правила сверху вниз и останавливается на первом совпадении. Поэтому запрещающие правила для конкретных IP нужно вставлять ВЫШЕ общих разрешающих. Вставить правило на позицию 1:

ufw insert 1 deny from 198.51.100.5

Проверьте порядок командой ufw status numbered.

Резервная копия и восстановление

Правила ufw лежат в текстовых файлах. Сохраните их:

cp -r /etc/ufw /root/ufw-backup

При переносе на новый сервер верните файлы и перезапустите ufw. Это быстрее, чем вводить десятки правил заново.

Частые вопросы

Не потеряю ли я доступ при включении? Только если забыли ufw allow OpenSSH. Всегда открывайте SSH-порт до ufw enable.

ufw и iptables — можно вместе? ufw управляет iptables за вас. Ручные правила iptables могут конфликтовать — используйте что-то одно.

Как открыть диапазон портов? ufw allow 6000:6010/tcp откроет порты с 6000 по 6010.

Нужен ли ufw, если есть fail2ban? Да, это разные уровни: ufw закрывает лишние порты, fail2ban банит нарушителей на открытых. Работают вместе.

Как временно выключить firewall для отладки? ufw disable, а после проверки — ufw enable. Правила сохраняются.


Firewall — обязательный минимум безопасности. Разверните проект на VPS для VPN и безопасности или обычной аренде VPS. Полную настройку сделает Администрирование серверов.

Эдгарс Калейс

Эдгарс Калейс

Технический директор (CTO). Проектирует серверную платформу на NVMe и отвечает за производительность и надёжность инфраструктуры.