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 |
|