UFW (Uncomplicated Firewall — несложный фаервол) —  удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.

Оглавление

Предварительные требования

  1. Для начала работы с UFW вам потребуется суперпользователь(возможность исполнения команд под sudo).  

  2. Утилита  UFW предустановлена в системе. Если по какой-то причине она была отсутствует, вы можете установить ее  с помощью команды:

    sudo apt-get install ufw

Проверка правил и текущего состояния UFW

В любое время вы можете проверить состояние UFW с помощью команды:

sudo ufw status verbose

По умолчанию UFW отключен, так что вы должны увидеть что-то вроде этого:

Status: inactive

Если UFW включен, то в консоли будут перечисляться заданные правила. Например, если firewall настроен таким образом — SSH (порт 22) соединение из любой точки мира, консоль может выглядеть следующим образом:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
 
To                         Action      From
—                         ——      —-
22                         ALLOW IN    Anywhere
22 (v6)                    ALLOW IN    Anywhere (v6)
 

Так вы всегда можете узнать как настроен фаервол. 

Внимание! Проведите начальную настройку перед включением UFW. В частности, должен быть доступен SSH(22 порт). В ином случае вы рискуете потерять доступ к серверу.

Краткое описание

С английского языка название дословно переводится как несложный (упрощенный) брандмауэр. Особенность продукта — минимализм с графической оболочкой на основе командной строки. Если кратко, то UFW используют для базовых настроек межсетевого экрана. Он содержит необходимый минимум функций для стандартной защиты корпоративных ресурсов. Создание более сложных правил и тонкая настройка доступны в iptables.

Изначально решение разрабатывалось для операционных систем семейства Debian и Ubuntu. Дальнейшие действия выполняются под управлением Ubuntu.

Предварительная подготовка

Если UFW не установлен на серверной платформе, используем стандартную утилиту:

sudo apt-get install ufw

Второй вариант – утилита установлена, но неактивна, тогда прописываем:

sudo ufw enable

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

После инсталляции проверим состояние программы:

sudo ufw status verbose

Стандартная конфигурация программы блокирует входящий трафик, но разрешает исходящий. Чтобы изменить параметры, открываем системный файл:

sudo nano /etc/default/ufw

sudo ufw default deny incoming
sudo ufw default allow outgoing

Первая строка отвечает за блокировку, а вторая за исходящие подключения.

Настройка

UFW распределяет правила согласно профилям программ. Они хранятся по следующему пути:

/etc/ufw/applications.d

Создание нового или редактирование текущего профиля проводится администратором в ручном режиме. Для начала ознакомимся с текущими профилями:

sudo ufw app list

Просмотр подробной информации по любой записи осуществляется при помощи следующей команды:

sudo ufw app info ‘name’

Где name — наименование профиля, которое заключается в одинарные кавычки.

Например, просмотрим сервис OpenSSH:

Первая строка — имя новой записи в UFW. Вторая описывает заголовок, по которому профиль будет идентифицироваться. Третья содержит краткое описание сервиса (рекомендуется использовать 1-2 предложения). Последняя строка указывает порты, которые необходимо открыть для работы приложения.

Сохраняем файл и перезагружаем межсетевой экран:

ufw reload

Следующий шаг — прописываем политику для новой записи. Доступно два режима: разрешить (Allow) и запретить (Deny). Синтаксис выглядит следующим образом:

ufw

Где action – одно из двух значений Allow или Deny, а name_profile — наименование профиля.

Операции с портами

Для открытия/закрытия портов также используется команды Allow/Deny, в зависимости от требований администратора. Синтаксис выглядит следующим образом:

sudo ufw /

Расшифровка:

1. action — одно из двух действий: разрешить (Allow) или запретить (Deny);
2. port — цифровое имя порта, для которого применяется правило;
3. name_protocol — наименование протокола.

Если требуется указать перечень портов, используем двоеточие между начальной и конечной точкой. Альтернативный вариант — использовать имя службы, для которой создается запись. Например, откроем порт для сервиса HTTP:

sudo ufw allow http

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

