[RESOLU] Deny port avec iptables.

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

[RESOLU] Deny port avec iptables.

Messagepar Muzo » 21 Juin 2004 20:30

Bonjour,

J'utilises donc SME, sur laquelle il existe une contrib qui permet de "deny" un ou plusieurs ports. Moi, je veux fermer un port : 6666.

Voici ce que cela me donne dans le script iptables de ma SME via l'interface d'administration :
Code: Tout sélectionner
/sbin/iptables --append FORWARD -s X.X.X.X/255.255.255.0 -d 0.0.0.0/0 -p tcp --dport 6666 --jump DROP


X.X.X.X : c'est mon adressage ip de mon réseau (de type 162.168.0.0).

Personnellement j'aurais plutôt fait comme dans le Guide de Survie Iptable/Netfilter :
Code: Tout sélectionner
iptables -A INPUT -p tcp --dport 6666 -j deny


Est ce que cela vous semble juste?
C'est quoi-t-y le mieux?

[edit] A mon avis j'ai pas pigé la fonctionnalité du premier script. [/edit]
Dernière édition par Muzo le 24 Juin 2004 09:50, édité 1 fois au total.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Re: Deny port avec iptables.

Messagepar antolien » 21 Juin 2004 21:04

Bonjour,

C'est clairement la première ligne qui est la mieux.

1er script :

