Що означає порожній iptables?


17

Я використовую CentOS і коли набираю наступну iptablesкоманду:

iptables -L -v

Вихід такий:

Chain INPUT (policy ACCEPT 19614 packets, 2312K bytes)  pkts bytes target     prot opt in     out     source               destination   

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)  pkts bytes target    prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 13881 packets, 32M bytes)  pkts bytes target     prot opt in     out     source               destination

Що це означає? Я можу підключитися за допомогою SSH. Де я можу побачити це правило?

Відповіді:


20

Порожні iptablesправила просто означають, що у вас немає правил. Відсутність правил означає, що таблиця "policy" контролює те, що відбувається з кожним пакетом, який проходить через цю таблицю. policy ACCEPTНа кожний засіб таблиці , що всі пакети , які дозволені в кожній таблиці. Таким чином, у вас немає активного брандмауера.


Не бути збирачем ніт на те, що є досить простим запитанням та відповідями, але це не policy ACCEPTможе вважатися правилом саме по собі? Так, він блокує 100% нічого і не фільтрує трафіку, але все-таки це правило в контексті iptablesексплуатаційної поведінки.
JakeGould

1
@JakeGould Звичайно, це має сенс. Підвіконня iptablesвикористовує два чіткі терміни правило та політику , і я намагався дотримуватися термінології інструменту.
Френ

4

У вас немає встановлених правил. Погляньте на наступний iptablesпідручник про те, як додати свої правила .

Ви можете додати своє правило SSH так, що дозволить усім SSH через порт 22:

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

Спасибі, можливо, мені було не зрозуміло. Мене дивує, що як я можу підключитися за допомогою SSH, якщо у мене ще немає жодного правила. Що означає порожній стіл? Дозволити всі з'єднання чи що?
Мемочіпан

@Memochipan Зауважте, як список містить політику: "policy ACCEPT" -> це правило за замовчуванням, яке в цьому випадку приймає весь трафік. Ваші iptables ефективно відключаються як брандмауер без будь-яких правил для блокування трафіку.
Дарт Android

2
@ Memochipan Так, це стара нитка, але проста аналогія полягає в тому, що у вас є двері з замком на ній, але двері ніхто не замикає. Тож якщо iptablesвстановлено, у вас є потенціал для встановлення правил. Але якщо немає правил, немає нічого, двері не зачинені, і кожен може пройти прямо через неї.
JakeGould

0

Я знайшов це питання, коли задумався, чому iptables-save вийшов порожнім. Тож, хоча це не відповідь на ОП, я думав, що я залишу це тут :)

Виявляється, що iptables-save потребує завантажених модулів iptable_filter (та / або iptable_nat).

root@mgmt:~# iptables-save 
root@mgmt:~# modprobe iptable_filter
root@mgmt:~# iptables-save 
# Generated by iptables-save v1.6.0 on Fri Aug  4 09:21:14 2017
*filter
:INPUT ACCEPT [7:488]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:424]
COMMIT
# Completed on Fri Aug  4 09:21:14 2017

Це має значення, коли ви намагаєтесь зробити "безпечний" тест деяких нових правил:

iptables-save > /tmp/ipt.good; (sleep 60; iptables-restore < /tmp/ipt.good) & iptables-restore < iptables.rules.test
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.