GNU/Linux >> Znalost Linux >  >> Cent OS

18 příkladů, jak se naučit pravidla iptable na CentOS

Iptable je administrační nástroj pro filtrování paketů IPv4 a NAT. Iptables se používá k nastavení, údržbě a kontrole tabulek pravidel filtrování paketů IPv4 v jádře Linuxu. Lze definovat několik různých tabulek. Každá tabulka obsahuje řadu vestavěných řetězců a může obsahovat také řetězce definované uživatelem. Každý řetězec je seznam pravidel, která mohou odpovídat sadě paketů. Každé pravidlo určuje, co dělat s paketem, který se shoduje. To se nazývá ,cíl', což může být skok do uživatelem definovaného řetězce ve stejné tabulce.

Pravidlo brány firewall určuje kritéria pro paket a cíl. Pokud se paket neshoduje, dalším pravidlem v řetězci je zkoumaný; pokud se shoduje, pak je další pravidlo určeno hodnotou cíle, což může být název uživatelem definovaného řetězce nebo jedna ze speciálních hodnot ACCEPT, DROP, QUEUE nebo RETURN.

  • AKCEPTOVAT znamená nechat paket projít.
  • DROP znamená hodit paket na zem
  • QUEUE znamená předat paket do uživatelského prostoru
  • NÁVRAT znamená zastavit procházení tohoto řetězce a pokračovat u dalšího pravidla v předchozím řetězci.

Existují celkem 4 řetězce:

  • INPUT - Výchozí řetězec se používá pro pakety adresované systému. Použijte toto k otevření nebo zavření příchozích portů a IP adres/podsítě
  • VÝSTUP - Výchozí řetězec se používá při generování paketů ze systému. Použijte toto otevření nebo zavření odchozích portů a IP adres/podsítí
  • Vpřed - Výchozí řetězce se používají při odesílání paketů přes jiné rozhraní. Obvykle se používá, když nastavujete Linux jako router
  • RH-Firewall-1-INPUT - Toto je uživatelsky definovaný vlastní řetězec. Používají ho řetězce INPUT, OUTPUT a FORWARD.

Instalace Iptables

Můžeme nainstalovat iptables pomocí následujícího příkazu.

[root@vpn ~]# yum install iptables -y

Zkontrolujte verzi iptable:

[root@vpn ~]# iptables --version
iptables v1.3.5

Zkontrolujte stav iptables:

[root@vpn ~]# service iptables status

Spustit iptables:

[root@vpn ~]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]

Chcete-li nastavit iptables, začněte při spuštění:

[root@vpn ~]# chkconfig iptables on

Výchozí konfigurační soubor CentOS je /etc/sysconfig/iptables. Jsou to systémové skripty, které aktivují firewall přečtením tohoto souboru

Pravidla Iptable

1) Resetujte všechna pravidla (F) a řetězce (X), nutné, pokud jste již definovali pravidla iptables

#iptables -t filter -F
#iptables -t filter -X

2) Zobrazit stav brány firewall

#iptables -L -n -v

3) Blokování nulových paketů

#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

4) Odmítněte útok SYN -FLOOD

#iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

5) Odmítnout paket rekonfigurace

#iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

6) Přidání rozhraní localhost do filtru brány firewall

#iptables -A INPUT -i lo -j ACCEPT

7) Povolit provoz webového serveru

#iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

8) Povolit uživatelům používat servery SMTP

#iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

9) Umožněte uživatelům číst e-maily na jejich serveru

povolit provoz POP3

#iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

povolit provoz POP3

#iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

10) Povolit provoz ssh

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

povolit provoz na port SSH, pokud pochází z jednoho zdroje

#iptables -A INPUT -p tcp -s YOUR_IP_ADDRESS -m tcp --dport 22 -j ACCEPT

11) Povolit všem navázaným odchozím připojením přijímat odpovědi ze serveru

#iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

12) Blokovat IP adresu

#iptables -A INPUT -s IP_ADDRESS -j DROP

13) Zablokujte port pro konkrétní IP adresu

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j DROP

14) Otevřete port pro konkrétní IP adresu

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j ACCEPT

15) Povolit tiskárně pro konkrétní IP adresu

#iptables -A INPUT -s IP_ADDRESS -p udp -m udp --dport 631 -j ACCEPT

16) Otevřete DNS

#iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

17) Otevřete port MYSQL

#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

18) Otevřete řadu portů (např. :7000-7100)

#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7100 -j ACCEPT

Po nastavení všech pravidel je potřeba pravidla uložit a restartovat iptables

#service iptables save

#service iptables restart

Cent OS
  1. Jak zablokovat konkrétní port na CentOS 8, jako je 22

  2. 6 užitečných příkladů příkazů journalctl v CentOS / RHEL 7 (cheat Sheet)

  3. Jak odstranit duplicitní pravidla v databázi zásad směrování v CentOS/RHEL

  1. Jak uložit pravidla iptables pro přežití po restartování v CentOS/RHEL

  2. CentOS / RHEL 6:Jak uložit pravidla iptables

  3. CentOS / RHEL :Jak přidat pravidla iptable

  1. CentOS WebPanel – Povolte zabezpečení modulů

  2. 25 Nejčastěji používané příklady pravidel Linux IPTables

  3. CentOS / RHEL:Průvodce řešením problémů s iptables