Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1176 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Iptables

n°819209
angelo78
Posté le 15-06-2006 à 12:21:22  profilanswer
 

Bonjour à tous ,  
 
dans le cadre de mes études je suis amené à faire un projet dans lequel je dois faire un firewall  
 
En cours on a étudié iptables (enfin on a été amener à faire des recherches sur google pour trouver comment ca marche :pt1cable:)  
 
j'ai donc trouvé plusieur script mais je n'ai pas tout compris  :heink:  oui pas tres doué le type  :sweat:  
 
enfin voila si vous pourriez m'indiquer un script pour autoriser certain port et en enlever d'autre cela m'aiderai déjà pas mal  
 
perso je pensais tout refusé  
 

Code :
  1. #Remise à zero
  2. iptables -F
  3. iptables -t nat -F
  4. iptables -t nat -X
  5. # Nous les faisons pointer par défaut sur DROP
  6. iptables -P INPUT DROP
  7. iptables -P OUTPUT DROP
  8. iptables -P FORWARD DROP

 
 
puis authoriser certain port  
 

Code :
  1. #On accept le port 80
  2. iptables -A INPUT -P tcp --dport 80 -j ACCEPT

 
 
 
cela est il suffissant ? que rajouté ?  
 
 
puis une fois le script achevé ou le mettre ? j'ai lu /etc/rc.d/init.d mais aussi une histoire avec iptables-save  
 
je suis un peu - beaucoup perdu  

mood
Publicité
Posté le 15-06-2006 à 12:21:22  profilanswer
 

n°819213
SpN
BF4: Joorem
Posté le 15-06-2006 à 12:35:14  profilanswer
 

Y'a ce tuto, si ça peut t'aider : http://people.via.ecp.fr/~alexis/f [...] ewall.html

n°819232
simple_stu​pid
Keep It Simple Stupid
Posté le 15-06-2006 à 13:37:45  profilanswer
 


Code :
  1. #Remise à zero
  2. iptables -F
  3. iptables -t nat -F
  4. iptables -t nat -X
  5. # Nous les faisons pointer par défaut sur DROP
  6. iptables -P INPUT DROP
  7. iptables -P OUTPUT DROP
  8. iptables -P FORWARD DROP

 
 
puis authoriser certain port  
 

Code :
  1. #On accept le port 80
  2. iptables -A INPUT -P tcp --dport 80 -j ACCEPT

 
 
 
Ouais, déjà ce serait mieux comme ça:
 

Code :
  1. #On accept le port 80
  2. iptables -A INPUT -p tcp --dport www -j ACCEPT

 
 
ok, t'acceptes le trafic entrant. Si tu n'autorises pas les répondes, tu ne vas pas aller loin...
 

Code :
  1. #On accept le port 80
  2. iptables -A OUTPUT -m state --state ESTABLISHED -p tcp --sport www -j ACCEPT

 
 

n°819236
dam1330
...
Posté le 15-06-2006 à 13:47:56  profilanswer
 

faudrait pas plutot faire l'inverse ?
 
iptables -A OUTPUT -p tcp --sport www -j ACCEPT  
iptables -A INTPUT -m state --state ESTABLISHED -p tcp --dport www -j ACCEPT

Message cité 1 fois
Message édité par dam1330 le 15-06-2006 à 13:48:29
n°819281
angelo78
Posté le 15-06-2006 à 15:02:54  profilanswer
 

sudo iptables -A INTPUT -m state --state ESTABLISHED -p tcp --dport www -j ACCEPT
 
 
iptables: No chain/target/match by that name
 
Cette comande semble ne pas marché ...

n°819284
macfennec
Zorro del Sáhara
Posté le 15-06-2006 à 15:06:01  profilanswer
 

INPUT pas INTPUT

n°819288
angelo78
Posté le 15-06-2006 à 15:14:41  profilanswer
 

vraiment désolé j'dois vraiment être fatigué

n°819294
simple_stu​pid
Keep It Simple Stupid
Posté le 15-06-2006 à 16:05:59  profilanswer
 

dam1330 a écrit :

faudrait pas plutot faire l'inverse ?
 
iptables -A OUTPUT -p tcp --sport www -j ACCEPT  
iptables -A INTPUT -m state --state ESTABLISHED -p tcp --dport www -j ACCEPT


 
Ca dépend si tu es le client ou bien le serveur ;-)

n°819295
l0ky
Posté le 15-06-2006 à 16:08:14  profilanswer
 

non serveur c'est  

-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT


 
et client

-A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

Message cité 1 fois
Message édité par l0ky le 15-06-2006 à 16:10:21
n°819301
angelo78
Posté le 15-06-2006 à 16:39:15  profilanswer
 

ok merci  
 
j'ai pas eu la réponse à cette question :  
 
puis une fois le script achevé ou le mettre ?
 j'ai lu /etc/rc.d/init.d mais aussi une histoire avec iptables-save  
 

mood
Publicité
Posté le 15-06-2006 à 16:39:15  profilanswer
 

n°819303
simple_stu​pid
Keep It Simple Stupid
Posté le 15-06-2006 à 16:43:34  profilanswer
 

