Znalostnej bázy Jednoduchý návod na prácu so službou Profitserver
Hlavná Znalostnej bázy Konfigurácia brány firewall v systéme Linux

Konfigurácia brány firewall v systéme Linux


Firewall v systéme Linux hrá dôležitú úlohu pri zabezpečení počítačového systému. Funguje ako bariéra, kontroluje a filtruje sieťovú prevádzku, aby chránila systém pred neoprávneným prístupom, útokmi a inými hrozbami. Bez správne nakonfigurovanej brány firewall by server mohol byť zraniteľný voči rôznym typom kybernetických útokov, čo by malo vážne následky na bezpečnosť a dôvernosť údajov.

V tomto článku sa pozrieme na dva hlavné nástroje na konfiguráciu brány firewall systému Linux: firewalld a iptables. Urobíme porovnávaciu analýzu ich vlastností, funkčnosti a výhod. Okrem toho poskytneme podrobné pokyny na nastavenie a používanie každého z týchto nástrojov, ako aj preberieme najlepšie postupy na zabezpečenie vášho systému pomocou brány firewall na platforme Linux. Všetky akcie budú demonštrované na a virtuálny server s prístupom root.

Konfigurácia brány firewall v systéme Linux

Firewalld (Firewall Daemon) je program na správu firewallu v operačných systémoch Linux. Poskytuje používateľské rozhranie na konfiguráciu pravidiel brány firewall, povoľovanie alebo blokovanie pripojení sieťových aplikácií. Vo väčšine serverových distribúcií je štandardne predinštalovaný. Ak Firewalld nie je predinštalovaný, možno ho nainštalovať nezávisle od oficiálnych repozitárov distribúcie.

Pre systémy Red Hat (ako RHEL, CentOS, Fedora) sa inštalácia vykoná príkazom:

yum install firewalld

Pre Debian/Ubuntu:

apt-get install firewalld

Po inštalácii je možné ho okamžite spustiť a aktivovať príkazom:

systemctl start firewalld

Ďalej musíte službu pridať do spustenia:

systemctl enable firewalld
Pridanie brány firewall pri automatickom načítaní systému Linux

V tomto bode odporúčame vypnúť ufw, pretože súčasné používanie tohto nástroja s firewalld alebo iptables sa neodporúča. Skontrolujte stav:

systemctl status ufw
Kontrola ufw linux

Ak to chcete zastaviť, zadajte príkaz:

systemctl stop ufw

Pre úplnú deaktiváciu:

ufw disable

Po týchto akciách môžete pokračovať v konfigurácii brány firewall.

Najprv je potrebné definovať dôveryhodné zóny. Firewalld používa koncepciu zón na určenie úrovne dôveryhodnosti sieťových rozhraní. Každému rozhraniu je priradená jedna zóna a na základe zóny sa uplatňujú pravidlá brány firewall. Zoznam všetkých dostupných zón sa otvorí príkazom:

firewall-cmd --get-zones

Zvyčajne sa používajú 4 hlavné zóny:

  1. Verejnosť: Táto zóna je určená pre siete, ktoré nepovažujete za bezpečné;
  2. Súkromný: Vzťahuje sa na domáce siete alebo iné dôveryhodné sieťové pripojenia;
  3. Interná: Používa sa pre interné siete, ako sú siete v rámci organizácie alebo podnikovej siete;
  4. DMZ: V tejto zóne sú zvyčajne umiestnené servery, ktoré by mali byť dostupné z internetu.

Toto je však len jeden príklad. Svoju vlastnú zónu môžete pridať pomocou príkazu:

firewall-cmd --permanent --new-zone=nameyourzone

Po pridaní je potrebné opätovné načítanie:

firewall-cmd --reload

Na vymazanie zóny sa používa podobná metóda

firewall-cmd --permanent --delete-zone=nameyourzone

Po definovaní zón je potrebné povoliť prevádzku pre potrebné služby a porty. Ak chcete povoliť určitú službu, použite príkaz:

firewall-cmd --zone=public --add-service=name

Kde názov je názov služby. Ak chcete napríklad povoliť návštevnosť pre Apache:

firewall-cmd --zone=public --add-service=http

Na definovanie povolených portov použite príkaz:

firewall-cmd --zone=public --add-port=number/protocol

Napríklad štandardný port 22 pre SSH by vyzeral takto:

firewall-cmd --zone=public --add-port=22/tcp

