12,7 → 12,7 |
# + suppression du filtrage par la table "NAT" -> utilisation de la table "MANGLE" |
|
IPTABLES="/sbin/iptables" |
FILTERING="no" |
FILTERING="yes" |
EXTIF="eth0" |
INTIF="eth1" |
TUNIF="tun0" |
42,28 → 42,30 |
# On autorise tout sur loopback |
$IPTABLES -A INPUT -i lo -j ACCEPT |
|
############################# |
# INTIF rules # |
############################# |
# on autorise les requêtes dhcp |
$IPTABLES -A INPUT -i $INTIF -p udp -m udp --sport bootpc --dport bootps -j ACCEPT |
|
# On ferme INTIF (tout passe par TUNIF) |
$IPTABLES -A INPUT -i $INTIF -j ULOG --ulog-prefix "RULE Protect1 -- REJECT " |
$IPTABLES -A INPUT -i $INTIF -j REJECT |
|
## On drop les scans XMAS et NULL (à voir si utile ...) |
#$IPTABLES -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP |
#$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP |
#$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP |
#$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP |
|
# Règles d'antispoofing |
############################# |
# Local protection rules # |
############################# |
# On drop les scans XMAS et NULL |
$IPTABLES -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP |
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP |
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP |
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP |
# On drop le broadcast et le multicast sur les interfaces |
$IPTABLES -A INPUT -m addrtype --dst-type BROADCAST,MULTICAST -j DROP |
# Règles d'antispoofing (avec log) |
$IPTABLES -A INPUT -i $TUNIF ! -s $PRIVATE_NETWORK_MASK -j ULOG --ulog-prefix "RULE Antispoof1 -- DENY " |
$IPTABLES -A INPUT -i $TUNIF ! -s $PRIVATE_NETWORK_MASK -j DROP |
$IPTABLES -A INPUT -i $EXTIF -s $PRIVATE_NETWORK_MASK -j ULOG --ulog-prefix "RULE Antispoof2 -- DENY " |
$IPTABLES -A INPUT -i $EXTIF -s $PRIVATE_NETWORK_MASK -j DROP |
|
# On drop le broadcast et le multicast sur les interfaces (sans Log) |
$IPTABLES -A INPUT -m addrtype --dst-type BROADCAST,MULTICAST -j DROP |
|
# On autorise le ping dans les deux sens (icmp N°0 & 8) en provenance du LAN |
$IPTABLES -A INPUT -i $TUNIF -s $PRIVATE_NETWORK_MASK -p icmp --icmp-type 0 -j ACCEPT |
$IPTABLES -A INPUT -i $TUNIF -s $PRIVATE_NETWORK_MASK -p icmp --icmp-type 8 -j ACCEPT |
145,11 → 147,14 |
$IPTABLES -A PREROUTING -t nat -i $TUNIF -p tcp -d $PRIVATE_IP -m tcp --dport 8080 -j ULOG --ulog-prefix "RULE direct-proxy -- DENY " |
$IPTABLES -A PREROUTING -t mangle -i $TUNIF -p tcp -d $PRIVATE_IP -m tcp --dport 8080 -j MARK --set-mark 1 |
|
# On interdit et on log le reste sur les 2 interfaces d'accès |
# On interdit et on log le reste sur l'interface interne |
$IPTABLES -A INPUT -i $TUNIF -j ULOG --ulog-prefix "RULE rej-int -- REJECT " |
$IPTABLES -A INPUT -i $EXTIF -j ULOG --ulog-prefix "RULE rej-ext -- REJECT " |
$IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset |
$IPTABLES -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable |
$IPTABLES -A INPUT -i $TUNIF -p tcp -j REJECT --reject-with tcp-reset |
$IPTABLES -A INPUT -i $TUNIF -p udp -j REJECT --reject-with icmp-port-unreachable |
# Pour EXTIF, étudier l'utilité de logger dans un autre fichier (avec l'option --limit pour éviter les denis de service) |
# $IPTABLES -A INPUT -i $EXTIF -j ULOG --ulog-prefix "RULE rej-ext -- REJECT " |
# On drop le reste sur l'interface externe |
$IPTABLES -A INPUT -i $EXTIF -j DROP |
|
# On active le masquage d'adresse par translation (NAT) |
$IPTABLES -A POSTROUTING -t nat -o $EXTIF -j MASQUERADE |