Gros Problème de Firewall Ipchains sur ma patate !
Bonsoir la liste,
Y a t'il un expert ES-Firewall dans la salle, qui puisse me dire
l'erreur que je fais sur mon script ipchains...
Parce que là je m'arrache les cheveux depuis 3 jours :-(
Sinon existe t'il un moyen de de savoir quelle chaine a bloqué une
connection donnée ?
Merci pour tout commentaire....
#!/bin/sh
# Firewall rules generated by hlfl
ipchains="/sbin/ipchains"
$ipchains -F
$ipchains -X
$ipchains -P input DENY
$ipchains -P forward DENY
$ipchains -P output DENY
#
# Start of firewalling script
#
#
#=====================================================================
# Allow all loopback connections
#=====================================================================
$ipchains -A output -s 0.0.0.0/0 -d 0.0.0.0/0 -p all -j ACCEPT -i lo
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 -p all -j ACCEPT -i lo
#
#
#=====================================================================
# Masquerading for use internet on lan
#=====================================================================
$ipchains -A forward -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQ
#
#
#=====================================================================
# Accept everything on the lan link
#=====================================================================
$ipchains -A output -s 0.0.0.0/0 -d 0.0.0.0/0 -p all -j ACCEPT -i eth1
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 -p all -j ACCEPT -i eth1
#
#
#=====================================================================
# Deny incomming with src @ from lan on net interface
# Anti-Spoof
#=====================================================================
$ipchains -A input -s 10.0.0.0/8 -d 0.0.0.0/0 -p all -j DENY -i ppp0
$ipchains -A input -s 127.0.0.0/8 -d 0.0.0.0/0 -p all -j DENY -i ppp0
$ipchains -A input -s 172.16.0.0/12 -d 0.0.0.0/0 -p all -j DENY -i ppp0
$ipchains -A input -s 192.168.0.0/16 -d 0.0.0.0/0 -p all -j DENY -i ppp0
#
#
#=====================================================================
# Deny all private class src @ outgoing on remote interface
# Should not be routable anyway
# Anti-Spoof
#=====================================================================
$ipchains -A output -s 10.0.0.0/8 -d 0.0.0.0/0 -p all -j REJECT -i ppp0
$ipchains -A output -s 127.0.0.0/8 -d 0.0.0.0/0 -p all -j REJECT -i ppp0
$ipchains -A output -s 172.16.0.0/12 -d 0.0.0.0/0 -p all -j REJECT -i ppp0
$ipchains -A output -s 192.168.0.0/16 -d 0.0.0.0/0 -p all -j REJECT -i ppp0
#
#
#=====================================================================
# Accept DNS (53 or >1024 towards 53 via udp)
#=====================================================================
# (warning. A stateful firewall would be better here)
$ipchains -A output -s 0.0.0.0/0 53 -d 0.0.0.0/0 53 -p udp -j ACCEPT -i ppp0
$ipchains -A input -s 0.0.0.0/0 53 -d 0.0.0.0/0 53 -p udp -j ACCEPT -i ppp0
# (warning. A stateful firewall would be better here)
$ipchains -A output -s 0.0.0.0/0 1024:65535 -d 0.0.0.0/0 53 -p udp -j ACCEPT -i ppp0
$ipchains -A input -s 0.0.0.0/0 53 -d 0.0.0.0/0 1024:65535 -p udp -j ACCEPT -i ppp0
#
#
#=====================================================================
# Accept ssh connections to firewall
# ssh clients uses ports in range 1020-*
#=====================================================================
$ipchains -A input -p tcp -s 0.0.0.0/0 1020:65535 -d 0.0.0.0/22 -i ppp0 -y -j ACCEPT
$ipchains -A input -s 0.0.0.0/0 1020:65535 -d 0.0.0.0/0 22 -p tcp -j ACCEPT -i ppp0
$ipchains -A output -s 0.0.0.0/0 22 -d 0.0.0.0/0 1020:65535 -p tcp -y -j DENY -i ppp0
$ipchains -A output -s 0.0.0.0/0 22 -d 0.0.0.0/0 1020:65535 -p tcp -j ACCEPT -i ppp0
#
#
#=====================================================================
# Accept ftp connections to firewall
# Passive and log init
# Active FTP :
# command : client >1024 -> server 21
# data : client >1024 <- server 20
#
# Passive FTP :
# command : client >1024 -> server 21
# data : client >1024 -> server >1024
#=====================================================================
$ipchains -A input -p tcp -s 0.0.0.0/0 1024:65535 -d 0.0.0.0/0 21 -i ppp0 -y -j ACCEPT
$ipchains -A input -s 0.0.0.0/0 1024:65535 -d 0.0.0.0/0 21 -p tcp -j ACCEPT -i ppp0
$ipchains -A output -s 0.0.0.0/0 21 -d 0.0.0.0/0 1024:65535 -p tcp -y -j DENY -i ppp0
$ipchains -A output -s 0.0.0.0/0 21 -d 0.0.0.0/0 1024:65535 -p tcp -j ACCEPT -i ppp0
$ipchains -A input -s 0.0.0.0/0 1024:65535 -d 0.0.0.0/0 1024:65535 -p tcp -j ACCEPT -i ppp0
$ipchains -A output -s 0.0.0.0/0 1024:65535 -d 0.0.0.0/0 1024:65535 -p tcp -y -j DENY -i ppp0
$ipchains -A output -s 0.0.0.0/0 1024:65535 -d 0.0.0.0/0 1024:65535 -p tcp -j ACCEPT -i ppp0
#
#
#=====================================================================
# Reject auth incomming on lan interface
#=====================================================================
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 113 -p tcp -j DENY -i ppp0
#
#
#=====================================================================
# Reject RPC connections
#=====================================================================
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 111 -p tcp -j DENY -i ppp0
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 111 -p udp -j DENY -i ppp0
#
#=====================================================================
# Accept local side established TCP
#=====================================================================
$ipchains -A output -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -j ACCEPT -i ppp0
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -y -j DENY -i ppp0
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -j ACCEPT -i ppp0
#
#
#=====================================================================
# Set up rights to use local ping (answer to your pings only)
#=====================================================================
$ipchains -A output -s 0.0.0.0/0 -d 0.0.0.0/0 --icmp-type echo-request -p icmp -j ACCEPT -i ppp0
$ipchains -A input -s 0.0.0.0/0 --icmp-type echo-reply -d 0.0.0.0/0 -p icmp -j ACCEPT -i ppp0
$ipchains -A output -s 0.0.0.0/0 -d 0.0.0.0/0 --icmp-type destination-unreachable -p icmp -j ACCEPT
$ipchains -A input -s 0.0.0.0/0 --icmp-type destination-unreachable -d 0.0.0.0/0 -p icmp -j ACCEPT
#
#
#=====================================================================
# Drop all packets that left on net interface
#=====================================================================
$ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 -p all -j DENY -i ppp0
#
#
# End of firewalling script
Reply to: