Посібник для початківців IP-таблиць

Посібник для початківців по IPTables

IPTables – назва системи брандмауера, яка працює через командний рядок в Linux. Ця програма в основному доступна як утиліта за замовчуванням на Ubuntu. Часто адміністратори використовують брандмауер IPTables, щоб дозволити або заблокувати трафік у своїх мережах. Якщо ви новачок у IPTables, то одним із перших, що вам потрібно зробити, є оновити його або встановити, використовуючи наступну команду:

$ sudo apt – отримати інсталювати iptables

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

У цій статті ми надамо вам основний посібник із IPTables та ознайомимо вас із основами. Перш ніж ми дістаємося до суті IPTables, вам потрібно переконатися, що у вас є VPA під керуванням Ubuntu 16.04 та а локальна машина з клієнтом SSH. Якщо у вас їх уже є, то саме час почати.

Навчальний посібник IPTables: Chains

Iptables навчальні ланцюги

Однією з основоположних концепцій, з якою слід стикатися в IPTables, є концепція ланцюгів. Ланцюжок – це, по суті, правило. У таблицях фільтра є три ланцюги, з якими ви зіткнетесь на IPTables; ВХОД, ВПЕРЕД і ВИХІД.

  • ВХОД – ланцюг INPUT – це правило, яке керує вхідними пакетами. Тут ви можете заблокувати або дозволити нові з’єднання. Це можна зробити на основі IP-адреси порту, протоколу та джерела.
  • ВПЕРЕД – Ланцюг FORWARD фільтрує вхідні пакети, які пересилаються в інше кінцеве місце. Ви навряд чи будете користуватися цією ланцюжком, якщо конкретно не здійснюєте маршрутизацію чи шукаєте переадресацію.
  • ВИХІД – Ланцюг OUTPUT використовується для управління вихідними пакетами та з’єднаннями. Важливо зауважити, що якщо ви запитуєте зовнішній хост, тоді ланцюг введення буде використаний для повернення даних вам.

Поведінка ланцюга за замовчуванням

Ви можете скористатися налаштуванням конкретних правил під час запуску, але вам потрібно зробити крок назад, щоб спочатку визначити поведінку за замовчуванням. Щоб визначити, яка поведінка ваших ланцюгів за замовчуванням, вам потрібно буде виконати команду:

$ sudo iptables -L команда

Це покаже наступне:

правила ланцюга 2

user @ ubuntu: ~ $ sudo iptables -L -v
Ланцюговий Вхід (політика ACCEPT)
Ланцюг Вперед (політика ACCEPT)
Ланцюговий вихід (політика ACCEPT)
user @ ubuntu: ~ $

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

Однак якщо ви виявите, що ваша політика не приймає з’єднання, ви можете ввести кожну з наступних команд, щоб прийняти всі з’єднання:

$ sudo iptables – політика ВХІДЕННЯ ПРИЙОМ$ sudo iptables —політика ВИХІДНИЙ ПРИЙМАНО$ sudo iptables – політика Вперед

Після того, як ваші налаштування за замовчуванням вирівняні, щоб прийняти всі з’єднання, ви можете контролювати доступ до IPTables, блокуючи IP-адреси та номери портів. Це дозволяє вказати, які з’єднання ви хочете заблокувати, а не блокувати все за замовчуванням.

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

$ sudo iptables – політика ВХІДНОГО ДРОПУ$ sudo iptables – політика ВИПУСКУВАННЯ$ sudo iptables – політика Вперед

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

Налаштування окремих підключень

налаштування окремих підключень

Після налаштування поведінки ланцюга за замовчуванням настав час налаштувати окремі з’єднання. Це пункт, коли ви налаштовуєте те, що називається відповіддю, пов’язаним з підключенням. Це по суті розповідає IPTables як взаємодіяти під час підключення до IP-адреси або порту. Ці відповіді такі; ПРИЙМАТИ, ДРОП, ОТХОДИТИ.

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

  • ПРИЙМАТИ – Ця конфігурація дозволяє просто провести з’єднання.
  • ДРОП – Падіння блокує з’єднання, жодним чином не взаємодіючи з джерелом.
  • ОТХОДИТИ – Це блокує спробу з’єднання, але також надсилає повідомлення про помилку. Це, як правило, для сповіщення джерела про те, що ваша брандмауер була заблокована спробою з’єднання.

