Ubuntu

Установка и настройка UFW в Ubuntu 20.04 LTS

Установка и настройка UFW в Ubuntu 20.04 LTS
UFW, или несложный брандмауэр, представляет собой удобный интерфейс для Linux iptables. UFW написан на Python (поддерживает Python 3.5 и выше) и является действующей де-факто утилитой управления брандмауэром в системах Ubuntu. Эта утилита очень удобна и действует как отличный брандмауэр для хоста.

В этой статье показано, как установить и использовать UFW на вашем Ubuntu 20.04 система LTS.

Монтаж

UFW предустановлен в большинстве систем Ubuntu. Если в вашей сборке эта программа еще не установлена, вы можете установить ее с помощью диспетчера пакетов snap или apt.$ sudo snap install ufw

$ sudo apt install ufw

Я лично предпочитаю использовать для этого диспетчер пакетов apt, потому что snap менее популярен, и я не хочу иметь эту дополнительную сложность. На момент написания статьи для UFW опубликована версия 0.36 из 20.04 выпуск.

Входящие vs. Исходящий трафик

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

Когда вы устанавливаете обновления с помощью apt-get, просматриваете Интернет или проверяете свою электронную почту, вы отправляете «исходящие» запросы на серверы, такие как Ubuntu, Google и т. Д. Для доступа к этим сервисам вам даже не нужен публичный IP. Обычно один общедоступный IP-адрес выделяется, скажем, для домашнего широкополосного подключения, и каждое устройство получает свой собственный частный IP-адрес. Затем маршрутизатор обрабатывает трафик с помощью так называемого NAT или трансляции сетевых адресов.

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

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

Веселье начинается с входящего трафика. Приложения, такие как сервер OpenSSH, который вы используете для входа в свою виртуальную машину, прослушивают определенные порты (например, 22) для входящий запросы, как и другие приложения. Веб-серверам нужен доступ к портам 80 и 443.

Это часть работы брандмауэра, позволяющая определенным приложениям прослушивать определенный входящий трафик, блокируя все ненужные. У вас может быть установлен сервер базы данных на вашей виртуальной машине, но обычно ему не нужно прослушивать входящие запросы на интерфейсе с общедоступным IP-адресом. Обычно он просто прослушивает петлевой интерфейс для запросов.

В Интернете существует множество ботов, которые постоянно бомбардируют серверы поддельными запросами, чтобы проникнуть внутрь или выполнить простую атаку типа «отказ в обслуживании». Хорошо настроенный брандмауэр должен уметь блокировать большинство этих махинаций с помощью сторонних плагинов, таких как Fail2ban.

Но пока мы сосредоточимся на очень простой настройке.

Основное использование

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

# ufw статус
Статус: неактивен

По умолчанию UFW находится в неактивном состоянии, и это хорошо. Вы не хотите блокировать весь входящий трафик на порту 22, который является портом SSH по умолчанию. Если вы вошли на удаленный сервер через SSH и заблокируете порт 22, вы будете заблокированы для доступа к серверу.

UFW позволяет нам проделать дыру только для OpenSSH. Выполните следующую команду:

[email protected]: ~ # список приложений ufw
Доступные приложения:
OpenSSH

Обратите внимание, что я все еще не включил брандмауэр. Теперь мы добавим OpenSSH в наш список разрешенных приложений, а затем включим брандмауэр. Для этого введите следующие команды:

# ufw разрешить OpenSSH
Правила обновлены
Обновлены правила (v6)
# ufw enable

Команда может нарушить существующие SSH-соединения. Продолжить операцию (y | n)? у.

Брандмауэр теперь активен и включается при запуске системы.

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

# ufw статус
Статус: активен
К действию от
-- ------ ----
OpenSSH РАЗРЕШИТЬ В любом месте
OpenSSH (v6) РАЗРЕШИТЬ В любом месте (v6)

Как видите, OpenSSH теперь может получать запросы из любого места в Интернете при условии, что он достигает его через порт 22. Строка v6 указывает, что правила применяются также для IPv6.

Вы можете, конечно, запретить определенные диапазоны IP-адресов или разрешить только определенный диапазон IP-адресов, в зависимости от ограничений безопасности, с которыми вы работаете.

Добавление приложений

Для наиболее популярных приложений команда ufw app list автоматически обновляет список политик при установке. Например, после установки веб-сервера Nginx вы увидите следующие новые параметры:

# apt install nginx
# список приложений ufw
Доступные приложения:
Nginx Полный
Nginx HTTP
Nginx HTTPS
OpenSSH

Продолжайте и попробуйте поэкспериментировать с этими правилами. Обратите внимание, что вы можете просто разрешить номера портов, а не ждать, пока появится профиль приложения. Например, чтобы разрешить порт 443 для трафика HTTPS, просто используйте следующую команду:

# ufw allow 443
# ufw статус
Статус: активен
К действию от
-- ------ ----
OpenSSH РАЗРЕШИТЬ В любом месте
443 РАЗРЕШИТЬ В любом месте
OpenSSH (v6) РАЗРЕШИТЬ В любом месте (v6)
443 (v6) РАЗРЕШИТЬ В любом месте (v6)

Заключение

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

OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...
SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...