Konfigurace iptables na CentOS 7

Všechny operační systémy založené na jádře Linuxu mají vestavěnou bránu firewall, která monitoruje a filtruje příchozí a odchozí provoz na základě pravidel stanovených uživatelem nebo platformou. Ve výchozím nastavení distribuce CentOS 7 tuto funkci provádí obslužný program iptables , který spolupracuje s integrovaným firewallem netfilter. Někdy musí správce systému nebo správce sítě přizpůsobit činnost této komponenty zápisem příslušných pravidel. V dnešním článku bychom chtěli hovořit o základech konfigurace iptables ve výše uvedeném OS.

Konfigurujeme iptables v CentOS 7

Samotný nástroj je k dispozici ihned po dokončení instalace CentOS 7, ale navíc budete muset nainstalovat některé služby, o kterých budeme diskutovat později. V této platformě existuje další vestavěný nástroj, který plní funkci firewallu s názvem FirewallD. Chcete-li se vyhnout konfliktům během další práce, doporučujeme tuto komponentu vypnout. Podrobné pokyny k tomuto tématu naleznete v našem dalším materiálu na následujícím odkazu.

Další podrobnosti: Zakažte bránu firewall v CentOS 7

Jak víte, systém může používat IPv4 a IPv6. Dnes se zaměříme na příklad IPv4, ale pokud chcete konfigurovat jiný protokol, budete muset místo příkazu iptables v konzole použít ip6tables .

Instalace služeb iptables

Nejdříve přidejte do systému další komponenty nástroje, které se dnes zvažují. Pomohou při nastavení pravidel a dalších parametrů. Načítání se provádí z oficiálního úložiště, takže netrvá dlouho.

  1. Všechny další akce budou prováděny v klasické konzole, takže ji spusťte libovolnou vhodnou metodou.
  2. Spuštění terminálu pro konfiguraci nástroje iptables na CentOS 7

  3. Příkaz sudo yum install iptables-services je zodpovědný za instalaci sudo yum install iptables-services . Zadejte ji a stiskněte klávesu Enter .
  4. Instalace služeb pro spuštění nástroje iptables na CentOS 7

  5. Účet superuživatele potvrďte heslem. Všimněte si, že při dotazování na sudo nejsou znaky zadané v řetězci nikdy zobrazeny.
  6. Zadání hesla pro instalaci služeb iptables v CentOS 7 prostřednictvím terminálu

  7. Budete vyzváni k přidání jednoho balíčku do systému, potvrďte tuto akci výběrem volby y .
  8. Potvrzení přidávání nových balíčků služeb iptables do CentOS 7

  9. Po dokončení instalace zkontrolujte aktuální verzi nástroje: sudo iptables --version .
  10. Kontrola verze nástroje iptables v CentOS 7 přes terminál

  11. Výsledek se zobrazí v novém řádku.
  12. Zobrazení aktuální verze obslužného programu iptables v CentOS 7 prostřednictvím terminálu

Nyní je operační systém zcela připraven k další konfiguraci brány firewall prostřednictvím nástroje iptables . Nabízíme seznámení se s konfigurací položek, od správy služeb.

Zastavení a spuštění služby iptables

Správa provozního režimu iptables je vyžadována v případech, kdy potřebujete zkontrolovat účinek určitých pravidel nebo jednoduše restartovat komponentu. To se provádí pomocí vestavěných příkazů.

  1. Zadejte příkaz sudo service iptables stop a stisknutím klávesy Enter služby zastavte.
  2. Zastavte služby iptables na CentOS 7 prostřednictvím terminálu

  3. Pro potvrzení tohoto postupu zadejte heslo superuživatele.
  4. Zadání hesla pro zastavení obslužných služeb iptables na CentOS 7

  5. Pokud je proces úspěšný, zobrazí se nový řádek, který označuje změny konfiguračního souboru.
  6. Oznámení o zastavení obslužných služeb iptables v CentOS 7

  7. Spouštěcí služby jsou prováděny téměř stejným způsobem, pouze řádek přebírá vzhled sudo service iptables start .
  8. Spusťte služby iptables na CentOS 7 v terminálu

Takový restart, spuštění nebo zastavení nástroje je kdykoliv k dispozici, nezapomeňte vrátit návratovou hodnotu pouze tehdy, když je požadován.

Zobrazení a odstranění pravidel

Jak již bylo zmíněno, firewall je spravován ručně nebo automaticky přidává pravidla. Některé další aplikace mohou k nástroji přistupovat například úpravou určitých zásad. Většina těchto akcí je však stále prováděna ručně. Seznam všech aktuálních pravidel je k dispozici prostřednictvím příkazu sudo iptables -L .

Zobrazí seznam všech aktuálních pravidel iptables v CentOSu 7

V zobrazeném výsledku budou informace o třech řetězcích: „INPUT“ , „OUTPUT“ a „FORWARD“ - příchozí, odchozí a dopředný provoz.

Přehled všech pravidel iptables v CentOSu 7

Stav všech řetězců můžete určit zadáním sudo iptables -S .

Zobrazení seznamu iptables pomocných řetězců v CentOS 7

Pokud vám pravidla, která vidíte, nevyhovují, jsou jednoduše odstraněna. Celý seznam je vymazán takto: sudo iptables -F . Po aktivaci budou pravidla vymazána absolutně pro všechny tři okruhy.

