Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 IPTABLES firewall mandriva Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
jesbond
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 2

MessagePosté le: Mer 18 Jan 2006 - 16:04 Répondre en citantRevenir en haut

Bonjour ! Je m'adresse aux connaisseurs en programmation de firewall avec IPTABLES !!!

Situation :
** J'ai un firewall (serveur linux MANDRIVA) relié a internet par eth0 (passe par le réseau de lentreprise, proxy, dns et tout et tout...) et relié à un client WINDOWS (192.168.0.1) par eth1.
** jai donc 2 machines : un serveur MANDRIVA et un client WINDOWS.

Objectif :
Créer un firewall sur la mandriva qui donne acces à internet ( proxy port :8080) et à la messagerie (port 25 et 110), au client windows. Le reste doit etre bloqué .

Etant débutant et pratiquant pour la 1ere fois IPTABLES et NETFILTER, j'aimerai savoir si mon script est correct, sécurisé et correspond a ce que je veux :
sinon pouvez-vous me proposer des modifications directement sur le script, car on ma deja proposé des lignes a rajouter mais je nai aps tout compris :/
merci d'avance !



#!/bin/bash
# Script pour le firewall


# Supprime les règles par défaut sur la table filter, nat et mangle
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Supprime les chaînes par défaut sur la table filter, net et mangle
iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X

# RAZ du compteur de paquets
iptables -Z


echo " -> Initialisation de la table FILTER... "
iptables -t filter -P INPUT DROP # rejette les paquets entrants
iptables -t filter -P OUTPUT DROP # rejette les paquets sortants
iptables -t filter -P FORWARD DROP # rejette les paquets non locaux


# Nous faisons de même avec toutes les autres tables,
# à savoir "nat" et "mangle", mais en les faisant pointer
# par défaut sur ACCEPT. Ca ne pose pas de problèmes
# puisque tout est bloqué au niveau "filter"


echo " -> Initialisation de la table NAT... "
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT


echo " -> Initialisation de la table MANGLE... "
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


########################################################################################

# Connexions locales
iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT

########################################################################################



# Translation d'adresses pour le client WINDOWS qui traverse la passerelle
# en sortant par eth0
iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j MASQUERADE



# Acceptation des paquets pour les connexions sortantes et entrantes déjà établies
# c'est a dire des flux IP que la passerelle aura elle-meme initiés
iptables -t filter -A OUTPUT -o eth0 -p all -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p all -m state --state RELATED,ESTABLISHED -j ACCEPT


# Toutes les connexions qui sortent du LAN vers le Net
# sont acceptées
iptables -t filter -A FORWARD -i eth1 -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


# Seules les connexions déjà établies ou en relation avec
# des connexions établies sont acceptées venant du Net vers le LAN
iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT




########################################################################################


echo " -> Ouverture des ports 25 et 110 MAIL... "

# Autorisation des requêtes sortantes POP et SMTP
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.1 -p tcp -m multiport --dports 110,25 -m state --state NEW,ESTABLISHED -j ACCEPT

# Autorisation des réponses liées à la session TCP établie
iptables -A FORWARD -i eth0 -o eth1 -d 192.168.0.1 -p tcp -m multiport --sports 110,25 -m state --state ESTABLISHED -j ACCEPT


########################################################################################


# Nous bloquons tous les ports de notre réseau local pour avoir une sécurité maximum
iptables -t filter -A OUTPUT -o eth1 -j DROP # en sortie
iptables -t filter -A INPUT -i eth1 -j DROP # en entrée


##################################################################
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
Webfab
Accro à Web-IG
Accro à Web-IG


Post-BTS
Sexe: Sexe:Masculin
Messages: 110

MessagePosté le: Jeu 23 Fév 2006 - 17:37 Répondre en citantRevenir en haut

Salut bondeXxxxX, bon j'ai commencé netfilter hier et je suis en désaccord avec ton script Very Happy

jesbond a écrit:

#!/bin/bash
# Script pour le firewall
# Supprime les règles par défaut sur la table filter, nat et mangle
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Supprime les chaînes par défaut sur la table filter, net et mangle
iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X