V tejto fáze sú už vytvorené hlavné pravidlá. Ďalej určite, ako sa bude spracovávať návštevnosť v závislosti od zdroja, cieľa, portu a ďalších kritérií. Ak chcete pridať pravidlo (pomocou verejnosť zóna ako príklad):

firewall-cmd --zone=public rule

Ak chcete napríklad povoliť prichádzajúce prenosy z ľubovoľného zdroja na port 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent

Ak chcete odstrániť pravidlo:

firewall-cmd --permanent --remove-rule=rule_specification

Kde vládnuť je typ pravidla (napr. port, služba, bohaté pravidlo atď.) a špecifikácia_pravidiel je špecifikácia samotného pravidla.

Po vykonaní zmien v konfigurácii Firewallu je potrebné ich uložiť a použiť. Ak chcete uložiť zmeny, použite príkaz:

firewall-cmd --runtime-to-permanent

Ak chcete použiť zmeny:

firewall-cmd --reload

Po dokončení nastavenia si môžete vybrané parametre overiť otvorením zoznamu všetkých pravidiel:

firewall-cmd --list-all
pravidlá firewallu pre Linux

Ak sa vyskytnú nejaké problémy, skontrolujte protokoly brány firewall pomocou príkazu:

journalctl -u firewalld

Poznámka: Zaoberali sme sa len všeobecným algoritmom nastavenia pripojenia. Nástroj má rozsiahle funkcie. Pre úplné informácie o všetkých dostupných možnostiach môžete použiť oficiálna dokumentácia alebo otvorte pomoc:

firewall-cmd --help

Konfigurácia iptables v systéme Linux

Na rozdiel od Firewalldu je iptables starší, ale stále široko používaný nástroj v Linuxe na správu firewallu. Poskytuje priamejší a flexibilnejší prístup k pravidlám filtrovania paketov na úrovni jadra Linuxu. iptables však vyžaduje pokročilejšie znalosti a skúsenosti v porovnaní s Firewalldom, čím sa stáva menej dostupným pre začiatočníkov. Skontrolujte predinštalovanú verziu nástroja pomocou príkazu:

iptables -V

Ak nástroj nie je nainštalovaný, bude potrebné ho nainštalovať. Príkaz na inštaláciu na Ubuntu, Debian:

apt install iptables

Pre systémy Red Hat (napr. CentOS, Fedora):

yum install iptables

Príkaz na aktiváciu po inštalácii:

systemctl start iptables

Ak chcete pridať do spustenia, vykonajte:

systemctl enable iptables

Pred spustením konfigurácie iptables je dôležité pochopiť, ako to funguje. Tomu napomáha syntax programu. Vyzerá to nasledovne:

iptables -t table action chain additional_parameters

Poďme sa ponoriť hlbšie do každej položky.

Iptables má štyri hlavné tabuľky: filter, nat, mangle a raw. Každý z nich je určený na spracovanie určitých typov paketov a má svoje vlastné reťazce pravidiel:

  1. filtrovať: Toto je najčastejšie používaná tabuľka obsahujúca pravidlá filtrovania paketov. Používa sa na rozhodovanie, či povoliť alebo zakázať pakety.
  2. nat: Táto tabuľka sa používa na úpravu sieťových adries a portov v paketoch. Často sa používa na nastavenie maskovania (NAT).
  3. mangeľ: V tejto tabuľke môžete upraviť hlavičky paketov. Používa sa na špecializované operácie s paketmi, ako je označovanie.
  4. surový: Táto tabuľka sa používa na konfiguráciu pravidiel, ktoré platia predtým, ako prejdú cez systém sledovania pripojení. Zvyčajne sa používa na nastavenie pravidiel, ktoré by systém sledovania nemal upravovať, ako je napríklad zahadzovanie paketov z určitých adries.

Každý stôl obsahuje sadu reťazí. Reťazce sú postupnosťou pravidiel, ktoré sa kontrolujú postupne. Existujú tri preddefinované reťazce:

  1. INPUT (prichádzajúce). Pravidlá v tomto reťazci určujú, čo robiť s prichádzajúcimi paketmi.
  2. VÝSTUP (odchádzajúce). Tento reťazec sa vzťahuje na všetky pakety, ktoré váš počítač odosiela do iných zariadení alebo počítačov v sieti.
  3. FORWARD (preposielanie). Pravidlá v tomto reťazci určujú, čo robiť s preposlanými paketmi.

