Précédent   Forum des professionnels en informatique > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/09/2004, 10h22   #1
Membre à l'essai
 
Inscription : février 2003
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 59
Points : 20
Points : 20
Par défaut Iptables + routeur

Bonjour,

J'essaie actuellement de comprendre un peu les principes du réseau et la config de firewall sur linux.

Le plus basic étant iptables, j'essaie de le mettre en place sur ma machine linux qui tourne sous mandrake 10. Voici mon réseau :

AMD XP 1700+ : MDK 10, 192.168.1.101
AMD XP 2500+ : WIN XP, 192.168.1.102
AMD XP 2600+ : WIN XP, 192.168.1.103
Routeur Linksys Linksys BEFSR41: 192.168.1.1

Voilà, j'ai connexion ADSL Free avec le modem Sagem 908 qui est connecté à mon routeur.

Mon problème est de configurer ma machine Linux pour qu'elle accède à Internet et d'autoriser quelques ports vu que je compte en faire un serveur WEB.

J'ai essayé de m'inspiré de ce tuto

http://lea-linux.org/reseau/murdefeu.html
et de celui-là http://lea-linux.org/reseau/iptables.html

Mais apparement, ça ne marche pas. En gros j'ai entre autres ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
IPTABLES=/sbin/iptables
EXTERNAL_IF="ppp0"
INTERNAL_IF="eth0"
 
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
 
# "On accepte le traffic sur 'lo'"
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A FORWARD -i lo -j ACCEPT
$IPTABLES -A FORWARD -o lo -j ACCEPT
 
$IPTABLES -A INPUT -i $INTERNAL_IF -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERNAL_IF -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNAL_IF -j ACCEPT
$IPTABLES -A FORWARD -o $INTERNAL_IF -j ACCEPT
 
$IPTABLES -A INPUT -i $EXTERNAL_IF -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $EXTERNAL_IF -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
$IPTABLES -A OUTPUT -o $EXTERNAL_IF -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $EXTERNAL_IF -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Mais ça n'a pas l'air de marcher. En fait j'ai l'impression que ce code serait adapté si c'était mon PC Linux qui fait un partage de connexion.

Qu'est-ce je dois mettre quand j'utilise un routeur ?

J'ai essayé de remplacer
par
mais ça marche pas non plus. Je pensais que vu que je n'avais de modem directement branché sur ma MDK, le ppp0 ne voulait rien dire. Je me trompe peut-être :

Si quelqu'un avait une petite idée sur le sujet

Merci de votre aide
bobunny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 12h07   #2
ovh
Rédacteur
 
Avatar de ovh
 
Homme
Ingénieur développement logiciels
Inscription : mai 2002
Messages : 3 725
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2002
Messages : 3 725
Points : 6 310
Points : 6 310
Par défaut Re: [MDK 10] iptables + routeur

Citation:
Envoyé par bobunny
Mais ça n'a pas l'air de marcher. En fait j'ai l'impression que ce code serait adapté si c'était mon PC Linux qui fait un partage de connexion.
C'est exactement ça

Tu n'as qu'une seule carte réseau qui est eth0, donc tout se passe là-dessus. Tu n'as pas de EXTERNAL_IF et INTERNAL_IF.

Tu n'as qu'à mettre ça pour faire serveur web :
Code :
1
2
$IPTABLES -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
__________________
Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.
Je n'ai rien à voir avec la société www.ovh.com !
ovh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 14h29   #3
Membre à l'essai
 
Inscription : février 2003
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 59
Points : 20
Points : 20
OK, je ne suis pas chez moi, je testerai dès que je rentre.

En fait je n'ai testé jusqu'à maintenant que l'accès à Internet. A ce sujet, je suis condamné à ne pas accéder au WEB si j'utilise ce firewall avec mon routeur??? Ca serait dommage quand même
bobunny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 15h43   #4
ovh
Rédacteur
 
Avatar de ovh
 
Homme
Ingénieur développement logiciels
Inscription : mai 2002
Messages : 3 725
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2002
Messages : 3 725
Points : 6 310
Points : 6 310
Citation:
Envoyé par bobunny
OK, je ne suis pas chez moi, je testerai dès que je rentre.

En fait je n'ai testé jusqu'à maintenant que l'accès à Internet. A ce sujet, je suis condamné à ne pas accéder au WEB si j'utilise ce firewall avec mon routeur??? Ca serait dommage quand même
Bien sur que non, pourquoi ?????

