> A ma connaissance ça n'existe pas sous Linux. Un patch kernel pourrait apporter ce genre de fonctionnalités, mais de manière plus compliquée étant donnée la multiplicité d'interfaces et le fait que le noyau n'en connaisse rien. Il faudrait
> a) modifier iptables pour que, lorsqu'il rencontre un paquet sans règle de gestion, un appel à un helper en userland (à la /sbin/hotplug) soit fait.
> b) que ce helper pose la question à l'utilisateur (détecter si un serveur X est lancé, lequel est actif, y afficher une fenêtre en utilisant la variable DISPLAY, etc - la partie la moins facile à mon avis, et la plus "bidouille affreuse")
> c) que ce helper mette à jour les règles iptables
> d) qu'il rende la main au noyau pour laisser passer, ou non, le paquet.
> Avec la difficulté supplémentaire de "suspendre" le paquet sans le rejeter, ni le dropper, en attendant la réponse.
Il existe un module iptables qui fait presque tout ça.
Quand une règle lui spécifie un paquet il le passe en userland et attend qu'un processus prenne la décision.
Il suffit alors de faire une interface graphique qui met en dur les règles de bases et passe le reste à ce module. Ensuite elle fait ce qu'elle veut des paquets restant (nouvelles règles, gestions évoluée de règles, filtre bayésien ...).
Tout est possible au seul inconvénient que ce module n'inclue pas la possibilité de connaitre (et donc de filtrer) le processus qui a envoyé le paquet.
[^] # Re: Firewalls personnels
Posté par peck (site web personnel) . En réponse au journal firewall. Évalué à 2.
> a) modifier iptables pour que, lorsqu'il rencontre un paquet sans règle de gestion, un appel à un helper en userland (à la /sbin/hotplug) soit fait.
> b) que ce helper pose la question à l'utilisateur (détecter si un serveur X est lancé, lequel est actif, y afficher une fenêtre en utilisant la variable DISPLAY, etc - la partie la moins facile à mon avis, et la plus "bidouille affreuse")
> c) que ce helper mette à jour les règles iptables
> d) qu'il rende la main au noyau pour laisser passer, ou non, le paquet.
> Avec la difficulté supplémentaire de "suspendre" le paquet sans le rejeter, ni le dropper, en attendant la réponse.
Il existe un module iptables qui fait presque tout ça.
Quand une règle lui spécifie un paquet il le passe en userland et attend qu'un processus prenne la décision.
Il suffit alors de faire une interface graphique qui met en dur les règles de bases et passe le reste à ce module. Ensuite elle fait ce qu'elle veut des paquets restant (nouvelles règles, gestions évoluée de règles, filtre bayésien ...).
Tout est possible au seul inconvénient que ce module n'inclue pas la possibilité de connaitre (et donc de filtrer) le processus qui a envoyé le paquet.