Посилання на офіційну та рекомендовану документацію існують на веб-сайті Netfilter.
Це не нова тема, ресурси безмежні .
Більшість основних команд досить інтуїтивно і легко може бути посилання на сторінки керівництва .
netfilter - це технологія рівня ядра, яка дозволяє фільтрувати пакет, досить розвинена. Є додаткові таблиці, які можуть обробляти пакети, перекладати пакети та іншим чином впливати на маршрутизацію. iptablesУтиліта є інструментом для програми користувачів , що взаємодіють з Netfilter. Якщо ви хочете дізнатися про розширені функціональні можливості, пропоную вам посилатися на вищезгадану документацію. Для ознайомлення з базовою функціональністю, будь ласка, читайте далі.
Щоб перелічити всі існуючі правила:
iptables -L -n
-n не дозволяє iptables розв’язувати ips, що забезпечує швидший вихід.
Таблиця за замовчуванням - це filterтаблиця, яка використовується для застосування основних правил брандмауера до трьох ланцюгів. Три стандартні ланцюга в filterтаблиці INPUT, OUTPUTі FORWARD.
Ланцюги багато в чому пояснюють себе. Ланцюг INPUT впливає на пакети, що надходять, ланцюг OUTPUT впливає на локально генеровані пакети і, нарешті, Вперед, для будь-яких пакетів, які проходять через систему.
Серед цілей, які ви можете вказати, ви можете DROPпакетів, тобто просто ігнорувати та не відповідати. Ви можете REJECTпакетів, де відповідь icmp буде надіслана до джерела відмови. Нарешті, ви можете ACCEPTїх, що дозволяє пакетам продовжувати маршрутизацію.
Часто для зовнішнього брандмауера вибір за замовчуванням буде DROPпротилежним REJECT, оскільки це зменшує видимий слід вашої мережі в Інтернеті. Наприклад, IP-адреса, яка в іншому випадку обмежує послуги певним хостом, мала б менше видимості DROP.
Зауважте, -Aозначає додавати до кінця ланцюга. Якщо ви хочете вставити вгорі, ви можете використовувати -I. Усі правила обробляються зверху вниз. -Dдля видалення.
До DROPвхідного пакету, що надходить від 192.168.235.235:
iptables -A INPUT -s 192.168.235.235 -j DROP
Це переходить до DROPцілі для всіх протоколів, що надходять з цього IP.
Прийняти:
iptables -A INPUT -s 192.168.235.235 -j ACCEPT
Щоб запобігти доступу до цього IP з вашого локального сервера або мережі:
iptables -A OUTPUT -d 192.168.235.235 -j DROP
Ви можете вказати -pпротокол, -sджерело пакету, -dпризначення пакету, порт призначення, порт --dportджерела --sportта багато інших прапорів, які впливатимуть на те, як пакети обробляються правилом.
Якщо ваша INPUTполітика за замовчуванням була, DROPі ви хотіли дозволити всім 192.168.123.0/24підмережам отримати доступ до SSH на вашому сервері, ось такий приклад:
iptables -A INPUT -s 192.168.123.0/24 -p tcp --dport 22 -j ACCEPT
Правильно, ви також можете використовувати позначення CIDR !
Взагалі найкраща політика за замовчуванням - це DROPдля всіх ланцюгів. Кожен ланцюг має політику за замовчуванням, яка вказана -Pпрапором. Навіть якщо у вас політика встановлена за замовчуванням DROP, все одно рекомендується, щоб остаточний запис у ланцюжку DROPтакож був.
Наприклад, щоб змінити політику на DROPланцюги INPUT, FORWARD та OUTPUT:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
Будьте уважні , якщо ви визначите політику DROP за умовчанням для INPUT на віддаленій системі, не попередньо дозволяючи собі доступ до SSH, ви можете не допустити доступу до системи. Якщо у віддаленій системі, ви можете вказати тимчасовий crontab, щоб виконувати всі правила кожні 5 хвилин як помилку.
Щоб видалити всі правила та дозволити весь трафік:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -X
iptables -F
Зауважте, -Xвидаляє всі створені ланцюги. -Fзмиває всі правила.
Існують рідні інструменти для збереження та відновлення правил. Зокрема, iptables-saveі iptables-restore. Більшість сучасних дистрибутивів Linux мають saveта restoreфункціонують у файлі iptables init, наданому системі.
Існують і інші найкращі практики брандмауера, такі як викидання неправильно сформованих пакетів та інший тип небажаного трафіку. Це одна з переваг використання передньої утиліти, такої як Shorewall , оскільки вона буде реалізовувати багато з цих правил за замовчуванням. Тим не менш, я погоджуюся з вашим підходом і вважаю за краще дотримуватись власних правил безпосередньо, і ці самі найкращі практики можуть бути реалізовані без передового досвіду.