Subversion Repositories ALCASAR

Rev

Go to most recent revision | Details | Last modification | View Log

Rev Author Line No. Line
1 root 1
#!/bin/sh
2
# by rexy (version 1.8 du 12/2009)
3
# Changelog : rajout des modules iptables  ???
4
 
5
# a voir la relation avec nf_nat_ftp
6
# modprobe ip_conntrack_irc
7
# modprobe ip_conntrack_ftp
8
 
9
################# FILTRAGE APPLICATIF ####################
10
## Positionnez la variable "FILTERING" du fichier "alcasar-iptables.sh" à "yes" pour activer le filtrage
11
## Modifiez le fichier /usr/local/etc/alcasar-services pour l'adapter à vos besoins
12
if [ $FILTERING = "yes" ]
13
	then
14
	while read svc_line
15
	do
16
		svc_on=`echo $svc_line|cut -b1`
17
		if [ $svc_on != "#" ]
18
			then	
19
			svc_name=`echo $svc_line|cut -d" " -f1`
20
			svc_port=`echo $svc_line|cut -d" " -f2`
21
			nb_domains=`wc -w /usr/local/etc/alcasar-wl-$svc_name | cut -d" " -f1`
22
			# si le fichier "wl" est renseigné on le traite, sinon le protocole passe sans restriction (traité dans une prochaine version)
23
			if [ $nb_domains != "0" ]
24
				then
25
				while read wl_line
26
					do
27
					$ip_addr = `/usr/bin/host $wl_line | grep -Eo '(0-9{1-3}+\.){3}[0-9]{1-3}'`
28
					$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport $svc_port -d $ip_addr -m state --state NEW -j ULOG --ulog-prefix "RULE F_$svc_name -- ACCEPT "
29
					$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport $svc_port -d $ip_addr -m state --state NEW,ESTABLISHED -j ACCEPT
30
					done < /usr/local/etc/alcasar-wl-$svc_name
31
				else
32
				if [ $svc_name = "icmp" ]
33
					then
34
					$IPTABLES -A FORWARD -i $TUNIF -p icmp -j ACCEPT 
35
				else	
36
					$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport $svc_port -m state --state NEW -j ULOG --ulog-prefix "RULE F_$svc_name -- ACCEPT "
37
					$IPTABLES -A FORWARD -i $TUNIF -p tcp --dport $svc_port -m state --state NEW,ESTABLISHED -j ACCEPT
38
#					if [ $svc_name = "ftp-passif" ]
39
#					then
40
#						/sbin/modprobe nf_nat_ftp
41
#						$IPTABLES -A FORWARD -i $TUNIF -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ULOG --ulog-prefix "RULE F_ftp-passifE -- ACCEPT "
42
#						$IPTABLES -A FORWARD -i $TUNIF -p tcp --sport 1024: --dport 1024: -m state --state RELATED -j ULOG --ulog-prefix "RULE F_ftp-passifR -- ACCEPT "
43
#						$IPTABLES -A FORWARD -i $TUNIF -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
44
#					fi
45
				fi
46
			fi
47
		fi
48
	done < /usr/local/etc/alcasar-services
49
#tout le reste est bloqué
50
$IPTABLES -A FORWARD -i $TUNIF -p tcp -j REJECT --reject-with tcp-reset
51
$IPTABLES -A FORWARD -i $TUNIF -p udp -j REJECT --reject-with icmp-port-unreachable
52
$IPTABLES -A FORWARD -i $TUNIF -p icmp -j REJECT 
53
fi
54