Co oznacza pusty iptables?

17

Korzystam z CentOS i po wpisaniu następującego iptablespolecenia:

iptables -L -v

Dane wyjściowe są następujące:

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

Co to znaczy? Jestem w stanie połączyć się za pomocą SSH. Gdzie mogę zobaczyć tę zasadę?

Memochipan
źródło

Odpowiedzi:

20

Puste iptablesreguły oznaczają po prostu, że nie masz żadnych reguł. Brak reguł oznacza, że ​​„polityka” tabeli kontroluje, co dzieje się z każdym pakietem przechodzącym przez tę tabelę. Na policy ACCEPTkażdym stole oznacza, że ​​wszystkie pakiety są dozwolone przez każdy stół. Dlatego nie masz aktywnej zapory ogniowej.

Fran
źródło
Nie być nikczemnikiem tego, co jest dość prostym pytaniem i odpowiedzią, ale nie może policy ACCEPTbyć uważane za zasadę samą w sobie? Tak, blokuje 100% niczego i nie filtruje żadnego ruchu, ale nadal jest regułą w kontekście iptableszachowania operacyjnego.
JakeGould,
1
@JakeGould Pewnie, to ma sens. Sill iptablesużywa dwóch odrębnych terminów: reguły i polityki , a ja starałem się trzymać terminologii tego narzędzia.
Fran
4

Nie masz skonfigurowanych żadnych reguł. Zapoznaj się z poniższym iptablessamouczkiem na temat dodawania reguł .

Możesz dodać swoją regułę SSH w ten sposób, która pozwoli na wszystkie SSH przez Port 22:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT     
Paweł
źródło
Dzięki, może nie byłem jasny. Zaskakuje mnie to, jak mogę połączyć się za pomocą SSH, jeśli nie mam jeszcze żadnej reguły. Co oznacza pusty stół? Zezwolić na wszystkie połączenia lub co?
Memochipan
@Memochipan Zwróć uwagę, w jaki sposób lista zawiera zasady: „policy ACCEPT” -> to domyślna reguła, która w tym przypadku akceptuje cały ruch. Twoje iptables jest skutecznie wyłączane jako zapora ogniowa bez żadnych reguł blokujących ruch.
Darth Android
2
@Memochipan Tak, to jest stary wątek, ale prosta analogia jest taka, że ​​masz drzwi z zamkiem, ale nikt ich nie zamyka. Więc jeśli iptablesjest zainstalowany, możesz potencjalnie skonfigurować reguły. Ale jeśli nie ma reguł, nie ma nic, drzwi nie są zamknięte i każdy może przez nie przejść.
JakeGould,
0

Znalazłem to pytanie, kiedy zastanawiałem się, dlaczego iptables-save wyszedł pusty. Więc chociaż nie jest to odpowiedź na OP, pomyślałem, że zostawię to tutaj :)

Okazuje się, że iptables-save wymaga załadowania modułów iptable_filter (i / lub 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

Ma to znaczenie, gdy próbujesz przeprowadzić „bezpieczny” test nowych zasad:

iptables-save > /tmp/ipt.good; (sleep 60; iptables-restore < /tmp/ipt.good) & iptables-restore < iptables.rules.test
lbt
źródło