Přestože je Linux jedním z nejspolehlivějších a nejbezpečnějších operačních systémů, díky svým vlastnostem bude vždy existovat určitý druh zranitelnosti, ať už je vlastní systému nebo neúmyslně uživatelem. Pro zvýšení zabezpečení Linuxu máme různé nástroje určené k ochraně služeb, procesů, profilů nebo souborů a dnes se zaměříme na speciální s názvem Iptables.
Co je IptablesIptables je pokročilý nástroj brány firewall integrovaný do jádra Linuxu, který je součástí projektu s názvem netfilter.
Díky Iptables budeme schopni přesně a přímo spravovat všechna příchozí a odchozí připojení k serveru. Iptables je vyvinut pro adresování IPv4, zatímco pro IPv6 máme Ip6tables.
1. Struktura iptables v Linuxu
Struktura, kterou v Iptables najdeme, je následující:
DrsnýJe zodpovědný za filtrování paketů před jakoukoli jinou existující tabulkou
FiltrToto je výchozí tabulka aplikace
NatPoužívá se pro překlad síťových adres
MangovníkPoužívá se pro změnu specializovaných síťových paketů
BezpečnostníLze implementovat pro pravidla připojení k síti s povinným řízením přístupu
2. Struktura příkazů v Iptables v Linuxu
V Iptables je každé pravidlo příkazem, který udává, jak by měl být zpracován provoz síťových paketů.
Můžeme použít následující strukturu:
-A VSTUP -i eth0 -p tcp -m stav -ZAVEDENO, SOUVISEJÍCÍ --sport 80 -j PŘIJMOUTPoužité parametry jsou:
- -A: Označuje, že pravidla budou přidána do Iptables
- -i: Udává rozhraní, na které bude pravidlo aplikováno
- -p: Odkazuje na protokol, kde bude pravidlo platit
- -m: Odkazuje na skutečnost, že pro použití pravidla je třeba splnit podmínku
- --state: Povolit přijímání nových připojení
- --sport: Udává zdrojový port
- -j: (Skok) označuje, že mohou přijmout veškerý provoz, který splňuje dané podmínky.
3. Vytváření pravidel pomocí Iptables v Linuxu
Přestože můžeme pravidla přidat ručně, je mnohem praktičtější vytvořit soubor pravidel a poté jej importovat. V tomto případě vytvoříme soubor v cestě / tmp / iptables-ip4 a pro jeho příslušné úpravy můžeme použít editor:
sudo nano / tmp / iptables-ip4Syntaxe bude následující:
* filtr # Pravidla pro přidání PŘIPOJENÍNyní v uvedeném souboru vytvoříme následující pravidla:
Loopback = Jedná se o externí rozhraní Linuxu
-A VSTUP -i lo -j PŘIJMOUT -A VÝSTUP -o lo -j PŘIJMOUT
Ping = Umožňuje nám kontrolovat síťová připojení
-A VSTUP -i eth0 -p icmp -m stav -stav NOVINKA --icmp -typ 8 -j PŘIJMOUT -A VSTUP -i stav eth0 -p icmp -m -stav ZAVEDENO, SOUVISEJÍCÍ -j PŘIJMOUT -A VÝSTUP - o eth0 -p icmp -j PŘIJMOUT
Web = Prostřednictvím těchto pravidel kontrolujeme příchozí a odchozí provoz.
-A VSTUP -i stav eth0 -p tcp -m -stav ZAVEDENO, SOUVISEJÍCÍ --sport 80 -j PŘIJMOUT -A VSTUP -i eth0 -p stav tcp -m -stav ZAVEDENO, SOUVISEJÍCÍ --sport 443 -j PŘIJAT -A VÝSTUP -o eth0 -p tcp -m tcp --dport 80 -j PŘIJMOUT -A VÝSTUP -o eth0 -p tcp -m tcp --dport 443 -j PŘIJMOUT
V případě přidání DNS použijeme následující řádky:
-A VSTUP -i ens3 -s 192.168.0.1 -p udp --sport 53 -m stav -stav ZAVEDENO, SOUVISEJÍCÍ -j PŘIJMOUT -A VÝSTUP -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j PŘIJMOUT
Poznámka:Zde musíme podle potřeby upravit IP
Čas = Tato pravidla umožňují připojení k NTP pro správnou synchronizaci času
-A VSTUP -i eth0 -p udp -m stav -stav ZAVEDENO, SOUVISEJÍCÍ --dport 123 -j PŘIJMOUT -A VÝSTUP -o eth0 -p udp -m udp --sport 123 -j PŘIJMOUT
Tisk = Umožňuje povolení portů USB pro připojení tiskáren
-A VSTUP -p udp -m udp --dport 631 -j ACCEPT -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A OUTPUT -p udp -m udp --sport 631 -j ACCEPT -A VÝSTUP -p tcp -m tcp --sport 631 -j PŘIJMOUT
E -mail = Můžeme povolit různé e -mailové protokoly
# IMAP -A VSTUP -i stav eth0 -p tcp -m -stav ZAVEDEN, SOUVISEJÍCÍ --sport 993 -j PŘIJMOUT -A VÝSTUP -o eth0 -p tcp -m tcp --dport 993 -j PŘIJMOUT
# POP3 -A VSTUP -i stav eth0 -p tcp -m -stav ZAVEDEN, SOUVISEJÍCÍ --sport 995 -j PŘIJMOUT -A VÝSTUP -o eth0 -p tcp -m tcp --dport 995 -j PŘIJMOUT
# SMTP -A VSTUP -i stav eth0 -p tcp -m -stav ZAVEDEN, SOUVISEJÍCÍ --sport 465 -j PŘIJMOUT -A VÝSTUP -o eth0 -p tcp -m tcp --dport 465 -j PŘIJMOUT
SSH = Povolte zabezpečená připojení k počítači pomocí protokolu SSH
# Input -A INPUT -i ens3 -p tcp -m state --state NEW, ESTABLISHED --dport 22 -j ACCEPT -A OUTPUT -o ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT
# Výstup -A VÝSTUP -o ens3 -p tcp -m stav -stav NOVÝ, ZAVEDEN --dport 22 -j PŘIJMOUT -A VSTUP -i ens3 -p stav tcp -m -stav ZAVEDENO --sport 22 -j PŘIJMOUT
DHCP: Můžeme vytvořit pravidla pro autorizaci adresování IP prostřednictvím DHCP
-A VSTUP -i eth0 -p udp -m stav -stav ZAVEDENO, SOUVISEJÍCÍ --sport 67:68 -j PŘIJMOUT -A VÝSTUP -o eth0 -p udp -m udp --dport 67:68 -j PŘIJMOUT
Odmítnout všechna připojení: K deaktivaci všech výše uvedených můžeme přidat následující řádky:
-A VSTUP -j ODMÍTNUTÍ -DOPŘEDU -j ODMÍTNOUT -A VÝSTUP -j ODMÍTNOUT
Všechny tyto řádky budou přidány do zmíněného souboru:
ZVĚTŠIT
Uložíme změny
Ctrl + O
Editor necháváme pomocí
Ctrl + X
4. Import pravidel pomocí Iptables Linux
Jakmile je soubor upraven, můžeme tato pravidla importovat do Iptable spuštěním následujícího příkazu:
sudo iptables -F && sudo iptables -XStav pravidel vidíme pomocí příkazu sudo iptables -S:
ZVĚTŠIT
V případě, že chceme obnovit všechna pravidla, spustíme následující řádek:
sudo iptables-restore < / tmp / itpables-ip4Pokud chceme, aby tato pravidla byla trvalá, provedeme následující:
sudo apt install iptables-persistentTímto způsobem je Iptables naším nejlepším spojencem při konfiguraci brány firewall v prostředí Linux.