Forum Linux.mandriva IPTABLES firewall mandriva

Posté par  .
Étiquettes : aucune
0
18
jan.
2006
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


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

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.