Брандмауэр UFW: руководство для начинающих

Если вы новичок в Linux, вы, возможно, слышали о UFW или Uncomplicated Firewall. Как следует из названия, UFW – это простой и удобный инструмент, который позволяет вам управлять брандмауэром Linux.

В этой статье мы рассмотрим некоторые основные возможности UFW и объяснения, которые помогут вам начать работу.

Что такое брандмауэр?

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

Зачем использовать UFW?

UFW – это внешний интерфейс для iptables брандмауэра, предустановленного в большинстве дистрибутивов Linux. Он упрощает процесс управления брандмауэром, предоставляя удобный интерфейс командной строки.

UFW Essentials

Установка

UFW предустановлен в большинстве дистрибутивов Linux. Однако если он не установлен в вашей системе, вы можете установить его с помощью следующей команды:

$ sudo apt-get install ufw

Основной синтаксис

Основной синтаксис UFW выглядит следующим образом:

$ sudo ufw [option] [allow/deny] [port/protocol]

Вот разбивка синтаксиса:

  • sudo – позволяет выполнить команду с привилегиями root
  • ufw – команда UFW
  • [option] – дополнительные опции, такие как включение, отключение, статус, сброс, перезагрузка
  • [allow/deny] – разрешить или запретить трафик
  • [port/protocol] – номер порта и/или протокола, которые необходимо разрешить или запретить

Проверка состояния

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

$ sudo ufw status

Это покажет вам текущий статус UFW и правила, которые действуют в данный момент.

Включение и отключение UFW

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

$ sudo ufw enable

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

$ sudo ufw disable

Политики по умолчанию

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

$ sudo ufw default allow [incoming/outgoing]
$ sudo ufw default deny [incoming/outgoing]

Разрешение и запрет трафика

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

$ sudo ufw allow [port/protocol]

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

$ sudo ufw deny [port/protocol]

Блокировать IP-адрес

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

$ sudo ufw deny from 192.168.10.224
OutputRule added

В этом примере, from 192.168.10.224 указывает источник IP-адрес “192.168.10.224”.

Если вы запустите sudo ufw status сейчас, вы увидите, что указанный IP-адрес занесен в список запрещенных:

OutputStatus: active
To                         Action      From
--                         ------      ----
Anywhere                   DENY        192.168.10.224

Все соединения, входящие и исходящие, заблокированы для указанного IP-адреса.

Вы также можете блокировать соединения из целой подсети, указав соответствующую маску подсети для хоста, например 192.168.10.0/24.

Разрешить IP-адрес

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

$ sudo ufw allow from 192.168.10.224
OutputRule added

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

OutputStatus: active
To                         Action      From
--                         ------      ----
...
Anywhere                   ALLOW       192.168.10.224

Вы также можете разрешить соединения из целой подсети, указав соответствующую маску подсети для хоста, например 192.168.10.0/24.

Удалить правило UFW

Чтобы удалить правило, которое вы ранее настроили в UFW, используйте ufw delete после которого следует правило (allow или deny) и спецификацию цели. Следующий пример удалит правило, ранее установленное на разрешение всех соединений с IP-адреса 192.168.10.224:

$ sudo ufw delete allow from 192.168.10.224
OutputRule deleted

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

$ sudo ufw status numbered
OutputStatus: active
     To                         Action      From
     --                         ------      ----
[1] Anywhere                   DENY IN     192.168.10.220
[2] Anywhere on eth0           ALLOW IN    192.168.10.222

Из вывода видно, что есть два активных правила. Первое правило, с выделенными значениями, запрещает все соединения, исходящие с IP-адреса 192.168.10.220. Второе правило разрешает соединения по адресу eth0 интерфейс, поступающие с IP-адреса 192.168.10.222.

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

$ sudo ufw delete 1

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

OutputDeleting:
 deny from 192.168.10.220
Proceed with operation (y|n)? y
Rule deleted

Если вы снова перечислите свои правила с помощью sudo ufw status, вы увидите, что правило было удалено.

Список доступных профилей приложений

При установке приложения, работающие с сетью, обычно устанавливают профиль UFW, который можно использовать для разрешения подключения с внешних адресов. Это часто то же самое, что запустить ufw allow from, преимущество которого заключается в том, что он позволяет абстрагироваться от конкретных номеров портов, используемых службой, и предоставляет удобную номенклатуру для ссылающихся служб.

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

$ sudo ufw app list

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

OutputAvailable applications:
  OpenSSH

Разрешить все входящие HTTP/HTTPS (порт 443 / 80)

Веб-серверы, такие как Apache и Nginx, обычно прослушивают HTTP-запросы на порту 80.

HTTPS обычно работает на порту 443. Если ваша политика по умолчанию для входящего трафика настроена на отклонение или запрет, вам нужно создать правило UFW для разрешения внешнего доступа на порт 443. Вы можете использовать либо номер порта, либо имя службы (https) в качестве параметра этой команды.

Чтобы разрешить все входящие HTTPS и HTTP (порт 443 / 80) соединения, запустите:

$ sudo ufw allow https,http
OutputRule added
Rule added (v6)

Альтернативный вариант синтаксиса – указать номер порта службы HTTPS:

$ sudo ufw allow 443,80

Заключение

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

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

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

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