Projet

Général

Profil

Era24 » Historique » Version 8

Gwenael Remond, 28/01/2013 15:25

1 1 Gwenael Remond
h1. Era24
2 1 Gwenael Remond
3 1 Gwenael Remond
h2. Décoreller le backend du frontend
4 1 Gwenael Remond
5 4 Gwenael Remond
commencer par faire le bilan des types de règles générés par Era
6 4 Gwenael Remond
7 4 Gwenael Remond
h2. bilan des règles iptables générées par Era 
8 1 Gwenael Remond
9 6 Gwenael Remond
* directive avec log
10 1 Gwenael Remond
* directive avec time
11 8 Gwenael Remond
12 8 Gwenael Remond
* possibilités d'inversions :
13 8 Gwenael Remond
14 8 Gwenael Remond
  * inversion d'une source (pour une source unique)
15 8 Gwenael Remond
  * inversion d'une destination (pour une destination unique)
16 6 Gwenael Remond
17 6 Gwenael Remond
18 6 Gwenael Remond
types de piles 
19 6 Gwenael Remond
20 7 Gwenael Remond
* pile principale <code>rules</code>
21 6 Gwenael Remond
* pile secondaire (à la fin), pour les règles implicites <code>implicit_rules</code> 
22 6 Gwenael Remond
23 6 Gwenael Remond
24 6 Gwenael Remond
25 6 Gwenael Remond
26 6 Gwenael Remond
création d'une règle dans le processor : 
27 6 Gwenael Remond
28 6 Gwenael Remond
<pre>
29 6 Gwenael Remond
   def create_rule(self, target, chain_name, table, match_params, service_param, param_list):
30 6 Gwenael Remond
        # On crée la règle avec la bonne chaine
31 6 Gwenael Remond
        rule = TargettedRule(target, chain_name, table)
32 6 Gwenael Remond
        # On ajoute tous les paramètres à la règle
33 6 Gwenael Remond
        rule.add_parameter(service_param)
34 6 Gwenael Remond
        for param in param_list:
35 6 Gwenael Remond
            rule.add_parameter(param)
36 6 Gwenael Remond
        # on process les paramètre du module time
37 6 Gwenael Remond
        self.process_time(rule)
38 6 Gwenael Remond
        return rule
39 6 Gwenael Remond
</pre>
40 6 Gwenael Remond
41 6 Gwenael Remond
42 6 Gwenael Remond
43 1 Gwenael Remond
* règle de log
44 1 Gwenael Remond
45 1 Gwenael Remond
exemple DROP :
46 1 Gwenael Remond
47 1 Gwenael Remond
<pre>
48 1 Gwenael Remond
/sbin/iptables -t filter -A dmz-ext -m state --state NEW -p tcp --dport 8500 --tcp-flags SYN,RST,ACK SYN -i eth3 -o %%interface_gw -s 0/0 -d 0/0 -j LOG --log-prefix "iptables: era dmz-ext"
49 1 Gwenael Remond
/sbin/iptables -t filter -A dmz-ext -m state --state NEW -p tcp --dport 8500 --tcp-flags SYN,RST,ACK SYN -i eth3 -o %%interface_gw -s 0/0 -d 0/0 -j DROP
50 1 Gwenael Remond
</pre>
51 1 Gwenael Remond
52 2 Gwenael Remond
exemple ACCEPT avec une règle de log qui a une plage horaire
53 3 Gwenael Remond
54 3 Gwenael Remond
<pre>
55 2 Gwenael Remond
/sbin/iptables -t filter -A dmz-ext -m state --state NEW -p tcp --dport 8500 --tcp-flags SYN,RST,ACK SYN -i eth3 -o %%interface_gw -s 0/0 -d 0/0 -m time --timestart 10:00 --timestop 12:00 --weekdays Mon,Tue -j LOG --log-prefix "iptables: era dmz-ext"
56 2 Gwenael Remond
/sbin/iptables -t filter -A dmz-ext -m state --state NEW -p tcp --dport 8500 --tcp-flags SYN,RST,ACK SYN -i eth3 -o %%interface_gw -s 0/0 -d 0/0 -m time --timestart 10:00 --timestop 12:00 --weekdays Mon,Tue -j DROP
57 2 Gwenael Remond
/sbin/iptables -t filter -A dmz-ext -i eth3 -o %%interface_gw -s 19.168.234.15/255.255.255.255 -d 0/0 -j ACCEPT
58 3 Gwenael Remond
</pre>
59 2 Gwenael Remond
60 1 Gwenael Remond
exemple SNAT : 
61 1 Gwenael Remond
62 1 Gwenael Remond
<pre>
63 1 Gwenael Remond
/sbin/iptables -t nat -A POSTROUTING -o %%interface_gw -s 19.168.234.15/255.255.255.255 -d 0/0 -j SNAT --to-source %%adresse_ip_eth0
64 1 Gwenael Remond
/sbin/iptables -t filter -A dmz-ext -i eth3 -o %%interface_gw -s 19.168.234.15/255.255.255.255 -d 0/0 -j LOG --log-prefix "iptables: era dmz-ext"
65 1 Gwenael Remond
/sbin/iptables -t filter -A dmz-ext -i eth3 -o %%interface_gw -s 19.168.234.15/255.255.255.255 -d 0/0 -j ACCEPT
66 1 Gwenael Remond
</pre>
67 5 Gwenael Remond
68 5 Gwenael Remond
h2. bilan des règles ipsets générées par Era
69 5 Gwenael Remond
70 5 Gwenael Remond
TODO