Операции с IP-адресами

Аналогично портам правила создаются правила и для IP-адресов. Синтаксис идентичен предыдущему пункту:

sudo ufw from

Action – принимает значение Allow или Deny, IP-адрес – адрес оборудования, которому предоставляется/запрещается доступ к серверу.

Например, команду разрешить устройству с IP-адресом 10.68.23.15 доступ к всем портам сервера можно записать так:

sudo ufw allow from 10.68.23.15

Также доступна опция идентификации порта, например:

sudo ufw allow from 10.68.23.15 to any port 22

Добавление словосочетания to any port (name) задает конкретное значение порта, для которого доступ будет открыт. Вместо name указываем номер порта.

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

sudo ufw allow from 10.68.23.0/24

Операции с сетевым интерфейсом

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

sudo ufw in on <имя интерфейса=»»> to any port <порт>sudo ufw in on

Поле action, как и в предыдущих разделах, принимает состояние Allow и Deny, а опция name_interface отвечает за наименование сетевого интерфейса, для которого создается правило.

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

ifconfig -a

Также доступна дополнительная опция to any port — для однозначной идентификации порта.

Удаление записей

Чтобы удалить созданное ранее правило, используем ключ delete. В общем виде команда выглядит так:

sudo ufw delete

Где number — порядковый номер записи в таблице конфигурации UFW. Чтобы проставить цифровые значения для каждой строки, укажем в терминале:

sudo ufw status numbered

После этого просто указываем номер записи в таблице. Допустим:

sudo ufw delete 7

Перезагрузка не требуется.

Настраиваем UFW в Ubuntu

Устанавливать UFW в операционную систему не нужно, поскольку он присутствует там по умолчанию. Однако в стандартном своем виде он неактивен и не имеет вообще никаких правил. Сначала займемся активацией, а потом рассмотрим основные действия. Однако первоочередно следует изучить синтаксис, и особенно это касается тех юзеров, кто планирует задействовать данный межсетевой экран на постоянной основе.

Шаг 1: Изучение синтаксиса

Как известно, UFW — консольная утилита, а это значит, что управление ею осуществляется через стандартный «Терминал» или любой другой пользовательский. Взаимодействие такого рода выполнимо с помощью специально установленных команд. Все они всегда имеются в документации, однако читать огромную кучу материалов не имеет смысла, особенно в случае с сегодняшним инструментом. Принцип ввода выглядит так: sudo ufw опции действие параметры. sudo отвечает за запуск от имени суперпользователя, ufw — стандартный аргумент, обозначающий вызываемую программу, а остальные фразы и определяют устанавливаемые правила. Именно на них мы и хотим остановиться более детально.

  • enable — стандартный параметр, отвечающий за включение брандмауэра. При этом он будет автоматически добавлен в автозагрузку.
  • disable — отключает UFW и убирает его из автозагрузки.
  • reload — используется для перезагрузки Firewall. Особенно актуально после установки новых правил.
  • default — обозначает, что следующая опция установится по умолчанию.
  • logging — активирует создание лог-файлов, в которых будет храниться вся основная информация о действии межсетевого экрана.
  • reset — сбрасывает все настройки до стандартных.
  • status — используется для просмотра текущего состояния.
  • show — быстрый просмотр отчетов о работе фаервола. К этому параметру применимы дополнительные опции, но о них мы поговорим в отдельном шаге.
  • allow — задействован при добавлении разрешающих правил.
  • deny — то же самое, но применяется для запрещения.
  • reject — добавляет отбрасывающее правило.
  • limit — установка лимитирующих правил.
  • delete — удаляет указанное правило.
  • insert — вставляет правило.

Как видите, команд не так уж и много. Их точно меньше, нежели в других доступных межсетевых экранах, а запомнить синтаксис можно уже через несколько попыток взаимодействия с UFW. Осталось только разобраться с примером конфигурации, чему и будут посвящены следующие этапы сегодняшнего материала.

