Anomalie #7171
firewall sur eolebase
Description
Dans le dico 01_network.xml on trouve ceci :
<service_access service='sshd'> <port>22</port> <tcpwrapper>sshd</tcpwrapper> </service_access> <service_restriction service='sshd'> <ip interface='eth0' netmask='netmask_ssh_eth0' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_ssh_eth0</ip> <ip interface='eth1' netmask='netmask_ssh_eth1' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_ssh_eth1</ip> <ip interface='eth2' netmask='netmask_ssh_eth2' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_ssh_eth2</ip> <ip interface='eth3' netmask='netmask_ssh_eth3' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_ssh_eth3</ip> <ip interface='eth4' netmask='netmask_ssh_eth4' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_ssh_eth4</ip> </service_restriction>
Malgré ça aucune règle iptables associées n'est présente et /etc/hosts.allow n'est pas modifié en conséquence.
Related issues
Associated revisions
Remplacement d'un dico par une liste dans le template 50-nat_rules
Seule la dernière affectation accesses[clé] était prise en compte
fixes #7171 @2h
meilleur prise en compte des doublons (ref #7171)
History
#1 Updated by Fabrice Barconnière over 9 years ago
Il semble que seule la dernière interface active soit traitée.
#2 Updated by Daniel Dehennin over 9 years ago
J’ai testé sur un eolebase:
- Installation d’un eolebase
- Passer à
oui
la variableRéseau avancé
->Activer le support du firewall
- Passer à
2
la variableGénéral
->Nombre d'interfaces à activer
- Passer à
oui
la variableInterface-0
->Autoriser les connexions pour administrer le serveur (EAD, phpMyAdmin, ...)
- Définir à
0.0.0.0
la variableInterface-0
->Adresse IP réseau autorisée pour administrer le serveur
- Définir à
0.0.0.0
la variableInterface-0
->Masque du sous réseau pour administrer le serveur
- Passer à
oui
la variableInterface-1
->Autoriser les connexions pour administrer le serveur (EAD, phpMyAdmin, ...)
- Définir à
0.0.0.0
la variableInterface-1
->Adresse IP réseau autorisée pour administrer le serveur
- Définir à
0.0.0.0
la variableInterface-1
->Masque du sous réseau pour administrer le serveur
- Ajout d’une interface
eth1
(je n’avais qu’une interface physique)root@eolebase:~# ip link add name eth1 type dummy
- Instancier
- Lister les règles iptables
root@eolebase:~# iptables -S -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -N eth0-root -N eth1-root -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -j eth0-root -A INPUT -i eth1 -j eth1-root -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 3 -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 3/0 -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 4 -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 3/4 -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 11 -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 12 -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 0 -j ACCEPT -A eth0-root -p icmp -m icmp --icmp-type 8 -j ACCEPT -A eth0-root -m state --state RELATED,ESTABLISHED -j ACCEPT -A eth0-root -j DROP -A eth1-root -p icmp -m icmp --icmp-type 3 -j ACCEPT -A eth1-root -p icmp -m icmp --icmp-type 3/0 -j ACCEPT -A eth1-root -p icmp -m icmp --icmp-type 4 -j ACCEPT -A eth1-root -p icmp -m icmp --icmp-type 3/4 -j ACCEPT -A eth1-root -p icmp -m icmp --icmp-type 11 -j ACCEPT -A eth1-root -p icmp -m icmp --icmp-type 12 -j ACCEPT -A eth1-root -p icmp -m icmp --icmp-type 0 -j ACCEPT -A eth1-root -p icmp -m icmp --icmp-type 8 -j ACCEPT -A eth1-root -p udp -m udp --dport 514 -j ACCEPT -A eth1-root -p tcp -m tcp --dport 4200 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A eth1-root -p tcp -m tcp --dport 4201 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A eth1-root -p tcp -m tcp --dport 4202 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A eth1-root -p tcp -m tcp --dport 20514 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A eth1-root -p tcp -m tcp --dport 10514 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A eth1-root -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A eth1-root -p tcp -m tcp --dport 8090 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A eth1-root -m state --state RELATED,ESTABLISHED -j ACCEPT -A eth1-root -j DROP
Les règles ICMP sont appliquées sur toutes les interfaces mais pas les autres règles.
#3 Updated by Fabrice Barconnière over 9 years ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit eole-common:acc9915ded7bb7585899c0971e878047381cd84f.
#4 Updated by Emmanuel GARETTE over 9 years ago
- Status changed from Résolu to À valider
- % Done changed from 100 to 80
Le but de ce dico était d'éviter d'avoir des règles de type "doublon" :
Voir la partie "doublon" de la proposition de doc : http://dev-eole.ac-dijon.fr/issues/6313
La solution proposée à cette demande ne me semble pas pertinente. Il faudrait surement faire un dico de dico mais il faut mieux réfléchir à la solution proposée.
#5 Updated by Fabrice Barconnière over 9 years ago
J'ai bien vu que le but d'avoir un dico était de ne pas avoir de règle en double, mais le choix de la clé n'était pas adapté.
Peut-être qu'un test de ce type pourrait éviter les doublons :
%if "nouvelle règle" not in %%accesses %%accesses.append("nouvelle règle")
#6 Updated by Joël Cuissinat over 9 years ago
- Target version changed from Eole 2.4-RC1 to Eole 2.4-RC2
#7 Updated by Daniel Dehennin over 9 years ago
- Target version changed from Eole 2.4-RC2 to Eole 2.4-RC3
#8 Updated by Daniel Dehennin about 9 years ago
- Project changed from creole to eole-common
Tous les commits sont sur eole-common.
#9 Updated by Joël Cuissinat about 9 years ago
- Due date set to 03/21/2014
- Status changed from À valider to Résolu
- Assigned To set to Emmanuel GARETTE
- % Done changed from 80 to 100
A été résolu.
#10 Updated by Emmanuel GARETTE about 9 years ago
- Status changed from Résolu to Fermé
Règle existe bien.