Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[iptables] aidez moi pour un firewall

fabrice11901, le vendredi 6 octobre 2006 à 16:37:18
Bonjour
Y a un mois à peu près, une personne de ce forum m'avait aider pour un firewall iptables pour mon serveur web sous ubuntu v5.10
En autorisant le port 22 (ssh) 80, 53, 25, 110, 21, 20
A ce jour le firewall ne fonctionne pas bien il me bloque à moitier le port 80 alors qu'il devrait laisser passer, le 110 ne fonctionne pas etc (alors qu'il a marché)
voici ce firewall :
iptables_start :
#! /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

# 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

#                            table FILTER
#
# chaque commande est sur une seule ligne
#
# remplace eth0 avec ton interface
# et xxx.xxx.xxx.xxx avec IP de ton serveur
iptables -A INPUT -i eth0 -d 88.191.27.74 -m state --state ESTABLISHED,RELATED -j ACCEPT

#on accepte ici les ports 20 21 22 23 25 80 110 
iptables -A INPUT -i eth0 -p tcp -d 88.191.27.74 --dport 20:21 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -d 88.191.27.74 --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -d 88.191.27.74 --dport 23 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -d 88.191.27.74 --dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -d 88.191.27.74 --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -d 88.191.27.74 --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -d 88.191.27.74 --dport 110 -j ACCEPT
#
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT


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   ACCEPT

iptables 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}"
          ;;
esac

voila ce script ne marche plus on m'en a passé un autre (pas encore testé, mais je ne peux pas l'arrêter moi même en faisant /etc/init.d/firewall stop par exemple :
#!/bin/bash
#
# config de base
#
# Vider les tables actuelles
iptables -t filter -F
iptables -t filter -X
echo - Vidage : [OK]

# Autoriser SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
echo - Autoriser SSH : [OK]

# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo - Ne pas casser les connexions établies : [OK]

# Interdire toute connexion entrante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
echo - Interdire toute connexion entrante : [OK]

# Interdire toute connexion sortante
iptables -t filter -P OUTPUT DROP
echo - Interdire toute connexion sortante : [OK]

# Autoriser les requetes DNS, FTP, HTTP, NTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
echo - Autoriser les requetes DNS, FTP, HTTP, NTP : [OK]

# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo - Autoriser loopback : [OK]

# Autoriser ping
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
echo - Autoriser ping : [OK]

# Gestion des connexions entrantes autorisées
#
# iptables -t filter -A INPUT -p <tcp|udp> --dport <port> -j ACCEPT

# HTTP
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
echo - Autoriser serveur Apache : [OK]


# FTP
modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo - Autoriser serveur FTP : [OK]

# Mail
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
echo - Autoriser serveur Mail : [OK]

# Syn-Flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
echo - Limiter le Syn-Flood : [OK]

# Spoofing
iptables -N SPOOFED
iptables -A SPOOFED -s 127.0.0.0/8 -j DROP
iptables -A SPOOFED -s 169.254.0.0/12 -j DROP
iptables -A SPOOFED -s 172.16.0.0/12 -j DROP
iptables -A SPOOFED -s 192.168.0.0/16 -j DROP
iptables -A SPOOFED -s 10.0.0.0/8 -j DROP
echo - Bloquer le Spoofing : [OK]


que faire?$
merci
-
C'est bizarre, on en apprend tous les jours même quand on ne s'informe pas !!!!
Configuration: carte mere asus k8n4e, processeur : sempron 3300+, disque dur 80go mémoire : 512...
Répondre à fabrice11901  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le vendredi 6 octobre 2006 à 18:49:16
Salut,

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   ACCEPT
iptables 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}"
          ;;
