Era24 » Historique » Version 6
Version 5 (Gwenael Remond, 17/01/2013 14:10) → Version 6/24 (Gwenael Remond, 17/01/2013 14:15)
h1. Era24
h2. Décoreller le backend du frontend
commencer par faire le bilan des types de règles générés par Era
h2. bilan des règles iptables générées par Era
* directive avec log
* directive avec time
types de piles
* pile principale <code>rules</codes>
* pile secondaire (à la fin), pour les règles implicites <code>implicit_rules</code>
création d'une règle dans le processor :
<pre>
def create_rule(self, target, chain_name, table, match_params, service_param, param_list):
# On crée la règle avec la bonne chaine
rule = TargettedRule(target, chain_name, table)
# On ajoute tous les paramètres à la règle
rule.add_parameter(service_param)
for param in param_list:
rule.add_parameter(param)
# on process les paramètre du module time
self.process_time(rule)
return rule
</pre>
* règle de log
exemple DROP :
<pre>
/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"
/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
</pre>
exemple ACCEPT avec une règle de log qui a une plage horaire
<pre>
/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"
/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
/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
</pre>
exemple SNAT :
<pre>
/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
/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"
/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
</pre>
h2. bilan des règles ipsets générées par Era
TODO
h2. Décoreller le backend du frontend
commencer par faire le bilan des types de règles générés par Era
h2. bilan des règles iptables générées par Era
* directive avec log
* directive avec time
types de piles
* pile principale <code>rules</codes>
* pile secondaire (à la fin), pour les règles implicites <code>implicit_rules</code>
création d'une règle dans le processor :
<pre>
def create_rule(self, target, chain_name, table, match_params, service_param, param_list):
# On crée la règle avec la bonne chaine
rule = TargettedRule(target, chain_name, table)
# On ajoute tous les paramètres à la règle
rule.add_parameter(service_param)
for param in param_list:
rule.add_parameter(param)
# on process les paramètre du module time
self.process_time(rule)
return rule
</pre>
* règle de log
exemple DROP :
<pre>
/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"
/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
</pre>
exemple ACCEPT avec une règle de log qui a une plage horaire
<pre>
/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"
/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
/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
</pre>
exemple SNAT :
<pre>
/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
/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"
/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
</pre>
h2. bilan des règles ipsets générées par Era
TODO