--append FORWARD -> ajoute une règle dans la chaine forward (et donc celle qui transmet les paquets d'une interface à une autre)

-s X.X.X.X/255.255.255.0 -d 0.0.0.0/0 -p tcp --dport 6666 --jump DROP -> source =ton lan, destination =tout et port 6666 en tcp, -j DROP = Poubelle.

Ensuite le deuxième script:

-A INPUT -> ajoute une règle dans la chaine input (et donc celle qui transmet les paquets en entrée sur l'interface)

-p tcp --dport 6666 -j deny ( euh, deny c'est sous ipchains . sous iptables c'est REJECT)

Donc, soit tu bloque l'irc en renvoi vers le net (1er script); soit tu bloque le syn en entrée sur le firewall que le client à comme passerelle(2ème script). Il est clair que la permière règle est largement mieux adaptée.

Je vois de loin un habitué d'ipchains :wink:

Par contre il manque pas mal de choses dans tout ça, ne connaissant pas les scripts en amont et aval c'est juste une suggestion; il manque tout de même l'interface d'entrée , de sortie, et le flag tcp.
Avatar de l’utilisateur
antolien
Amiral
Amiral
 
Messages: 3134
Inscrit le: 31 Août 2002 00:00

Re: Deny port avec iptables.

Messagepar Muzo » 21 Juin 2004 22:03

Attention, Mode Newbie On. Mode Confus On.

antolien a écrit:C'est clairement la première ligne qui est la mieux.

1er script :

--append FORWARD -> ajoute une règle dans la chaine forward (et donc celle qui transmet les paquets d'une interface à une autre)

-s X.X.X.X/255.255.255.0 -d 0.0.0.0/0 -p tcp --dport 6666 --jump DROP -> source =ton lan, destination =tout et port 6666 en tcp, -j DROP = Poubelle.

Ensuite le deuxième script:

-A INPUT -> ajoute une règle dans la chaine input (et donc celle qui transmet les paquets en entrée sur l'interface)

-p tcp --dport 6666 -j deny ( euh, deny c'est sous ipchains . sous iptables c'est REJECT)

Donc, soit tu bloque l'irc en renvoi vers le net (1er script); soit tu bloque le syn en entrée sur le firewall que le client à comme passerelle(2ème script). Il est clair que la permière règle est largement mieux adaptée.


Donc si j'ai bien compris le premier bloque la transmission de mon interface lan vers internet.
Mais alors, mon port n'est pas bloquer de l'internet vers le lan ?

Ai-je bien compris en disant : Le premier script bloque les sorties, le deuxième les entrées?

antolien a écrit:Je vois de loin un habitué d'ipchains :wink:

Je ne connais pas ipchains. Je débute avec iptables (encore et encore).

antolien a écrit:Par contre il manque pas mal de choses dans tout ça, ne connaissant pas les scripts en amont et aval c'est juste une suggestion; il manque tout de même l'interface d'entrée , de sortie, et le flag tcp.


Ok, donc il vaudrait mieux faire (exemple eth0=internet, eth1=lan):
--append FORWARD -i eth0 -o eth1 -s X.X.X.X/255.255.255.0 -d 0.0.0.0/0 -p tcp --dport 6666

Sauf si cela à déjà été ajouter à la chaine FORWARD.

Mais le flag tcp à quoi sert-il?
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar tomtom » 21 Juin 2004 22:26

Muzo, tu devrais faire un tour sur le site de notre ami Christian Caleca.


Il faut savoir que avec netfilter, les règles sont évaluées dans l'ordre, et qu'il est difficile d'en analyser une comme ça sans le contexte.

Néanmoins, et bien que ne connaissant pas la SME, j'imagine que les choses sont faites de la manière suivante :

Par défaut, tout est bvloqué de la partie lan vers le web (probablement à l'aide d'une policy sur la table forward).
Ensuite, il est possible de renverser ce mecanisme, en autorisant par exemple tout ce qui provient du lan (-s xxx.xxx.xxx.xxxx/255.255.255.0) à sortir.
La contrib que tu cites bloque à mon avis un port en particulier dans le sens LAN -> WEB; Il faut bien avoir en tete qu'il ne sert à rien de bloquer dans le sens WEB -> LAN, car tout est bvloqué par defaut, sauf les ports explicitement ouverts.

Enfin, apres quelques minutes sur le site de Christian (http://christian.caleca.free.fr), tu sauras que ceci se passe obligatoirement dans la chaine FORWARD ;)

-p tcp est egal à -p 21. C'est une facilité de netfilter permettant d'utiliser des noms plus représentatifs que des numeros de port. On peut voir ainsi -p www par exemple....

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Muzo » 21 Juin 2004 22:52

Doh!
J'l'avais oublié ce site!
Dites c'est mon clone qui a été l'instigateur du Guide iptables? :roll:
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar Franck78 » 21 Juin 2004 23:38

tomtom a écrit:
-p tcp est egal à -p 21. C'est une facilité de netfilter permettant d'utiliser des noms plus représentatifs que des numeros de port. On peut voir ainsi -p www par exemple....

t.



Alors Tomtom, une indigestion de ftp ce soir :?: ;-)

protocoles:
tcp, c'est 6
udp, c'est 17
prm c'est 21 "packet radio measurement !!"



D'ailleurs c'est une facilité de tout (ou presque) utilitaire unix, l'utilisation des fichiers /etc/services /etc/protocols ....



bye
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Franck78 » 22 Juin 2004 00:44

Antolien je dis ça en rigolant parceque précisément Tomtom était sur un post avec des problèmles tcp et port 21, 20 ip_conntrack et compagnie 15 minutes avant.

Ca passe mieux comme çà ?


Allez, une couche pour toi:


Sur deux lignes iptables qui ne font pas la même chose, tu en prèfères une quand on te demande laquelle est la mieux [pour celui qui pose la question, elles ont théoriquement le même effet].
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar grosbedos » 22 Juin 2004 00:58

arf que d'animausité lol,

:-D

enfin le script sme n'est pas evident à comprendre....franchement, c'est pas le plus clair que j'ai pu lire...

les reponses données sont suffisantes...bien que je n'ai pas compris celles de frank mdr............

et oui la sme comme toutes presque, bloque par defaut ce qui arrive du net...heureusement

arf et antolien tu sais tres bien que tomtom se la pete, il n'y connait rien :-D

le prends quand je veux (peut etre au baby foot :-D et encore ?)
Pour retrouver une aiguille dans une botte de foin, il suffit d'y mettre le feu puis de fouiller les cendres avec un aimant. Bernard Werber
Avatar de l’utilisateur
grosbedos
Amiral
Amiral
 
Messages: 1493
Inscrit le: 27 Sep 2002 00:00

Re: Deny port avec iptables.

Messagepar Franck78 » 22 Juin 2004 01:10

Muzo a écrit:
Moi, je veux fermer un port : 6666.

Code: Tout sélectionner
/sbin/iptables --append FORWARD -s X.X.X.X/255.255.255.0 -d 0.0.0.0/0 -p tcp --dport 6666 --jump DROP


Code: Tout sélectionner
iptables -A INPUT -p tcp --dport 6666 -j deny


Est ce que cela vous semble juste?
C'est quoi-t-y le mieux?




il y en a une qui interdit le protocole tcp(6666) depuis X.X.X.X
vers les autres interfaces de la machine firewall

et l'autre qui interdit la même chose mais a destination du firewall lui-même cette fois.

Il n'y a donc pas une règle un peu mieux ou un peu moins bien que l'autre !
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar grosbedos » 22 Juin 2004 07:45

juste une plus inutile que l'autre c'est vrai...et moins correcte à la syntaxe (drop vs deny)
Pour retrouver une aiguille dans une botte de foin, il suffit d'y mettre le feu puis de fouiller les cendres avec un aimant. Bernard Werber
Avatar de l’utilisateur
grosbedos
Amiral
Amiral
 
Messages: 1493
Inscrit le: 27 Sep 2002 00:00

Messagepar Muzo » 22 Juin 2004 08:15

OK, ok, on se détend. 8)

Ok merci pour vos réponses.
Je vais d'abord étudier la documentation du sieur Caleca et je reposterais soit une réponse correcte syntaxiquement (oui ok, le deny m'a échappé, méa culpa), soit des questions plus précises.

Stay tuned
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar tomtom » 22 Juin 2004 08:45

Ca va ca va !

Je reconnais avoir malangé carrement tout !

-p tcp pour le protocole tcp bien sur, je ne sais absolument pas ou j'ai été peché le ftp, c'est clair que c'ets lié à l'autre post ! En plus j'etais ennervé car la fete de la musique c'etait pas bien... ;)

No problem et on kepp cool :D

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Muzo » 22 Juin 2004 09:13

En lisant la doc de M'sieur Caleca, c'est écrit en gros :

INPUT et OUTPUT n'interviennent absolument pas dans le routage. Toutes les règles que vous pourrez y mettre ne concerneront que la sécurité de la passerelle elle-même, mais pas de votre réseau privé.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar Muzo » 22 Juin 2004 21:27

A y'est je rends ma copie !

Bon là je viens de faire un bout de script (celui que je penses même faire).

Code: Tout sélectionner
#Variable connues du script
#Je ne puis y toucher
INTERNALIF=eth0 :
OUTERIF=eth1
# celle-ci retourne l'addresse ip vue d'internet.
OUTERNET=$(/sbin/e-smith/db configuration get ExternalIP)
#Création d'une nouvelle chaine (une seul autre existe sur FORWARD : ForwardAllowLocals)
/sbin/iptables --new-chain ForwardDenyLocals
/sbin/iptables -A FORWARD -i $INTERNALIF -o $OUTERIF -j ForwardDenyLocals
#Refus d'un port de sortie en tcp et udp pour la classe d'adresses
/sbin/iptables -A ForwardDenyLocals -s 192.168.0.0/255.255.255.0 -p tcp --dport 6666 -j DROP
/sbin/iptables -A ForwardDenyLocals -s 192.168.0.0/255.255.255.0 -p udp --dport 6666 -j DROP
#Refus d'une plage de port de sortie en tcp et udp pour la classe d'adresses
/sbin/iptables -A ForwardDenyLocals -s 192.168.0.0/255.255.255.0 -p tcp --dport 235:500 -j DROP
#Refus d'un port pour une adresse spécifique
/sbin/iptables -A ForwardDenyLocals -s 192.168.0.25 -p tcp --dport 80 -j DROP


Dites moi tout de suite si je commences à comprendre, ou si il faille que je m'inscrive dans un club de macramé?
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar grosbedos » 22 Juin 2004 21:51

oui ces règles sont correctes, après faut voir quand les appliquer,
et pour l'intégration à sme, je ne sais pas :-/

(lol il est classe le vérificateur d'orthographe de konqueror, j'aurais du découvrir cela avant !!)
Pour retrouver une aiguille dans une botte de foin, il suffit d'y mettre le feu puis de fouiller les cendres avec un aimant. Bernard Werber
Avatar de l’utilisateur
grosbedos
Amiral
Amiral
 
Messages: 1493
Inscrit le: 27 Sep 2002 00:00

Suivant

Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité