Як працює фаєрвол iptables

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!

Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив

- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I

Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!

Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!

Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!

Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.

Задайте питання в службу підтримки 24/7/365

Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями

вступ

Наявність надійного фаервола - один з найважливіших аспектів захисту будь-який сучасний операційної системи. Більшість дистрибутивів Linux поставляються з декількома різними інструментами фаервола. Даний посібник розглядає один з найбільш популярних - iptables.

Отже, iptables - це стандартний фаєрвол, включений до більшості дистрибутивів Linux за замовчуванням (для його заміни розробляється nftables). Насправді, iptables - це призначена для користувача утиліта для управління системою netfilter, яка, в свою чергу, обробляє вхідні та вихідні стеком Linux. iptables зіставляє кожен вступник пакет з набором встановлених правил, а потім вирішує, що з ним робити далі.

Як працює iptables

Перш ніж перейти до ознайомлення з командами для управління iptables і налаштування фаєрвола, ознайомтеся з деякими необхідними термінами.

Фаєрвол iptables працює шляхом порівняння мережевого трафіку з набором правил. Правило - це властивості, які повинен мати пакет, щоб отримати доступ до сервера, а також дія, яку потрібно виконати над пакетами, відповідними правилами.

target вказує, яка мета повинна бути виконано, якщо пакет відповідає правилу. Target може містити остаточне рішення щодо даного пакета (прийняти його або скинути з'єднання), а також може передати пакет для обробки інший ланцюжку або ж просто внести пакет в журнал.

Правила фаервола об'єднуються в групи, які називаються ланцюжками (chains). Ланцюжок являє собою послідовність правил, щодо якої перевіряється пакет. Якщо пакет збігається з одним з правил, фаєрвол виконує вказане дію; при цьому пакет не перевіряється іншими правилами в ланцюжку.

Такі ланцюжки створюються користувачем у міру необхідності. За замовчуванням існує три ланцюжки:

  • INPUT: обробляє всі вхідні на сервер пакети;
  • OUTPUT: містить правила для вихідного трафіку;
  • FORWARD: використовується для обробки призначеного для інших серверів трафіку, який не був створений на даному сервері. Цей ланцюжок в основному необхідна для маршрутизації запитів на інші сервери.

Кожен ланцюжок може містити нуль або більше правил, а також має політику за замовчуванням (policy). Політика визначає дію, яке необхідно виконати в разі якщо пакет не відповідає жодному правилу (такий пакет можна скинути - «drop», або прийняти - «accept»).

За допомогою модуля, який можна завантажити через правила, Iptables може також відстежувати з'єднання. Це означає, що можна створити правила, що визначають, що робити з пакетом, на основі його відношення до попередніх пакетів. Ця функція називається «відстеженням стану» (state tracking), «відстеженням з'єднань» (connection tracking) або ж «механізмом визначення станів» (state machine).

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

важливі примітки

Ознайомившись з тим, як iptables управляє надходять пакетами (передає його відповідної ланцюжку, перевіряє його згідно кожного правила, і якщо пакет не відповідає жодному з правил, виконує політику за замовчуванням), потрібно розглянути деякі «підводні камені», які потрібно мати на увазі при складанні правил.

Для початку потрібно переконатися, що iptables вже містить правила, які зберігають поточні з'єднання навіть при виконанні політики скидання за замовчуванням. Це особливо важливо при підключенні до сервера по SSH. При випадковому впровадженні правила або політики, які блокують вас на власному сервері, можна увійти на VPS за допомогою веб-консолі, яка надає допоміжний доступ.

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

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

Політика ланцюжка за замовчуванням диктує типи правил, які будуть включені в саму ланцюжок. Ланцюжок з політикою DROP повинна містити правила, які відкидають пакети. Ланцюжок з політикою ACCEPT повинна містити виключення для пакетів, які потрібно прийняти.

Ознайомившись із загальною ідеєю роботи iptables, можна переходити до налаштування власного фаервола.

Схожі статті