Iptables firewall (LAN/WAN/DMZ)
Nogle der kan tage et kig på dette script og sige mig hvad jeg evt. mangler?Det er ikke fordi det ikke virker (det er ikke taget direkte fra runtime - men mener det virker)
Vil bare gerne have nogle forslag til ændringer evt. til at gøre det mere sikkert..
(Som altid herinde går point til dem der kan komme med nogle gode ideer/forslag/ændringer)
#!/bin/sh
# Sæt default Policy
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Flush de 3 chains
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
# eth0 = DMZ (00:01:03:45:46:F9) IP:192.168.2.1
# eth1 = WAN (00:01:03:45:45:3E) IP:10.100.156.1
# eth2 = LAN (00:A0:24:DA:62:ED) IP:192.168.3.1
# Variabler
LAN_NET=’192.168.3.0/24’
EXT_IP=’10.100.156.1’
DMZ_NET=’192.168.2.0/24’
# Accepter etablerede/relaterede forbindelser
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Accepter alle nye forbindelser der ikke kommer fra WAN og ikke skal ind på eth2
iptables -A INPUT -m state --state NEW –o ! eth2 -i ! eth1 -j ACCEPT
iptables -A FORWARD -m state --state NEW –o ! eth2 -i ! eth1 -j ACCEPT
# IP Spoofing sikkerhed.
iptables -A INPUT --protocol all -s 192.168.3.0/24 -i eth1 -j DROP
iptables -A FORWARD --protocol all -s 192.168.3.0/24 -i eth1 -j DROP
iptables -A INPUT --protocol all -s 127.0.0.1 -i eth1 -j DROP
iptables -A FORWARD --protocol all -s 127.0.0.1 -i eth1 -j DROP
# Accepter indkommende http, ftp, ssh
iptables -A INPUT -m state --protocol tcp --state NEW --destination-port http -j ACCEPT
iptables -A INPUT -m state --protocol tcp --state NEW --destination-port ssh -j ACCEPT
iptables -A INPUT -m state --protocol tcp --state NEW --destination-port ftp -j ACCEPT
# Accepter ICMP (f.eks. Ping)
iptables –A INPUT –m state –protocol icmp –state NEW –j ACCEPT
# Opsæt MASQUERADING
iptables -t nat -F POSTROUTING
iptables –t nat –A POSTROUTING –d ! 192.168.0.0/16 –j MASQUERADE
#Forward Port 80 (http) til linux server på DMZ
Iptables -t nat -A PREROUTING -i eth1 -d 10.100.156.1 -p tcp --dport 80 -j DNAT --to 192.168.2.2:80
