Установка UFW: Как настроить базовый брандмауэр в Linux
UFW (Uncomplicated Firewall) упрощает управление брандмауэром Linux, предоставляя удобный интерфейс для iptables. В этом руководстве рассматривается установка и настройка UFW на дистрибутивах на базе Debian, от базовой установки до практических конфигураций брандмауэра для рабочих столов и веб-серверов.
В этом руководстве вы узнаете:
- Как установить UFW на дистрибутивах, основанных на Debian
- Как настроить стандартные политики брандмауэра
- Как разрешать и блокировать трафик по сервису, порту и IP
- Как использовать профили приложений UFW
- Как настроить правила брандмауэра для настольных компьютеров и серверов
Краткое содержание статьи: Установите UFW с помощью sudo apt install ufw, затем настройте политики по умолчанию и включите брандмауэр.
| Шаг | Команда/Действие |
|---|---|
| 1. Установите UFW | |
| 2. Установить политики по умолчанию | sudo ufw default deny incomingsudo ufw default allow outgoing |
| 3. Разрешить доступ по SSH | |
| 4. Включите брандмауэр | |
Установите UFW
UFW доступен в стандартных репозиториях дистрибутивов на базе Debian. Установите его с помощью менеджера пакетов apt:
$ sudo apt install ufw
После установки UFW по умолчанию не активен. Это позволяет вам настроить правила перед включением брандмауэра, предотвращая случайное блокирование доступа с удалённых систем.
Установить значения по умолчанию
Как и с iptables, лучше всего начать с установки поведения по умолчанию. На настольных компьютерах обычно хотят блокировать входящий трафик, разрешая исходящие подключения.
$ sudo ufw default deny incomingСинтаксис для разрешения трафика аналогичен:
$ sudo ufw default allow outgoingЭти настройки по умолчанию обеспечивают блокировку нежелательных входящих соединений, при этом ваша система всё еще может выходить в интернет и взаимодействовать с внешними сервисами.
Основное использование
Теперь вы готовы начать настройку правил и управление вашим брандмауэром. Команды UFW созданы так, чтобы быть понятными и интуитивно понятными.
Запуск и остановка
Хотя вы можете использовать systemd для управления UFW, у него есть собственные средства управления, которые проще. Начните с включения UFW:
$ sudo ufw enableПРЕДУПРЕЖДЕНИЕ
Если вы подключены через SSH, убедитесь, что вы разрешили трафик SSH перед включением UFW, иначе вы можете потерять доступ к своей системе.
Чтобы остановить и отключить UFW при запуске:
$ sudo ufw disableПроверьте, запущен ли UFW, и просмотрите активные правила:
$ sudo ufw statusДля более подробного вывода с указанием номеров правил:
$ sudo ufw status numberedКоманды
Разрешить входящий HTTP-трафик с использованием имени сервиса:
$ sudo ufw allow http
Разрешить SSH-подключения:
$ sudo ufw allow sshВы можете достичь того же результата, используя номера портов. Эта команда позволяет входящий HTTPS-трафик на порту 443:
$ sudo ufw allow 443Разрешить трафик с конкретного IP-адреса или диапазона сети. В этом примере разрешается весь трафик с локальной сети:
$ sudo ufw allow from 192.168.1.0/24Для диапазона портов укажите протокол (TCP или UDP):
$ sudo ufw allow 56881:56889/tcpИспользуйте deny вместо allow, чтобы заблокировать трафик:
$ sudo ufw deny from 192.168.1.110Чтобы специально нацелиться на исходящие соединения, включите out:
$ sudo ufw allow out sshЧтобы удалить правило, используйте номер правила из ufw status numbered:
$ sudo ufw delete 3Профили приложений UFW
UFW включает профили приложений, которые определяют правила брандмауэра для распространённых сервисов. Эти профили упрощают настройку, объединяя параметры портов и протоколов под узнаваемыми именами приложений.
Список доступных профилей приложений:
$ sudo ufw app listПросмотреть сведения о конкретном профиле приложения:
$ sudo ufw app info OpenSSH
Это отображает порты и протоколы, которые использует приложение. Чтобы разрешить приложению доступ через брандмауэр:
$ sudo ufw allow OpenSSHРаспространённые профили приложений включают OpenSSH, Apache, Apache Full, Nginx Full и другие, в зависимости от установленного программного обеспечения. Профили приложений хранятся в /etc/ufw/applications.d/, и вы можете создавать собственные профили для ваших приложений.
Настройка настольного компьютера
Этот пример предоставляет отправную точку для базовой настройки настольного файервола. Настройте правила в соответствии с вашими конкретными потребностями.
Начните с установки значений по умолчанию:
$ sudo ufw default deny incoming
$ sudo ufw default allow outgoingРазрешить трафик HTTP и HTTPS для веб-серфинга:
$ sudo ufw allow http
$ sudo ufw allow httpsВключить доступ по SSH:
$ sudo ufw allow sshРазрешить NTP для синхронизации системного времени:
$ sudo ufw allow ntpЕсли вы не используете статический IP, разрешите DHCP на портах 67 и 68:
$ sudo ufw allow 67:68/udpРазрешить DNS-трафик для разрешения доменных имен:
$ sudo ufw allow 53Для торрент-клиентов, таких как Deluge:
$ sudo ufw allow 56881:56889/tcpSteam требует несколько портов:
$ sudo ufw allow 27000:27036/udp
$ sudo ufw allow 27036:27037/tcp
$ sudo ufw allow 4380/udpНастройка веб-сервера
Веб-серверам требуется более строгая конфигурация, чтобы минимизировать поверхность атаки, при этом обеспечивая беспрепятственный поток легитимного трафика.
Для серверов по умолчанию запрещайте весь трафик. Перед внесением этих изменений отключите брандмауэр, чтобы не потерять доступ через SSH:
$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
$ sudo ufw default deny forwardРазрешить входящий и исходящий веб-трафик:
$ sudo ufw allow http
$ sudo ufw allow out http
$ sudo ufw allow https
$ sudo ufw allow out httpsРазрешить SSH для удаленного управления:
$ sudo ufw allow ssh
$ sudo ufw allow out sshВключите NTP для синхронизации времени:
$ sudo ufw allow ntp
$ sudo ufw allow out ntpРазрешить DNS для обновлений пакетов и разрешения доменов:
$ sudo ufw allow 53
$ sudo ufw allow out 53Заключение
UFW предоставляет простой способ управления брандмауэром в системах Linux. Несмотря на свою простоту, UFW готов к использованию в производственных средах, так как работает как интерфейс к iptables, обеспечивая такую же надежную защиту. Примеры в этом руководстве охватывают распространенные конфигурации для рабочих станций и серверов, но вы должны настраивать правила в соответствии с вашими конкретными требованиями и сетевой конфигурацией. Для полной документации обратитесь к официальной man-странице UFW.
Часто задаваемые вопросы
- Как проверить, блокирует ли UFW определённое соединение? Используйте
sudo ufw status verbose, чтобы увидеть все активные правила и их политики. Также можно проверить логи UFW в/var/log/ufw.logна предмет заблокированных попыток соединения. Включите ведение логов с помощьюsudo ufw logging on, если оно ещё не активно. - Могу ли я сбросить UFW до его состояния по умолчанию? Да, выполните
sudo ufw reset, чтобы удалить все правила и отключить брандмауэр. Это возвращает UFW к его первоначальному состоянию после установки, что полезно, если вы сделали ошибки в конфигурации и хотите начать с чистого листа. - В чем разница между ufw allow и ufw limit? Команда
allowразрешает весь совпадающий трафик, в то время какlimitдобавляет ограничение скорости для предотвращения атак методом перебора. Например,sudo ufw limit sshразрешает SSH-подключения, но блокирует IP-адрес, который делает более 6 подключений за 30 секунд. - Сохраняется ли UFW после перезагрузки? Да, после включения с помощью
sudo ufw enable, UFW автоматически запускается при загрузке и загружает ваши сохранённые правила. Правила хранятся в/etc/ufw/и сохраняются после перезагрузки без дополнительной настройки.
