Projet

Général

Profil

Scénario #20786

Mis à jour par Scrum Master il y a presque 7 ans

Le script *@60-Sphynx_rules@* exécute des règles iptables déjà prises en compte dans les dictionnaires et les autres scripts de *@/usr/share/eole/bastion/data/@*
Ce script peut également être simplifié en faisant prendre en charge certaines règles par le dictionnaire *@30_sphynx.xml@*
J'avais déjà fait ce travail, à voir si c'est suffisant :
<pre>
diff --git a/dicos/30_sphynx.xml b/dicos/30_sphynx.xml
index c8b3993..a1d4cfd 100644
--- a/dicos/30_sphynx.xml
+++ b/dicos/30_sphynx.xml
@@ -3,6 +3,23 @@
<creole>
<files>
<service servicelist='dyn_route'>quagga</service>
+ <service_access service='arv'>
+ <port port_type='SymLinkOption'>arv_port</port>
+ </service_access>
+ <service_restriction service='arv'>
+ <ip interface='eth0' netmask='netmask_admin_eth0' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth0</ip>
+ <ip interface='eth1' netmask='netmask_admin_eth1' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth1</ip>
+ <ip interface='eth2' netmask='netmask_admin_eth2' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth2</ip>
+ <ip interface='eth3' netmask='netmask_admin_eth3' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth3</ip>
+ <ip interface='eth4' netmask='netmask_admin_eth4' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth4</ip>
+ </service_restriction>
+ <service_access service='isakmp'>
+ <port protocol='udp'>500</port>
+ <port protocol='udp'>4500</port>
+ </service_access>
+ <service_restriction service='isakmp'>
+ <ip interface='eth0' netmask='0.0.0.0'>0.0.0.0</ip>
+ </service_restriction>
<file name='/etc/eole/ssl/ca-sphynx.conf' mkdir="True"/>
<file name='/etc/eole/ssl/certif-vpn.conf' mkdir="True"/>
<file name='/etc/arv/arv.conf'/>
diff --git a/tmpl/60-Sphynx_rules b/tmpl/60-Sphynx_rules
index 5621a6b..8bfa883 100644
--- a/tmpl/60-Sphynx_rules
+++ b/tmpl/60-Sphynx_rules
@@ -29,24 +29,6 @@ echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
/sbin/iptables -A root-eth0 -m policy --pol ipsec --proto esp --dir out -j ACCEPT

## definition de la chaine eth0-root
-/sbin/iptables -A eth0-root -p tcp -m state --state NEW -m tcp --dport 4201:4202 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-%if %%admin_eth0 == 'oui'
-#ead-web on eth0
- %for %%ip_admin in %%ip_admin_eth0
-/sbin/iptables -A eth0-root -s %%ip_admin/%%ip_admin.netmask_admin_eth0 -p tcp -m state --state NEW -m tcp --dport 4200 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-/sbin/iptables -A eth0-root -s %%ip_admin/%%ip_admin.netmask_admin_eth0 -p tcp -m state --state NEW -m tcp --dport 8088 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
- %end for
-%end if
-%if %%ssh_eth0 == "oui"
-#ssh on eth0
- %for %%reseau_ssh in %%ip_ssh_eth0
-#/sbin/iptables -A eth0-root -s %%reseau_ssh/%%reseau_ssh.netmask_ssh_eth0 -p tcp -m state --state NEW -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-/sbin/iptables -A eth0-root -s %%reseau_ssh/%%reseau_ssh.netmask_ssh_eth0 -p tcp -m state --state NEW -m tcp --dport 8090 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
- %end for
-%end if
-
-/sbin/iptables -A eth0-root -p udp -m udp --dport 500 -j ACCEPT
-/sbin/iptables -A eth0-root -p udp -m udp --dport 4500 -j ACCEPT
/sbin/iptables -A eth0-root -p esp -j ACCEPT
/sbin/iptables -A eth0-root -m policy --dir in --pol ipsec --proto esp -j ACCEPT
</pre>

h3. Critère d'acceptation

* Le test jenkins de vérification des règles iptables doit être OK

Retour