Шаг 2: Включение/Отключение/Сброс настроек

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

  1. Откройте панель с приложениями и запустите «Терминал». Вы можете открыть консоль и другим удобным для вас способом.
  2. Переход к терминалу для дальнейшей настройки межсетевого экрана UFW в Ubuntu

  3. Прежде чем выполнять активацию, проверьте, возможно, ранее вы или другое приложение уже активировало межсетевой экран. Осуществляется это путем ввода команды sudo ufw status.
  4. Команда для проверки текущего состояния межсетевого экрана UFW в Ubuntu

  5. Введите пароль для получения прав суперпользователя и нажмите Enter. Учтите, что при этом методе ввода символы не отображаются в строке в целях безопасности.
  6. Ввод пароля суперпользователя при взаимодействии с UFW в Ubuntu

  7. В новой строке вы получите информацию о текущем состоянии UFW.
  8. Просмотр информация о текущем состоянии межсетевого экрана UFW в Ubuntu

  9. Активация фаервола выполняется через уже упомянутый выше параметр, а вся команда выглядит так: sudo ufw enable.
  10. Ввод команды для активации межсетевого экрана UFW в Ubuntu

  11. Вас уведомит о том, что брандмауэр включен и будет запускаться вместе с операционной системой.
  12. Информация об успешной активации межсетевого экрана UFW в Ubuntu

  13. Для отключения используйте sudo ufw disable.
  14. Команда для отключения функционирования межсетевого экрана UFW в Ubuntu

  15. О деактивации уведомит практически такое же сообщение.
  16. Уведомление об успешном отключении межсетевого экрана UFW в Ubuntu

  17. В будущем, если потребуется сбросить правила или это нужно сделать уже сейчас, вставьте команду sudo ufw reset и нажмите на клавишу Enter.
  18. Команда для сброса текущих настроек межсетевого экрана UFW в Ubuntu

  19. Подтвердите сброс, выбрав подходящий вариант ответа.
  20. Подтверждение сброса правил при восстановлении стандартных параметров UFW в Ubuntu

  21. Вы увидите шесть различных строк с адресами резервных копий. Можете в любой момент переместиться к этому расположению, чтобы восстановить параметры.
  22. Информация о создании резервных копий UFW в Ubuntu

Теперь вы знаете о том, какие именно команды отвечают за управление общим поведением рассматриваемого сегодня Firewall. Все остальные этапы будут нацелены исключительно на конфигурацию, а сами параметры приведены в качестве примера, то есть вы должны изменять их, отталкиваясь от своих потребностей.

Шаг 3: Установка правил по умолчанию

В обязательном порядке следует применить правила по умолчанию, которые будут относиться ко всем входящим и исходящим соединениям, не упомянутых отдельно. Это означает, что все входящие подключения, не обозначенные вручную, будут заблокированы, а исходящие при этом проходят успешно. Вся схема реализуется следующим образом:

  1. Запустите новую сессию консоли и введите команду sudo ufw default deny incoming. Активируйте ее нажатием на клавишу Enter. Если вы уже ознакомились с указанными выше правилами синтаксиса, то знаете, что это означает блокировку всех входящих соединений.
  2. Ввод команды для установки стандартных правил по умолчанию для входящих соединений UFW в Ubuntu

  3. В обязательном порядке потребуется ввести пароль суперпользователя. Вы будете его указывать каждый раз при запуске нового сеанса консоли.
  4. Ввод пароля суперпользователя при внесении изменений UFW в Ubuntu

  5. После применения команды вы будете уведомлены о том, что правило по умолчанию вступило в силу.
  6. Уведомление об успешном внесении изменений стандартных параметров входящих соединений UFW в Ubuntu

  7. Соответственно, потребуется задать вторую команду, которая будет разрешать исходящие соединения. Выглядит она так: sudo ufw default allow outgoing.
  8. Ввод команды для установки правил по умолчанию для исходящих соединений в UFW в Ubuntu

  9. Еще раз появится сообщение о применении правила.
  10. Информация о применении правил по умолчанию для исходящих соединений в UFW в Ubuntu

