Firewall у Linux
Увага! Всі дії з iptables виробляються від імені привілейованого користувача!
Команди
- -A - Додати правило в ланцюжок
- -D - Видалити правило з ланцюжка
- -R - Замінити одне правило іншим
- -I - Вставити нове правило
- -L - Вивести список існуючих правил
- -F - Скидання правил
- -Z — Обнулення лічильників у заданому ланцюжку
- -N — Створення нового ланцюжка із заданим ім'ям
- -X — Видалення ланцюжка
- -P — Встановити стандартну політику для обраного ланцюжка
- -E — Перейменувати ланцюжок користувача
Детальніше в man iptables
Перегляд поточної конфігурації
Якщо ви побачили подібне, значить ваш файрволл ще не налаштований і дозволяє все. Виправимо становище.
Налаштування стандартної політики
- iptables -P INPUT DROP - блокування вхідних пакетів
- iptables -P OUTPUT ACCEPT - дозволити вихідні пакети
- iptables -P FORWARD DROP — обробка пакетів, які потрапили на сервер з іншої машини та чекають на подальше перекидання. У прикладі блокується. У такому разі вам доведеться дописати правила для довірених машин.
Оскільки вхідні пакети INPUT блоковані, пропишемо правило:
Це дозволить приймати пакети від раніше встановленого з'єднання та приймати нові пакети, породжені цим з'єднанням.
Або із зазначенням типу протоколу:
Тепер локальний інтерфейс:
- NEW - дані, що починають нове з'єднання.
- ESTABLISHED - пакет, що надходить від вже встановленого з'єднання.
- RELATED - новий пакет даних, але породжений старим встановленим з'єднанням
- INVALID - тож зрозуміло
Зберегти налаштування (можетепрописувати налаштування iptables безпосередньо у створений файл):
Включити ці правила:
І побачити різницю:
Запуск iptables при старті системи:
У каталозі /etc/init.d створюємо файл з ім'ям iptables
Прописуємо в ньому таке:
Робимо файл iptables виконуваним:
Додаємо його до автозапуску
Запуск iptables при підключенні до мережі:
Примітка: у будь-який момент ви можете перевірити чи завантажені ваші правила, просто ввівши від рута iptables-save
Для archlinux збереження правил iptables здійснюється командою: