problème iptables output

bonjour,

comme l’indique le sujet je rencontre un soucis avec iptabgles en effet, le output ne filtre rrien
par exemple
iptables -a OUTPUT -s -j DROP

mais l’IP répond toujours au ping et au divers services

voici le début de mon script iptables

#! /bin/sh

Description: configuration de firewall netfilter/iptables

Initialization de la table FILTER

iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP # les 3 cmd = debranchement des cables
iptables -P FORWARD ACCEPT

Initialization de la table NAT

iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

Initialisation de la table MANGLE

iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT

interface lo

iptables -A INPUT -i lo -s ‘0.0.0.0/0’ -d ‘0.0.0.0/0’ -j ACCEPT
iptables -A OUTPUT -o lo -s ‘0.0.0.0/0’ -d ‘0.0.0.0/0’ -j ACCEPT

merci d’avance

Slt,
Tes règles en “iptables -a OUTPUT -s -j DROP” ne serviront à rien car elles sont déjà couvertes par la règle par défaut “iptables -P OUTPUT DROP”.
Ca n’explique pas ton problème, mais montre que peut être tu te trompes sur la règle à écrire pour faire ce que tu veux.

En plus, ta chaine FORWARD est initialisée 2 fois au début, un coup avec drop un coup avec accept, ca m’étonnerait que t’ai pas des insultes quand tu lances ton script. :108 Je suppose que l’une des 2 devrait être commentée ? Tu devrais lancer un “iptables -L -n” pour voir ce qu’il a interprété (le dernier qui a parlé a souvent raison, dans un pare feu…).

Je ne sais pas ce que c’est que cette , mais si ca n’est pas le firewall lui même, alors c’est sur la chaine FORWARD qu’il faut mettre des restrictions (car la politique par défaut sur cette chaine est à ACCEPT, ce qui explique peut être ton problème de services qui continuent à répondre), pas sur la chaine OUTPUT qui est utilisée pour le trafic en partance du firewall lui même, et non d’une machine en amont.

RE

je n’ai pas d’erreur lorsque je lance le script

j’e’ssaye depuis la machine en elle même

j’avai déj
à essayer en commantant les lignes sité mais le résultats était toujours identique

j’écoute si d’autre idées

Jérémy

et avec le module -m iprange ?

bonjour,

même avec le module -m iprange le comportmenet observer est le même … je m’en sert pourt bloqué des plge d’ip en entrant mais en sortant rien a faire …

on est bien ok que si je bloque une IP en output je ne devrai ni pouvoir la pingué ni pouvoir accèder a ces services depuis la debian en question ?

Jérémy

[quote=“jeremyp3”]on est bien ok que si je bloque une IP en output je ne devrai ni pouvoir la pingué ni pouvoir accèder a ces services depuis la debian en question ?
[/quote]
OUTPUT, c’est par rapport à la debian en question !

  • Si tu veux interdire à ta debian d’accéder à la machine x.x.x.x :
  • Si tu veux interdire à la machine x.x.x.x d’accéder à ta debian :

[quote=“kna”][quote=“jeremyp3”]on est bien ok que si je bloque une IP en output je ne devrai ni pouvoir la pingué ni pouvoir accèder a ces services depuis la debian en question ?
[/quote]
OUTPUT, c’est par rapport à la debian en question !

j :
ben oui c’est ce que je dis sur mon poste.

  • Si tu veux interdire à ta debian d’accéder à la machine x.x.x.x :

iptables -A OUTPUT -d x.x.x.x -j DROP

oui mais ça marche pas … d’ou l’objet de mon topique ici même

  • Si tu veux interdire à la machine x.x.x.x d’accéder à ta debian :

cela ça fonctionne
[/quote]

Peu-tu nous faire voir ce que tu obtiens dans le fichier parefeu:

C’est juste pour être sûr que tu n’aurais pas un problème résidant à tes chaines, j’ai eu il y a quelques jours des idioties avec iptables.

[quote=“helid”]Peu-tu nous faire voir ce que tu obtiens dans le fichier parefeu:

C’est juste pour être sûr que tu n’aurais pas un problème résidant à tes chaines, j’ai eu il y a quelques jours des idioties avec iptables.[/quote]

bonjour voici le fichier en questions

la plage d’ip (89.0.0.0 89.255.255.255) banis c’est juste pour le test …

[code]

Generated by iptables-save v1.4.2 on Wed Jul 21 20:20:38 2010

*mangle
:PREROUTING ACCEPT [12482865:15106249448]
:INPUT ACCEPT [9162465:13329785520]
:FORWARD ACCEPT [3318109:1776042704]
:OUTPUT ACCEPT [3535807:277388770]
:POSTROUTING ACCEPT [6855406:2054021341]
-A PREROUTING -p tcp -m tcp --dport 587 -j MARK --set-xmark 0x1/0xffffffff
-A PREROUTING -p tcp -m tcp --dport 25 -j MARK --set-xmark 0x1/0xffffffff
-A OUTPUT -p tcp -m tcp --dport 587 -j MARK --set-xmark 0x1/0xffffffff
-A OUTPUT -p tcp -m tcp --dport 25 -j MARK --set-xmark 0x1/0xffffffff
COMMIT

Completed on Wed Jul 21 20:20:38 2010

Generated by iptables-save v1.4.2 on Wed Jul 21 20:20:38 2010