Теперь вы можете не беспокоиться о том, что какие-либо неизвестные входящие попытки подключения пройдут успешно и кто-то сумеет получить доступ к вашей сети. Если же вы не собираетесь блокировать абсолютно все входящие попытки соединения, пропустите указанное выше правило и переходите к созданию собственных, детально изучив следующий этап.

Шаг 4: Добавление собственных правил межсетевого экрана

Правила брандмауэра — главная настраиваемая опция, ради которой пользователи и задействуют UFW. Мы на примере инструмента OpenSSH сейчас рассмотрим пример разрешения доступа, а также не забудем и про блокировку по портам. Для начала вам необходимо запомнить дополнительные команды синтаксиса, отвечающие за добавление правил:

  • ufw allow имя_службы
  • ufw allow порт
  • ufw allow порт/протокол

После этого можете смело приступать к созданию разрешающих или запрещающих правил. Давайте по порядку разберемся с каждым типом политик.

  1. Используйте sudo ufw allow OpenSSH для открытия доступа к портам службы.
  2. Установка правила соединений для службы через ее название в UFW в Ubuntu

  3. Вы будете уведомлены о том, что правила были обновлены.
  4. Информация о применении введенных изменений в UFW в Ubuntu

  5. Открыть доступ можно и путем указания порта, а не имени службы, что выглядит так: sudo ufw allow 22.
  6. Ввод команды для внесения правил по номеру порта в UFW в Ubuntu

  7. Это же самое происходит и через порт/протокол — sudo ufw allow 22/tcp.
  8. Ввод команды для внесения правил по номеру порта и протоколу в UFW в Ubuntu

  9. После внесения правил проверьте список доступных приложений, введя sudo ufw app list. Если все было применено успешно, необходимая служба отобразится в одной из следующих строк.
  10. Просмотр списка добавленных служб в межсетевой экран UFW в Ubuntu

  11. Что касается разрешений и запрещения передачи трафика по портам, то это осуществляется путем ввода синтаксиса ufw allow направление порт. На скриншоте далее вы видите пример разрешения исходящего трафика по порту (sudo ufw allow out 80/tcp), а также запрещающую политику по этому же направлению во входящую сторону (sudo ufw deny in 80/tcp).
  12. Установка правил для направления трафика в UFW в Ubuntu

  13. Если вас интересует пример добавления политики путем ввода более широкого обозначения синтаксиса, используйте пример ufw allow proto протокол from ip_источника to ip_назначения port порт_назначения.
  14. Установка правил с расширенным синтаксисом в UFW в Ubuntu

Шаг 5: Установка правил limit

Мы вынесли тему установки правил limit в отдельный этап, поскольку об этом необходимо поговорит подробнее. Данное правило ограничивает количество подключенных IP-адресов к одному порту. Наиболее очевидное применение этого параметра — защита от атак, которые подразумевают перебор паролей. Осуществляется установка стандартной политики так:

  1. В консоли пропишите sudo ufw limit ssh/tcp и нажмите на Enter.
  2. Установка ограничений для порта при настройке межсетевого экрана UFW в Ubuntu

  3. Введите пароль от своей учетной записи суперпользователя.
  4. Ввод пароля для установки лимитов для подключения к порту UFW в Ubuntu

  5. Вы будете уведомлены о том, что обновление правил прошло успешно.
  6. Информация об обновлении правил для лимитов в UFW в Ubuntu

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

Шаг 6: Просмотр состояния UFW

Иногда юзеру требуется посмотреть текущее состояние брандмауэра не только в плане активности, но и установленных правил. Для этого существует отдельная команда, о которой мы говорили ранее, а сейчас рассмотрим ее более детально.

  1. Пропишите sudo ufw status, чтобы получить стандартные сведения.
  2. Команда для проверки текущего статуса работы экрана UFW в Ubuntu

  3. В новых строках будут отображены все установленные политики по адресам, протоколам и названиям служб. Справа показаны действия и направления.
  4. Отображение основных правил при просмотре состояния экрана UFW в Ubuntu

  5. Более детальные сведения отображаются при использовании дополнительного аргумента, а команда приобретает вид sudo ufw status verbose.
  6. Просмотр подробной информации о существующих правил в UFW в Ubuntu

  7. Список всех правил в непонятном для начинающих юзеров виде выводится через sudo ufw show raw.
  8. Просмотр всех правил в развернутом состоянии в UFW в Ubuntu