iptables est plus exactement un routeur filtrant
__________________
Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.
Je n'ai rien à voir avec la société www.ovh.com !
ovh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 17h44   #5
Membre à l'essai
 
Inscription : février 2003
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 59
Points : 20
Points : 20
Citation:
Bien sur que non, pourquoi ?????
Donc si j'ai bien compris, étant donné que pour donner accès à mon serveur avec ce bout de code d'ovh:

Code :
1
2
$IPTABLES -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
ça sigifie que j'accepte les nouvelles connexions entrantes par le port 80 de mon interface eth0.

Si je fais

Code :
1
2
$IPTABLES -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
ça doit me permettre d'accéder au net?

Sachant que j'ai configuré mon routeur afin de rediriger les requêtes entrantes sur le port 80 vers mon serveur Linux, j'ai l'impression qu'il va y avoir un pb : si de mon serveur j'émets des requêtes sur le port 80 de mon routeur, ce dernier va me la retourner??

Enfin bon, je verrais bien en testant ...
bobunny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 21h17   #6
Membre à l'essai
 
Inscription : février 2003
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 59
Points : 20
Points : 20
Bon pour l'accès au serveur web, ça marche bien.

Par contre pour l'accès au net, je ne trouve rien. J'avais essayé ça

Code :
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
où 192.168.1.1 correspond à mon routeur mais bon, ça marche pas
bobunny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 21h36   #7
ovh
Rédacteur
 
Avatar de ovh
 
Homme
Ingénieur développement logiciels
Inscription : mai 2002
Messages : 3 725
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2002
Messages : 3 725
Points : 6 310
Points : 6 310
Citation:
Envoyé par bobunny
Bon pour l'accès au serveur web, ça marche bien.

Par contre pour l'accès au net, je ne trouve rien. J'avais essayé ça

Code :
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
où 192.168.1.1 correspond à mon routeur mais bon, ça marche pas
Surtout pas, malheureux !

Tu peux autoriser toutes les connexions sortantes :
Code :
1
2
3
4
iptables -A INPUT -i eth0 -p tcp --sport 1:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 1:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  iptables -A INPUT -i eth0 -p udp --sport 1:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p udp --dport 1:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Et vire tes directives FORWARD elles ne servent à rien (ni sur localhost ni sur ton LAN).
__________________
Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.
Je n'ai rien à voir avec la société www.ovh.com !
ovh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 21h56   #8
Membre à l'essai
 
Inscription : février 2003
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 59
Points : 20
Points : 20
Alors ça c'est cool. Ca marche nickel.

Pour ma culture, juste une question, pourquoi la plage "1:65535"?? J'ai tojours cru que pour le net, c'était le port 80 :
bobunny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 22h05   #9
ovh
Rédacteur
 
Avatar de ovh
 
Homme
Ingénieur développement logiciels
Inscription : mai 2002
Messages : 3 725
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2002
Messages : 3 725
Points : 6 310
Points : 6 310
Citation:
Envoyé par bobunny
Pour ma culture, juste une question, pourquoi la plage "1:65535"?? J'ai tojours cru que pour le net, c'était le port 80 :
Tout simplement tous les ports

Car pour aller sur le net il faut :
- le 53 pour le dns (sinon tu n'as accès aux serveurs que par leurs IP)
- le 80 pour surfer effectivement
- le 25 pour le smtp
- le 110 pour le pop3
- etc. ! chaque service a son ou ses ports
- sans oublier tous les ports hauts (> 1024) utilisés par ta propre machine. En fait la communication se fait d'un port haut de ta machine vers le port spécifique du seveur (53, 25... )

Donc avec la règle que j'ai indiquée, tu peux avoir accès à tous les services d'internet, mais grâce au stateful packet inspection (SPI), uniquement en tant que client, càd que c'est toi qui doit initier la connexion vers le serveur.

J'espère que c'est plus clair ?
__________________
Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.
Je n'ai rien à voir avec la société www.ovh.com !
ovh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2004, 22h12   #10
Membre à l'essai
 
Inscription : février 2003
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 59
Points : 20
Points : 20
Citation:
J'espère que c'est plus clair ?
Maintenant oui. Ca me fait plaisir d'apprendre ce genre de truc, ça parait plus clair tout d'un coup

En tout merci de ton aide
bobunny est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h51.


 
 
 
 
Partenaires

Hébergement Web