Nakoniec, každý reťazec má nejakú akciu (cieľ). V praxi sa používa 5 hlavných akcií:

  1. SÚHLASIŤ: Umožnite paketom prejsť cez bránu firewall.
  2. DROP: Odmietnite paket a zahoďte ho bez akejkoľvek odpovede.
  3. ODMIETNUŤ: Odmietnuť paket a odoslať odosielateľovi chybovú správu ICMP.
  4. Prihláste sa: Zapíšte paket do systémového denníka a vykonajte inú akciu (napr. ACCEPT alebo DROP).
  5. RETURN: Zastavte kontrolu pravidiel v aktuálnom reťazci a vráťte sa do volacieho reťazca (ak je to možné).

Ak chcete spustiť nastavenie, otvorte zoznam existujúcich pravidiel príkazom:

iptables -L
Konfigurácia brány firewall v systéme Linux

Ako návod na konfiguráciu Iptables sa pozrime na praktické príklady najčastejšie používaných príkazov. Pre pohodlie rozdelíme príklady do 3 skupín v závislosti od konkrétneho reťazca.

Reťaz INPUT:

  1. Povoliť prichádzajúcu komunikáciu cez protokol TCP na porte 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Povoliť prichádzajúcu komunikáciu cez protokol UDP na porte 22:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. Blokujte prichádzajúci prenos z konkrétnej adresy IP:

iptables -A INPUT -s 192.168.1.100 -j DROP

Reťaz VÝKON:

  1. Povoliť odchádzajúce prenosy cez protokol TCP na porte 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Povoliť odchádzajúce prenosy cez protokol UDP na porte 80:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. Blokujte odchádzajúce prenosy na konkrétny port (napríklad 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

Reťaz FORWARD:

  1. Blokovať presmerovaný prenos z určitého rozsahu adries IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Zablokujte preposielanie paketov zo špecifického sieťového rozhrania:

iptables -A FORWARD -i eth1 -j DROP

3. Obmedzte počet súčasných pripojení pre konkrétny port (v tomto príklade 10 pripojení za minútu na porte 80):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

Ako vidíte, v každom jednotlivom prípade sa používa ďalší argument (príkaz). Ak chcete získať úplný zoznam možných argumentov a celkovú podporu funkcií nástroja, zadajte:

iptables -h
zoznam príkazov iptables linux setup

Aby ste sa uistili, že sú nastavenia správne, znova zadajte príkaz a zobrazte zoznam pravidiel:

iptables -L
Kontrola pravidiel iptables linux

Ak chcete odstrániť konkrétne pravidlo, použite príkaz:

iptables -D chain rule_number

Napríklad, ak chcete odstrániť pravidlo číslo 1 z reťazca INPUT, príkaz bude vyzerať takto:

iptables -D INPUT 1

Ak chcete odstrániť všetky pravidlá jedným príkazom:

iptables -F

Dôležitá poznámka: pravidlá iptables sa po reštarte systému alebo služby neuložia automaticky. Na uloženie pravidiel je potrebné ich pridať do konfiguračného súboru a po reštarte obnoviť. The iptables-uložiť a iptables-restore utility môžu s tým pomôcť. Ak chcete pravidlá uložiť, zadajte príkaz:

iptables-save > /etc/iptables/rules.v4

Toto uloží aktuálne pravidlá iptables do súboru rules.v4. Ak chcete obnoviť po reštarte, zadajte:

iptables-restore < /etc/iptables/rules.v4

Tento príkaz obnoví pravidlá zo súboru rules.v4.

Záver

Konfigurácia brány firewall v systéme Linux pomocou brány firewalld alebo iptables je dôležitým aspektom zabezpečenia servera. Oba nástroje ponúkajú spoľahlivé prostriedky na riadenie sieťovej prevádzky a ochranu systému pred neoprávneným prístupom a kybernetickými útokmi. Voľba medzi firewallom a iptables závisí od špecifických potrieb a preferencií používateľa vzhľadom na ich rôznu funkčnosť a silné stránky.

❮ Predchádzajúci článok Používatelia systému Linux: Správa a povolenia
Ďalší článok ❯ Diagnostika zaťaženia servera

Opýtajte sa nás na VPS

Sme vždy pripravení odpovedať na vaše otázky kedykoľvek počas dňa alebo v noci.