*nat
:PREROUTING ACCEPT [215983]
:POSTROUTING ACCEPT [883:136389]
:OUTPUT ACCEPT [17177:1585165]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 30003 -j DNAT --to-destination 192.168.80.2:30003
-A PREROUTING -i eth0 -p udp -m udp --dport 30013 -j DNAT --to-destination 192.168.80.2:30013
-A PREROUTING -i eth0 -p tcp -m tcp --dport 40000 -j DNAT --to-destination 192.168.80.2:40000
-A PREROUTING -i eth0 -p udp -m udp --dport 45000 -j DNAT --to-destination 192.168.80.2:45000
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o eth2 -j MASQUERADE
-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -o eth2 -j SNAT --to-source 192.168.2.20
COMMIT

Completed on Wed Jul 21 20:20:38 2010

Generated by iptables-save v1.4.2 on Wed Jul 21 20:20:38 2010

*filter
:INPUT DROP [3723:336154]
:FORWARD ACCEPT [3318109:1776042704]
:OUTPUT DROP [72:5956]
-A INPUT -s 192.168.6.12/32 -p tcp -m tcp --dport 80 -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i tap0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m iprange --src-range 118.160.0.0-118.171.255.255 -j LOG
-A INPUT -m iprange --src-range 118.160.0.0-118.171.255.255 -j DROP
-A INPUT -m iprange --src-range 114.32.0.0-114.47.255.255 -j LOG
-A INPUT -m iprange --src-range 114.32.0.0-114.47.255.255 -j DROP
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -m recent --update --seconds 999999 --hitcount 5 --name ftp --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 21 -m recent --set --name ftp --rsource
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 12345 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p udp -m udp --dport 4000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -s 192.168.0.0/16 -j ACCEPT
-A FORWARD -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -o ppp00 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A OUTPUT -m iprange --src-range 89.0.0.0-89.255.255.255 -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o eth1 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o eth2 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o ppp0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o tap0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
COMMIT

Completed on Wed Jul 21 20:20:38 2010[/code]

-A OUTPUT -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o eth1 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o eth2 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o ppp0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o tap0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT

En survolant: C’est pas là ton problème ?

[quote=“helid”]-A OUTPUT -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o eth1 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o eth2 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o ppp0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A OUTPUT -o tap0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT

En survolant: C’est pas là ton problème ?[/quote]

ben ça c’est pour laisser les connections déjà établies si j’ai bien compris le script…

je vais essayer sans pour voir

Jérémy

RELATED,ESTABLISHED uniquement pour les réponses aux connexions déjà établies.
NEW = nouvelle connexion.

bonjour, je viens de supprimer ces lignes mais pas de changement

Qu’est-ce que tu appelles “supprimer” ?
Tu as pris un éditeur de texte, tu as viré les lignes en question du fichier parefeu puis tu as fait:# iptables-restore < parefeu

Et profites-en pour rectifier:[quote]-A FORWARD -o ppp00 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu[/quote]c’est ppp0.

pour la modifications oui j’ai supprier les lignes de mon fichier puis j’ai relancer le service …

ok pour le PPP00 je vais modifier même si mon problème ne ce situ pas la lol

Il vaut mieux passer par -restore plutôt que relancer le service, cela fait partie des idioties (le terme est exagéré :083 ) d’iptables dont je parlais: suivant l’erreur, la chaîne peut ne pas s’effacer à la relance et l’erreur reste résidente voir s’amplifie (incrémentation de la référence par exemple).
C’est un outil très puissant mais … :mrgreen:

Pour supprimer une règle du parefeu, il faut :
chercher le N° de la ligne concernée

iptables -L --line-numbers

puis porter le chiffre/nombre trouvé, en fin de la commande suivante, à la place de ‘N°’

iptables -D INPUT N°

À modifier s’il ne s’agit pas de la chaîne INPUT, bien sûr

Ensuite, soit réinitialiser le parefeu, soit rebouter la machine.

Pour vérifier que la prise en compte a bien eu lieu :

iptables-save

bonjour,

tout ça ne réponde pas trop a mon problème …

quand je dis que je l’ai supprimer c’est que je l’ai supprimer lol il faux passer a une autre idée …

j’ai essayer avec une machinve virtuel qui n’avai pratiquement pas de règles iptables et la chène output ne fonctionne pas non plus …

pouvez vous me donner un script entier dans laqel la chène output fonctionne ?

Jérémy

Je viens de relire ton message, et en fait tu as fait:

[code]# iptables -A OUTPUT -s 127.0.0.1 -j DROP

ping 127.0.0.1[/code]

et le ping a répondu c’est bien ça ? C’est pour clarifier déjà.
Ensuite, au final c’est quel script que tu utilises, le premier, le deuxième ou encore un autre entre temps ? Pour clarifier aussi.

@ricardo: t’as pas besoin de rebouter ou de réinitialiser, “-D” agit en direct et tu obtiens le résultat.
Et merci pour --line-numbers cela règle le problème que j’avais eu.

[quote=“helid”]
@ricardo: t’as pas besoin de rebouter ou de réinitialiser, “-D” agit en direct et tu obtiens le résultat.
Et merci pour --line-numbers cela règle le problème que j’avais eu.[/quote]
C’est vrai, tu as raison mais c’est une habitude (ridicule) que j’ai de toujours réinitialiser, après une modif.