CloudLite
8 (495) 784-61-39 techsupport@cloudlite.ru
Техническая поддержка
8 (495) 784-61-37 sales@cloudlite.ru
Тарифы, оплата, счета
Array
(
    [ELEMENT_CODE] => Kak_ispolzovat_ulititu_UFW_na_Linux
)
Виртуальный сервер Windows/Linux

БАЗА ЗНАНИЙ

Как использовать улититу UFW на Linux

Разъясним основы работы с утилитой ufw на VPS под управлением Linux.

UFW (Uncomplicated Firewall) представляет собой самый простой и довольно популярный инструментарий командной строки для настройки и управления брандмауэром в дистрибутивах Ubuntu и Debian. Корректно работающий брандмауэр является наиболее важной частью полной безопасности системы Linux. UFW предназначен для базовых настроек, в то время как iptables позволит сделать более сложные настройки.

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

Для настройки firewall с помощью ufw следует подключиться к серверу с правами суперпользователя.

Не рекомендуется использовать одновременно два инструмента для настройки firewall – следите, чтобы на сервере по умолчанию не был включен iptables. В противном случае будет применено последнее созданное правило.

 

Установка и проверка статуса

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

sudo apt install ufw

Проверьте текущий статус и выведите все текущие правила с помощью такой команды:

sudo ufw status verbose

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

Status: inactive    

Включите firewall с помощью такой команды:

sudo ufw enable

Ответьте на вопрос диалоговом окне:

Command may disrupt existing ssh connections.
Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Внимание: если у вас все же пропало соединение с сервером при настройке Firewall, подключитесь к нему через web-консоль в панели управления.

И ufw будет активен:

Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip
Для отключения утилиты используйте команду:
sudo ufw disable

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

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

По умолчанию политики безопасности располагаются в файле /etc/default/ufw и могут быть изменены следующей командой:

sudo ufw default deny incoming
sudo ufw default allow outgoing

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

Профили приложений

Установка программного пакета ufw с использованием диспетчера пакетов будет включать в себя профили приложений, находящихся в каталоге /etc/ufw/applications.d. Каталог определяет приложение или службу и соответствующие им настройки безопасности (в том числе открытые или закрытые порты).

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

sudo ufw app list

На только что созданном VPS Вы скорее всего увидите только профиль для OpenSSH:


Available applications:
OpenSSH

Более подробно всю информацию можно просмотреть при помощи команды:

sudo ufw app info '<название_ПО>'</название_ПО>

Например:

sudo ufw app info 'OpenSSH'

В результате Вы получите:

Profile: OpenSSH Title: Secure shell server, an rshd replacement Description: OpenSSH is a free implementation of the Secure Shell protocol. Port: 22/tcp

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

cd /etc/ufw/applications.d

Теперь создайте текстовый файл с любым названием и вставьте в него строки:

[<название_профиля>]
title=<заголовок>
description=<краткое описание>
ports=<список портов>/<протокол>

Например:

[App1]
title=Text editor
description=Most popular open source application for editing text.
ports=53,80,5223,16393:16472/udp

Для того чтобы файл был виден брандмауэру, следует его перезагрузить:

ufw reload

Теперь запретите или разрешите доступ профилю:

ufw <allow/deny> <название_профиля>

Например:

ufw allow App1

Работа с портами

Чтобы открыть порты, воспользуйтесь ключевым словом allow.

А такая команды позволит открыть порт для входящих подключений:

sudo ufw allow <порт>/<протокол>

Например:

sudo ufw allow 1234/tcp 

Вы можете открывать порты по именам конкретных сервисов, например:

sudo ufw allow http

Внимание: данное правило неприменимо, если сервер использует порт не по умолчанию!

ufw также позволяет открывать или закрывать промежуток портов:

sudo ufw allow <портN>:<портM>/<протокол>

Например:

sudo ufw allow 5000:5003/udp

Для закрытия портов применяйте ключевое слово deny. Синтаксис ufw остается аналогичным, только allow заменяется на deny. Например, для закрытия порта подойдет такая команда:

sudo ufw deny <порт>/<протокол>

Например:

sudo ufw deny 1234/tcp

Работа с IP-адресами

Для разрешения соединения ко всем портам сервера с конкретного IP-адреса можно использовать эту команду:

sudo ufw allow from <IP-адрес>

Например:

sudo ufw allow from 111.111.111.111

Кроме того, можно разрешить подключение к конкретному порту с определенного IP-адреса:

sudo ufw allow from <IP-адрес> to any port <порт>

Например:

sudo ufw allow from 111.111.111.111 to any port 22

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

sudo ufw deny from <IP-адрес>

Например:

sudo ufw deny from 111.111.111.111

Как работать с подсетью

Утилита ufw позволяет разрешить получение трафика со всей подсети с помощью нотации CIDR:

sudo ufw allow from <подсеть>

Например:

sudo ufw allow from 192.168.1.0/24

Кроме этого, вы можете направить трафик с подсети на конкретный порт:

sudo ufw allow from <подсеть> to any port <порт>

Например:

sudo ufw allow from 192.168.1.0/24 to any port 22

Примечание: чтобы запретить эти правила, используйте ключевое слово deny.

Работа с сетевым интерфейсом

ufw также позволяет настроить подключение к конкретному порту определенного интерфейса:

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

Например:

sudo ufw allow in on eth2 to any port 22

Внимание: Вы можете просмотреть имена всех интерфейсов сервера при помощи команды ifconfig -a.

Как удалять правила

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

sudo ufw status numbered

Удалите ненужные правила под определенным номером:

sudo ufw delete <номер_правила>

Например:

sudo ufw delete 1

Также Вы можете удалить правило ключевым словом delete, например:

sudo ufw delete allow 443

Не нашли ответа на Ваш вопрос? Напишите нам!

techsupport@cloudlite.ru - служба техподдержки

sales@cloudlite.ru - вопросы по услугам, оплате, документам и партнерству

partner@cloudlite.ru - партнерская программа