FIREWALL [IPTABLES]
Poté, co máme nastaveno routování je třeba správně nastavit firewall.
(rev. 2020)
Je několik možností jak to udělat. Existují různé grafické nástroje (system-config-securitylevel, firestarter.. atd.).
Nejlepší je ale rozumnět přímo konfiguračním souborům.
Nejlepší je ale rozumnět přímo konfiguračním souborům.
Zde je vzorový příklad nastavení firewallu s povoleným IP forwardingem, NATem (maškarádou) a s některými specifickými úpravami pro některé služby:
# Firewall configuration written by redhat-config-securitylevel # Manual customization of this file is not recommended. # --- table: nat *nat :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] [0:0] -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE COMMIT # # # --- table: filter *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT ####### zevnitr ven -A FORWARD -i eth1 -o eth0 -p icmp --icmp-type any -j ACCEPT -A FORWARD -i eth1 -o eth0 -m tcp -p tcp --dport 7002:7003 -j ACCEPT # vypnuti pozadavku zevnitr ven -A FORWARD -i eth1 -o eth0 -j REJECT --reject-with icmp-host-prohibited ###### zvenku dovnitr -A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-host-prohibited ###### -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -i eth1 -j ACCEPT # pridano tun0 jako bezpecne zarizeni -A RH-Firewall-1-INPUT -i tun0 -j ACCEPT ####### -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # pro ftp -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT # pro pasivni spojeni -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21000 -j ACCEPT # pro ssh (normalne port 22) -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7557 -j ACCEPT # pro smtp -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT # pro https -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT # pro IMAPS -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT # pro OpenVPN -A RH-Firewall-1-INPUT -m udp -p udp --dport 1194 -j ACCEPT -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 1194 -j ACCEPT #### pro bittorrent #-A RH-Firewall-1-INPUT -m udp -p udp --dport 6881 -j ACCEPT #-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 6881 -j ACCEPT #-A RH-Firewall-1-INPUT -m udp -p udp --dport 6969 -j ACCEPT #-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 6969 -j ACCEPT # pro ssh z IP adresy -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 212.XX.XX.XXX --dport 22 -j ACCEPT # povoleni komunikace se serverem (sledovani aut) s pevnou IP adresou # -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 217.XXX.XXX.XXX --dport 7002 -j ACCEPT # -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 217.XXX.XXX.XXX --dport 7003 -j ACCEPT # priklad povoleni OpenVPN portu pro virtuální adresu OpenVPN klienta 172.162.1.20: #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 172.162.1.20 --dport 1194 -j ACCEPT # -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1194 -j ACCEPT # # priklad povoleni OpenVPN portu pro virtuální adresu OpenVPN klienta 10.8.0.1 #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 10.8.0.1 --dport 1194 -j ACCEPT # -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1194 -j ACCEPT # poslední řádek :-) -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT