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

Jak nastavit bránu firewall s iptables na Ubuntu a CentOS

V tomto tutoriálu vám ukážeme, jak nastavit firewall pomocí iptables na Linux VPS se systémem Ubuntu nebo CentOS jako operačním systémem. Iptables je administrační nástroj pro filtrování paketů IPv4 a NAT a používá se k nastavení a správě tabulek pravidel filtrování paketů IPv4 v jádře Linuxu.

Správná konfigurace a nastavení firewallu je jednou z nejdůležitějších a nejdůležitějších věcí, které musíte udělat pro zabezpečení svého serveru.

U iptables je definováno několik různých tabulek pro porovnávání paketů a každá tabulka může obsahovat několik vestavěných řetězců a také některé řetězce definované uživatelem. Řetězce jsou ve skutečnosti seznamy pravidel, která odpovídají sadě paketů, a každé pravidlo určuje, co se má s odpovídajícím paketem dělat.

Výchozí tabulka je filter a obsahuje vestavěné řetězce INPUT, FORWARD a OUTPUT. Řetěz INPUT se používá pro pakety směřující do místních soketů, řetězec FORWARD se používá pro pakety směrované přes box, zatímco řetězec OUTPUT se používá pro lokálně generované pakety.

Připojte se k serveru přes SSH a vypište pravidla definovaná v konkrétním řetězci pomocí následující syntaxe:

sudo iptables -L CHAIN

Nahraďte CHAIN ​​jedním z vestavěných řetězců, abyste viděli definovaná pravidla. Pokud není vybrán žádný řetězec, budou ve výstupu uvedeny všechny řetězce.

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Pravidla brány firewall určují, co dělat s určitým paketem, pokud odpovídá určitým kritériím, a v případě, že paket nesplňuje kritéria, bude prozkoumáno další pravidlo brány firewall definované v řetězci. To je velmi důležitá věc, kterou byste měli vědět při definování pravidel brány firewall, protože se můžete snadno uzamknout ze svého serveru, pokud po pravidle blokování definujete pravidlo, které přijímá pakety z vaší místní IP adresy.

Cíle, které můžete použít pro pravidla brány firewall, jsou ACCEPT, DROP, QUEUE a RETURN. ACCEPT nechá paket projít, DROP paket zahodí, QUEUE předá paket uživatelskému prostoru, zatímco RETURN zastaví procházení paketu aktuálním řetězcem a bude pokračovat podle dalšího pravidla v předchozím řetězci. Výchozí zásada řetězce definuje, co dělat s paketem, pokud neodpovídá určitému pravidlu brány firewall. Jak můžete vidět na výstupu prvního příkazu, výchozí zásada pro všechny vestavěné řetězce je nastavena na ACCEPT. ACCEPT nechá paket projít, takže v podstatě neexistuje žádná ochrana.

Před přidáním jakýchkoli konkrétních pravidel přidejte následující:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Tím zabráníte přerušení již vytvořených připojení a vaše aktuální relace SSH zůstane aktivní.

Dále přidejte pravidla pro povolení provozu na vašem rozhraní zpětné smyčky:

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

Dále povolte přístup k vašemu serveru přes SSH pro vaši místní IP adresu, abyste k serveru měli přístup pouze vy:

sudo iptables -A INPUT -s 111.111.111.111 -p tcp --dport 22 -j ACCEPT

Kde 111.111.111.111 je vaše místní IP adresa a 22 je naslouchací port vašeho démona SSH. V případě, že se vaše lokální IP adresa mění dynamicky, je nejlepší vynechat -s 111.111.111.111 a použít jinou metodu k ochraně služby SSH před nežádoucím provozem.

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

Dále povolte přístup ke svým důležitým službám, jako je HTTP/HTTPS server:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

[ecko_alert color=”blue”]Uvízli jste někde? Získejte od nás VPS a my váš server řádně zabezpečíme a nakonfigurujeme vám firewall zdarma![/ecko_alert]

Nyní uveďte aktuální pravidla a zkontrolujte, zda je vše v pořádku. Pro podrobný výstup můžete použít následující příkaz:

sudo iptables -nvL

Pokud máte další služby, kterým chcete povolit přístup, je nejlepší to udělat nyní. Jakmile budete hotovi, můžete nastavit výchozí zásadu pro vestavěný řetězec INPUT na DROP.

sudo iptables -P INPUT -j DROP

Tím zahodíte všechny pakety, které nesplňují kritéria pravidel brány firewall. Konečný výstup by měl být podobný následujícímu:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443

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

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0

Pokud však nyní restartujete server, ztratíte všechna definovaná pravidla brány firewall, takže je opravdu důležité, aby byla pravidla trvalá.

V případě, že používáte Ubuntu VPS, musíte si pro tento účel nainstalovat další balíček. Pokračujte a nainstalujte požadovaný balíček pomocí následujícího příkazu:

sudo apt-get install iptables-persistent

Dne Ubutnu 14.04 pravidla brány firewall můžete uložit a znovu načíst pomocí následujících příkazů:

sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

Na Ubuntu 16.04 místo toho použijte následující příkazy:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Pokud používáte CentOS VPS, můžete pravidla brány firewall uložit pomocí příkazu níže:

service iptables save

Samozřejmě nemusíte nic z toho dělat, pokud používáte některou z našich plně spravovaných hostingových služeb VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám pomohli nakonfigurovat vaše iptables na vašem serveru. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS . Pokud se vám líbil tento příspěvek na téma Jak nastavit bránu firewall s iptables na Ubuntu a CentOS, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek níže nebo jednoduše zanechte komentář v sekci komentářů. Děkuji.


Cent OS
  1. Jak otevřít port Http ( 80 ) v Iptables na CentOS

  2. Jak otevřít porty v Ubuntu a CentOS pomocí IPtables

  3. Jak nastavit bloky serveru Nginx na Ubuntu a CentOS

  1. Jak nastavit bránu firewall s UFW v Ubuntu \ Debian

  2. Jak nastavit bránu firewall s iptables na Ubuntu a CentOS

  3. Jak nastavit Firewall s Firewallem na CentOS 8

  1. Jak nastavit bránu firewall s UFW na Ubuntu 18.04

  2. Jak povolit a používat firewall na CentOS 7

  3. Jak nastavit bránu firewall s UFW na Ubuntu 16.04