Bonjour à tous,

Voila, je me dirige vers vous pour avoir une critique de mon travail sur Iptables.

Voila ma topologie reseau:


Ces règles fonctionnes mais j'aurai besoin d'un oeuil critique sur la sécurité que mettent en avant ces règles.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
 
#!/bin/bash                                                                                                                    
 
echo -e "--=[ \033[40m\033[1;31m Initialisation des variables \033[0m ]=--"
 
IfaceDmz="eth2"
IfaceLan="eth1"
IfaceNet="eth0"
 
ILanIp="10.0.1.254"
IDmzIp="10.0.2.254"
INetIp="192.168.1.10"
 
IpLan="10.0.1.0/24"
IpDmz="10.0.2.0/24"
IpNet="192.168.1.0/24"
 
IpServWeb="10.0.1.3"
IpServFichier="10.0.1.2"
IpDns="192.168.1.1"
 
echo -e "--=[ \033[40m\033[1;31m Supression de toutes les regles existantes \033[0m ]=--"
 
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -Z
iptables -t nat -X
iptables -t mangle -Z
iptables -t mangle -F
iptables -t mangle -X
 
echo -e "--=[ \033[40m\033[1;31m Initialisation de la police par defaut \033[0m ]=-"
 
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
 
echo -e "--=[ \033[40m\033[1;31m déactivation du FORWARD \033[0m ]=-"
 
echo 0 > /proc/sys/net/ipv4/ip_forward
 
echo -e "--=[ \033[40m\033[1;31m AntiSpoofing \033[0m ]=-"
 
#if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then                                                                        
#    for filtre in /proc/sys/net/ipv4/conf/*/rp_filter ;                                                                       
#      do                                                                                                                      
#       echo 1 > $filtre ;                                                                                                     
#      done                                                                                                                    
#if                                                            
 
echo -e "--=[ \033[40m\033[1;31m AntiSynFlood \033[0m ]=-"
 
#if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then                                                                            
#    echo > /proc/sys/net/ipv4/tcp_syncookies                                                                                  
#if                                                                                                                            
 
echo -e "--=[ \033[40m\033[1;31m Autorisation de l'ICMP sur eth1 et lo \033[0m ]=-"
 
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i $IfaceLan -p icmp -j ACCEPT
iptables -A OUTPUT -o $IfaceLan -p icmp -j ACCEPT
 
##################################################################################                                             
echo -e "--=[ \033[40m\033[1;31m FORWARD \033[0m ]=-"
##################################################################################                                             
 
echo -e "--=[ \033[40m\033[1;32m Net  <==  Lan \033[0m ]=-"
echo -e "--=[ \033[40m\033[1;32m Net  <==  Dmz \033[0m ]=-"
 
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Autorisation des flux dns                                                                                                    
iptables -A FORWARD -m state --state NEW -s $IpLan -p udp -d $IpDns --dport 53 -i $IfaceLan -o $IfaceNet -j ACCEPT
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp -d $IpDns --dport 53 -i $IfaceLan -o $IfaceNet -j ACCEPT
# Autorisation des flux dns pour la Dmz                                                                                        
iptables -A FORWARD -m state --state NEW -s $IpDmz -p udp -d $IpDns --dport 53 -i $IfaceDmz -o $IfaceNet -j ACCEPT
iptables -A FORWARD -m state --state NEW -s $IpDmz -p tcp -d $IpDns --dport 53 -i $IfaceDmz -o $IfaceNet -j ACCEPT
 
# Autorisation des flux http et https                                                                                          
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp --dport 80 -i $IfaceLan -o $IfaceNet -j ACCEPT
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp --dport 443 -i $IfaceLan -o $IfaceNet -j ACCEPT
# Autorisation des flux http pour la Dmz                                                                                       
iptables -A FORWARD -m state --state NEW -s $IpDmz -p tcp --dport 80 -i $IfaceDmz -o $IfaceNet -j ACCEPT
 
 
# Autorisation du ping                                                                                                         
#iptables -A FORWARD -m state --state NEW -s $IpLan -p icmp -i $IfaceLan -o $IfaceNet -j ACCEPT                                
 
