Vous n'êtes pas identifié(e).
Hors ligne
Y − 3HG − Auto-hébergé
Hors ligne
Hors ligne
Y − 3HG − Auto-hébergé
Hors ligne
Hors ligne
et voila le tour est joué
Hors ligne
Hors ligne
Hors ligne
Il vaut mieux montrer que raconter.
Hors ligne
iptables n'a pas vraiment d'état binaire actif/inactif ; son état, c'est le jeu de règles actif.
Pourquoi dans ce cas ne pas écrire un script qui compare le retour de
avec le jeu de règle qui est sensé être actif ?
Dans l'idée, un script lançé en tâche cron compare ton fichier de règles avec le retour de iptables -L, et écrit dans un fichier l'état de iptables. Ensuite, il ne reste plus qu'à afficher ce fichier avec les indications de Severian
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
En ligne
Hors ligne
Hors ligne
Pourquoi dans ce cas ne pas écrire un script qui compare le retour de "iptables -L" avec le jeu de règle qui est sensé être actif ?
Comment détermines-tu "le jeu de règles qui est censé être actif" et comment effectues-tu la comparaison ?
Il est quasiment impossible de comparer directement le contenu d'un script générateur de règles avec la sortie d'iptables -L.
Et s'il y a la moindre différence, cela signifie-t-il pour autant qu'iptables est inactif ?
Il vaut mieux montrer que raconter.
Hors ligne
Comment détermines-tu "le jeu de règles qui est censé être actif" et comment effectues-tu la comparaison ?
Est-ce que ça ne dépend pas de la façon dont les règles sont entrées ? Si elles le sont en leur donnant un nom (c'est l'option -N je crois), on peut savoir si la règle existe simplement avec
Si le code retour de la commande est 0, une règle avec un tel nom existe, sinon, le code retour est 1.
Donc, imaginons une règle avec comme nom ma_regle
Et s'il y a la moindre différence, cela signifie-t-il pour autant qu'iptables est inactif ?
C'est de toute façon la question à se poser et tu y a répondu plus haut. Qu'est ce qu'entend BebBibi9 par actif
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
En ligne
Est-ce que ça ne dépend pas de la façon dont les règles sont entrées ?
Oui, dans un cas particulier : si le jeu de règles a été mis en place avec iptables-restore à partir d'un fichier au format d'iptables-save/iptables-restore, alors on doit pouvoir faire assez facilement une comparaison entre ce fichier et la sortie d'iptables-save.
Si elles le sont en leur donnant un nom (c'est l'option -N je crois)
-N sert à créer une chaîne utilisateur, pas une règle. L'existence d'une chaîne utilisateur n'implique pas qu'elle est utilisée (appelée par une règle dans une chaîne de base ou une autre chaîne utilisateur).
Il vaut mieux montrer que raconter.
Hors ligne
Qu'est ce qu'entend BebBibi9 par actif
Je soupçonne qu'il/elle ne le sait pas lui/elle-même.
Il vaut mieux montrer que raconter.
Hors ligne
Je soupçonne qu'il/elle ne le sait pas lui/elle-même.
Commençon alors par éclaircir ce point Mais je crois que tu as déjà bien commencé
iptables n'a pas vraiment d'état binaire actif/inactif ; son état, c'est le jeu de règles actif.
Or, il semble que BebBibi9 ait un script qui charge ces règle. Pourquoi alors ne pas utiliser la méthode que tu proposes ?
bendia a écrit :Est-ce que ça ne dépend pas de la façon dont les règles sont entrées ?
Oui, dans un cas particulier : si le jeu de règles a été mis en place avec iptables-restore à partir d'un fichier au format d'iptables-save/iptables-restore, alors on doit pouvoir faire assez facilement une comparaison entre ce fichier et la sortie d'iptables-save.
-N sert à créer une chaîne utilisateur, pas une règle. L'existence d'une chaîne utilisateur n'implique pas qu'elle est utilisée (appelée par une règle dans une chaîne de base ou une autre chaîne utilisateur).
OK Cependant, si tu créés dans un script tel que celui qui semble être fait par BebBibi9 (je dis semble, car on ne l'a pas vu) en créant une chaîne par règle, la méthode que je propose fonctionnerait alors ?
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
En ligne
Il vaut mieux montrer que raconter.
Hors ligne
Je trouve cette idée monstrueuse.
Bon, je la garde pour pour le 31 Octobre alors
De toute façon la recherche d'une méthode de comparaison est prématurée tant qu'on ne connaît pas le critère.
Attendons dans ce cas, de s'assurer d'être dans le cas particulier que tu évoques.
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
En ligne
Hors ligne
actif/inactif on/off ouvert/fermé 0/1
En l'occurence, le problème, c'est que iptables n'a pas ce genre d'état. Il faut donc le créer artificielement. Il faut nous dire exactement ce que tu entends par là.
Si j'ai bien compris, tu charges tes règles via un script et tu veux t'assurer via conky que ce script à bien chargé les règles. C'est ça ? As-tu d'autres script qui pourraient les modifier (fail2ban, libvirt ...).
Je pense que voir le script nous serait utile
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
En ligne
En l'occurence, le problème, c'est que iptables n'a pas ce genre d'état
On pourrait aussi dire que le problème est qu'il en a plein, de ce genre d'états, pas qu'un seul.
Par exemple, un état est que le module ip_tables est chargé ou non. Mais seul, il ne fait rien.
Un autre état est que le module iptable_filter qui gère la table "filter" est chargé. Mais par défaut, ça ne filtre rien, tout est autorisé tant qu'on n'a pas exécuté des commandes pour créer des règles ou modifier les politiques par défaut des chaînes.
Soyons réalistes : il y a de grandes chances que les "pare-feu" (gestionnaires de règles iptables) comme ufw ou shorewall ne vérifient pas le jeu de règles iptables actif lorsqu'on les interroge sur leur statut mais se contentent de rapporter leur propre état, du genre : j'ai activé les règles -> actif, j'ai désactivé les règles -> inactif. Mais si le jeu de règles iptables a été modifié par un autre moyen, ils ne le verront pas.
Dernière modification par raleur (22-05-2016 18:36:49)
Il vaut mieux montrer que raconter.
Hors ligne
Hors ligne
Il vaut mieux montrer que raconter.
Hors ligne
Hors ligne