[iptables] aidez moi pour un firewall
Fermé
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
-
6 oct. 2006 à 16:37
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 - 7 oct. 2006 à 07:32
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 - 7 oct. 2006 à 07:32
A voir également:
- [iptables] aidez moi pour un firewall
- Comodo firewall gratuit - Télécharger - Pare-feu
- Firewall builder - Télécharger - Web & Internet
- Zonealarm free antivirus + firewall - Télécharger - Pare-feu
- Private firewall - Télécharger - Pare-feu
- Windows firewall control - Télécharger - Optimisation
4 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 oct. 2006 à 18:49
6 oct. 2006 à 18:49
Salut,
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
en OUTPUT tu ne doit pas avoir une chose pareil
essaie avec ça
mais je ne peux pas l'arrêter moi même en faisant /etc/init.d/firewall stop par exemple :
Oui tu peux mais il faut construire les scripts nécessaires. Mais tu les à dans le message qui t'as donné la personne de ce forum.
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
en OUTPUT tu ne doit pas avoir une chose pareil
essaie avec ça
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
mais je ne peux pas l'arrêter moi même en faisant /etc/init.d/firewall stop par exemple :
Oui tu peux mais il faut construire les scripts nécessaires. Mais tu les à dans le message qui t'as donné la personne de ce forum.
iptables_stop : #! /bin/sh # # Description: firewall netfilter/iptables est maintenant ouvert # # Initialization de la table FILTER # iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT 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 ACCEPTiptables ce trouvant dans /etc/init.d :
#! /bin/sh case $1 in 'start') /etc/iptables_start ;; 'stop') /etc/iptables_stop ;; '*') echo "Usage : /etc/init.d/iptables {start|stop}" ;; esaclami20j
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
6 oct. 2006 à 20:16
6 oct. 2006 à 20:16
J'ai modifier la ligne, mais j'ai le même problème avec ce firewall qu'avec l'ancien.
Sur le port 80, je n'ai que quelques sites qui passent. Si je déactive le firewall, tout fonctionne
merci
Sur le port 80, je n'ai que quelques sites qui passent. Si je déactive le firewall, tout fonctionne
merci
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
6 oct. 2006 à 22:44
6 oct. 2006 à 22:44
Si on est trop parano de ne pas simplement ouvrir OUTPUT il faut etre super vigilant pour les requetes DNS. Deja la 1ere version est simplement fausse a cause de la remarque de lami20j.
Donc il faut ouvrir l'OUTPUT de facon inconditionee (sans le baratin RELATE ou ESTABLISHED etc.) sinon on ne peut jamais etablir une 1ere connexion. Ca revient a tout simplement couper l'internet et le reseau.
En plus si on n'ouvre que quelques ports en OUTPUT il ne faut surtout pas oublier le port 53 pour les requetes DNS (d'ouvrir le 80 pour http ne suffit pas, et pas non plus le 113). Pour ca le 2eme script semble mieux et (peut-etre) correcte.
Moi personnellement je conseillerais simplement d'ouvrir OUTPUT completement et pour INPUT il faut par defaut fournir une regle avec acceptation pour RELATED,ESTABLISHED. Cela fait un pare feu correcte pour filtrer la direction entree. Apres on ajoute d'autre regles INPUT pour les ports a ouvrir si on fait serveur (par exemple http, ftp, ssh etc.).
Autre chose: dans les regles INPUT avec "-d 88.191.27.74" c'est bien l'IP du PC concerne ? C'est aussi une option genre overkill/parano. Si on change l'IP du PC pour une raison il ne faut pas non-plus d'oublier de modifier ca. Pour que cette option soit utile il faudrait que quelqu'un contacte ton PC avec une autre IP destination que celle de ton PC mais dans ce cas comment est-ce que ca peut arriver a ton PC ???
Si on veut filtrer ou accepter pour certains IP client (IP de l'autre cote) il faut mettre "-s IP_client". Il n'y a pas confusion entre les deux ???
De controler l'OUTPUT necessitent pas mal de travail et ca peut facilement foirer pour de petits details qu'on oublie. De toute facon ca ne sert uniquement si on ne peut pas faire confiance a son PC ou aux utilisateurs de ce PC.
Si on garde de regles "parano" et ca ne marche pas il faut tester avec de regles LOG, c.-a-d. avant certaines ou chaque regle DROP ou REJECT on fait une 2eme fois la meme regle avec cible LOG (au lieu de "-j DROP" on mettrait "-j LOG --log-level info" pour la 2eme regle avant!!). De cette facon tous les paquets jetes ou rejetes apparaissent dans le log (soit visible avec la commande "dmesg" et/ou dans le fichier /var/log/messages) et on pourra ainsi deboguer et analyser le probleme, eventuellement, modifier les regles pour que ca marche.
Donc il faut ouvrir l'OUTPUT de facon inconditionee (sans le baratin RELATE ou ESTABLISHED etc.) sinon on ne peut jamais etablir une 1ere connexion. Ca revient a tout simplement couper l'internet et le reseau.
En plus si on n'ouvre que quelques ports en OUTPUT il ne faut surtout pas oublier le port 53 pour les requetes DNS (d'ouvrir le 80 pour http ne suffit pas, et pas non plus le 113). Pour ca le 2eme script semble mieux et (peut-etre) correcte.
Moi personnellement je conseillerais simplement d'ouvrir OUTPUT completement et pour INPUT il faut par defaut fournir une regle avec acceptation pour RELATED,ESTABLISHED. Cela fait un pare feu correcte pour filtrer la direction entree. Apres on ajoute d'autre regles INPUT pour les ports a ouvrir si on fait serveur (par exemple http, ftp, ssh etc.).
Autre chose: dans les regles INPUT avec "-d 88.191.27.74" c'est bien l'IP du PC concerne ? C'est aussi une option genre overkill/parano. Si on change l'IP du PC pour une raison il ne faut pas non-plus d'oublier de modifier ca. Pour que cette option soit utile il faudrait que quelqu'un contacte ton PC avec une autre IP destination que celle de ton PC mais dans ce cas comment est-ce que ca peut arriver a ton PC ???
Si on veut filtrer ou accepter pour certains IP client (IP de l'autre cote) il faut mettre "-s IP_client". Il n'y a pas confusion entre les deux ???
De controler l'OUTPUT necessitent pas mal de travail et ca peut facilement foirer pour de petits details qu'on oublie. De toute facon ca ne sert uniquement si on ne peut pas faire confiance a son PC ou aux utilisateurs de ce PC.
Si on garde de regles "parano" et ca ne marche pas il faut tester avec de regles LOG, c.-a-d. avant certaines ou chaque regle DROP ou REJECT on fait une 2eme fois la meme regle avec cible LOG (au lieu de "-j DROP" on mettrait "-j LOG --log-level info" pour la 2eme regle avant!!). De cette facon tous les paquets jetes ou rejetes apparaissent dans le log (soit visible avec la commande "dmesg" et/ou dans le fichier /var/log/messages) et on pourra ainsi deboguer et analyser le probleme, eventuellement, modifier les regles pour que ca marche.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 oct. 2006 à 23:03
6 oct. 2006 à 23:03
Salut kmf31,
Deja la 1ere version est simplement fausse a cause de la remarque de lami20j.
Donc il faut ouvrir l'OUTPUT de facon inconditionee (sans le baratin RELATE ou ESTABLISHED etc.)
C'est exactement ce que j'ai dit ( de façon inconditionée) et ça graçe à ! INVALID
Donc j'ai dit que
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
en OUTPUT tu ne doit pas avoir une chose pareil - en traduction = de façon conditionée
En revanche ce qui suit est équivalent à de façon inconditionée
essaie avec ça
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
Donc accepter tout en OUTPUT
lami20j
P.S. Le 1ère script est classique pour un client qui veut seulement se connecter sur net, sans avoir besoin de configurer un serveur ou un port particulier, et c'est vraiment suffisant. Je n'ai jamais rencontrer le moindre problème.
Bien sûr que si on possède un serveur il faut peaufiner la configuration ce qui semble le cas de fabrice11901.
Deja la 1ere version est simplement fausse a cause de la remarque de lami20j.
Donc il faut ouvrir l'OUTPUT de facon inconditionee (sans le baratin RELATE ou ESTABLISHED etc.)
C'est exactement ce que j'ai dit ( de façon inconditionée) et ça graçe à ! INVALID
Donc j'ai dit que
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
en OUTPUT tu ne doit pas avoir une chose pareil - en traduction = de façon conditionée
En revanche ce qui suit est équivalent à de façon inconditionée
essaie avec ça
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
Donc accepter tout en OUTPUT
lami20j
P.S. Le 1ère script est classique pour un client qui veut seulement se connecter sur net, sans avoir besoin de configurer un serveur ou un port particulier, et c'est vraiment suffisant. Je n'ai jamais rencontrer le moindre problème.
Bien sûr que si on possède un serveur il faut peaufiner la configuration ce qui semble le cas de fabrice11901.
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
7 oct. 2006 à 07:32
7 oct. 2006 à 07:32
Bonjour
Et merci pour votre aide.
J'ai changé cette ligne, mais le port 80 ne fonctionne qu'à moitier certains sites s'affichent pas d'autre.
C'est un serveur web, donc je dois accepter le http, le ftp, le smtp, le pop, le ssh, les dns, le ping.
Pouvez-vous me coriger mon script entièrement afin qu'il fonctionne comme ça ensuite je verai les différences
merci d'avance de votre aide précieuse
Et merci pour votre aide.
J'ai changé cette ligne, mais le port 80 ne fonctionne qu'à moitier certains sites s'affichent pas d'autre.
C'est un serveur web, donc je dois accepter le http, le ftp, le smtp, le pop, le ssh, les dns, le ping.
Pouvez-vous me coriger mon script entièrement afin qu'il fonctionne comme ça ensuite je verai les différences
merci d'avance de votre aide précieuse