Обратите внимание! Недорогие виртуальные серверы в Амстердаме (Нидерланды). Оплата в рублях картами банков РФ, СБП, электронными деньгами. Подробнее.

Как установить и настроить брандмауэр (firewall) UFW на Debian

Опубликовано: 2 августа 2024
Раздел(ы): GNU Linux - CentOS / Debian, Вебмастеру, Программное обеспечение
Просмотры: 650
Комментарии: 0

Первое правило сетевой безопасности для параноиков — по-умолчанию закрыть всё и открывать избранное при необходимости. Это как с входной дверью в квартиру, даже если вы дома — закройте дверь на замок (засов).

В этой статье я расскажу, как установить и настроить брандмауэр (firewall) UFW в операционной системе Debian Linux.

Что такое UFW

UFW (Uncomplicated Firewall) является популярным и простым в использовании инструментом командной строки для настройки и управления брандмауэром в дистрибутивах Ubuntu и Debian.

Установка UFW Firewall в Debian

UFW (Uncomplicated Firewall) в Debian, как правило, установлен по умолчанию, но если его нет, то установите UFW с помощью следующей команды в консоли:

# apt install ufw

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

Проверить работает UFW или нет можно следующей командой

# ufw status verbose

Сразу после установки UFW отключен, поэтому вы должны увидеть что-то подобное:

Status: inactive

Первичные минимальные настройки UFW

Если вы подключились к серверу по SSH, то первым делом создайте правило разрешающее такое подключение:

# ufw allow ssh

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

# ufw allow 3322

Далее следует заблокировать входящий и маршрутизируемый трафик и разрешить исходящие запросы.

# ufw default deny incoming
# ufw default allow outgoing

и включить UFW.

Запуск и остановка UFW

Для запуска UFW, используйте следующую команду:

# ufw enable

Чтобы выключить UFW введите команду:

# ufw disable 

Это отключить фаервол и удалить его из автозапуска.

Настройка правил UFW

Для разрешения подключения по определенному порту:

# ufw allow 80

С указанием протокола:

Для DNS запросов.

# ufw allow 53/udp

Для FTP сервера.

# ufw allow 21/tcp

Добавление диапазонов портов

При необходимости можно добавит целый диапазон портов и протоколов для них:

# ufw allow 3000:3100
# ufw allow 3200:3300/tcp
# ufw allow 3400:3500/udp

Работа с IP адресами

Вы можете разрешить доступ к серверу с определенного адреса по всем портам:

# ufw allow from 987.65.43.21

Либо (для безопасности) лишь к конкретному порту (например FTP):

# ufw allow from 987.65.43.21 to any port 21

Аналогичным образом вы можете работать с диапазонами IP-адресов используя префикс маски сети:

# ufw allow from 987.65.43.21/27
# ufw allow from 987.65.43.21/27 to any port 21

Определение сетевых интерфейсов

Правила можно написать для конкретных сетевых интерфейсов:

# ufw allow in on eth32 to any port 22

Это правило разрешит запросы с сетевого интерфейса eth32 по 22 порту.

Запреты

Для описания запретов используем аналогичный синтаксис, только вместо allow используйте deny, например запретить HTTP-соединения:

# ufw deny http

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

# ufw deny from 987.65.43.21

и так далее с указанием протоколов, диапазонов портов и префиксов сетей.

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

Правила можно не только добавлять, но и удалять :-). Есть два основных метода: первый — по номеру правила, второй — по указанию самого правила. Рассмотрим оба варианта.

Первый способ удаления правил UFW

Чтобы узнать под какими номерами находятся введенные вами правила UFW используйте следующую команду:

# ufw status numbered

Вы должны увидеть список правил с указанием их порядковых номеров, например:

Status: active
     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 22 (v6)                    ALLOW IN    Anywhere (v6)
[ 4] 80 (v6)                    ALLOW IN    Anywhere (v6)

Чтобы удалить правило номер 3 (доступ к 22 порту с использованием протокола IPv6) выполните команду:

# ufw delete 3

Обратите внимание на то, что при удалении правила номер 3 правило номер 4 переместится на третью строчку (станет новым правилом номер 3) и команда ufw status numbered выдаст уже такой результат:

Status: active
     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 80 (v6)                    ALLOW IN    Anywhere (v6)

Второй способ удаления правил UFW

Второй способ заключается в том, что после команды ufw delete нужно указать само правило, например:

# ufw delete allow 80

Сброс всех настроек UFW

Иногда проще (быстрее) сбросить настройки, удалить все правила и начать всё с нуля. В этом поможет следующая команда:

# ufw reset

В результате ее выполнения все правила будут отключены и удалены. И можно приступить к прочтению данной статьи с самого начала.

Постскриптум

При написании статьи я использовал виртуальный сервер от VDSINA. Все описанные в статье рекомендации, команды и настройки были проверены на дистрибутиве Debian 12.

Абсолютное большинство инструкций в интернете в той или иной степени являются вольным переводом и пересказом официальной документации, а так же полным или частичным копированием, нередко неправильной и с ошибками, информации с других ресурсов. Эта статья может вызвать у вас такое же впечатление.

Провожу эксперимент: человек (я) против искусственого интеллекта. С помощью нейросети GigaChat по запросу «Как установить и настроить брандмауэр (firewall) UFW на Debian» была подготовлена альтернативная статья — https://moonback.ru/page/gigachat-ufw-debian. Проверим какая из статей будет пользоваться большей популярностью у посетителей.

Благодарности

При написании статьи были использованы следующие источники:

  1. https://wiki.debian.org/Uncomplicated%20Firewall%20%28ufw%29
  2. https://selectel.ru/blog/tutorials/how-to-configure-firewall-with-ufw-on-ubuntu-20/
  3. https://blog.sedicomm.com/2018/07/06/kak-nastroit-brandmauer-ufw-na-ubuntu-i-debian/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 10 | 0,250 сек. | 7.25 МБ