Практично кожен просунутий користувач Ubuntu зацікавлений в забезпеченні безпеки для своєї мережі. До того ж багато хто використовує певні мережеві утиліти, які будуть коректно функціонувати тільки після внесення конкретних правил в міжмережевий екран. Сьогодні ми хочемо поговорити про налаштування Firewall на прикладі UFW (Uncomplicated Firewall). Це найпростіший інструмент реалізації правил брандмауера, тому він рекомендується початківцям юзерам і тим, кого не влаштовує занадто складна функціональність iptables. Давайте крок за кроком розглянемо всю процедуру настройки, розібравши кожен етап максимально докладно.
Налаштовуємо UFW в Ubuntu
Встановлювати UFW в операційну систему не потрібно, оскільки він присутній там за замовчуванням. Однак в стандартному своєму вигляді він неактивний і не має взагалі ніяких правил. Спочатку займемося активацією, а потім розглянемо основні дії. Однак першочергово слід вивчити синтаксис, і особливо це стосується тих користувачів, хто планує задіяти цей міжмережевий екран на постійній основі.
Крок 1: Розвідка синтаксису
Як відомо, UFW - консольна утиліта, а це значить, що управління нею здійснюється через стандартний «Термінал» або будь-який інший призначений для користувача. Взаємодія такого роду здійснимо за допомогою спеціально встановлених команд. Всі вони завжди є в документації, проте читати величезну купу матеріалів не має сенсу, особливо у випадку з сьогоднішнім інструментом. Принцип введення виглядає так: sudo ufw опції дію параметри
. sudo відповідає за запуск від імені суперкористувача, ufw - стандартний аргумент, що позначає спричинюється програму, а решта фрази і визначають встановлюються правила. Саме на них ми і хочемо зупинитися більш детально.
-
enable
- стандартний параметр, який відповідає за увімкнення. При цьому він буде автоматично доданий в автозавантаження. -
disable
- відключає UFW і прибирає його з автозавантаження. -
reload
- використовується для перезавантаження Firewall. Особливо актуально після установки нових правил. -
default
- позначає, що наступна опція встановиться за замовчуванням. -
logging
- активує створення лог-файлів, в яких буде зберігатися вся основна інформація про дії брандмауера. -
reset
- скидає всі налаштування до стандартних. -
status
- використовується для перегляду поточного стану. -
show
- швидкий перегляд звітів про роботу фаервола. До цього параметру можна застосувати додаткові опції, але про них ми поговоримо в окремому кроці. -
allow
- задіяний при додаванні дозволяло. -
deny
- те ж саме, але застосовується для заборони. -
reject
- додає відкидає правило. -
limit
- установка лімітують правил. -
delete
- видаляє вказане правило. -
insert
- вставляє правило.
Як бачите, команд не так вже й багато. Їх точно менше, ніж в інших доступних міжмережевих екранах, а запам'ятати синтаксис можна вже через кілька спроб взаємодії з UFW. Залишилося тільки розібратися з прикладом конфігурації, чому і будуть присвячені наступні етапи сьогоднішнього матеріалу.
Крок 2: Включення / Відключення / Скидання налаштувань
Ми вирішили виділити кілька конфігураційних моментів в один етап, оскільки вони частково пов'язані між собою і схожі по реалізації. Як ви вже знаєте, UFW спочатку знаходиться в відключеному стані, тому давайте активуємо його, застосувавши всього одну команду.
- Відкрийте панель з додатками і запустіть «Термінал». Ви можете відкрити консоль і іншим зручним для вас способом.
- Перш ніж виконувати активацію, перевірте, можливо, раніше ви або інший додаток вже активовано міжмережевий екран. Здійснюється це шляхом введення команди
sudo ufw status
. - Введіть пароль для отримання прав суперкористувача і натисніть Enter. Врахуйте, що при цьому методі введення символи не відображаються в рядку з метою безпеки.
- У новому рядку ви отримаєте інформацію про поточний стан UFW.
- Активація фаервола виконується через уже згаданий вище параметр, а вся команда виглядає так:
sudo ufw enable
. - Вас повідомить про те, що брандмауер включений і буде запускатися разом з операційною системою.
- Для відключення використовуйте
sudo ufw disable
. - Про деактивації повідомить практично таке ж повідомлення.
- У майбутньому, якщо буде потрібно скинути правила або це потрібно зробити вже зараз, вставте команду
sudo ufw reset
і натисніть на клавішу Enter. - Підтвердіть скидання, вибравши відповідний варіант відповіді.
- Ви побачите шість різних рядків з адресами резервних копій. Можете в будь-який момент переміститися до цього розташуванню, щоб відновити параметри.
Тепер ви знаєте про те, які саме команди відповідають за управління загальним поведінкою розглянутого сьогодні Firewall. Всі інші етапи будуть націлені виключно на конфігурацію, а самі параметри наведено для прикладу, тобто ви повинні змінювати їх, відштовхуючись від своїх потреб.
Крок 3: Установка правил за замовчуванням
В обов'язковому порядку слід застосувати правила за замовчуванням, які будуть ставитися до всіх вхідних і вихідних сполук, не згаданих окремо. Це означає, що всі вхідні підключення, не позначені вручну, будуть заблоковані, а вихідні при цьому проходять успішно. Вся схема реалізується в такий спосіб:
- Запустіть нову сесію консолі і введіть команду
sudo ufw default deny incoming
. Активуйте її натисканням на клавішу Enter. Якщо ви вже ознайомилися з зазначеними вище правилами синтаксису, то знаєте, що це означає блокування всіх вхідних з'єднань. - В обов'язковому порядку потрібно ввести пароль суперкористувача. Ви будете його вказувати кожен раз при запуску нового сеансу консолі.
- Після застосування команди ви будете повідомлені про те, що правило за замовчуванням вступило в силу.
- Відповідно, потрібно задати другу команду, яка буде вирішувати вихідні з'єднання. Виглядає вона так:
sudo ufw default allow outgoing
. - Ще раз з'явиться повідомлення про застосування правила.
Тепер ви можете не турбуватися про те, що будь-які невідомі входять спроби підключення пройдуть успішно і хтось зуміє отримати доступ до вашої мережі. Якщо ж ви не збираєтеся блокувати абсолютно всі вхідні спроби з'єднання, пропустіть вказане вище правило і переходите до створення власних, детально вивчивши наступний етап.
Крок 4: Додавання власних правил брандмауера
Правила брандмауера - головна настроюється опція, заради якої користувачі і задіють UFW. Ми на прикладі інструменту OpenSSH зараз розглянемо приклад дозволу доступу, а також не забудемо і про блокування по портам. Для початку вам необхідно запам'ятати додаткові команди синтаксису, що відповідають за додавання правил:
ufw allow ім'я_служби
ufw allow порт
ufw allow порт / протокол
Після цього можете сміливо приступати до створення дозволяють або забороняють правил. Давайте по порядку розберемося з кожним типом політик.
- використовуйте
sudo ufw allow OpenSSH
для відкриття доступу до портів служби. - Ви будете повідомлені про те, що правила були оновлені.
- Відкрити доступ можна і шляхом вказівки порту, а не імені служби, що виглядає так:
sudo ufw allow 22
. - Це ж саме відбувається і через порт / протокол -
sudo ufw allow 22 / tcp
. - Після внесення правил перевірте список доступних додатків, ввівши
sudo ufw app list
. Якщо все було застосовано успішно, необхідна служба відобразиться в одній з наступних рядків. - Що стосується дозволів та заборони передачі трафіку по портах, то це здійснюється шляхом введення синтаксису
ufw allow напрямок порт
. На скріншоті далі ви бачите приклад дозволу вихідного трафіку по порту (sudo ufw allow out 80 / tcp
), А також забороняє політику з цього ж напрямку до вхідної сторону (sudo ufw deny in 80 / tcp
). - Якщо вас цікавить приклад додавання політики шляхом введення більш широкого позначення синтаксису, використовуйте приклад
ufw allow proto протокол from ip_істочніка to ip_назначенія port порт_назначенія
.
Крок 5: Установка правил limit
Ми винесли тему установки правил limit в окремий етап, оскільки про це необхідно поговорить докладніше. Дане правило обмежує кількість підключених IP-адрес до одного порту. Найбільш очевидне застосування цього параметра - захист від атак, які мають на увазі перебір паролів. Здійснюється установка стандартної політики так:
- В консолі пропишіть
sudo ufw limit ssh / tcp
і натисніть на Enter. - Введіть пароль від свого облікового запису суперкористувача.
- Ви будете повідомлені про те, що оновлення правил пройшло успішно.
Точно таким же чином встановлюються політики обмежень і на інші програми. Використовуйте для цього назву служби, порт або порт / протокол.
Крок 6: Перегляд стану UFW
Іноді користувачеві потрібно подивитися поточний стан брандмауера не тільки в плані активності, але і встановлених правил. Для цього існує окрема команда, про яку ми говорили раніше, а зараз розглянемо її більш детально.
- пропишіть
sudo ufw status
, Щоб отримати загальні відомості. - У нових рядках будуть відображені всі встановлені політики за адресами, протоколам і назв служб. Справа показані дії і напрямки.
- Більш детальні відомості відображаються при використанні додаткового аргументу, а команда набуває вигляду
sudo ufw status verbose
. - Список всіх правил в незрозумілому для початківців користувачів вигляді виводиться через
sudo ufw show raw
.
Є й інші опції, які відображатимуть певні відомості про існуючі правила і стані брандмауера. Давайте коротко пробіжимося по всіх ним:
-
raw
- показує всі активні правила, використовуючи формат уявлення iptables. -
builtins
- включає тільки правила, додані в якості за замовчуванням. -
before-rules
- відображає політики, що їх перед прийняттям пакета з зовнішнього джерела. -
user-rules
- відповідно, показує додані користувачем політики. -
after-rules
- те ж саме, що і before-rules, але включає тільки ті правила, які активуються вже після прийняття пакетів. -
logging-rules
- показує відомості про події, які записуються в журнал. -
listening
- використовується для перегляду активних (прослуховує) портів. -
added
- задіяний при перегляді недавно доданих правил.
В необхідний для вас момент ви можете використовувати будь-яку з цих опцій, щоб отримати бажану інформацію і задіяти її в своїх цілях.
Крок 7: Видалення існуючих правил
Деякі користувачі, отримавши потрібні відомості про існуючі правила, бажають видалити деякі з них, щоб налагодити з'єднання або задати нові політики. Розглянутий брандмауер дозволяє зробити це в будь-який доступний момент, що здійснюється так:
- вставте команду
sudo ufw delete allow out 80 / tcp
. Вона автоматично видалить правило, яке дозволяє вихідні з'єднання через порт / протокол 80 / tcp. - Ви будете повідомлені про те, що політика успішно видалена як для протоколу IPv4, так і для IPv6.
- Це ж стосується і забороняють з'єднань, наприклад,
sudo ufw delete deny in 80 / tcp
.
Використовуйте опції перегляду стану, щоб скопіювати необхідні правила і видалити їх так само, як це було продемонстровано в прикладі.
Крок 8: Включення логування
Останній етап сьогоднішньої статті передбачає активацію опції, яка автоматично час від часу буде зберігати інформацію про поведінку UFW в окремий файл. Необхідна вона далеко не всім користувачам, а застосовується так:
- Напишіть
sudo ufw logging on
і натисніть Enter. - Дочекайтесь появи повідомлення про те, що журнал тепер буде зберігатися.
- Ви можете застосувати і іншу опцію, наприклад,
sudo ufw logging medium
. існує ще low (Зберігає відомості тільки про заблокованих пакетах) і high (Зберігає всю інформацію). Середній варіант записує в журнал заблоковані і дозволені пакети.
Вище ви вивчили цілих вісім етапів, які використовуються для настройки брандмауера UFW в операційній системі Ubuntu. Як бачите, це дуже простий міжмережевий екран, який підійде навіть початківцям юзерам через легкість освоєння синтаксису. UFW ще можна сміливо назвати хорошою заміною стандартному iptables, якщо він вас не влаштовує.