Есть и другие опции, отображающие определенные сведения о существующих правилах и состоянии межсетевого экрана. Давайте вкратце пробежимся по всем ним:

  • raw — показывает все активные правила, используя формат представления iptables.
  • builtins — включает только правила, добавленные в качестве по умолчанию.
  • before-rules — отображает политики, выполняемые перед принятием пакета из внешнего источника.
  • user-rules — соответственно, показывает добавленные пользователем политики.
  • after-rules — то же самое, что и before-rules, но включает только те правила, которые активируются уже после принятия пакетов.
  • logging-rules — показывает сведения о событиях, которые записываются в журнал.
  • listening — используется для просмотра активных (прослушиваемых) портов.
  • added — задействован при просмотре недавно добавленных правил.

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

Шаг 7: Удаление существующих правил

Некоторые пользователи, получив нужные сведения о существующих правилах, желают удалить некоторые из них, чтобы наладить соединение или задать новые политики. Рассматриваемый брандмауэр позволяет сделать это в любой доступный момент, что осуществляется так:

  1. Вставьте команду sudo ufw delete allow out 80/tcp. Она автоматически удалит правило, разрешающее исходящие соединения через порт/протокол 80/tcp.
  2. Удаление правила исходящего соединения в UFW в Ubuntu

  3. Вы будете уведомлены о том, что политика успешно удалена как для протокола IPv4, так и для IPv6.
  4. Информация об успешном удалении правила исходящего соединения UFW в Ubuntu

  5. Это же касается и запрещающих соединений, например, sudo ufw delete deny in 80/tcp.
  6. Удаление правила для блокировки входящих соединений по порту в UFW в Ubuntu

Используйте опции просмотра состояния, чтобы скопировать требуемые правила и удалить их так же, как это было продемонстрировано в примере.

Шаг 8: Включение логирования

Последний этап сегодняшней статьи подразумевает активацию опции, которая автоматически время от времени будет сохранять информацию о поведении UFW в отдельный файл. Необходима она далеко не всем пользователям, а применяется так:

  1. Напишите sudo ufw logging on и нажмите Enter.
  2. Команда для активации сохранения журнала событий UFW в Ubuntu

  3. Дождитесь появления уведомления о том, что журнал теперь будет сохраняться.
  4. Уведомление об успешной активации сохранения журнала событий UFW в Ubuntu

  5. Вы можете применить и другую опцию, например, sudo ufw logging medium. Существует еще low (сохраняет сведения только о заблокированных пакетах) и high (сохраняет всю информацию). Средний вариант записывает в журнал заблокированные и разрешенные пакеты.
  6. Выбор опции для включения журналирования в межсетевом экране UFW в Ubuntu

Выше вы изучили целых восемь этапов, которые используются для настройки брандмауэра UFW в операционной системе Ubuntu. Как видите, это очень простой межсетевой экран, который подойдет даже начинающим юзерам из-за легкости освоения синтаксиса. UFW еще можно смело назвать хорошей заменой стандартному iptables, если он вас не устраивает.

Как просмотреть статус UFW?

По умолчанию UFW в неактивном состоянии т.е. нет правил брандмауэра не настроен и весь трафик разрешен.Чтобы увидеть статус, введите следующую команду:

$ sudo ufw status

Настройка политики по умолчанию

По умолчанию, когда UFW активируется он блокирует весь входящий трафик на межсетевой экран / сервер.Только исходящий трафик разрешен.Вы можете просмотреть правила по умолчанию UFW, введя следующую команду:

$ grep ‘DEFAULT_’ /etc/default/ufw

Пример результата:

DEFAULT_INPUT_POLICY=»DROP» DEFAULT_OUTPUT_POLICY=»ACCEPT» DEFAULT_FORWARD_POLICY=»DROP» DEFAULT_APPLICATION_POLICY=»SKIP»

