Без брандмауэра нет правил или ограничений для трафика в вашей сети, и это приводит к ряду негативных последствий. В системе Linux по умолчанию предоставляется инструмент конфигурации брандмауэра, который называется Uncomplicated Firewall (UFW). Но как настроить брандмауэр UFW? Усаживайтесь поудобнее, этот учебник вам поможет!
В этом уроке вы узнаете, как настроить UFW и установить брандмауэр в вашей системе Linux для обеспечения безопасности вашей сети и защиты от злонамеренных действий.
Готовы? Читайте далее, чтобы начать!
Предварительные требования
Этот учебник будет практической демонстрацией. Если вы хотите следовать за нами, убедитесь, что у вас есть следующее:
- Машина с Ubuntu – в этом учебнике используется Ubuntu 20.04 LTS, но также подойдут другие дистрибутивы Linux.
- Права администратора для вашей машины.
Установка UFW и включение подключения IPv6
Несмотря на то, что UFW поставляется вместе с вашей системой Ubuntu, он не устанавливается по умолчанию. Сначала установите UFW с помощью менеджера пакетов apt
и настройте его для разрешения подключений через IPv6.
1. Откройте ваш терминал и запустите нижеприведенную команду apt update
, чтобы обновить локальный индекс пакетов. Команда принимает все подтверждения (-y
) во время обновления для уменьшения вмешательства пользователя.

2. Затем выполните следующую команду для установки UFW (install uwf
) на вашу систему, принимая все подтверждения (-y
) во время установки.

3. Откройте файл конфигурации UFW (/etc/default/ufw) с помощью вашего любимого текстового редактора. UFW поддерживает IPv6, но вам нужно убедиться, что брандмауэр настроен на прием соединений по IPv6.
Если у вас включен только IPv4, вы все равно оставляете себя уязвимым к атакам по IPv6.
4. Прокрутите вниз до переменной IPV6 и установите значение yes, как показано ниже, затем сохраните изменения и выйдите из редактора

5. Наконец, выполните команду ниже, чтобы отключить и снова включить UFW. Команда перезапускает службу UFW, чтобы изменения вступили в силу.
После завершения команды ваш брандмауэр теперь может записывать как наборы правил брандмауэра IPv4, так и IPv6.
Настройка политик по умолчанию для правил брандмауэра
Если вы только начинаете использовать UFW, рекомендуется установить политику по умолчанию для ваших правил. Политики по умолчанию применяются к цепочке, для которой еще не определены специфические правила.
Настройте UFW для запрета всех входящих соединений и разрешения всех исходящих соединений. В результате любому, кто пытается достичь вашего компьютера извне, будет отказано, в то время как вы по-прежнему можете свободно подключаться к любому веб-сайту или серверу.
Запустите команду ufw
ниже, чтобы запретить
все входящие
соединения по умолчанию
.

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

Разрешение подключений SSH в брандмауэре UFW
Вы только что настроили политики по умолчанию на вашем брандмауэре UFW для блокировки всех входящих трафиков, и правило “разрешить все – запретить все” – хорошая настройка для обычного пользователя. Но что, если вы управляете сервером? Вам нужно разрешить определенный трафик внутрь и наружу. Разрешение подключения SSH на вашем брандмауэре UFW поможет разрешить определенный трафик внутрь и наружу.
Вы настроите сервер SSH, который разрешает входящие подключения SSH на порт 22. Но почему порт 22, а не любой другой? На подобных системах UNIX SSH-демон слушает порт 22 по умолчанию, поэтому использование стандартного порта SSH – хорошая практика, которая облегчит вам жизнь.
1. Запустите нижеприведенные команды, чтобы установить сервер OpenSSH (установить openssh-server
) на вашей системе и запустить сервер OpenSSH (start ssh
).
2. Теперь выполните команду ниже, чтобы разрешить входящие подключения SSH. Без указания порта 22 будет достаточно, так как UFW знает, какой порт используется для SSH.

Файл /etc/services содержит список всех доступных служб в вашей системе. Откройте файл в вашем текстовом редакторе, прокрутите вниз до ssh и убедитесь, что номер порта (22) является частью описания службы, как показано ниже.

