Як налаштувати брандмауер UFW на Ubuntu 24.04 

UFW (Uncomplicated Firewall) — це зручний інструмент для налаштування брандмауера, який спрощує процес керування мережевими правилами та безпекою системи. Використовуючи UFW, можна легко дозволяти або блокувати доступ до певних портів та IP-адрес, контролюючи трафік для таких протоколів, як HTTP, HTTPS, SSH, та інших. Це відмінний вибір для тих, хто хоче швидко та без зайвих складнощів налаштувати безпеку свого сервера. 

У цій статті ми покажемо тобі, як використовувати UFW на Ubuntu для ефективного управління мережевим захистом.

Встановлення UFW на Ubuntu

Щоб перевірити, чи встановлений UFW, введи команду 

ufw –version

Якщо його немає, можна встановити UFW за допомогою команди 

sudo apt install ufw

Після того, як інсталяція завершиться, можна переходити до налаштування брандмауера для захисту системи. Цей крок допоможе переконатися, що UFW готовий до використання, незалежно від початкової конфігурації твоєї Ubuntu.

Налаштовуємо UFW на Ubuntu

Для налаштування UFW на Ubuntu спочатку потрібно перевірити, чи активний брандмауер. Виконай команду:

$ sudo ufw status

Якщо UFW не активний, увімкни його командою:

$ sudo ufw enable

Після цього отримаєш повідомлення про те, що брандмауер активований і буде запускатися автоматично під час старту системи. Виглядає це так:

Тепер UFW увімкнений, і ти можеш почати налаштовувати різні правила брандмауера для контролю доступу та безпеки системи.

Як налаштувати UFW для підтримки IPv6?

Якщо ти використовуєш мережу, яка підтримує обидва протоколи — IPv4 і IPv6 — обов’язково увімкни IPv6 в налаштуваннях UFW. Це потрібно для того, щоб твій брандмауер міг контролювати весь мережевий трафік, включаючи сучасні з’єднання по IPv6, забезпечуючи тим самим всебічний захист системи. 

Крок 1. Відкрий конфігураційний файл UFW

Введи команду в терміналі:

$ sudo nano /etc/default/ufw

Крок 2. Перевір значення параметра IPv6

У файлі, який відкриється, знайди рядок, що починається з IPV6. Він має виглядати так:

IPV6=no

Крок 3. Увімкни підтримку IPv6

Щоб увімкнути підтримку IPv6, зміни значення з no на yes, так щоб рядок виглядав наступним чином:

IPV6=yes

Крок 4. Збережи зміни

Після внесення змін натисни Ctrl + O, щоб зберегти файл, а потім Ctrl + X, щоб вийти з редактора.

Крок 5. Перезапусти UFW

Для того, щоб зміни набрали чинності, перезапусти UFW командою:

$ sudo systemctl restart ufw

Тепер UFW підтримуватиме протокол IPv6, що дозволить твоїй системі краще взаємодіяти з сучасними мережами.

Як дозволити порти TCP/UDP в UFW?

Якщо ти працюєш на сервері, який використовує різні служби, такі як Apache та SSH, з портами 80, 443 та 22 відповідно, важливо налаштувати UFW для дозволу трафіку через ці порти. Це допоможе уникнути переривань у роботі служб. Ось як це зробити:

Крок 1. Дозволити порти

Щоб дозволити вхідний трафік через порти 80, 443 і 22, скористайся наступними командами:

$ sudo ufw allow 80

$ sudo ufw allow 443

$ sudo ufw allow 22

Ці команди створять правила для дозволу трафіку на відповідні порти, які використовуються для вебсервера (порт 80 для HTTP і порт 443 для HTTPS) і для доступу через SSH (порт 22).

Крок 2. Перевірити створені правила

Щоб переконатися, що правила для портів 80, 443 і 22 успішно створено, скористайся командою:

$ sudo ufw status verbose

Ця команда покаже всі активні правила UFW та їх статус, підтверджуючи, що порти правильно налаштовані та доступ до потрібних служб дозволено.

Правильне налаштування портів у UFW гарантує, що критичні служби на сервері, такі як вебсервери та SSH, будуть доступні без переривань. Виконання цих кроків забезпечить стабільну роботу твоїх служб і захистить сервер від небажаного трафіку.

Як налаштувати профілі програми в UFW?

У попередніх прикладах ми показали, як вручну створити правила брандмауера в UFW для конкретних портів, наприклад, для портів 80, 443 і 22 для служб Apache і SSH. Проте замість того щоб вказувати порти окремо, ти можеш скористатися іменами профілів програм. Це значно спрощує процес налаштування правил і забезпечує зручний спосіб керувати доступом до служб.

// Для швидкого дозволу трафіку для певних служб можна використовувати попередньо визначені профілі програм.

Наприклад, щоб дозволити HTTP і HTTPS трафік для Apache та стандартний порт для SSH, ти можеш виконати наступні команди:

$ sudo ufw allow “Apache Full”

$ sudo ufw allow “OpenSSH”

Ці команди автоматично налаштують правила брандмауера для потрібних портів — 80 для HTTP, 443 для HTTPS і 22 для SSH. Це не лише спрощує процес налаштування, але й зменшує ймовірність помилок при введенні портів вручну.

// Щоб перевірити, які правила брандмауера вже застосовані та як саме налаштовані програми, скористайся командою:

$ sudo ufw status verbose

Ця команда надає детальний звіт про всі активні правила: імена програм і відповідні порти, які відкриті для вхідного або вихідного трафіку.

