Linux Firewalls: простой брандмауэр (ufw)

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие инженеры по безопасности!

Существует множество причин использовать Linux, но одна из самых недооценённых — это его возможности и универсальность в качестве межсетевого экрана. Многие компании тратят тысячи и десятки тысяч долларов на современные межсетевые экраны, но вы можете создать свой собственный, потратив всего несколько часов. Если это не сделает вас героем на работе, то ничто не сделает!





6a4a49_d0c911d5469c41a4884d47d62267e55amv2-1-1024x683.jpg




В предыдущей публикации я показал вам, как использовать iptables для разработки брандмауэра для вашей системы или сети Linux. В этом руководстве я продемонстрирую простой брандмауэр (ufw), который использует iptables для настройки брандмауэра. Ufw делает именно то, что следует из его названия: он делает создание брандмауэра простым и понятным.

Шаг №1: Загрузите и установите UFW

Сначала загрузите и установите ufw. ufw есть практически в каждом репозитории дистрибутивов Linux, включая Kali, и предустановлен в Ubuntu.

kali > sudo apt install ufw



6a4a49_eafca863cdec43bbb7624db30b92a48fmv2-1.png


Шаг №2: помощь с UFW

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

kali > sudo ufw –help



6a4a49_5165d5d9fe014ae4974cc8262ea77eecmv2-1.png


Шаг №3: Проверьте статус UFW

Теперь, прежде чем приступить к настройке нашего брандмауэра, давайте проверим его состояние.

kali> sudo ufw status



6a4a49_3d010c3b5ab444a2bbdce85957686399mv2-1.png




При первой установке он по умолчанию отключен. Давайте его включим.

kali > sudo ufw enable



6a4a49_3480711a628f4b9ab6c8dd77e677ed89mv2-1.png




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

kali > sudo ufw disable

Шаг №4: Политика по умолчанию

Как правило, самый безопасный межсетевой экран — это тот, у которого есть политика по умолчанию, блокирующая всё, кроме явно разрешенного. Мы можем выбрать это перед продолжением, установив политику по умолчанию на «Запретить». Тогда мы сможем разрешать только необходимый трафик, блокируя всё остальное. Это самый безопасный и надёжный подход.



6a4a49_68d637d4e8dc4578b07e677855070322mv2.png


Шаг №5: Заблокируйте IP-адрес

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

Например, если мы хотим написать правило для запрета трафика с IP-адреса 103.136.43.142, мы можем написать следующее правило

Кали > sudo ufw Deny из 103.136.43.142



6a4a49_5410cc5410254678b13e26b396b3e3eamv2-1.png




Если мы хотим заблокировать все IP-адреса в подсети, мы можем использовать нотацию CIDER для блокировки всех 255 IP-адресов в подсети, например:

Кали > sudo ufw Deny из 103.136.43.0/24

Кроме того, мы можем указать, на каком сетевом интерфейсе следует блокировать трафик, указав «in on <interface>», например:

kali > sudo deny in on eth0 from 103.136.43.142

Теперь мы можем проверить состояние нашего брандмауэра и просмотреть наши правила.

kali > sudo ufw status



6a4a49_b5c230a8d7aa4d10b648072b594d1017mv2-1.png


Шаг №6: Разрешение трафика

Если вы выбрали политику по умолчанию «Запретить всё», крайне важно определить, какой трафик будет разрешён, иначе вы заблокируете всю свою сеть (что не очень хорошо). Давайте напишем правила, разрешающие часть трафика. Например, как администратор этого брандмауэра, вам потребуется доступ для настройки и обслуживания брандмауэра. Убедитесь, что вы предоставляете себе доступ со своего IP-адреса.

Кали > sudo ufw разрешить от 192.168.1.101

Если позже вам потребуется удалить правило, вы можете просто использовать ключевое слово delete перед правилом, например:

kali > sudo ufw удалить разрешить из 192.168.1.101

Может быть проще, вы можете получить номера правил, введя…

Кали > статус sudo ufw пронумерован



6a4a49_a1e5eb40b1cc439da808181e35f2aac0mv2.png




и затем удалить правило по его номеру, например:

kali > sudo ufw delete 1

Шаг №7: Список приложений

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

Чтобы увидеть список приложений, введите:

kali> sudo ufw app list



6a4a49_edf5ee9aa6544bc082f2fc3b597b2accmv2.png




Так, например, если в вашей сети есть веб-сервер nginx, которому нужен доступ к веб-трафику, ufw позволяет использовать упрощенный синтаксис:

kali > sudo ufw разрешить «Nginx Full»



6a4a49_b2e58b7511cd40969b63207e71dff720mv2-1.png




Это разрешает трафик nginx на портах 80 и 443 с использованием адресов IPv4 и IPv6. Обратите внимание, что это создаёт два правила.

Если вы просто хотите включить https-трафик, вы можете ввести правило, например:

kali > sudo ufw allow https



6a4a49_5160ed312aed461ca10942f585badc79mv2.png




При проверке статуса вы можете просмотреть все правила, созданные на данный момент времени.

kali > sudo ufw status

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

kali > sudo ufw allow 80



6a4a49_51684ffa4b5d471f8db884ffa13ffb71mv2.png




Если вы хотите открыть оба порта: 80 и 443;

kali > sudo ufw allow 80, 443



6a4a49_8a2bb862f9d549548e5420190cbc4e86mv2.png




Обратите внимание, что этот синтаксис приводит к ошибке. Чтобы включить несколько портов, необходимо указать протокол с ключевым словом «proto» (в данном случае TCP) и добавить условие «from any to any» перед портами.

kali> sudo ufw разрешить proto tcp с любого на любой 80,443



6a4a49_1d8612c782914fd480d60c996f81db24mv2.png




Теперь мы успешно включили трафик как на порту 80, так и на порту 443.

Вы можете быть еще более конкретным и ограничить этот трафик только одним интерфейсом, например eth0;

kali > sudo ufw allow in on eth0 proto tcp from any to any 80,443



6a4a49_e6e38ea755c642f78aa46731c3b72ab5mv2.png


Шаг №8: Включение доступа к базе данных MySQL

Представьте себе, что в вашей сети есть база данных MySQL (или любая другая). Скорее всего, вам потребуется предоставить администратору доступ к базе данных, а также ко всем приложениям (веб-сайту, Snort и т. д.), которые её используют. Конечно, никто другой не должен иметь доступа к базе данных, поскольку она является целью практически любой хакерской группы. Мы можем ограничить доступ только администратору, разрешив трафик с его IP-адреса и только через порт MySQL по умолчанию — 3306.

kali > sudo ufw разрешить с 192.168.1.101 на любой порт 3306



6a4a49_5fdb03516d2d48d797cace1a8171cddbmv2-1.png


Краткое содержание

Iptables может стать мощным инструментом для создания безопасного и профессионального брандмауэра без необходимости покупать коммерческие. UFW (Uncomplicated Firewall) использует возможности Iptables для создания безопасных брандмауэров с очень простым синтаксисом. UFW особенно полезен для создания простого, но мощного брандмауэра для защиты небольшой сети или вашей хост-системы. Для более крупных и сложных сетей NFTables — оптимальный выбор.
 
Назад
Сверху Снизу