Возможно, вы предпочли бы указать номер порта (22
) для разрешения SSH. Если это так, выполните вместо этого следующую команду.
3. Теперь выполните следующую команду для включения UFW.
Введите Y в окне подтверждения, как показано ниже, и нажмите Enter, чтобы продолжить выполнение команды. Теперь UFW начнет фильтрацию пакетов на вашей системе.

4. Наконец, выполните одну из следующих команд, чтобы проверить состояние вашего брандмауэра UFW.
Если вы выполните команду с параметром verbose
, вы увидите вывод, аналогичный приведенному ниже:
- Status: active – Указывает, что брандмауэр в данный момент активен.
- Logging: on (low) – Указывает, что UFW ведет журнал всех обрабатываемых брандмауэром пакетов.
- По умолчанию: запрет (входящие), разрешение (исходящие), отключено (маршрутизация) – Это означает, что политика по умолчанию заключается в запрете всех входящих соединений и разрешении всех исходящих соединений.
- Новые профили: пропустить – Это указывает на то, что брандмауэр в данный момент использует набор правил по умолчанию.

Если вы выполните команду с параметром numbered
, то увидите вывод ниже. Вы можете увидеть список пронумерованных правил и их соответствующий статус РАЗРЕШИТЬ или ЗАПРЕТИТЬ.

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

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

Разрешение подключений из определенного диапазона портов и IP-адреса
Некоторые приложения используют несколько портов для предоставления своих услуг. И, возможно, у вас есть диапазон портов для открытия или вам нужно разрешить подключение из определенного IP-адреса. В этом случае добавьте больше правил брандмауэра UFW.
Запустите следующие команды, чтобы разрешить входящие соединения на портах с 5001 по 5009. Всегда укажите протокол (tcp
или udp
) после диапазона портов, к которым применяются правила, потому что не все порты используются обоими протоколами.
Например, обычно используемые TCP-порты включают 80 (HTTP) и 443 (HTTPS). Но общие порты UDP включают 53 (DNS) и 67/68 (DHCP).

Запустите нижеприведенную команду, если вы предпочитаете разрешить соединения SSH с определенного IP-адреса. Команда разрешает соединения SSH (порт 22
) только с IP-адреса 192.168.1.2
.

Разрешение трафика с определенного сетевого интерфейса
UFW также позволяет разрешить трафик только на определенном сетевом интерфейсе, например, eth0 – это первый Ethernet-интерфейс, а wlan0 – первый интерфейс Wi-Fi.
Запустите одну из следующих команд, чтобы разрешить соединения HTTP только на интерфейсах eth0
и wlan0
.

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

2. Затем выполните следующую команду, чтобы удалить
правило с номером 4
, которое представляет собой диапазон портов 5001:5010/tcp
.

3. Выполните нижеприведенную команду, чтобы удалить
правило по его фактическому имени со статусом разрешено
. В этом примере вы удалите правило http
, выполнив следующую команду.

4. Теперь выполните следующую команду, чтобы удалить
правило, указав номер порта (443
) со статусом разрешено
.

5. Наконец, повторно выполните следующую команду, как вы делали на первом шаге, чтобы отобразить список всех правил.
Как видно ниже, правила для диапазона портов 5001:5010/tcp
, http
и порта 443
теперь отсутствуют.

Сброс брандмауэра UFW
Иногда вам может потребоваться сбросить UFW до значений по умолчанию, например, после настройки большого набора правил. Обновление может изменить вашу конфигурацию, требуя перенастройки UFW и, возможно, начала с чистого листа.
Выполните команду ufw reset
ниже, чтобы сбросить все правила брандмауэра до настроек по умолчанию. Эта команда отключает UFW и удаляет все ваши текущие правила брандмауэра.
Наберите «Y» и нажмите Enter, чтобы продолжить сброс вашего UFW брандмауэра.

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

Заключение
В течение этого руководства вы поняли, что настройка брандмауэра не так уж и сложна при использовании UFW. Теперь у вас должно быть хорошее представление о том, как настроить и применить собственные правила с помощью UFW на Ubuntu.
Теперь, почему бы не расширить эти новые знания, изучив больше о Безопасности UFW и Docker на машине с Linux?