Политика по умолчанию работает хорошо для серверов и ноутбуков / рабочих станции, так как вам нужно только открыть ограниченное количество входящих портов.Это хорошая политика,  она закрывает все порты на сервере / брандмауэра, и вам нужно только открыть порты один за другим.Вы можете выполнить следующие команды, чтобы установить политику, блокировать все входящие соединения и разрешить только исходящие соединения от сервера / межсетевого экрана:

$ sudo ufw default allow outgoing $ sudo ufw default deny incoming

Создание первого правила брандмауэра, чтобы разрешить подключение к SSH (TCP-порт 22)

Введите следующую команду, чтобы разрешить SSH-соединения с сервером:

$ sudo ufw allow ssh

ИЛИ

sudo ufw allow 22/tcp

Скажем, если вы работаете в SSH на порту 2020, введите следующую команду:

$ sudo ufw allow 2020/tcp

Следующие правила открывают доступ к TCP SSH порт 22 только на 10.8.0.1 (т.е. ваш сервер SSH слущает на IP 10.8.0.1 порт 22) из любого места:

$ ufw allow proto tcp from any to 10.86.115.66 port 22

Разрешение соединения в UFW

Вы можете легко разрешить входящие соединения на порт/диапазон, название приложения, IP-адреса/подсети в UFW.
Проверьте приведенные ниже примеры.

а) Предоставление приложений по имени или номеру порта/диапазон

ufw allow service-name

или

ufw allow port/tcp

Например

ufw allow ssh or ufw allow 22/tcp ufw allow ftp or ufw allow 21/tcpsudo ufw allow 1500:2000/tcp

б) Разрешение IP-адреса/подсети

Ниже команда позволяет устанавливать соединение с конкретным IP или подсети, а также мы можем использовать определенные номера портов.
Для того, чтобы разрешить соединения с определенного IP-адреса

ufw allow from 10.200.20.45

Чтобы указать IP-адрес, который разрешен для подключения к определенному порту запуска

ufw allow from 10.200.20.45 to any port 22

Выше позволяет IP-адрес 10.200.20.45 только для подключения через SSH

Чтобы разрешить определенную подсеть IP-адресов для подключения к системе с помощью CIDR обозначения для указания сетевой маски

ufw allow from 192.168.1.0/24

Выше позволяет IP – адрес от 192.168.1 до 192.168.1.254 для подключения к системе
Вы можете также указать порт назначения подсети

ufw allow from 192.168.1.0/24 to any port 22

Это означает, что IP-адрес от 192.168.1 до 192.168.1.254 может подключаться к системе через порт 22, который является SSH.

в) Разрешить именем интерфейса

Если нам нужно разрешить соединения через имя интерфейса его можно указать так:

ufw allow in on eth0 to any port 80

Как запретить соединения в UFW

По умолчанию UFW настроен запрещать все входящие соединения.

а) IP-адрес/подсеть

Если мы хотим заблокировать некоторые конкретные адреса IP-доступа, то мы можем сделать это с помощью следующей команды:

ufw deny from 192.168.1.15

Это будет блокировать все входящие соединения от хоста с IP-адресом 192.168.1.15

Далее заблокируем всю подсеть:

ufw deny from 150.165.125.0/24

Это будет блокировать все соединения, поступающие из этой подсети.

б) Запретить порты и приложения

Запретить порт или услугу

ufw deny 80/tcp

или

ufw deny httpsudo ufw deny 1500:2000/tcp * Запрет диапазонов портов *

Удаление и получение номеров правил

Когда вы добавляете много правил, вы можете лучше отслеживать их, просматривая их номера. Номера можно получить с помощью следующей команды:

ufw status numbered

Вывод

ufw status numbered Status: active To Action From — —— —- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 22 ALLOW IN Anywhere [ 3] 80/tcp ALLOW IN Anywhere [ 4] 53/tcp ALLOW IN Anywhere [ 5] 22/tcp (v6) ALLOW IN Anywhere (v6) [ 6] 22 (v6) ALLOW IN Anywhere (v6) [ 7] 80/tcp (v6) ALLOW IN Anywhere (v6) [ 8] 53/tcp (v6) ALLOW IN Anywhere (v6)