l0ky a écrit :

non serveur c'est  

-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT




 
Ouais, enfin si tu n'acceptes que les paquets ayant le flag SYN (NEW quoi), tu ne pourras pas faire grand chose non plus. Une fois que ta connexion est établie, il faut bien échanger des paquets dans les 2 sens.
 

angelo78 a écrit :

ok merci  
 
j'ai pas eu la réponse à cette question :  
 
puis une fois le script achevé ou le mettre ?
 j'ai lu /etc/rc.d/init.d mais aussi une histoire avec iptables-save


 
Si t'es sous Debian, dans /etc/network/if-pre-up.d/
 
Sinon, comme les autres scripts...

Message cité 1 fois
Message édité par simple_stupid le 15-06-2006 à 16:45:47
n°819305
angelo78
Posté le 15-06-2006 à 16:51:42  profilanswer
 

alors moi je suis sous ubuntu d'ou ma question c'est comme debian? (logiquement oui mais je prefere etre sur )


Message édité par angelo78 le 15-06-2006 à 16:52:01
n°819306
l0ky
Posté le 15-06-2006 à 16:52:33  profilanswer
 

simple_stupid a écrit :

Ouais, enfin si tu n'acceptes que les paquets ayant le flag SYN (NEW quoi), tu ne pourras pas faire grand chose non plus. Une fois que ta connexion est établie, il faut bien échanger des paquets dans les 2 sens.


 
Ce que je corrigeais c'était les ports (sport/dport) et la chaine (input/outpu) qui n'était pas du tout bon que ce soit pour un serveur ou un client.
 
pour info:
NEW ne signifie pas "seulement" les paquets ayant le flag SYN.
 
Pour netfilter, NEW signifie que le paquet n'appartient pas à une connection existante. Tu peux recevoir un paquet avec seulement le flag RST, si ce paquet n'appartient pas a une connection exisante il sera dans l'état NEW.
Si tu veux réellement  n'accepter que les paquets ayant un flag syn pour le NEW tu dois mettre --syn
 
Donc en gros pour un serveur HTTP pour faire les choses un peu propre il faut :


-A INPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT


Message édité par l0ky le 15-06-2006 à 16:53:13
n°819309
simple_stu​pid
Keep It Simple Stupid
Posté le 15-06-2006 à 17:01:35  profilanswer
 

angelo78 a écrit :


Ce que je corrigeais c'était les ports (sport/dport) et la chaine (input/outpu) qui n'était pas du tout bon que ce soit pour un serveur ou un client.


 
Ah. Ce n'était pas de moi cette erreur  :jap:  
 

angelo78 a écrit :

 
pour info:
NEW ne signifie pas "seulement" les paquets ayant le flag SYN.


 
Raccourci pas du tout clair de ma part, c'est toujours bien de préciser.
 
Par contre, pourquoi ne pas faire:
 


-A INPUT -p tcp --dport www -m state --state NEW, ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport www -m state --state ESTABLISHED -j ACCEPT  

n°819312
l0ky
Posté le 15-06-2006 à 17:07:18  profilanswer
 

simple_stupid a écrit :


Par contre, pourquoi ne pas faire:
 


-A INPUT -p tcp --dport www -m state --state NEW, ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport www -m state --state ESTABLISHED -j ACCEPT  



Si tu ne précise pas le --syn oui c'est OK.
 
Généralement ce que je fais pour ouvrir des services c'est un truc du genre :

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport www --syn -m state --state NEW -j ACCEPT
 
-A OUTPUT -p tcp --sport www --m state --state ESTABLISHED -j ACCEPT


 

n°821720
angelo78
Posté le 23-06-2006 à 13:33:18  profilanswer
 

je pense que vous compliquez pas mal les choses  
 
mes besoins sont juste d'autoriser le port 80 pour "tout le monde " en entré  
 
et en sorti uniquement 2 machines ayant l'adresse ip 192.168.1.211 et 192.168.1.212
 
je suis obligé de mettre tout ca ?  
 

n°821724
l0ky
Posté le 23-06-2006 à 13:37:23  profilanswer
 

Dans la vie il y a deux manières de faire les choses :
 - les faire
 - et les faire proprement
 
A bon entendeur

n°821727
angelo78
Posté le 23-06-2006 à 13:42:20  profilanswer
 

ok ma réflexion étais sans doute déplacé mais comme je comprend pas forcement tout j'essai de simplifier


Message édité par angelo78 le 23-06-2006 à 13:55:43

Aller à :
Ajouter une réponse
 

Sujets relatifs
[IPTABLES] Proftpd vhost et port différents du 21 [résolu]FirewallEyes et IPTABLES
probleme avec iptables : modules (resolu), forwarding maintenant[Iptables] J'invoque un dieu de Iptables
[Iptables] probleme de NATproblème passerelle internet (Iptables, je pense)
iptables & rejet des acquittementsIPTABLES avec MASQUERADE
Iptables -L qui ne fonctionne pas ![Iptables] Config de ftp (résolu)
Plus de sujets relatifs à : Iptables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR