Konfigurácia iptables na CentOS 7

Všetky operačné systémy založené na jadre Linuxu majú vstavanú bránu firewall, ktorá monitoruje a filtruje prichádzajúce a odchádzajúce prenosy na základe pravidiel nastavených používateľom alebo platformou. V predvolenom nastavení distribúcie CentOS 7 túto funkciu vykonáva obslužný program iptables , ktorý spolupracuje so vstavaným firewallom netfilter. Niekedy musí správca systému alebo správca siete prispôsobiť fungovanie tohto komponentu napísaním príslušných pravidiel. V dnešnom článku by sme chceli hovoriť o základoch konfigurácie iptables vo vyššie uvedenom OS.

Konfigurujeme iptables v CentOS 7

Samotný nástroj je k dispozícii ihneď po dokončení inštalácie CentOS 7, ale navyše budete musieť nainštalovať niektoré služby, o ktorých budeme diskutovať neskôr. V tejto platforme existuje ďalší zabudovaný nástroj, ktorý vykonáva funkciu firewallu s názvom FirewallD. Aby sme predišli konfliktom počas ďalšej práce, odporúčame vypnúť tento komponent. Podrobné pokyny k tejto téme nájdete v našom ďalšom materiáli na nasledujúcom odkaze.

Ďalšie podrobnosti: Zakázať firewallD v CentOS 7

Ako viete, systém môže používať IPv4 a IPv6. Dnes sa zameriame na príklad IPv4, ale ak chcete konfigurovať iný protokol, budete musieť namiesto príkazu iptables v konzole použiť ip6tables .

Inštalácia služieb iptables

Najprv pridajte do systému ďalšie komponenty nástroja, ktoré sa dnes zvažujú. Pomôžu pri nastavovaní pravidiel a ďalších parametrov. Nahrávanie sa vykonáva z oficiálneho úložiska, takže to netrvá dlho.

  1. Všetky ďalšie akcie sa budú vykonávať v klasickej konzole, takže ju spustite ľubovoľnou vhodnou metódou.
  2. Spustenie terminálu na konfiguráciu pomôcky iptables na CentOS 7

  3. Príkaz sudo yum install iptables-services je zodpovedný za inštaláciu sudo yum install iptables-services . Zadajte ho a stlačte kláves Enter .
  4. Inštalácia služieb pre spustenie nástroja iptables na CentOS 7

  5. Potvrďte konto superuser pomocou hesla. Všimnite si, že pri dotazovaní na sudo sa znaky zadané v reťazci nikdy nezobrazia.
  6. Zadanie hesla pre inštaláciu iptables služieb v CentOS 7 cez terminál

  7. Budete vyzvaní na pridanie jedného balíka do systému, akciu potvrdíte výberom voľby y .
  8. Potvrdenie pridania nových balíkov služieb iptables do CentOS 7

  9. Po dokončení inštalácie skontrolujte aktuálnu verziu nástroja: sudo iptables --version .
  10. Kontrola verzie nástroja iptables v CentOS 7 cez terminál

  11. Výsledok sa zobrazí v novom riadku.
  12. Zobrazenie aktuálnej verzie utility iptables v CentOS 7 cez terminál

Teraz je OS kompletne pripravený na ďalšiu konfiguráciu firewallu prostredníctvom utility iptables . Ponúkame Vám oboznámenie sa s konfiguráciou položiek, počnúc manažmentom služieb.

Zastavenie a spustenie služby iptables