esac
lami20j
Répondre à lami20j

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fabrice11901, le vendredi 6 octobre 2006 à 20:16:31
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
C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!
Répondre à fabrice11901

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kmf31, le vendredi 6 octobre 2006 à 22:44:39
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.
Répondre à kmf31

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le vendredi 6 octobre 2006 à 23:03:07
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.
Répondre à lami20j

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 fabrice11901, le samedi 7 octobre 2006 à 07:32:58
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
C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!
Répondre à fabrice11901
Iptables icmp firewall (Résolu) Bonjour, Mon schéma réseau ACTUEL est le suivant: pc1 + pc 2 + FW-----------------switch---------------livebox LES PINGS Le firewall est relié au switch par eth0. pc1 ping pc2 pc2 ping pc1 FW ping pc1 et pc2 Mais pc1 et pc2 ne ping pas FW (vous aurez... www.commentcamarche.net/forum/affich-5037164-iptables-icmp-firewall
[Linux] Installation d'un Firewall Installation d'un Firewall Avant-propos II - Iptables II.1 - Introduction II.2 - P comme Policy : Politique II.3 - A comme Append : Ajouter II.4 - I comme Insert : Insérer II.5 - L comme List : Lister II.6 - D comme Delete :... www.commentcamarche.net/faq/sujet-1317-linux-installation-d-un-firewall
[Debian] IPTABLES (Résolu) Bonjour, J'ai usé d'un tuto afin de créer mon firewall via iptables. Cela consiste à créer un fichier "/etc/firewall.sh" et un script "/etc/init.d/firewall". Ma question : debian:~# /etc/init.d/firewall stop debian:~# /etc/init.d/firewall... www.commentcamarche.net/forum/affich-3451362-debian-iptables
Installer un firewall sous Ubuntu (gufw)Linux possède un firewall puissant (netfilter) qu'on peut configurer avec un outil en ligne de commande (iptables). Mais ce n'est pas très intuitif. Ubuntu 8.10 (Intrepid Ibex) est fourni avec un outil simplifié de configuration du firewall, gufw... www.commentcamarche.net/faq/sujet-14400-installer-un-firewall-sous-ubuntu-gufw
[Sécurité] Utilisation d'un firewallPremière utilisation d'un firewall Les explications étant basées sur le pare-feu ZoneAlarm, elles sont exactes pour d'autres pare-feu, il peut toutefois y avoir une différence de gestion ou de fonctionnement. 1. Qu'est ce qu'un firewall (ou... www.commentcamarche.net/faq/sujet-2008-securite-utilisation-d-un-firewall
[mythes] Kerio 2.1.5 est un bon firewall.Mythe Kerio Personal Firewall 2.1.5 est un bon firewall.       Réalité FAUX       Explications Kerio 2.1.5 était un bon firewall. Le problème est que des failles de sécurité importantes ont été découvertes dans cette version (Voir: kerio... www.commentcamarche.net/faq/sujet-4463-mythes-kerio-2-1-5-est-un-bon-firewall
VPN L2TP/IPSEC Versus IPTABLES (Résolu)Hello à tous et spécial bonjour à ceux que je connais et qui me reconnaissent (notamment Brupala :) Je rencontre quelques soucis de filtrage avec iptables et un serveur VPN sous Windows 2003 (en L2TP/IPSEC). Ma passerelle fait office de firewall avec... www.commentcamarche.net/forum/affich-1767080-vpn-l2tp-ipsec-versus-iptables
Ports TCP bloqués même sans Firewall (Résolu)Salutatous. Je suis sous Mdk 10.0 Community kernel 2.6.3 et j'utilise iptables avec shorewall comme firewall. Mon Pb est le suivant : Je voudrais installer un serveur Ftp (Proftp) sur ma passerelle et malgré le fait que j'autorise le port 21... www.commentcamarche.net/forum/affich-705854-ports-tcp-bloques-meme-sans-firewall
[pppd] script ip-up (Résolu)Bonjour, J'ai installé un firewall sur la configuration précisée plus bas. J'ai utilisé firewall builder (http://www.fwbuilder.org) qui me génère un script qui configure mes règles pour IPTABLES. J'ai une carte réseau relié à un modem... www.commentcamarche.net/forum/affich-1457458-pppd-script-ip-up
Télécharger Comodo Firewall ProComodo Firewall pro est un pare-feu personnel gratuit proposant la plupart des fonctionnalités proposées par les firewalls payants, à savoir : Validation des composants d'une application avant de l'autoriser à se connecter à Internet. Analyse... www.commentcamarche.net/telecharger/telecharger-34055041-comodo-firewall-pro
Télécharger Sygate Personal FirewallSygate Personal Firewall est un pare-feu personnel, gratuit pour une utilisation personnelle permettant de protéger l'ordinateur des attaques externes. Il propose des fonctionnalités de protection des accès à internet partagé et effectue une... www.commentcamarche.net/telecharger/telecharger-192-sygate-personal-firewall
Télécharger PC Tools Firewall PlusPC Tools Firewall Plus est un pare-feu personnel gratuit qui protège votre ordinateur en empêchant les utilisateurs non autorisés de s'y connecter. En surveillant les applications se connectant au réseau, Firewall Plus est capable de bloquer les... www.commentcamarche.net/telecharger/telecharger-34055293-pc-tools-firewall-plus
NetGear ProSafe VPN Firewall 8 FVS114FVS 114, Hauteur:2.8 cm, Poids:0.4 kg, Largeur:14.2 cm, Profondeur:9.9 cm, Divers:3 years warranty, Mémoire:Flash Memory 2MB, RAM 16MB, Portes LAN:4, Slots PC Card:Aucun, Nb. de ports WAN:1, Switch intégré, Support DHCP, Firewall, Support NAT, Algorithme www.commentcamarche.net/guide-achat/netgear-prosafe-vpn-firewall-8-fvs114-476846-fiche-technique
Firewall (pare-feu)Firewall (pare-feu) Chaque ordinateur connecté à internet (et d'une manière plus générale à n'importe quel réseau informatique) est susceptible d'être victime d'une attaque d'un pirate informatique. La méthodologie généralement employée par... www.commentcamarche.net/contents/protect/firewall.php3
Installer un firewall avec ZoneAlarmIntérêt d'un firewall Lorsqu'un ordinateur est connecté à Internet (ou à n'importe quel réseau), celui-ci est une cible potentielle pour des attaques. De nombreux paquets de données sont envoyés au hasard par des hackers afin de repérer des... www.commentcamarche.net/contents/configuration-reseau/zonealarm.php3
Installer un firewall avec ZoneAlarmIntérêt d'un firewall Lorsqu'un ordinateur est connecté à Internet (ou à n'importe quel réseau), celui-ci est une cible potentielle pour des attaques. De nombreux paquets de données sont envoyés au hasard par des hackers afin de repérer des... www.commentcamarche.net/contents/pratique/zonealarm.php3