Вступ до IPTABLES: налаштування брандмауера в Linux

Iptables

в налаштувати брандмауер або брандмауер в Linux, ми можемо використовувати iptables, потужний інструмент, який, здається, забутий багатьма користувачами. Хоча існують і інші методи, такі як ebtables та arptables для фільтрації трафіку на рівні посилання, або Squid на рівні програми, iptables можуть бути дуже корисними в більшості випадків, забезпечуючи хорошу безпеку в нашій системі на рівні трафіку та транспорту мережі.

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

Ну, Приступаємо до роботи, на прикладах ви все краще зрозумієте (для цих випадків необхідно мати привілеї, тому використовуйте sudo перед командою або станьте root):

Загальний спосіб використання iptables для створення політики фільтра:

IPTABLES -АРГУМЕНТИ ДІЯ ВВОД-ВВОДУ

Де -АРГУМЕНТ аргумент, який ми будемо використовувати, зазвичай -P для встановлення політики за замовчуванням, хоча є й інші, такі як -L, щоб побачити налаштовані нами політики, -F для видалення створеної політики, -Z для скидання лічильників байтів і пакетів тощо. Іншим варіантом є -A, щоб додати політику (не за замовчуванням), -I, щоб вставити правило у певній позиції, та -D, щоб видалити дане правило. Будуть також інші аргументи для вказівки на протоколи -p, –порт вихідного порту, –порт для порту призначення, –i вхідний інтерфейс, -o вихідний інтерфейс, -s вихідна IP-адреса та -d IP-адреса призначення.

iptables введення-виведення

Крім того, введення / виведення представлятиме, якщо політика він застосовується до входу INPUT, до виходу OUTPUT або це перенаправлення трафіку вперед (є й інші, такі як PREROUTING, POSTROUTING, але ми їх використовувати не будемо). Нарешті, те, що я назвав ACTION, може приймати значення ACCEPT, якщо ми приймаємо, REJECT, якщо ми відхиляємо, або DROP, якщо усуваємо. Різниця між DROP і REJECT полягає в тому, що коли пакет відхиляється за допомогою REJECT, машина, яка його створила, буде знати, що його відхилено, але з DROP вона діє безшумно, і зловмисник або походження не знатиме, що сталося, і не буде знайте, чи є у нас брандмауер або підключення просто не вдалося. Є також інші, такі як LOG, які надсилають подальші дії щодо системного журналу ...

Змінити правила, ми можемо редагувати файл iptables за допомогою улюбленого текстового редактора, nano, gedit, ... або створювати сценарії з правилами (якщо ви хочете їх замінити, ви можете це зробити, поставивши # перед рядком так, щоб він був ігнорується як коментар) через консоль з командами, як ми тут це пояснимо. У Debian та деривативах ви також можете використовувати інструменти iptables-save та iptables-restore ...

Найекстремальніша політика - це все блокувати, абсолютно весь трафік, але це залишить нас ізольованими, з:

iptables -P INPUT DROP

Щоб прийняти все це:

iptables -P INPUT ACCEPT

Якщо ми цього хочемо весь вихідний трафік від нашої команди приймається:

iptables -P OUTPUT ACEPT

La ще однією радикальною дією було б стерти всю політику з iptables з:

iptables -F

Перейдемо до більш конкретних правилУявіть, що у вас є веб-сервер, і тому повинен бути дозволений трафік через порт 80:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

І якщо на додаток до попереднього правила, ми хочемо команду з iptables бачити лише комп’ютери в нашій підмережі і це залишається непоміченим зовнішньою мережею:

iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT

У попередньому рядку ми говоримо про iptables, щоб додати правило -A, щоб входи INPUT і протокол TCP через порт 80 були прийняті. А тепер уявіть, що ви цього хочете веб-перегляд відхилено для локальних машин, що проходять через машину, що працює на iptables:

iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP

Я думаю, що використання є простим, враховуючи, для чого призначений кожен параметр iptables, ми можемо додати прості правила. Ви можете виконати всі комбінації та правила, які ми уявляємо ... Щоб не продовжувати себе більше, просто додайте ще одну річ, і це полягає в тому, що якщо машина перезавантажиться, створені політики будуть видалені. Таблиці перезапускаються і залишатимуться як і раніше, отже, як тільки ви чітко визначите правила, якщо ви хочете зробити їх постійними, ви повинні змусити їх запустити з /etc/rc.local, або якщо у вас є Debian або похідні інструменти, використовуйте інструменти, які ми отримали (iptables-save, iptables-restore і iptables-apply).


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Джиммі Олано - сказав він

    Це перша стаття, яку я бачу на IPTABLES, яка, хоч і щільна - вимагає середнього рівня знань, - ПЕРЕВОДИТЬ Прямо до зерна.

    Я рекомендую всім використовувати його як "короткий довідковий посібник", оскільки він дуже добре ущільнений і пояснений. 8-)

  2.   Ісус - сказав він

    Я хотів би, щоб ви поговорили у наступній статті про те, чи зміна systemd у більшості дистрибутивів Linux впливає якимось чином на безпеку Linux загалом, і чи ця зміна в кращу чи гіршу сторону в майбутньому та дистрибутивах Linux. Я також хотів би знати, що відомо про майбутнє devuan (debian без systemd).
    Щиро дякую, що ви робите дуже хороші статті.

  3.   Slevin - сказав він

    Не могли б ви зробити статтю, що пояснює таблицю манґлів?

  4.   Себастьян - сказав він

    Заблокувати лише Facebook?