В даний час ми використовуємо в основному політику OUTPUT за замовчуванням, ACCEPT.
Цього достатньо для OUTPUT, оскільки Netfilter не потребує спеціальних правил, щоб розпочати відстеження станів.
Але якщо ви хочете відфільтрувати вхідний трафік відповідно до політики " заперечення за замовчуванням ", це можна зробити з переключенням INPUT
-chain на DROP
:iptables -P INPUT DROP
Після цього все було б встановлено лише з двома правилами :
iptables -A INPUT -j ACCEPT -i lo
iptables -A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
Зверніть свою увагу на правило, що дозволяє вхідний трафік через інтерфейс зворотного зв'язку - як я зазначив у своєму блозі, розміщуючи повідомлення " Мінімальний брандмауер для кінцевого користувача ", якщо це прямо не дозволено, трафік зворотного зв'язку не буде оброблятися "встановленою" перевіркою стану порівняно з поверненням трафік над, скажімо, eth0
.
Щоб цей мінімальний набір правил завантажений " як і " без втручання в правила, які вже можуть бути там, зручно використовувати iptables-restore
в SHELL-сесії:
lptables-restore <<__EOF__
-P INPUT DROP
-A INPUT -j ACCEPT -i lo
-A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
__EOF__
Перш ніж це зробити, переконайтеся, що ви не перервете власне мережеве з'єднання 1 , хоча вже відкриті сесії SSH повинні продовжувати працювати нормально, спроби відкрити нові не спрацюють.
__
- Звичайно, ви можете додати інші правила, щоб дозволити такі з'єднання. Це може бути настільки просто, як просто
-A INPUT -j ACCEPT -p tcp --dport 22
- тут не потрібно повозитися -m state
. Також не забудьте виправити lptables-restore
назад, iptables-restore
перш ніж спробувати;)