Subversion Repositories ALCASAR

Rev

Details | Last modification | View Log

Rev Author Line No. Line
1 root 1
#!/bin/sh
64 franck 2
# $Id: alcasar-iptables-filter.sh 64 2010-04-08 20:01:24Z franck $
26 richard 3
# by rexy (version 1.9 du 12/2009)
1 root 4
 
5
# a voir la relation avec nf_nat_ftp
6
# modprobe ip_conntrack_irc
7
# modprobe ip_conntrack_ftp
8
 
48 franck 9
 
1 root 10
################# FILTRAGE APPLICATIF ####################
11
## Positionnez la variable "FILTERING" du fichier "alcasar-iptables.sh" à "yes" pour activer le filtrage
12
## Modifiez le fichier /usr/local/etc/alcasar-services pour l'adapter à vos besoins
13
if [ $FILTERING = "yes" ]
14
	then
26 richard 15
# si le fichier d'exception est renseigné on le traite 
30 richard 16
	nb_exceptions=`wc -w /usr/local/etc/alcasar-filter-exceptions | cut -d" " -f1`
26 richard 17
	if [ $nb_exceptions != "0" ]
18
		then
19
		while read ip_exception 
20
			do
21
			echo $ip_exception
22
			$IPTABLES -A FORWARD -i $TUNIF -s $ip_exception -m state --state NEW -j ULOG --ulog-prefix "RULE IP-exception -- ACCEPT "
23
			$IPTABLES -A FORWARD -i $TUNIF -s $ip_exception -m state --state NEW,ESTABLISHED -j ACCEPT
30 richard 24
			done < /usr/local/etc/alcasar-filter-exceptions
26 richard 25
		fi
26
# On autorise les protoles non commentés
1 root 27
	while read svc_line
26 richard 28
		do
1 root 29
		svc_on=`echo $svc_line|cut -b1`
30
		if [ $svc_on != "#" ]
31
			then	
32
			svc_name=`echo $svc_line|cut -d" " -f1`
33
			svc_port=`echo $svc_line|cut -d" " -f2`
26 richard 34
			if [ $svc_name = "icmp" ]
1 root 35
				then
26 richard 36
				$IPTABLES -A FORWARD -i $TUNIF -p icmp -j ACCEPT 
37
#			else if [ $svc_name = "ftp-passif" ]
38
#				then
39
#					/sbin/modprobe nf_nat_ftp
40
#					$IPTABLES -A FORWARD -i $TUNIF -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ULOG --ulog-prefix "RULE F_ftp-passifE -- ACCEPT "
41
#					$IPTABLES -A FORWARD -i $TUNIF -p tcp --sport 1024: --dport 1024: -m state --state RELATED -j ULOG --ulog-prefix "RULE F_ftp-passifR -- ACCEPT "
42
#					$IPTABLES -A FORWARD -i $TUNIF -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
43
#				fi
44
			else
45
				$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport $svc_port -m state --state NEW -j ULOG --ulog-prefix "RULE F_$svc_name -- ACCEPT "
46
				$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport $svc_port -m state --state NEW,ESTABLISHED -j ACCEPT
1 root 47
			fi
48
		fi
49
	done < /usr/local/etc/alcasar-services
50
#tout le reste est bloqué
51
$IPTABLES -A FORWARD -i $TUNIF -p tcp -j REJECT --reject-with tcp-reset
52
$IPTABLES -A FORWARD -i $TUNIF -p udp -j REJECT --reject-with icmp-port-unreachable
53
$IPTABLES -A FORWARD -i $TUNIF -p icmp -j REJECT 
54
fi
55