Sledování a nastavování sítě UBUNTU, DEBIAN – Základy iptables (firewalling)

Základní pravidla zpracování paketu na síťové vrstvě obecným linuxovým routerem (firewallem)

 

1. Host – zpracovává jenom fronty typu – INPUT, OUTPUT – ovlivňuje přístup na a z procesů na lokálním počítači

2. Router – zpracovává jenom fronty typu – INPUT, OUTPUT – pro své locální procesy a zpracovává frontu typu – FORWARD pro pakety určené z jiné síťě do jiné síťě.

3. Firewall – zpracovává fronty INPUT. OUTPUT, FORWARD a PREROUTING, POSTROUTING

PREROUTING – je určen pro forwardování služeb viditelných na veřejné adrese do vnitřní sítě na počítače za NATem

POSTROUTING – je funkce vlastního NATu -řešení zkrytí neveřejného adresního prostoru do veřejné IP sítě (internetu).

IPTABLES a jeho funkce viz.:

man iptables
iptables -L # výpis všech pravidel
iptables -L -v # výpis všech pravidel včetně počítadla zachycených paketů

Příklady použití

1. Zakázání všech DNS serveru krom našeho interního

iptables -F                                                   # vyčistí všechna stávající pravidla firewalu
iptables -A OUTPUT -p udp -d 192.168.1.1 --dport 53 -j ACCEPT # povolí dotazy na náš interní DNS server
iptables -A OUTPUT -p udp -d 0/0 --dport 53 -j DROP       # zakáže dotazy na všechny ostatní DNS servery

2.  Zakázání přístupu na lokální službu SSH a povolení pouze z jednoho hosta

iptables -F                                                   # vyčistí všechna stávající pravidla firewalu
iptables -A INPUT -p tcp -d 192.168.1.1 --dport 22 -j ACCEPT # povolí dotazy na náš server
iptables -A INPUT -p tcp -d 0/0 --dport 22 -j DROP # zakáže dotazy všem ostatním

 

Kontrolní otázky na test:

1. K čemu slouží fronty ve firewalových pravidlech ?
2. K čemu slouží fronta INPUT a OUTPUT ?
3. K čemu slouží fronta FORWARD ?
4. K čemu slouží fronta PREROUTING ?
5. K čemu slouží fronta POSTROUTING ?
6. Nastavte omezení přístupu na službu https běžícím na lokálním počítači  a povolen je pouze přístup z počítače 192.168.20.20 a počítačové sítě 192.168.30.0/24 a z ostatních počítačů je přístup zakázán ?

Odpověď:

iptables -F                                                   
iptables -A INPUT -p tcp -s 192.168.20.20 --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 443 -j ACCEPT 
iptables -A INPUT -p tcp -d 0/0 --dport 443 -j DROP

7. Jaké další funkce může plnit příkaz iptables ?

Odpověď: DROP, REJECT, ACCESS, LOG, MARK

8. Jaké znáte povolené rozsahy neveřejných sítí RFC specifikace?

Ukázka logování firewalu 

#!/bin/sh
# vymazani firewalu
/sbin/iptables -F
# nastaveni logovani
/sbin/iptables -A INPUT -s 192.168.10.0/24 -m limit --limit 15/minute \ -j LOG --log-level 7 --log-prefix "Dropped by firewall: "
# Drop konkretniho firewalu
/sbin/iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 8888 -j REJECT 
# toto ukazuje vystup  z firewallu do log systemu
sudo tail -f /var/log/messages [syslog]