Iptables :sortie douteuse!

J’ai depuis quelque temps des tantative de sortie de root alors que je ne lui ai rien permis le pire c’est que sa me bloque la connections a internet!:cry:

J’ai donc seulement permis le port 53 qui est requi pour les appel dns
voici le log et le script que j’utilise pour le par feux (a ma sauce ):


panthere-noire.com/log.tar

Et comme sa fait très long sur le forum il sont sur mon ftp

note si sa coince avec le navigateur essayer avec wget :wink:

Déjà dans un premier temps, il semble qu’il faudrait que tu autorises le protocole netbios (port 137, 138, 139)

J’ai jeté un coup d’oeil à ton script mais je t’avouerais que je n’y comprends pas grand chose. C’est pas très clair ; il faudrait que tu fasses un peu le ménage en commentant clairement qui fait quoi, en tentant d’écrire sur 80 et non pas 160 colonnes, avec indentation, et un peu d’aire :p!

Ce serait plus facile à lire.

Pourquoi mettre des politiques par défaut en ACCEPT, et dropper les paquets ensuite ? Es tu certains à ce point là de n’accepter que ce que tu veux ? Imagine la problématique avec des milliers de lignes dans ton script.

Merci pour ta réponse :slightly_smiling:

Pour l’indentation j’utilise la touche tabs avec nano ou gedit je croit que je peux paramétrer ça dans gedit c’est vrai que sa fait beaucoup mai il faut dire que je suis sur un écran 22 pouce :confused:

Disons que l’avantage du script c’est d’autoriser que les application que je veux laisser sortir. si elle est pas autorisée sa ne sort pas.

C’est baser sur 3 chose:
1.- Quand on rajoute ou on surprime une application il faut toujours aller chercher la ligne X a l’endroit x et vérifier que sa ouvre X port voir plusieurs (genre le torrent amule amsn ) et qu’une autres application ne l’utilise pas on fermer, bref c’est pénible. et on fini quand même par filtre par application car il faut justement ouvrir le port x …

2.-Avec le script c’est un tableaux c’est donc plus facile.
je considère qu’un application qui le droit de sortir devien un risque. alors qu’elle ouvre un port ou plusieurs ne change rien aux problème. et si faut la restreindre c’est parfaitement applicable de même pour bloquer certaine ip.

3.- Je ferme avec

 -m owner --uid-owner

pour l’id de l’utilisateur, si j’ai plusieurs utilisateur je peux donc filtrer par utilisateur c’est facilement applicable. ici c’est surtout root qui est fermer.

J’utilise le suivi de connections (si la demande n’est pas faite refuser la connections, ce qui fait office de police (a moins qu’on m’aurai menti :laughing:)

 -P INPUT ACCEPT
-m state --state

Ouvrir le port 135 137 et 138
2 question
pour aller ou ?
depuis ou ?
j’ai jamais ouvert et sa ne ma pas gêné :unamused:
si une application en a besoin sa ce fait automatiquement a condition qu’elle soie autorisée.sinon couic 8)

La seul chose qu’on peux reprocher aux script c’est le faite qu’il tourne en boucle, mai j’ai fait une option qui permet de le faire juste durant le démarrages,
puis il s’arrête mai garde les règle en cours. évidement c’est plus risquer.
Certain diront que c’est pas utile de filtrer par application.
Je dit toujours on ne c’est pas ce qui rentre , mai on sais ce qui sort, c’est donc a la sortie qu’il faut filtrer les réponse. (excepter les application écoute en entrée…)

Mai enfin on dévie du sujet principal , je voulait savoir pourquoi root veux absolument sortir alors qu’on ne lui a rien demander ! seul le port 53 est autoriser il aurai besoin d’autre chose ?

[quote=“panthere”]Merci pour ta réponse :slightly_smiling:

Pour l’indentation j’utilise la touche tabs avec nano ou gedit je croit que je peux paramétrer ça dans gedit c’est vrai que sa fait beaucoup mai il faut dire que je suis sur un écran 22 pouce :confused:
[/quote]

Cela n’y change rien, ce n’est pas à la personne qui jette un coup d’oeil à un script, ou à un comaintainer de s’adapter. Je ne me vois pas travailler sur un 22’ et coder en conséquence, et ensuite le donner à mon client avec un 17’, par exemple.

Je pense que n’autoriser rien du tout à sortir par défaut, et ensuite autoriser ce qui est nécessaire est plus simple à gérer et beaucoup plus sécurisé. De ce que je comprends de ton script, tu pars sur des politiques ACCEPT pour les chaînes principales, et ensuite tu DROP.

C’est un peu entre choisir d’utiliser une whitelist ou une blacklist. La blacklist permettra d’empêcher certaines choses à condition qu’elles soient connues et mentionnées. La whitelist, elle n’autorisera que les choses connues et rien d’autre.

???

Ah c’est peut être tout simplement un log, mais pas de ce qui est rejeté.

Enfin, moi je ne retrouve pas mes petits la dedans ; donc pour te dire pourquoi ca coince tu ne pourras que t’aider de tes logs.

thialme a écrit

c’est sure, mai d’un autres coter sur mon 22 pouce je voit rien :laughing: :smt077 :

Non sérieusement c’est noter :wink:

Je pense que n'autoriser rien du tout à sortir par défaut, et ensuite autoriser ce qui est nécessaire est plus simple à gérer et beaucoup plus sécurisé. De ce que je comprends de ton script, tu pars sur des politiques ACCEPT pour les chaînes principales, et ensuite tu DROP.

C'est un peu entre choisir d'utiliser une whitelist ou une blacklist. La blacklist permettra d'empêcher certaines choses à condition qu'elles soient connues et mentionnées. La whitelist, elle n'autorisera que les choses connues et rien d'autre. 

Oui sur ce point la je suis d’accord. je vai peut être faire le contraire crée les règle aux fur et a mesure que les application le demande.

Mai bon pour l’instant la question n’est pas la c’est le module

OWNER match v1.3.8 options:
[!] --uid-owner userid     Match local uid

il son identifiable dans le fichier *.log par mch ROOT
et sa ne filtre que l’uid fourni grâce la ligne:


$idroot=0

iptables -A OUTPUT -o $ETH -m owner --uid-owner $idroot -m limit --limit 24/h --limit-burst 10 -p all -j ULOG --ulog-prefix="ROOT "

iptables -A OUTPUT -o $ETH -m owner --uid-owner $idroot -j DROP