User Tools

Site Tools


ufw

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ufw [2020/11/10 05:51] chifekufw [2023/09/14 06:06] (current) – external edit 127.0.0.1
Line 1: Line 1:
-Использование утилиты UFW на Linux +====== Использование утилиты UFW на Linux ====== 
-В инструкции описаны основы работы с утилитой ufw на виртуальных серверах под управлением Linux.+ 
 + 
 + 
 +===== В инструкции описаны основы работы с утилитой ufw на виртуальных серверах под управлением Linux. ===== 
  
 Что это такое? Что это такое?
 UFW (Uncomplicated Firewall) - является самым простым и довольно популярным в инструментарием командной строки для настройки и управления брандмауэром в дистрибутивах Ubuntu и Debian. Правильно функционирующий брандмауэр является наиболее важной частью полной безопасности системы Linux. UFW позволяет сделать базовые настройки, для более сложных настроек используйте iptables. UFW (Uncomplicated Firewall) - является самым простым и довольно популярным в инструментарием командной строки для настройки и управления брандмауэром в дистрибутивах Ubuntu и Debian. Правильно функционирующий брандмауэр является наиболее важной частью полной безопасности системы Linux. UFW позволяет сделать базовые настройки, для более сложных настроек используйте iptables.
  
-Первоначальные требования+**Первоначальные требования** 
 + 
 Для того чтобы выполнить настройку firewall с помощью ufw необходимо подключиться к серверу с правами суперпользователя, о том как разрешить команду sudo для пользователей читайте в нашей инструкции. Для того чтобы выполнить настройку firewall с помощью ufw необходимо подключиться к серверу с правами суперпользователя, о том как разрешить команду sudo для пользователей читайте в нашей инструкции.
  
 На наших VPS по умолчанию включен iptables, крайне не рекомендуется использовать одновременно два инструмента для настройки firewall во избежание конфликта правил. В случае, если у вас одновременно работает и iptables, и ufw, то будет применено последнее созданное правило. На наших VPS по умолчанию включен iptables, крайне не рекомендуется использовать одновременно два инструмента для настройки firewall во избежание конфликта правил. В случае, если у вас одновременно работает и iptables, и ufw, то будет применено последнее созданное правило.
  
-Установка и проверка статуса+**Установка и проверка статуса** 
 + 
 По умолчанию, на наших виртуальных серверах ufw уже установлена, если по каким-то причинам требуется установка, то сделать это можно с помощью вашего пакетного менеджера: По умолчанию, на наших виртуальных серверах ufw уже установлена, если по каким-то причинам требуется установка, то сделать это можно с помощью вашего пакетного менеджера:
  
Line 17: Line 25:
 Проверить текущий статус и вывести все текущие правила можно с помощью следующей команды: Проверить текущий статус и вывести все текущие правила можно с помощью следующей команды:
  