Як дозволити чи заблокувати з’єднання

Існує багато різних способів заблокувати або дозволити з’єднання залежно від ваших налаштувань. Наведені нижче приклади використовують метод прихованого блокування використання Крапля перервати з’єднання без будь-якої взаємодії. iptables -A дозволяє нам додавати додаткові застереження до правил, встановлених нашими налаштуваннями ланцюга за замовчуванням. Ви бачите, як використовувати цю команду для блокування з’єднань нижче:

Блокування єдиної IP-адреси:

$ sudo iptables -A ВХОД -S 10.10.10.10 -j DROP

У наведеному вище прикладі ви заміните 10.10.10.10 IP-адресу, яку ви хочете заблокувати.

Блокування діапазону IP-адрес:

$ sudo iptables -A INPUT -s 10.10.10.10.0 / 24 -j DROP

або

$ sudo iptables -A INPUT -s 10.10.10.0/255.255.255/.0 -j DROP

Блокування одного порту:

$ sudo iptables -A INPUT -p tcp —dport ssh -s 10.10.10.10 -j DROP

Зауважте, що ‘ssh можна замінити будь-яким номером протоколу чи порту. Важливо також зазначити, що сегмент -p tcp коду використовується для позначення того, чи використовується протокол, який ви хочете заблокувати, використовуючи UDP або TCP.

Якщо в протоколі використовується UDP, ви б ввели -p udp замість -p tcp. Ви також можете заблокувати всі з’єднання з IP-адрес, ввівши таку команду:

$ sudo iptables -A INPUT -p tcp —dport ssh -jDROP

Двостороння комунікація: Підручник про стан підключення IPTables

Більшість протоколів, з якими ви стикаєтесь, потребують спілкування в обох напрямках для того, щоб відбулася передача. Це означає, що передачі складаються з введення та виводу. Те, що входить у вашу систему, так само важливо, як і те, що виходить. Стани з’єднання дозволяють змішувати та співставляти між двосторонніми та односторонніми з’єднаннями. У наведеному нижче прикладі протокол SSH заблокував з’єднання SSH з IP-адреси, але дозволить їм на IP-адресу:

$ sudo iptables -A Вхід

$ sudo iptables -A OUTPUT -p tcp —спорт 22 -д 10.10.10.10. -m стан – держава Встановлено -J ACCEPT

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

Ubuntu:

$ sudo / sbin / iptables-save

Red Hat / CentOS –

$ sudo / sbin / service iptables зберегти

АБО

$ sudo  /etc/init.d/iptables зберегти 

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

Видалення правила

Так само важливо, як можливість зберігати свої правила – це можливість їх видалити. Якщо ви помилилися або просто хочете усунути старе правило, тоді ви можете скористатися параметром –D командування. Цю команду потрібно поєднувати з номером правила, яке ви вводите. Цифра повідомляє IPTables, яке правило потрібно видалити. Наприклад, якщо ви ввели:

$ sudo iptables -D ВХОД 10

Тоді 10-е правило, яке ви налаштували, буде видалено.

Якщо ви хочете прибрати будинок і прибрати ряд правил, тоді ви можете використовувати -F команда. Це можна зробити, ввівши наступне:

$ sudo iptables -F

Це очистить весь набір правил і очистить ваш IPTable.

IPTables: Дізнайтеся правила ланцюга!

Це завершує наш підручник з IPTables. Як ви бачите, IPTables – це універсальний інструмент для блокування та дозволу руху Linux дистрибуції. Ефективне використання утиліти включає ефективне налаштування конфігурацій за замовчуванням та побудову додаткових правил. Конфігурації за замовчуванням дозволять вам окреслити свої широкі наміри руху, щоб дозволити або заборонити трафік; правила дозволять вам структурувати свій підхід щодо IP-адрес, портів та протоколів.

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

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

Kim Martin
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me