Riadenie režimu prevádzky iptables sa vyžaduje v prípadoch, keď potrebujete skontrolovať účinok určitých pravidiel alebo jednoducho reštartovať komponent. To sa vykonáva pomocou vstavaných príkazov.

  1. Zadajte sudo service iptables stop a stlačte kláves Enter na zastavenie služieb.
  2. Zastavte služby iptables na CentOS 7 prostredníctvom terminálu

  3. Na potvrdenie tohto postupu zadajte heslo superuživatela.
  4. Zadanie hesla na zastavenie obslužných služieb iptables na CentOS 7

  5. Ak je proces úspešný, objaví sa nový riadok označujúci zmeny konfiguračného súboru.
  6. Oznámenie o zastavení iptables obslužných služieb v CentOS 7

  7. Spúšťanie služieb sa vykonáva takmer rovnakým spôsobom, iba linka preberá vzhľad sudo service iptables start .
  8. Spustite iptables obslužné služby na CentOS 7 v termináli

Takýto reštart, spustenie alebo zastavenie nástroja je k dispozícii kedykoľvek, nezabudnite vrátiť návratovú hodnotu len vtedy, keď je dopyt.

Zobrazenie a odstránenie pravidiel

Ako už bolo uvedené, firewall je spravovaný manuálne alebo automaticky pridávaním pravidiel. Niektoré ďalšie aplikácie môžu napríklad pristupovať k nástroju úpravou určitých politík. Väčšina týchto akcií sa však stále vykonáva ručne. Zoznam všetkých aktuálnych pravidiel je dostupný cez príkaz sudo iptables -L .

Zobraziť zoznam všetkých aktuálnych pravidiel iptables v CentOS 7

V zobrazenom výsledku budú informácie o troch reťazcoch: „INPUT“ , „OUTPUT“ a „FORWARD“ - prichádzajúca, odchádzajúca a forwardová prevádzka.

Zobrazenie všetkých pravidiel obslužného programu iptables v CentOS 7

Stav všetkých reťazcov môžete určiť zadaním sudo iptables -S .

Zobrazenie zoznamu iptables užitočných reťazcov v CentOS 7

Ak vám pravidlá, ktoré vidíte, nevyhovujú, jednoducho sa odstránia. Celý zoznam sa vymaže takto: sudo iptables -F . Po aktivácii budú pravidlá vymazané absolútne pre všetky tri okruhy.

Zrušte zoznam všetkých pravidiel obslužného programu iptables v CentOS 7

Ak je potrebné ovplyvniť iba politiky z jedného reťazca, do riadka sa pridá ďalší argument:

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

Zrušte zoznam pravidiel pre konkrétny reťazec iptables v CentOS 7

Absencia všetkých pravidiel znamená, že teraz nie sú žiadne nastavenia filtrovania návštevnosti použité pre žiadnu zo strán. Ďalej správca systému už nastavuje nové parametre pomocou rovnakej konzoly, príkazu a rôznych argumentov.

Príjem a zrušenie prevádzky v reťazcoch

Každý okruh je nakonfigurovaný samostatne pre príjem alebo blokovanie prevádzky. Nastavením konkrétnej hodnoty môžete zaistiť, aby sa napríklad zablokovala všetka prichádzajúca návštevnosť. Na tento účel musí byť príkaz sudo iptables --policy INPUT DROP , kde INPUT je názov obvodu a hodnota DROP je hodnota resetovania.

Obnovenie prichádzajúcich požiadaviek v nástroji iptables na CentOS 7

Presne rovnaké parametre sú nastavené pre iné obvody, napríklad sudo iptables --policy OUTPUT DROP . Ak je potrebné nastaviť hodnotu pre príjem prenosu, potom sa DROP zmení na ACCEPT a sudo iptables --policy INPUT ACCEPT .

Povolenie a zablokovanie portov

Ako viete, všetky sieťové aplikácie a procesy fungujú prostredníctvom špecifického portu. Blokovaním alebo povolením určitých adries môžete kontrolovať prístup ku všetkým sieťovým cieľom. Analyzujme presmerovanie portov pomocou príkladu 80 . V termináli stačí zadať príkaz sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT , kde -A je pridanie nového pravidla, INPUT je indikácia obvodu, -P je definícia protokolu, v tomto prípade TCP, a -dport je cieľový port.