# RAZ du compteur de paquets
iptables -Z


echo " -> Initialisation de la table FILTER... "
iptables -t filter -P INPUT DROP # rejette les paquets entrants
iptables -t filter -P OUTPUT DROP # rejette les paquets sortants
iptables -t filter -P FORWARD DROP # rejette les paquets non locaux


# Nous faisons de même avec toutes les autres tables,
# à savoir "nat" et "mangle", mais en les faisant pointer
# par défaut sur ACCEPT. Ca ne pose pas de problèmes
# puisque tout est bloqué au niveau "filter"


echo " -> Initialisation de la table NAT... "
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT


echo " -> Initialisation de la table MANGLE... "
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


Ok, "-t filter" pas obligatoire mais bon
jesbond a écrit:

########################################################################################

# Connexions locales
iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT

########################################################################################
# Translation d'adresses pour le client WINDOWS qui traverse la passerelle
# en sortant par eth0
iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j MASQUERADE

Ok
jesbond a écrit:

# Acceptation des paquets pour les connexions sortantes et entrantes déjà établies
# c'est a dire des flux IP que la passerelle aura elle-meme initiés
iptables -t filter -A OUTPUT -o eth0 -p all -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p all -m state --state RELATED,ESTABLISHED -j ACCEPT

Donc là, tu veux que ton parefeu est tous les protocoles ouvert (-p all) drôle de parefeu :p
jesbond a écrit:

# Toutes les connexions qui sortent du LAN vers le Net
# sont acceptées
iptables -t filter -A FORWARD -i eth1 -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# Seules les connexions déjà établies ou en relation avec
# des connexions établies sont acceptées venant du Net vers le LAN
iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT


Et là tu forward tous les paquets du web sur ton réseau local... pas de filtrage donc

jesbond a écrit:

########################################################################################

echo " -> Ouverture des ports 25 et 110 MAIL... "

# Autorisation des requêtes sortantes POP et SMTP
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.1 -p tcp -m multiport --dports 110,25 -m state --state NEW,ESTABLISHED -j ACCEPT

# Autorisation des réponses liées à la session TCP établie
iptables -A FORWARD -i eth0 -o eth1 -d 192.168.0.1 -p tcp -m multiport --sports 110,25 -m state --state ESTABLISHED -j ACCEPT

là dans ton forward tu filtres seulement les ports autorisé, sauf que le forward precedent autorise tous donc celui-là ne sert à rien...
jesbond a écrit:

########################################################################################


# Nous bloquons tous les ports de notre réseau local pour avoir une sécurité maximum
iptables -t filter -A OUTPUT -o eth1 -j DROP # en sortie
iptables -t filter -A INPUT -i eth1 -j DROP # en entrée


##################################################################

Inutil, vu que lors de l'inialisation des chaines, par défaut tu bloques tout

En conclusion, en admettant que tu laisses ton parefeu non sécurisé en laissant les ports ouvert, tu filtres seulement au niveau du forward pour sécuriser seulement ton réseau local.
Si c'est le cas, il faut que tu supprimes ça :
Citation:

iptables -t filter -A FORWARD -i eth1 -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

Ensuite tu supprimes t'es deux dernières ligne iptables.
Citation:

iptables -t filter -A OUTPUT -o eth1 -j DROP # en sortie
iptables -t filter -A INPUT -i eth1 -j DROP # en entrée


Dans la logique, je m'y serais pris autrement, j'aurais autorisé seulement la boucle local sur le parefeu (à la rigueur le réseau local aussi) et j'aurais filtré sur le forward. Sans oublier d'activer la translation d'adresse.

a+
Voir le profil de l'utilisateurEnvoyer un message privé
jesbond
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 2

MessagePosté le: Ven 24 Fév 2006 - 11:45 Répondre en citantRevenir en haut

OOooohh webfab !!!
comment ça fait plaisir de te voir ici mdr, je mattendais pa a toi !!

Le message date trop sur le forum, ça fait longtime que jai posté le script firewall....
Mon script est finit et complet ! jte le montrerai a la rentré cousin ,, avec un Z majuscule meme !!


merci qd meme !
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum