diff --git a/gestion/config/firewall.py b/gestion/config/firewall.py index 323e644b..f7ae5cae 100644 --- a/gestion/config/firewall.py +++ b/gestion/config/firewall.py @@ -69,3 +69,15 @@ ports_default = { 'output' : [ ':136','140:'] } } + +srv_ports_default = { + 'tcp' : { + 'input' : [ '22' ], + 'output' : [] + }, + + 'udp' : { + 'input' : [], + 'output' : [] + } +} diff --git a/gestion/gen_confs/firewall4/komaz.py b/gestion/gen_confs/firewall4/komaz.py index f29677f5..9356c0ff 100644 --- a/gestion/gen_confs/firewall4/komaz.py +++ b/gestion/gen_confs/firewall4/komaz.py @@ -96,7 +96,7 @@ class firewall(base.firewall_routeur): chain = 'FORWARD' self.flush(table, chain) - # Valentin veux écouter la radio, en vrai, il faudrait utiliserl'URL authentication de icecast + # Valentin veux écouter la radio, en vrai, il faudrait utiliserl'URL authentication de icecast # (http://www.icecast.org/docs/icecast-2.3.1/icecast2_listenerauth.html) # pour authoriser les gens logué sur l'intranet2 à écouter la radio de n'importe où # avec un filtrage par ip (si quelqu'un passe au travers, whos cares @@ -428,6 +428,12 @@ class firewall(base.firewall_routeur): if table == 'filter': pretty_print(table, chain) + for net in base.config.NETs['serveurs']: + for proto in base.config.firewall.srv_ports_default.keys(): + if base.config.firewall.srv_ports_default[proto]['output']: + self.add(table, chain, '-p %s -s %s -m multiport --dports %s -j RETURN' % (proto, net, ','.join( format_port(port) for port in base.config.firewall.ports_default[proto]['output']))) + if base.config.firewall.srv_ports_default[proto]['input']: + self.add(table, chain, '-p %s -d %s -m multiport --dports %s -j RETURN' % (proto, net, ','.join( format_port(port) for port in base.config.firewall.ports_default[proto]['input']))) for net in base.config.NETs['adherents'] + base.config.NETs['wifi-adh'] + base.config.NETs['personnel-ens']: for proto in base.config.firewall.ports_default.keys(): if base.config.firewall.ports_default[proto]['output']: diff --git a/gestion/gen_confs/firewall4/utils.py b/gestion/gen_confs/firewall4/utils.py index b0de0c2f..afd68eb0 100644 --- a/gestion/gen_confs/firewall4/utils.py +++ b/gestion/gen_confs/firewall4/utils.py @@ -61,7 +61,7 @@ class firewall_tools(object) : return self._machines # On utilise allMachinesAdherents car on a besoin que # les machine.proprio() soit déjà peuplés. En effet, on regarde - # les blacklistes d'un proprio lorsque l'on regarde les blacklistes + # les blacklistes d'un proprio lorsque l'on regarde les blacklistes # d'une machine anim('\tChargement des machines') self._machines, self._adherents = self.conn.allMachinesAdherents() @@ -200,7 +200,7 @@ class firewall_tools(object) : if self.reloadable[func_name] in self.use_tc: self.reloadable[func_name](run_tc=True) - anim('\tRestoration d\'iptables') + anim('\tRestauration d\'iptables') self.restore(noflush=True) print OK @@ -244,7 +244,7 @@ class firewall_tools(object) : def start(self): """Démarre le pare-feu : génère les règles, puis les restore""" self.machines() - + if squeeze: anim('\tVidage du pare-feu') self.restore() @@ -255,7 +255,7 @@ class firewall_tools(object) : self.filter_table() self.nat_table() - anim('\tRestoration d\'iptables') + anim('\tRestauration d\'iptables') self.restore() print OK return