I když se někdy stále dotýkám Windows sám a v mnoha jiných mě nutí (marditoh rodoreh), když musím dělat věci mimo svůj počítač, pro mě je mluvit o Windows jako něco, co zůstalo daleko v čase. Když jsem jej používal jako svůj hlavní systém (neměl jsem žádný jiný), snažil jsem se jej chránit pomocí softwaru, jako je antivirus Kaspersky a příležitostný firewall, mezi mnoha dalšími bezpečnostními nástroji. V Linuxu jsme nikdy nebyli tak exponovaní jako ve Windows, ale existuje i software, který nám pomáhá být klidnější, jako např IPtables, firewall nebo firewall.
Firewall je bezpečnostní systém, který je odpovědný za řízení síťového provozu, který vstupuje a opouští operační systém. Jedním z nejrozšířenějších v Linuxu je výše zmíněný IPtables, a to do té míry, že pravděpodobně a aniž byste to věděli, je již nainstalován ve vašem operačním systému od doby, kdy jste jej vydali. To, co se v tomto článku pokusíme udělat, je vysvětlit jak nastavit firewall v linuxu s IPtables.
IPtables na Linuxu, co potřebujete vědět
Konfigurace firewallu může být komplikovanéa další v operačním systému, jako je Linux, ve kterém se toho nejlepšího dosáhne dotykem terminálu. Než začnete, je vhodné vědět něco o síťových a bezpečnostních otázkách nebo alespoň pochopit, že když jsme připojeni, komunikujeme s jinými zařízeními a tato zařízení nebo jejich majitelé mohou mít dobré nebo špatné úmysly. Z tohoto důvodu se v závislosti na tom, jak naše PC používáme, vyplatí kontrolovat vše, co jde ven, i vše, co do něj vstupuje.
Také, a co se může stát, pokud máme na našem linuxovém systému další firewall a chystáme se začít vylepšovat věci v IPtables, stojí za to vytvořit záložní kopii naší aktuální konfigurace firewallu. Když je vše jasné, začneme plně mluvit o konfiguraci IPtables.
- První věc, kterou musíme udělat, je nainstalovat balíček. Většina linuxových distribucí jej má ve výchozím nastavení nainstalovaný, ale ne vždy tomu tak je. Abychom zjistili, zda máme v operačním systému nainstalované IPtables, otevřeme terminál a zapíšeme
iptables -v
. V mém případě a v době psaní tohoto článku mi můj terminál vrací iptable v1.8.8. V případě, že není nainstalován, lze jej nainstalovat pomocí:
Ubuntu/Debian nebo deriváty:
sudo apt install iptables
Fedora/Redhat nebo odvozeniny:
sudo yum nainstalovat iptables
Arch Linux a deriváty
sudo pacman -Siptables
Po instalaci bude povolena pomocí:
sudo systemctl povolit iptables sudo systemctl spustit iptables
A jeho stav můžete vidět pomocí:
sudo systemctl status iptables
- S již nainstalovaným firewallem musíte nakonfigurovat jeho pravidla. Pravidla IPtables se dělí na tabulky (o kterých si povíme podrobněji dále v tomto článku): filter, nat a mangle, ke kterým musíme přidat raw a security. Tabulka filtrů se používá k řízení příchozího a odchozího provozu, tabulka nat se používá k NAT (Network Address Translation) a mangle tabulka se používá k úpravě IP paketu. Ke konfiguraci pravidel tabulky filtrů se používají následující příkazy:
- iptables -A INPUT -j ACCEPT (povolit veškerý příchozí provoz).
- iptables -A OUTPUT -j ACCEPT (povolit veškerý odchozí provoz).
- iptables -A FORWARD -j ACCEPT (povolit veškerý směrovací provoz). Tato konfigurace však umožňuje veškerý provoz a nedoporučuje se pro produkční systém. Je důležité specifikovat pravidla firewallu na základě specifických potřeb systému. Pokud například chcete blokovat příchozí provoz na portu 22 (SSH), můžete použít příkaz:
iptables -A VSTUP -p tcp --dport 22 -j DROP
- Další důležitou věcí je uložit nastavení, abyste je neztratili při restartu systému. Na Ubuntu a Debianu se k uložení aktuální konfigurace do souboru používá příkaz „iptables-save“. Na Red Hatu a Fedoře se k uložení konfigurací používá příkaz „service iptables save“. Pokud si nejste jisti, který z nich použít, příkazy Ubuntu/Debianu obvykle fungují na více distribucích.
Načíst konfigurace po restartu
na načíst uložená nastavení, použijí se stejné příkazy jako k jejich uložení, ale s akcí "obnovit" místo "uložit". Na Ubuntu a Debianu se k načtení uložených konfigurací ze souboru používá příkaz „iptables-restore“. Na Red Hatu a Fedoře se k načtení uložených konfigurací používá příkaz „service iptables restore“. Ještě jednou, pokud máte pochybnosti o tom, který příkaz použít, příkazy Ubuntu/Debianu obvykle fungují nejlépe.
Je důležité si uvědomit, že pokud jsou provedeny změny v nastavení brány firewall, je třeba je uložit a znovu načíst, aby se změny projevily. Je to způsob, jak přepsat konfigurační soubor novými daty, a pokud tak neučiníte, změny se neuloží.
Tabulky v IPtables
Existují 5 typy tabulky v IPTtables a každý má jiná pravidla:
- filtr : Toto je hlavní a výchozí tabulka při použití IPTables. To znamená, že pokud není při použití pravidel uvedena žádná konkrétní tabulka, pravidla se použijí na filtrovací tabulku. Jak již název napovídá, úlohou tabulky filtrů je rozhodnout, zda povolit paketům dosáhnout jejich cíle nebo odmítnout jejich požadavek.
- Nat (Network Address Translation): Jak název napovídá, tato tabulka umožňuje uživatelům určit překlad síťových adres. Úlohou této tabulky je určit, zda a jak upravit zdrojovou a cílovou adresu paketu.
- mandl: Tato tabulka nám umožňuje upravit IP hlavičky paketů. Například TTL lze upravit tak, aby se prodloužily nebo zkrátily skoky v síti, které paket může podporovat. Podobným způsobem lze upravit i další IP hlavičky podle vašich preferencí.
- syrový: Hlavní použití této tabulky je ke sledování připojení, protože poskytuje mechanismus pro označování paketů pro zobrazení paketů jako součásti probíhající relace.
- zabezpečení: Pomocí tabulky zabezpečení mohou uživatelé použít interní příznaky kontextu zabezpečení SELinux na síťové pakety.
Poslední dvě tabulky se téměř nepoužívají, a to do té míry, že většina dokumentace hovoří pouze o filtru, nat a mangle.
V souboru nápovědy najdeme příklady, jak spravovat IPtables. Abychom to viděli, otevřeme terminál a napíšeme iptables -h
.
Přestože je iptables jednou z nejlepších možností pro Linux, pokud dáváte přednost něčemu jednoduššímu s grafickým rozhraním, můžete se podívat na Firewalld.