Pravidlo pre otvorenie portu 80 v nástroji iptables v CentOS 7

Presný rovnaký príkaz platí pre port 22 , ktorý používa služba SSH: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT .

Pravidlo pre otvorenie portu 22 v obslužnom programe iptables v CentOS 7

Ak chcete zadaný port zablokovať, použije sa reťazec presne rovnakého typu, len na konci sa ACCEPT zmení na DROP . Výsledkom je napríklad sudo iptables -A INPUT -p tcp --dport 2450 -j DROP .

Pravidlo zakázať port v nástroji iptables na CentOS 7

Všetky tieto pravidlá sú uložené v konfiguračnom súbore a môžete ich kedykoľvek zobraziť. Pamätajte si, že sa to robí cez sudo iptables -L . Ak je potrebné vyriešiť sieťovú IP adresu spolu s portom, linka sa mierne zmení - po pridaní TPC , -s a samotnej 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 pre prijatie IP adresy a portu v iptables v CentOS 7

Blokovanie nastáva na rovnakom princípe, pričom sa na konci mení hodnota ACCEPT na DROP . Potom to dopadá, napríklad, sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP .

Pravidlo blokovať IP adresu a port v iptables v CentOS 7

Blokovanie ICMP

Protokol ICMP (Internet Control Message Protocol) je protokol, ktorý je súčasťou protokolu TCP / IP a slúži na odosielanie chybových správ a núdzových situácií pri práci s návštevnosťou. Ak napríklad nie je dostupný server, tento nástroj vykonáva servisné funkcie. Pomôcka iptables vám umožňuje zablokovať ju cez bránu firewall a môžete to urobiť pomocou príkazu sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP . Bude blokovať požiadavky od vás a vášho servera.

Prvé pravidlo pre blokovanie piping iptables v CentOS 7

Prichádzajúce požiadavky sú blokované trochu inak. Potom musíte zadať sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP . Po aktivácii týchto pravidiel server nebude odpovedať na požiadavky ping.

Druhé pravidlo pre blokovanie ping v iptables na CentOS 7

Zabráňte neoprávneným činnostiam na serveri

Niekedy servery podliehajú útokom DDoS alebo iným neoprávneným zásahom votrelcov. Správna konfigurácia firewallu vám umožní chrániť sa pred týmto druhom hackov. Na začiatok odporúčame nastaviť tieto pravidlá:

  1. Zaregistrujte sa v konzole iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT , kde -limit 20 / minute je limit frekvencie pozitívnych výsledkov. Jednotku merania môžete určiť sami, napríklad /second, /minute, /hour, /day . --limit-burst number - obmedzenie počtu odovzdaných paketov. Všetky hodnoty sú nastavené individuálne podľa preferencií administrátora.
  2. Pravidlo pre zabezpečenie z DDoS v iptables v CentOS 7

  3. Potom môžete vypnúť skenovanie otvorených portov, aby ste odstránili jednu z možných príčin hackingu. Zadajte prvý príkaz sudo iptables -N block-scan .
  4. Prvé pravidlo zakázať iptables skenovanie portov v CentOS 7

  5. Potom zadajte sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN .
  6. Druhé pravidlo zakazuje skenovanie portov v systéme CentOS 7

  7. Posledný tretí príkaz je: sudo iptables -A block-scan -j DROP . Výraz bloková kontrola v týchto prípadoch je názov použitého obvodu.
  8. Tretie pravidlo na blokovanie skenovania portov iptables na CentOS 7

Nastavenia zobrazené dnes sú len základom práce v nástroji na správu brány firewall. V oficiálnej dokumentácii pomôcky nájdete popis všetkých dostupných argumentov a možností a nakonfigurujte bránu firewall špeciálne pre vaše požiadavky. Vyššie boli považované za štandardné bezpečnostné pravidlá, ktoré sa používajú najčastejšie a vo väčšine prípadov sú potrebné.