Subversion Repositories ALCASAR

Rev

Rev 376 | Rev 434 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 376 Rev 411
Line 1... Line 1...
1
#!/bin/sh
1
#!/bin/sh
2
# $Id: alcasar-iptables.sh 376 2010-12-19 22:24:58Z franck $
2
# $Id: alcasar-iptables.sh 411 2011-01-03 21:05:11Z richard $
3
# script de mise en place des regles du parefeu d'Alcasar (mode normal)
3
# script de mise en place des regles du parefeu d'Alcasar (mode normal)
4
# Rexy - 3abtux - CPN
4
# Rexy - 3abtux - CPN
5
# version 2.0 (10/2010)
5
# version 2.0 (10/2010)
6
# changelog :
6
# changelog :
7
#	+ déplacement du fichier firewall 'local' dans /usr/local/etc/alcasar-iptables-local.sh
7
#	+ déplacement du fichier firewall 'local' dans /usr/local/etc/alcasar-iptables-local.sh
Line 10... Line 10...
10
#	+ suppression log vers syslog
10
#	+ suppression log vers syslog
11
#	+ suppression des broadcast sur EXTIF et INTIF
11
#	+ suppression des broadcast sur EXTIF et INTIF
12
#	+ suppression du filtrage par la table "NAT" -> utilisation de la table "MANGLE"
12
#	+ suppression du filtrage par la table "NAT" -> utilisation de la table "MANGLE"
13
 
13
 
14
IPTABLES="/sbin/iptables"
14
IPTABLES="/sbin/iptables"
15
FILTERING="no"
15
FILTERING="yes"
16
EXTIF="eth0"
16
EXTIF="eth0"
17
INTIF="eth1"
17
INTIF="eth1"
18
TUNIF="tun0"
18
TUNIF="tun0"
19
PRIVATE_NETWORK_MASK="182.168.182.0/24"
19
PRIVATE_NETWORK_MASK="192.168.182.0/24"
20
PRIVATE_IP="182.168.182.1"
20
PRIVATE_IP="192.168.182.1"
21
 
21
 
22
# On vide (flush) toutes les règles existantes
22
# On vide (flush) toutes les règles existantes
23
$IPTABLES -F
23
$IPTABLES -F
24
$IPTABLES -t nat -F
24
$IPTABLES -t nat -F
25
$IPTABLES -t mangle -F
25
$IPTABLES -t mangle -F
Line 75... Line 75...
75
 
75
 
76
# On interdit le DNS en FORWARD (bloque les changements de serveurs DNS une fois authentifié ...)
76
# On interdit le DNS en FORWARD (bloque les changements de serveurs DNS une fois authentifié ...)
77
$IPTABLES -A FORWARD -i $TUNIF -p udp --dport domain -j REJECT --reject-with icmp-port-unreachable
77
$IPTABLES -A FORWARD -i $TUNIF -p udp --dport domain -j REJECT --reject-with icmp-port-unreachable
78
$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport domain -j REJECT --reject-with tcp-reset
78
$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport domain -j REJECT --reject-with tcp-reset
79
 
79
 
80
# On autorise les connexions déjà établies
80
# On autorise en FORWARD les connexions déjà établies
81
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
81
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
82
 
82
 
83
# Si filtrage de protocoles réseau
83
# Si filtrage de protocoles réseau
84
if [ $FILTERING = "yes" ]; then
84
if [ $FILTERING = "yes" ]; then
85
	# On traite les IP en exception 
85
	# On traite les IP en exception 
Line 114... Line 114...
114
	$IPTABLES -A FORWARD -i $TUNIF -p tcp -j ULOG --ulog-prefix "RULE F_filter -- REJECT "
114
	$IPTABLES -A FORWARD -i $TUNIF -p tcp -j ULOG --ulog-prefix "RULE F_filter -- REJECT "
115
	$IPTABLES -A FORWARD -i $TUNIF -p tcp -j REJECT --reject-with tcp-reset
115
	$IPTABLES -A FORWARD -i $TUNIF -p tcp -j REJECT --reject-with tcp-reset
116
	$IPTABLES -A FORWARD -i $TUNIF -p udp -j REJECT --reject-with icmp-port-unreachable
116
	$IPTABLES -A FORWARD -i $TUNIF -p udp -j REJECT --reject-with icmp-port-unreachable
117
	$IPTABLES -A FORWARD -i $TUNIF -p icmp -j REJECT 
117
	$IPTABLES -A FORWARD -i $TUNIF -p icmp -j REJECT 
118
fi
118
fi
119
# On autorise le transfert de flux dans les deux sens (avec log sur les demandes de connexion sortantes)
119
# On autorise les demandes de connexions sortantes (avec log)
120
$IPTABLES -A FORWARD -i $TUNIF -m state --state NEW -j ULOG --ulog-prefix "RULE Transfert1 -- ACCEPT "
120
$IPTABLES -A FORWARD -i $TUNIF -m state --state NEW -j ULOG --ulog-prefix "RULE Transfert1 -- ACCEPT "
121
$IPTABLES -A FORWARD -i $TUNIF -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
121
$IPTABLES -A FORWARD -i $TUNIF -m state --state NEW -j ACCEPT
122
 
122
 
123
# On autorise les flux entrant dns, ntp, https, ssh et le port 3990 (connexion/deconnexion des usagers). Retour autorisé par politique accept en OUTPUT
123
# On autorise les flux entrant dns, ntp, https, ssh et le port 3990 (connexion/deconnexion des usagers). Retour autorisé par politique accept en OUTPUT
124
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport domain -j ACCEPT
124
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport domain -j ACCEPT
125
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport ntp -j ACCEPT
125
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport ntp -j ACCEPT
126
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p tcp --dport https -j ACCEPT
126
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p tcp --dport https -j ACCEPT