| Auteur | Message | 
| jesbond Newbiiiie
 
  
 
 
 Sexe:
  Messages: 2
 
 
   | 
|  Posté le:
Mer 18 Jan 2006 - 16:04 |   |  
| 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
 
 
 ##################################################################
 |  
|  |  | 
|    | 
|  | 
| 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
 
  
 
 
  Sexe:
  Messages: 110
 
 
   | 
|  Posté le:
Jeu 23 Fév 2006 - 17:37 |   |  
| Salut bondeXxxxX, bon j'ai commencé netfilter hier et je suis en désaccord avec ton script
   
 
 
| 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+
 |  
|  |  | 
|   | 
|  | 
 
| jesbond Newbiiiie
 
  
 
 
 Sexe:
  Messages: 2
 
 
   | 
|  Posté le:
Ven 24 Fév 2006 - 11:45 |   |  
| 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 !
 |  
|  |  | 
|    | 
|  | 
 
|  |