-<code></code>+<code>sudo ufw status verbose</code> 
 + 
 +Например, в выключенном состоянии вы увидите следующее сообщение: 
 + 
 + 
 +<code>Status: inactive</code> 
 + 
 +Включить firewall можно с помощью следующей команды: 
 +<code>sudo ufw enable</code> 
 + 
 +В диалоговом окне необходимо ответить на вопрос, при использовании нашей инфраструктуры соединение не пропадет, если вы ранее не отключили iptables: 
 + 
 +<code>Command may disrupt existing ssh connections. 
 +Proceed with operation (y|n)? y 
 +Firewall is active and enabled on system startup</code> 
 + 
 +//Примечание: если при настройке Firewall у вас все-таки пропало соединение сервером, то подключитесь к нему через web-консоль в панели управления.// 
 + 
 +В результате ufw будет активен: 
 + 
 +<code>Status: active 
 +Logging: on (low) 
 +Default: deny (incoming), allow (outgoing), disabled (routed) 
 +New profiles: skip</code> 
 + 
 +Если Вам потребуется отключить утилиту, то используйте команду: 
 + 
 +<code>sudo ufw disable</code> 
 + 
 +**Политики по умолчанию** 
 + 
 + 
 +По умолчанию брандмауэр UFW отклоняет все входящие соединения и разрешает только исходящие подключения к серверу. Это означает, что никто не может получить доступ к вашему серверу, если только вы специально не открываете порт, а все запущенные службы или приложения на вашем сервере могут иметь доступ к внешней сети. 
 + 
 +Политики безопасности по умолчанию находятся в файле /etc/default/ufw и могут быть изменены с помощью следующей команды: 
 +<code>sudo ufw default deny incoming 
 +sudo ufw default allow outgoing</code> 
 + 
 +Первое правило запрещает все входящие подключения, второе разрешает исходящие. 
 + 
 +Профили приложений 
 +При установке программного пакета ufw с использованием диспетчера пакетов он будет включать в себя профили приложений, находящиеся в каталоге /etc/ufw/applications.d, который определяет приложение или службу и соответствующие им настройки безопасности, например открытые или закрытые порты. 
 + 
 +Все профили создаются вручную. Посмотреть созданные профили можно следующим образом: 
 + 
 +<code>sudo ufw app list</code> 
 + 
 +На только, что созданном виртуальном сервере вы скорее всего увидите только профиль для OpenSSH: 
 + 
 + 
 +<code>Available applications: 
 + 
 +  OpenSSH</code> 
 +   
 +Для просмотра детальной информации можно использовать следующую команду: 
 + 
 +<code>sudo ufw app info '<название_ПО>'</название_ПО></code> 
 + 
 +Например: 
 +<code>sudo ufw app info 'OpenSSH'</code> 
 + 
 +Результат: 
 +<code>Profile: OpenSSH 
 +Title: Secure shell server, an rshd replacement 
 +Description: OpenSSH is a free implementation of the Secure Shell protocol. 
 + 
 +Port: 
 +  22/tcp</code> 
 +   
 +Для создания профиля приложения перейдите в директорию: 
 +<code>cd /etc/ufw/applications.d</code> 
 + 
 +Создайте текстовый файл с любым названием и вставьте в него строки следующего формата: 
 + 
 + 
 +<code>[<название_профиля>
 +title=<заголовок> 
 +description=<краткое описание> 
 +ports=<список портов>/<протокол></code> 
 + 
 +Например: 
 +<code>[App1] 
 +title=Text editor 
 +description=Most popular open source application for editing text. 
 +ports=53,80,5223,16393:16472/udp</code> 
 + 
 + 
 +Для того, чтобы файл был виден брандмауэру, перезагрузите его: 
 + 
 + 
 +<code>ufw reload</code> 
 + 
 +Далее разрешите или запретите доступ профилю: 
 + 
 + 
 +<code>ufw <allow/deny> <название_профиля> 
 +</code> 
 + 
 +Например: 
 + 
 + 
 +<code>ufw allow App1 
 +</code> 
 + 
 + 
 +**Работа с портами** 
 + 
 + 
 +Для открытия портов используется ключевое слово allow. 
 + 
 +С помощью следующей команды можно открыть порт для входящих подключений: 
 + 
 + 
 +<code>sudo ufw allow <порт>/<протокол></code> 
 +Например: 
 + 
 +<code>sudo ufw allow 1234/tcp</code> 
 + 
 +Также можно открывать порты по именам конкретных сервисов, например: 
 + 
 + 
 +<code>sudo ufw allow http</code> 
 + 
 +//Примечание: если сервер использует порт не по умолчанию, то данное правило использовать нельзя.// 
 + 
 +ufw позволяет открывать или закрывать промежуток портов: 
 +<code>sudo ufw allow <портN>:<портM>/<протокол></code> 
 + 
 + 
 +<code>sudo ufw allow <портN>:<портM>/<протокол></code> 
 +Например: 
 + 
 +<code>sudo ufw allow 5000:5003/udp</code> 
 +Для закрытия портов используйте ключевое слово deny. Синтаксис ufw остается прежним, только allow заменяется на deny. Например, чтобы закрыть порт используется следующая команда: 
 + 
 +<code>sudo ufw deny <порт>/<протокол></code> 
 + 
 +Например: 
 + 
 +<code>sudo ufw deny 1234/tcp</code> 
 + 
 + 
 +**Работа с IP-адресами** 
 + 
 +Чтобы разрешить соединение ко всем портам сервера с конкретного IP-адреса, используйте следующую команду: 
 + 
 +<code>sudo ufw allow from <IP-адрес></code> 
 +К примеру: 
 +<code>sudo ufw allow from 111.111.111.111</code> 
 + 
 +Также можно разрешить подключаться к конкретному порту с определенного IP-адреса: 
 +<code>sudo ufw allow from <IP-адрес> to any port <порт></code> 
 + 
 +Пример: 
 +<code>sudo ufw allow from 111.111.111.111 to any port 22</code> 
 + 
 +Для запрета подключения используйте ключевое слово deny: 
 +<code>sudo ufw deny from <IP-адрес></code> 
 +Пример: 
 + 
 +<code>sudo ufw deny from 111.111.111.111</code> 
 + 
 +**Работа с подсетью** 
 + 
 + 
 +С помощью утилиты ufw можно разрешить получение трафика со всей подсети с помощью нотации CIDR: 
 +<code>sudo ufw allow from <подсеть></code> 
 +Например: 
 +<code>sudo ufw allow from 192.168.1.0/24</code> 
 + 
 +Также можно направить трафик с подсети на конкретный порт: 
 +<code>sudo ufw allow from <подсеть> to any port <порт></code> 
 +Например: 
 +<code>sudo ufw allow from 192.168.1.0/24 to any port 22</code> 
 + 
 +//Примечание: для запрета данных правил используйте ключевое слово deny.// 
 + 
 +Работа с сетевым интерфейсом 
 +С помощью ufw можно настроить подключение к конкретному порту определенного интерфейса: 
 +<code>sudo ufw allow in on <имя интерфейса> to any port <порт></code> 
 + 
 +Например: 
 +<code>sudo ufw allow in on eth2 to any port 22</code> 
 + 
 +//Примечание: имена всех интерфейсов сервера можно просмотреть с помощью команды ifconfig -a. 
 +// 
 + 
 +Удаление правил 
 +Для удаления правил выведете нумерованный список текущих правил: 
 + 
 +<code>sudo ufw status numbered</code> 
 + 
 +Удалите правила под нужным номером: 
 +<code>sudo ufw delete <номер_правила></code> 
 + 
 +Пример: 
 +<code>sudo ufw delete 1</code> 
 + 
 +Также можно удалить правило с помощью ключевого слова delete, например: 
 +<code>sudo ufw delete allow 443</code>
ufw.1604987464.txt.gz · Last modified: 2023/09/14 06:06 (external edit)