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