Допустим, мы хотим удалить правила номер 2. Мы делаем это следующей командой:

ufw delete 2

Заметка :

После удаления второго правила в брандмауэре, правило 3 будет теперь новое правило 2. Таким образом, если вы хотите удалить текущее правило 3, вы будете удалять, используя номер 2.

ufw delete allow http

Сброс правил

Если вы недовольны существующим правилам, и вы хотите, чтобы начать все сначала, вы можете сделать это, запустив

ufw reset

Вход и перезагрузка

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

ufw logging on

Если вы хотите отключить ведение журнала по какой-то причине (не рекомендуется), вы можете использовать следующую команду:

sudo ufw logging off

Журналы по умолчанию находятся в файле /var/log/ufw.log. Чтобы увидеть их в режиме реального времени, используйте -f, как это:

tail -f /var/log/ufw.log /pre> You will see all actions of firewall in that file. If you need to reload firewall for some reason, because you changed some config files manually, use following command. ufw reload

Если вы хотите увидеть правила, которые были недавно добавлены

ufw show added

Файлы конфигурации UFW

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

/etc/ufw/before.rules/etc/ufw/before6.rules

Эти два файла содержат правила, которые вычисляются перед всеми правилами, которые вы добавили в UFW. Так что если вы хотите, чтобы некоторые правила выполнялись первыми. Первый файл для ipv4 и второй один для v6

etc/ufw/after.rules/etc/ufw/after6.rules

Они оцениваются после правил команды ufw. Они хороши для использования, если вы хотите переопределить какое-то правило и применить его независимо. Опять же, два файла, для двух версий протокола IP, которые в настоящее время используются.

/etc/default/ufw

Здесь у нас есть модули ядра, использующиеся в ufw, а также другие параметры. Вы можете изменить конфигурационные файлы только как root, и вы можете использовать любой текстовый редактор. который Вам нравится.

Избегайте добавления повторяющихся правил

Далее рассмотрим механизм против повторяющихся правил. Сначала мы откроем порт 101

sudo ufw allow 100

Обратите внимание, что команда без протокола, как и выше открывает оба UDP и TCP-порт. Так давайте выполним ту же команду еще раз, чтобы увидеть, что происходит

ufw allow 100

Вывод

Skipping adding existing rule Skipping adding existing rule (v6)

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

ufw allow 101/udp ufw allow 101/tcp

Указав TCP и UDP порт 101, мы все еще можем добавить открытый порт 101 для всех протоколов и это дубликат правила, как порт 101 открыт дважды, один раз для каждого протокола и один раз для всех из них.

ufw allow 101

Это оставляет место для ошибок, и это, как правило, не является хорошей практикой. Нам нужно отменить все три команды с помощью команды ufw delete, если мы хотим вернуться к значению по умолчанию для порта 101.

Для закрытия некоторого порта, вы запускаете некоторые команды, просто вместо того, чтобы разрешить, введите deny.

В этой статье мы рассмотрели использование UFW, который является несложным брандмауэром, используемым для разрешения или ограничения трафика. Это очень мощный брандмауэр для регулирования трафика в вашей системе. Не стесняйтесь опробовать команды в вашей системе.

 


[spoiler title=»Источники»]

  • https://community.vscale.io/hc/ru/community/posts/208348529-%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%84%D0%B0%D0%B5%D1%80%D0%B2%D0%BE%D0%BB%D0%B0-%D0%B2-Ubuntu-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B-UFW
  • https://serverspace.by/support/help/ispolzovanie-utility-ufw-na-linux/
  • https://lumpics.ru/configuring-ufw-in-ubuntu/
  • https://system-admins.ru/kak-nastroit-brandmauer-ufw-na-ubuntu-16-04-lts/
  • https://andreyex.ru/ubuntu/kak-nastroit-brandmauer-ufw-na-ubuntu-18-04/
[/spoiler]