// Щоб дізнатися, які профілі програм доступні для використання у твоїй системі, введи команду:

$ sudo ufw app list

Це відобразить список усіх профілів, які вже налаштовані в UFW. Кожен профіль може містити один або кілька портів, які відкриті для певних типів трафіку.

// Для отримання детальної інформації про конкретний профіль програми, наприклад, про Apache Full або OpenSSH, скористайся такими командами:

$ sudo ufw app info “Apache Full”

$ sudo ufw app info “OpenSSH”

Ці команди нададуть повну інформацію про профіль, а також порти, які він використовує, та інші специфікації, що дозволяють точніше зрозуміти, які саме правила застосовуються.

Як видалити правила в UFW?

Крок 1. Перевірка статусу брандмауера

Відкрий термінал.

Використай команду для перевірки статусу UFW та отримання індексних номерів правил:

sudo ufw status numbered

Крок 2. Знайди індексні номери правил

У виведеному списку ти побачиш перелік правил з відповідними індексами. Наприклад:

В цьому випадку, припустимо, ти хочеш видалити правило для порту 80 (IPv4), яке має індекс 1.

Крок 3. Видалення правила

Для видалення правила використай команду sudo ufw delete, вказавши індекс номера правила. Наприклад, для видалення правила з індексом 1:

sudo ufw delete 1

Крок 4. Перевір статус після видалення

Це необхідно, щоб переконатися, що правило було успішно видалене:

sudo ufw status

Нотатки:

  • Якщо ти використовував імена програм для створення правил, тобі все одно потрібно видаляти їх за індексними номерами, як показано вище.
  • Якщо ти не впевнена, яке саме правило потрібно видалити, спочатку переглянь список з номерами та будь уважним, щоб не видалити неправильне правило.

Як обмежити доступ до порту SSH?

Щоб обмежити доступ до порту SSH на твоєму сервері, скористайся UFW (Uncomplicated Firewall) наступним чином:

Крок 1. Відкрий термінал і введи команду:

sudo ufw limit ssh

Ця команда обмежує кількість спроб підключення до порту SSH, щоб захистити сервер від атак типу «brute force».

Крок 2. Перевір налаштування. Щоб переконатися, що обмеження застосоване, введи:

sudo ufw status verbose

Ти побачиш, що для порту SSH встановлене правило Limit.

Як додати коментар до правил брандмауера?

Щоб додати коментар до правил брандмауера UFW, виконай наступні прості кроки:

Крок 1. Відкрий термінал на своєму комп’ютері.

Створити нове правило з коментарем. Наприклад, якщо ти хочеш дозволити трафік на порт 8080 для служби Portainer, використай таку команду:

sudo ufw allow 8080 comment ‘Portainer Service’

Ця команда дозволяє трафік на порт 8080 і додає коментар ‘Portainer Service’, щоб пояснити мету правила.

Крок 2. Перевір статус брандмауера. Щоб переглянути всі активні правила та їх коментарі, виконай:

sudo ufw status verbose

У результатах ти побачиш свої правила разом із відповідними коментарями, що допоможе краще зрозуміти, для чого призначене кожне правило.

Цей метод допоможе уникнути плутанини та забезпечить ясність при керуванні правилами брандмауера в майбутньому.

Як керувати підключеннями брандмауера UFW?

sudo ufw allow from <IP address>

Це дозволяє будь-які підключення з зазначеної IP-адреси.

Щоб дозволити підключення з певної IP-адреси до конкретного порту:

sudo ufw allow from <IP address> to any port <port number>

Це дозволяє підключення з зазначеної IP-адреси тільки до вказаного порту.

Що дозволити доступ до діапазону портів:

Для TCP протоколу:

sudo ufw allow 2000:2004/tcp

Для UDP протоколу:

sudo ufw allow 2000:2004/udp

Це дозволяє підключення до всіх портів у діапазоні з 2000 по 2004 відповідно до TCP або UDP протоколу.

Обмежити всі підключення з певної IP-адреси:

sudo ufw deny from <IP address>

Це забороняє всі підключення з зазначеної IP-адреси.

Обмежити підключення з певної IP-адреси до конкретного порту:

sudo ufw deny from <IP address> to any port <number>

Це забороняє підключення з зазначеної IP-адреси тільки до вказаного порту.

Як налаштувати правила UFW за дефолтом? 

Якщо ти випадково зіпсуєш правило брандмауера UFW, ти можеш повернути всі налаштування до стандартних за допомогою команди:

sudo ufw reset

Після виконання команди система запросить підтвердження, натисни «y» для підтвердження.

Як вимкнути UFW?

Якщо ти вирішиш, що UFW тобі не потрібен або не підходить, ти можеш швидко вимкнути його командою:

sudo ufw disable

Це вимкне брандмауер UFW і відновить всі підключення, що були заблоковані.

Підсумуємо

Від правильного налаштування правил залежить не тільки ефективний захист від несанкціонованого доступу, але й безперебійна робота твоїх служб і застосунків. 

Пам’ятай, що регулярне оновлення і перевірка правил брандмауера допоможе зберегти оптимальний рівень захисту та уникнути можливих вразливостей. 

Якщо ти ще не перейшов на «ТИ» з Ubuntu, запрошуємо до нас на курси з Linux. Викладач простими словами пояснить теорію та на практиці продемонструє, як працювати з дистрибутивом. 

Залишити відповідь

Дякуємо, що поділились