# Autorisation des flux de messagerie                                                                                          
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp --dport 25 -i $IfaceLan -o $IfaceNet -j ACCEPT
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp --dport 110 -i $IfaceLan -o $IfaceNet -j ACCEPT
 
# Autorisation des flux FTP passifs                                                                                            
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp --dport 20 -i $IfaceLan -o $IfaceNet -j ACCEPT
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp --dport 21 -i $IfaceLan -o $IfaceNet -j ACCEPT
 
 
# Autorisation de flux de messagerie instantanées                                                                              
iptables -A FORWARD -m state --state NEW -s $IpLan -p tcp --dport 1863 -i $IfaceLan -o $IfaceNet -j ACCEPT
 
 
echo -e "--=[ \033[40m\033[1;32m Net  ==>  Lan \033[0m ]=-"
# Correspondance, si besoin d'un acces vers un serveur particulier                                                             
#du reseau lan (vnc par exemple).                                                                                              
#iptables -A FORWARD -i $IfaceNet -o $IfaceLan -d $IpServFichier -j ACCEPT                                                     
 
echo -e "--=[ \033[40m\033[1;32m Net  ==>  Dmz \033[0m ]=-"
# Correpondance ServeurWeb                                                                                                     
iptables -A FORWARD -i $IfaceNet -o $IfaceDmz -d $IpServWeb -j ACCEPT
 
 
#########################################################################                                                      
echo -e "--=[ \033[40m\033[1;31m NAT \033[0m ]=-"
#########################################################################                                                      
 
 
echo -e "--=[ \033[40m\033[1;32m Net  ==>  Lan \033[0m ]=-"
# Traduction des adresses du reseau Net pour le serveur vnc du reseau Lan. (Redirection)                                       
#iptables -t nat -A PREROUTING -i $IfaceNet -p tcp --dport vnc -j DNAT --to-destination $IpServFichier                         
#iptables -t nat -A PREROUTING -i $IfaceNet -p udp --dport vnc -j DNAT --to-destination $IpServFichier                         
 
 
echo -e "--=[ \033[40m\033[1;32m Net  ==>  Dmz \033[0m ]=-"
# Traduction des adresses du reseau Net pour le serveur web du reseau Dmz. (Redirection)                                       
iptables -t nat -A PREROUTING -i $IfaceNet -p tcp --dport 80 -j DNAT --to-destination $IpServWeb
 
 
echo -e "--=[ \033[40m\033[1;32m Net  <==  Lan \033[0m ]=-"
# Traduction des adresses du reseau Lan pour le Net.                                                                           
iptables -t nat -A POSTROUTING -s $IpLan -o $IfaceNet -j SNAT --to $INetIp
 
echo -e "--=[ \033[40m\033[1;32m Net  <==  Dmz \033[0m ]=-"
 
iptables -t nat -A POSTROUTING -s $IpDmz -o $IfaceNet -j SNAT --to $INetIp
#iptables -t nat -A PREROUTING -d $IpNet -o $IfaceDmz -j DNAT --to $IDmzIp                                                     
 
echo -e "--=[ \033[40m\033[1;31m Activation du FORWARD \033[0m ]=-"
 
echo 1 > /proc/sys/net/ipv4/ip_forward
 
echo -e "--=[ \033[40m\033[1;35m Verif Generale \033[0m ]=--"
iptables -L
echo -e "--=[ \033[40m\033[1;35m Verif Nat \033[0m ]=--"
iptables -t nat -L
echo -e "--=[ \033[40m\033[1;35m Verif Mangle \033[0m ]=--"
iptables -t mangle -L
Il exisite des points critique que je connai mais je n'arrive pas a les faire fonctionner. --> Antisynflood & Anti-spoofing
Y'a t-il d'autres techniques a mettre en place?

PS: Distro --> Debian Sarge 2.6.15.1