3,22 → 3,19 |
|
# script d'initialisation des regles du parefeu en mode ByPass |
# Rexy - 3abtux |
# version 2.0 - 12/2010 |
# changelog : |
# + Prise en compte de regles locales |
# + prise en compte optionnelle d'un fichier iptables 'personnel' permettant de bloquer certains flux/services |
# + suppression du broadcast et du multicast sur les interfaces |
# + adaptation dnsmasq |
|
private_ip_mask=`grep PRIVATE_IP /usr/local/etc/alcasar-network|cut -d"=" -f2` |
private_network=`/bin/ipcalc -n $private_ip_mask|cut -d"=" -f2` # LAN IP address (ie.: 192.168.182.0) |
private_prefix=`/bin/ipcalc -p $private_ip_mask|cut -d"=" -f2` # LAN prefix (ie. 24) |
|
IPTABLES="/sbin/iptables" |
|
EXTIF="eth0" |
INTIF="eth1" |
PRIVATE_NETWORK_MASK="192.168.182.0/24" |
PRIVATE_IP="192.168.182.1" |
PRIVATE_NETWORK_MASK=$private_network/$private_prefix # Lan IP address + prefix (192.168.182.0/24) |
PRIVATE_IP=`echo $private_ip_mask | cut -d"/" -f1` # ALCASAR LAN IP address |
|
# On vide (flush) toutes les règles existantes |
# Flush all existing rules |
$IPTABLES -F |
$IPTABLES -t nat -F |
$IPTABLES -F INPUT |
26,6 → 23,7 |
$IPTABLES -F OUTPUT |
|
# On indique les politiques par défaut |
# Default policies |
$IPTABLES -P INPUT DROP |
$IPTABLES -P FORWARD DROP |
$IPTABLES -P OUTPUT ACCEPT |
34,25 → 32,24 |
$IPTABLES -t nat -P OUTPUT ACCEPT |
|
# On efface toutes les chaînes qui ne sont pas par défaut dans les tables filter et nat |
# Flush non default rules on filter and nat tables |
$IPTABLES -X |
$IPTABLES -t nat -X |
|
# On autorise tout sur loopback |
# accept all on loopback |
$IPTABLES -A INPUT -i lo -j ACCEPT |
|
# on autorise les requêtes dhcp |
# accept dhcp |
$IPTABLES -A INPUT -i $INTIF -p udp -m udp --sport bootpc --dport bootps -j ACCEPT |
|
# Règles d'antispoofing |
$IPTABLES -A INPUT -i $INTIF ! -s $PRIVATE_NETWORK_MASK -j ULOG --ulog-prefix "RULE Antispoof1 -- DENY " |
$IPTABLES -A INPUT -i $INTIF ! -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 multicasat sur les interfaces (sans Log) |
# On drop le broadcast et le multicast sur les interfaces (sans Log) |
# Drop broadcast & multicast |
$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 |
# On laisse passer les ICMP echo-request et echo-reply en provenance du LAN |
# Allow ping (icmp N°0 & 8) from LAN |
$IPTABLES -A INPUT -i $INTIF -s $PRIVATE_NETWORK_MASK -p icmp --icmp-type 0 -j ACCEPT |
$IPTABLES -A INPUT -i $INTIF -s $PRIVATE_NETWORK_MASK -p icmp --icmp-type 8 -j ACCEPT |
|
61,7 → 58,8 |
. /usr/local/etc/alcasar-iptables-local.sh |
fi |
|
# On autorise en FORWARD les connexions déjà établies |
# On autorise les retours de connexions légitimes par FORWARD |
# Conntrack on forward |
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT |
|
# On autorise les demandes de connexions sortantes |