Работа с UFW в Ubuntu

Что такое UFW

UFW, или Uncomplicated Firewall, это приложение для управления брандмауэром в Ubuntu, которое основано на iptables. Он предоставляет удобный способ настройки брандмауэра по умолчанию для Ubuntu Linux. Команды в UFW идентичны английским, что облегчает их запоминание. UFW поддерживает как IPv4, так и IPv6.

Как установить UFW

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

which ufw
Работа с UFW в Ubuntu

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

apt install ufw
Работа с UFW в Ubuntu

Далее введите эту команду, чтобы активировать UFW:

ufw enable
Работа с UFW в Ubuntu

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

Основные команды в UFW

Команда «ufw enable» активирует UFW с предустановленными правилами. Чтобы убедиться, что UFW функционирует, просто введите эту команду:

Работа с UFW в Ubuntu

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

ufw disable

Мы получим следующий ответ:

Работа с UFW в Ubuntu

Мы замечаем, что UFW не активен и отключен.

Как добавить UFW правило

Когда вы включите UFW, по умолчанию все входящие соединения будут блокированы. Поэтому первым шагом будет разрешить доступ по SSH, если вы хотите управлять сервером удаленно. Команда «ufw allow sshport» откроет доступ по SSH. Замените «sshport» на порт, на котором работает SSH-сервер. По умолчанию это порт 22.

ufw allow 22

И вот что мы получаем в результате:

root@firstbyte:~# ufw allow 22
Rule added
Rule added (v6)

Если вы хотите разрешить входящие подключения только через порт 22 по протоколу TCP, добавьте в конце команды «/tcp», как показано в следующем примере:

ufw allow 22/tcp

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

Эта команда разрешит доступ через порт SSH по его умолчанию:

ufw allow ssh

Теперь проверьте данное правило с помощью:

ufw status
Работа с UFW в Ubuntu

Мы увидим результат, как указано выше.

Запретное правило в UFW

Команда «deny» выполняет ту же функцию, что и команда «allow», но используется для блокировки порта в брандмауэре:

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

ufw deny 80

Мы видим следующий результат:

Работа с UFW в Ubuntu

Вот пример использования команды «deny» с именем службы. В этом случае мы блокируем порт HTTP (порт 80):

ufw deny http
Работа с UFW в Ubuntu

Важно:

Все порты и соответствующие им имена служб перечислены в файле «/etc/services».

Расширенные команды UFW

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

  1. Разрешение диапазона портов

В UFW можно разрешить целый диапазон портов. Некоторые службы, такие как FTP или IRC, используют несколько портов для общения с клиентами.

В следующем примере мы разрешим диапазон портов от 6660 до 6670:

ufw allow 6660:6670/tcp
ufw allow 6660:6670/udp

Эта команда разрешит соединения к портам 6660-6670 как по протоколу TCP, так и по протоколу UDP.

2. Разрешить определенный IP-адрес

Вы можете разрешить доступ с определенного IP-адреса ко всем службам, указав его с помощью опции «from». Это может быть полезно, например, если у вас есть статический IP-адрес дома или в офисе, и вы хотите получить доступ ко всем службам на вашем сервере. Следующая команда позволит IP-адресу 10.10.10.10 получить доступ ко всем портам на сервере:

ufw allow from 10.10.10.10
  1. Разрешить подсеть

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

ufw allow from 10.10.10.0/24

Результат:

WARN: Rule changed after normalization
Rule added
  1. Разрешить доступ с определенного IP-адреса к одному порту

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

Например, если вы хотите, чтобы только IP-адрес 10.10.10.10 имел доступ к порту SSH 22 по протоколу TCP, а другие IP-адреса были блокированы, вы можете использовать следующую команду:

ufw allow from 10.10.10.10 proto tcp to any port 22

Результат:

Rule added
  1. Разрешить весь входящий трафик на определенный порт

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

ufw allow to any port 80

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

В этом разделе вы узнаете, как удалить правило, которое было сохранено в UFW. Для этого вы можете использовать команду «delete». Просто введите «ufw delete», а затем выберите опцию, которую вы хотите удалить, будь то разрешение или запрет.

Вот несколько примеров:

Удаление правила разрешения доступа к SSH по имени службы:

ufw delete allow ssh

Результат:

Rule deleted
Rule deleted (v6)

Эта команда удалит правило «allow ssh». Пожалуйста, будьте внимательны и не заблокируйте себя от доступа к серверу!

 

Удалите правило «deny» на порте 80:

ufw delete deny 80

Результат:

Rule deleted
Rule deleted (v6)

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

ufw status numbered
Работа с UFW в Ubuntu

Теперь удалите правило доступа к SSH для IPv6, используя только номер правила:

ufw delete 9

Результат:

Deleting:
allow 22/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)

Отключить и сбросить настройки UFW

Если вы хотите временно отключить UFW, не удаляя свои правила, вы можете воспользоваться командой «disable»:

ufw disable

Результат:

Firewall stopped and disabled on system startup
Работа с UFW в Ubuntu

Если вы хотите полностью выключить UFW и удалить все установленные правила, вы можете воспользоваться командой «reset»:

ufw reset

Результат:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up ‘user.rules’ to ‘/etc/ufw/user.rules.20230426_231930’
Backing up ‘before.rules’ to ‘/etc/ufw/before.rules.20230426_231930’
Backing up ‘after.rules’ to ‘/etc/ufw/after.rules.20230426_231930’
Backing up ‘user6.rules’ to ‘/etc/ufw/user6.rules.20230426_231930’
Backing up ‘before6.rules’ to ‘/etc/ufw/before6.rules.20230426_231930’
Backing up ‘after6.rules’ to ‘/etc/ufw/after6.rules.20230426_231930’

Заключение

UFW (Uncomplicated Firewall) — это инструмент, предназначенный для управления брандмауэром по умолчанию в Ubuntu. Это руководство по UFW поможет вам начать использовать этот удобный инструмент для настройки брандмауэра. Если вам интересно узнать больше о UFW, вы можете посетить вики Ubuntu или страницу ufw-manpage.

 

 

 

Наши услуги

Цены

▪ Стабильные.
▪ В рублях.
▪ Не зависят от $ и €.
▪ Мы  !
▪ Скидка при оплате за год!

Юридическим лицам

Договор и полный комплект бухгалтерских документов по почте.