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.
obsah
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 .
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.
sudo yum install iptables-services
je zodpovedný za inštaláciu sudo yum install iptables-services
. Zadajte ho a stlačte kláves Enter . sudo iptables --version
. 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.
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.
sudo service iptables stop
a stlačte kláves Enter na zastavenie služieb. sudo service iptables start
. 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.
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
.
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.
Stav všetkých reťazcov môžete určiť zadaním sudo iptables -S
.
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.
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
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.
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.
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
.
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.
Presný rovnaký príkaz platí pre port 22 , ktorý používa služba SSH: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
.
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
.
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.
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
.
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.
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.
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á:
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. sudo iptables -N block-scan
. sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN
. sudo iptables -A block-scan -j DROP
. Výraz bloková kontrola v týchto prípadoch je názov použitého obvodu. 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é.