Як налаштувати брандмауер 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?
Щоб дозволити всі підключення з певної IP-адреси:
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. Викладач простими словами пояснить теорію та на практиці продемонструє, як працювати з дистрибутивом.