Домашня сторінкаБлог
Керування портами в Linux Ubuntu/Debian/CentOS.

Керування портами в Linux Ubuntu/Debian/CentOS.

Керування портами в Linux Ubuntu/Debian/CentOS.


Багато часу не минає з замовлення сервера на хостингу до першого підключення до нього. Зазвичай це триває лише кілька хвилин. Однак, незважаючи на те, що сервер готовий до використання, він не захищений від зовнішніх загроз, як і новонароджена дитина. Тому для забезпечення безпеки сервера потрібне налаштування брандмауера або міжмережевого екрана.

Що таке порт у Linux?

У контексті мережевої взаємодії порт - це числовий ідентифікатор, який визначає конкретну програму або службу, до якої відбувається запит або від якої йде відповідь. Обмін інформацією між вузлами мережі здійснюється через порти, які можуть бути керованими за допомогою брандмауера. Керування портами сервера важливе для забезпечення безпеки та контролю за трафіком. Взаємодія між вузлами мережі здійснюється через порти, які мають бути відкриті передачі даних. Порти поділяються на дві основні категорії: TCP та UDP. TCP порти використовуються для встановлення надійного з'єднання між хостами, в той час як порти UDP призначені для обміну даними без встановлення з'єднання.

Керування портами в Ubuntu/Debian

В операційних системах Ubuntu та Debian для цієї мети часто застосовується утиліта iptables. Її спрощеним інтерфейсом є UFW. UFW (Uncomplicated Firewall) – це утиліта для керування налаштуваннями брандмауера на основі iptables у Linux. Вона розроблена для того, щоб спростити налаштування та керування правилами брандмауера, роблячи процес більш зрозумілим та доступним для користувачів. У Ubuntu інтерфейс UFW зазвичай є за промовчанням, тоді як у Debian його необхідно встановити окремо. Перед встановленням брандмауера рекомендується оновити репозиторії. Для додавання правил до брандмауера використовуються команди типу "allow", щоб дозволити доступ за певними портами або протоколами. Розглянемо основні команди та параметри UFW.

Примітка: Якщо Ви працюєте з-під користувача root, вам не потрібно на початку кожної команди вказувати sudo .

Основні команди UFW

  1. Активувати UFW
    До або після додавання правил необхідно увімкнути брандмауер. Ця команда потрібна для активації UFW. Після її виконання брандмауер почне застосовувати правила фільтрації трафіку:

    sudo ufw enable

  2. Деактивувати UFW
    Ця команда відключає UFW, тимчасово припиняючи застосування всіх правил брандмауера:

    sudo ufw disable

  3. Перевірка статусу UFW
    Щоб перевірити стан брандмауера, можна скористатися командою з ключем status. Команда виводить поточний статус UFW (увімкнений або вимкнений) та список активних правил:

    sudo ufw status

Керування правилами


Дозволити трафік
Для дозволу трафіку через певні порти можна використовувати команди на кшталт:

sudo ufw allow <порт/сервис>
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

В Ubuntu можна використовувати також дозвіл вхідного трафік для зазначеного сервісу або протоколу. Наприклад, для SSH/HTTP:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https

Заборонити трафік
Крім того, можна використовувати команду "deny" для заборони доступу через певні порти чи протоколи. Вона забороняє вхідний трафік на вказаний порт або вказаний сервіс. Наприклад:

sudo ufw deny <порт/сервис>
sudo ufw deny 23

Видалити правило
Вже створені правила можна видалити за допомогою команди "delete". Видаляє вказане правило команда:

sudo ufw delete <правило>

Наприклад, для видалення правила дозволу порта 80:

sudo ufw delete allow 80