Vymažte seznam všech pravidel iptables v CentOSu 7

Pokud je nutné ovlivnit pouze zásady z kteréhokoli řetězce, přidá se na řádek další argument:

sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD

Zrušte seznam pravidel pro konkrétní řetězec iptables v CentOS 7

Absence všech pravidel znamená, že nyní žádné nastavení filtrování provozu není použito pro žádnou ze stran. Správce systému již nastavuje nové parametry pomocí stejné konzoly, příkazu a různých argumentů.

Příjem a odchod provozu v řetězcích

Každý okruh je konfigurován samostatně pro příjem nebo blokování provozu. Nastavením konkrétní hodnoty můžete zajistit, že bude například blokován veškerý příchozí provoz. K tomu musí být příkaz sudo iptables --policy INPUT DROP , kde INPUT je název obvodu a hodnota DROP je resetovací hodnota.

Resetování příchozích požadavků v nástroji iptables na CentOS 7

Přesně stejné parametry jsou nastaveny pro další obvody, například sudo iptables --policy OUTPUT DROP . Je-li nutné nastavit hodnotu pro příjem dat, pak se DROP změní na ACCEPT a sudo iptables --policy INPUT ACCEPT .

Povolení a zablokování portů

Jak víte, všechny síťové aplikace a procesy pracují přes specifický port. Blokováním nebo povolením určitých adres můžete řídit přístup ke všem síťovým cílům. Analyzujme přesměrování portů pomocí příkladu 80 . V terminálu stačí zadat příkaz sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT , kde -A je přidání nového pravidla, INPUT je indikace obvodu, -P je definice protokolu, v tomto případě TCP, a -dport je cílový port.

Pravidlo pro otevření portu 80 v nástroji iptables v CentOS 7

Přesný stejný příkaz platí pro port 22 , který používá služba SSH: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT .

Pravidlo pro otevření portu 22 v nástroji iptables v CentOS 7

Pro zablokování zadaného portu se použije řetězec přesně stejného typu, pouze na konci se ACCEPT změní na DROP . Výsledkem je například sudo iptables -A INPUT -p tcp --dport 2450 -j DROP .

Pravidlo zakázat port v nástroji iptables na CentOS 7

Všechna tato pravidla jsou uložena v konfiguračním souboru a můžete je kdykoliv zobrazit. Nezapomeňte, že se to provádí pomocí sudo iptables -L . Pokud je nutné s portem vyřešit IP adresu sítě, linka se mírně upraví - po přidání TPC , -s a samotné adresy. sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT , kde 12.12.12.12/32 je požadovaná IP adresa.

Pravidlo pro přijetí IP adresy a portu v iptables v CentOS 7

Blokování nastává na stejném principu, na konci se mění hodnota ACCEPT na DROP . Pak to dopadá, například, sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP .

Pravidlo pro blokování IP adresy a portu v iptables v CentOS 7

Blokování ICMP

Protokol ICMP (Internet Control Message Protocol) je protokol, který je součástí protokolu TCP / IP a slouží k odesílání chybových zpráv a nouzových situací při práci s provozem. Pokud například není požadovaný server k dispozici, provede tento nástroj servisní funkce. Pomůcka iptables vám umožňuje zablokovat ji přes bránu firewall a můžete to provést pomocí příkazu sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP . Bude blokovat požadavky od vás a vašeho serveru.

První pravidlo pro blokování piping iptables v CentOS 7

Příchozí požadavky jsou blokovány trochu jinak. Pak musíte zadat sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP . Po aktivaci těchto pravidel nebude server reagovat na požadavky ping.

Druhé pravidlo pro blokování ping v iptables na CentOS 7

Zabránit neoprávněným akcím na serveru

Někdy servery podléhají útokům DDoS nebo jiným neoprávněným zásahům votřelců. Správná konfigurace firewallu vám umožní chránit se před tímto druhem hacků. Pro začátek doporučujeme nastavit tato pravidla:

  1. Zaregistrujte se v konzoli iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT , kde - limit 20 / minute je limit frekvence pozitivních výsledků. Jednotku měření můžete určit sami, například /second, /minute, /hour, /day . --limit-burst number - omezení počtu paketů, které mají být předány. Všechny hodnoty jsou nastaveny individuálně podle preferencí administrátora.
  2. Pravidlo pro zabezpečení z DDoS v iptables v CentOS 7

  3. Pak můžete zakázat skenování otevřených portů, abyste odstranili jednu z možných příčin hackingu. Zadejte první příkaz sudo iptables -N block-scan .
  4. První pravidlo zakázat iptables skenování portů v CentOS 7

  5. Pak zadejte sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN .
  6. Druhé pravidlo zakazující skenování portů iptables v CentOS 7

  7. Poslední třetí příkaz je: sudo iptables -A block-scan -j DROP . Výraz bloková kontrola v těchto případech je název použitého obvodu.
  8. Třetí pravidlo pro blokování skenování portů iptables na CentOS 7

Nastavení zobrazená dnes jsou pouze základem práce v nástroji pro správu brány firewall. V oficiální dokumentaci nástroje naleznete popis všech dostupných argumentů a možností a nakonfigurujte bránu firewall speciálně pro vaše požadavky. Výše byly považovány za standardní bezpečnostní pravidla, která jsou používána nejčastěji a ve většině případů jsou vyžadována.