Pro zabezpečení každého systému je firewall nutností. V systémech Linux lze firewall implementovat pomocí nástroje příkazového řádku iptables. Je velmi výkonný pro nastavení pravidel brány firewall pro zvýšení bezpečnosti. Pod kapotou iptables interagují s háčky pro filtrování paketů síťového zásobníku jádra známého jako Netfilter (http://www.netfilter.org/) framework. Může spravovat filtrování paketů a pravidla NAT.
Poznámka:V praxi iptables zpracovává pravidla IPv4 a ip6tables http://linux.die.net/man/8/ip6tables zpracovává pravidla IPv6.
Začínáme s iptables
Obslužný program iptables používá koncepci tabulky k uspořádání pravidel brány firewall. Tables zase obsahuje sadu řetězů. A řetězce obsahují sadu pravidel.
Existují čtyři typy tabulek.
1. Filtrační tabulka
2. NAT tabulka
3. Mangle stůl
4. Raw tabulka
5. Bezpečnostní tabulka
Filtrovat tabulku
Je to výchozí iptable. Tato tabulka rozhoduje o tom, zda má být paket povolen ke svému cíli nebo ne. Typický paket, který dosáhl filtrační tabulky, projde kterýmkoli z následujících tří řetězců.
1. Vstupní řetězec – Pokud je cíl paketů na váš server, prochází řetězcem INPUT.
2. Výstup – Pokud je zdrojem paketů váš server, pak prochází výstupním řetězcem.
3. Forward – Pokud pakety, ani zdroj, ani cíl, nepatří vašemu serveru, pak procházejí dopředným řetězcem. Znamená to, že paket z jiné NIC vašeho serveru je směrován. K tomu obvykle dochází, když váš systém Linux funguje jako směrovač.
Tabulku filtrů ve vašem systému můžete zobrazit pomocí následujícího příkazu.
sudo iptables -t filter --list
tabulka NAT
Tabulka NAT obsahuje následující řetězce.
1. Řetězec PREROUTING – Tento řetězec je určen hlavně pro DNAT (Destination NAT)
2. POSTROUTING chain – Tento řetězec je hlavně pro SNAT (Source NAT)
Poznámka:Přečtěte si o DNAT a SNAT s příkladem zde .
3. OUTPUT chain – Pokud jsou pakety doručovány lokálně, použije se tento řetězec.
NAT tabulku můžete zobrazit pomocí následujícího příkazu.
sudo iptables -t filter --list
Mangle tabulka
Tato tabulka se primárně používá pro změnu hlaviček IP. Má následující řetězce.
1. PŘEDMĚROVÁNÍ
2. VÝSTUP
3. VPŘED
4. VSTUP
5. POSTROUTING
Prohlédněte si seznam mandlových tabulek pomocí následujícího příkazu.
sudo iptables -t mangle --list
Nezpracovaná tabulka
Tato tabulka poskytuje mechanismus pro označení paketů pro odhlášení ze sledování připojení. http://people.netfilter.org/pablo/docs/login.pdf
Mangle tabulka má následující řetězce
1. PŘEDMĚROVÁNÍ
2. VÝSTUPNÍ řetězec
Zobrazte nezpracovaný seznam tabulek pomocí následujícího příkazu.
sudo iptables -t raw --list
Tabulka zabezpečení
Tato tabulka souvisí se SELINUX. Nastavuje kontext SELINUX na paketech. Abych byl konkrétnější, používá se pro povinné řízení přístupu https://en.wikipedia.org/wiki/Mandatory_access_control
Prohlédněte si seznam tabulek zabezpečení pomocí následujícího příkazu.
sudo iptables -t security --list