Розширені команди

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

  1. Дозволити трафік для певного протоколу

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

    Наприклад, щоб дозволити лише TCP трафік на порт 80:

    sudo ufw allow 80/tcp

  2. Налаштування стандартної політики

    sudo ufw default allow|deny incoming|outgoing

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

    sudo ufw default deny incoming

  3. Перегляд номерів правил
    Команда для відображення поточних правил з їх номерами, щоб спростити їх видалення або редагування:

    sudo ufw status numbered

  4. Дозволити повний доступ до сервера з конкретної IP-адреси

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

    Дозволяє трафік із вказаної IP-адреси. Наприклад:

    sudo ufw allow from 192.168.1.100

  5. Дозволити доступ до конкретного порту з конкретної IP-адреси

    Для більш складних випадків, наприклад, для відкриття цілого діапазону портів або роботи з конкретними IP-адресами, існують відповідні команди. Команда дозволяє трафік із зазначеної IP-адреси до вказаного вами порту. Наприклад, відкрити доступ до SSH:

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

    Дозволити з локальної мережі для всіх ІР, у зазначеній підмережі, доступ до HTTP-сервера (порту 80):

    sudo ufw allow from 192.168.1.0/24 to any port 80

Журнали та відладка

  1. Включити журналування
    Включает журналирование событий брандмауэра:

    sudo ufw logging on

  2. Перегляд журналу
    Журнал подій можна переглянути за допомогою dmesgабо у файлі /var/log/ufw.log.

Приклади використання

  1. Дозволити доступ до SSH (порт 22)
    Для прикладу, щоб дозволити доступ до SSH (Secure Shell), можна використовувати команду, в якій також можна вказати конкретний номер порту:

    sudo ufw allow SSH
    sudo ufw allow 22
    sudo ufw allow 22/tcp

  2. Заборонити доступ до Telnet (порт 23)

    sudo ufw deny 23/tcp

  3. Дозволити доступ до HTTP (порт 80) з локальної мережі
    Для більш складних випадків, наприклад, для відкриття цілого діапазону портів або роботи з конкретними IP-адресами, існують відповідні команди. UFW робить налаштування брандмауера в Linux більш простим і доступним, надаючи зручний інтерфейс для управління правилами фільтрації трафіку.

    sudo ufw allow from 192.168.1.0/24 to any port 80

Управління портами у CentOS


Для роботи з міжмережевим екраном CentOS використовується клієнтський інтерфейс програми firewalld. Зазвичай firewalld вже встановлено за промовчанням у системі CentOS. Однак, якщо це не так, його можна встановити за допомогою наступних команд.

Встановлення.

sudo dnf update -y
sudo dnf install firewalld -y

Якщо Firewall вже встановлено, буде виведено повідомлення про це. Щоб дізнатися про поточний стан служби firewalld, виконайте команду:

systemctl status firewalld

Список програм.
Список програм, для яких доступ вже надано у firewalld, можна отримати за допомогою команди:

sudo firewall-cmd --permanent --list-all

Відкрити порти.
Щоб дозволити підключення до сервера через певні порти або протоколи, використовуйте команди на зразок:

sudo firewall-cmd --permanent --add-service=http

Аналогічно, можна відкрити доступ до підключень по HTTPS:

sudo firewall-cmd --permanent --add-service=https

Также, можно открыть доступ для подключений по SSH:

sudo firewall-cmd --permanent --add-service=ssh

Також можна додати доступ до конкретного порту, наприклад для порту MySQL 3306 за протоколом tcp:

sudo firewall-cmd --zone=public --add-port=3306/tcp

Діапазон портів.
Для открытия доступа к диапазону портов по протоколу, и например udp используйте команду:

sudo firewall-cmd --zone=public --add-port=32811-32814/udp

Перевірка портів.
Чтобы убедиться, что порты добавлены, выполните:

sudo firewall-cmd --zone=public --list-ports

Блокування портів.
Для блокування доступу через певні порти використовуйте команди:

sudo firewall-cmd --zone=public --remove-port=32814/udp

Застосування.
Нарешті, щоб застосувати всі зміни, підхопити нові правила Firewalld:

sudo firewall-cmd --reload

Вимкнення firewall.
Для отключения брандмауэра используется команда "disable".

sudo firewall-cmd --disable

Підсумки.

Отже, ми розглянули встановлення та налаштування брандмауера в Linux-системах, таких як Ubuntu, Debian та CentOS, а також навчилися додавати та видаляти правила для керування доступом до сервера через певні порти та протоколи.

vds

Вас може зацікавити VPS/VDS сервер від Fotbo

Дивитись