Úvod
Iptables je obslužný program pro uživatelský prostor, který umožňuje správci systému konfigurovat tabulky poskytované firewallem jádra Linuxu a řetězce a pravidla, která ukládá. Iptables je téměř vždy předinstalovaný v jakékoli distribuci Linuxu. Správně nakonfigurovaný firewall je velmi důležitý pro celkovou bezpečnost vašeho serveru.
V tomto článku vám sdělíme kroky k otevření portů ve firewallu Iptables v distribuci Ubuntu a Centos
Předpoklad
Sudo přístup k serveru Ubuntu nebo Centos s nainstalovaným Iptable.
Krok 1 :Seznam aktuálních pravidel Iptables
Připojte se k serveru pomocí přístupu Sudo a pro zobrazení seznamu aktuálních pravidel, která jsou nakonfigurována pro iptables, použijte příkaz níže
sudo iptables -L
Můžeme vidět výstup, jak je uvedeno níže, který zobrazí všechna pravidla, která jsou aktuálně nakonfigurována
root@e2e:~# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1167 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:zabbix-agent Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination root@e2e:~#
Krok 2 :Zálohujte soubory Iptables
Než budeme pokračovat s přidáváním pravidel do Iptable,Musíme si udělat zálohu pravidel Iptable. V případě jakýchkoliv problémů s konfigurací Iptable můžeme pravidla obnovit ze zálohy
Pomocí níže uvedených příkazů uložte pravidlo Iptable
iptables-save > IPtablesbackup.txt
Krok 2 :Přidat/odebrat pravidlo Iptable
Jakmile jsme si vědomi pravidel, která jsou aktuálně nakonfigurována, můžeme otevřít port v IPtables přidáním pravidla pomocí příkazu níže.
sudo iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
Poznámka:Nahraďte xxxx požadovaným číslem portu, který chcete otevřít
Například otevřít Mysql port 3306 ,Musíme spustit pod příkazem.
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
To v podstatě říká Iptable, aby přijal připojení k Mysql veřejně.
Totéž můžete zobrazit pomocí iptables -L jak je uvedeno v kroku 1
root@:~# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1167 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:zabbix-agent ACCEPT tcp -- anywhere anywhere tcp dpt:mysql Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination root@:~#
Pokud chcete odstranit pravidlo, které bylo nedávno přidáno, můžete použít níže uvedený příkaz
sudo iptables -D INPUT -p tcp --dport xxxx -j ACCEPT
Pokud si nepřejete otevřít port veřejně, můžete otevřít port pro jednu IP.
Pomocí níže uvedeného příkazu otevřete port pouze pro jednu IP
sudo iptables -A INPUT -p tcp -s your_server_ip --dport xxxx -j ACCEPT
Poznámka:Laskavě nahraďte your_server_ip na požadovanou IP ve výše uvedeném příkazu a nahraďte xxxx požadovaným portem
Krok 3 :Uložení pravidla Iptable
Jakmile přidáme pravidla, musíme pravidla uložit a učinit je trvalými. Pokud používáte Ubuntu, můžete použít iptables-persistent a pro Centos můžete použít příkaz iptables save
Na Ubuntu 14.04 použijte následující příkazy k uložení/znovu načtení pravidel iptables
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload
Na Ubuntu 16.04 a Ubuntu 18.04 použijte následující příkazy
sudo netfilter-persistent save
sudo netfilter-persistent reload
Pokud používáte centos, použijte příkaz Níže
service iptables save
Krok 4:Obnovení zálohy Iptables
Pokud se vyskytne nějaký problém s vaším konfiguračním pravidlem Iptables, můžete vrátit změny pomocí níže uvedeného příkazu a obnovit soubor, který byl zálohován v kroku 2
iptables-restore < IPtablesbackup.txt
Závěr
Dodržování výše uvedeného článku vám pomůže otevřít/zavřít porty ve vašem systému Linux. Implementace správného firewallu iptables by měla být vždy považována za vysokou prioritu pro vaše nastavení, protože umožňuje správcům systému zabezpečit váš systém a povolit pouze požadované porty veřejně nebo jejich omezení na konkrétní IP