[Iptables] Aide sur un script

Aide sur un script [Iptables] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 24-07-2002 à 14:12:38    

Bonjour,  
 
Voila , j ai le soucis suivant . Mon reseau est structuré de la facon suivante.  
 
zone internet-----Firewall----serveur dns web et mail----
 
 
Avec des postes en reseau autour. J ai du mal a me servire des script existant car il prennent souvent en compte une DMZ .  
 
Mon but est simple je desire interdire tout en traffic venant de l exterieur sauf le port 80 et le 25 . et surtout autoriser tout traffic vers l exterieur.
 
Est ce que certains d entre vous peuvent m aider ou peut avez vs un script pr une architecture similaire.  
 
iptables red hat 7.3
 
Merci d avance  
 
gmiga
 

Reply

Marsh Posté le 24-07-2002 à 14:12:38   

Reply

Marsh Posté le 24-07-2002 à 15:40:51    

je crois qu'il faut changer le port (8080 par exemple) d'arrivée de ton serveur web. tout ce qui est destiné (--dport 80 sur chaine INPUT) au port 80 doit être renvoyé vers le port 8080 (dans cet exemple). Inspire toi du tutoriel de lea-linux qui est très bien fait.
 
Par contre tu dois accepter les arrivées 80 (--sport 80) en FORWARD et INPUT (pour accéder au web depuis le serveur) avec state ESTABLISHED et RELATED.

Reply

Marsh Posté le 24-07-2002 à 16:02:46    

pour tout interdire de l'extérieur :
 

iptables -A INPUT -m state --state NEW -i! ippp0 -j ACCEPT


 avec cette règle, tu interdis toute nouvelle connexion sur  ton firewall depuis l'interface WEB (ici ippp0), par contre tu pourras te connecter depuis ton réseau local.
Pour empêcher toute nouvelle connexion sur la passerelle, il suffit d'enlever l'option -i! ippp0, la règle s'appliquera alors à toutes les interfaces. (pense quand même à autoriser localhost, sinon, tu auras des pb)
 
 
voilà mon script Iptables qui interdit toute nouvelle connexion entrante sur mon réseau et autorise les connexions en sortie et les connexions entrantes établis ou RELATED (je sais pas vraiment comment le traduire)


#vidage des chaines
iptables -F
#destruction des chaines personnelles
iptables -X
 
#stratégie par défaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
 
#init des tables NAT et MANGLE (pas forcément nécessaire)
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
 
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
 
#création d'une nouvelle règle
iptables -N regle
 
iptables -A regle -m state --state NEW -i! ippp0 -j ACCEPT
iptables -A regle -m state --state ESTABLISHED,RELATED -j ACCEPT
 
#application de la règle au partage de connection
iptables -A INPUT -j regle
iptables -A FORWARD -j regle
iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
 
#mise en place du partage de connexion sur le réseau local
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ippp0 -j MASQUERADE


 
J'ai bricolé ce script à partir de ce site :http://christian.caleca.free.fr/  rubrique Netfilter


Message édité par Mjules le 24-07-2002 à 16:05:36

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 24-07-2002 à 16:18:03    

moi je dirais plutot ça :
 

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
 
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
 
iptables -A INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT
 
iptables -A INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -p tcp --sport 25 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 25 -j ACCEPT
 
echo 1 > /proc/sys/net/ipv4/ip_forward
 


 
 
avec eth0 ton interface internet sur ta passerelle/firewall


Message édité par djoh le 24-07-2002 à 16:19:43
Reply

Marsh Posté le 24-07-2002 à 16:31:46    

Merci pour vos reponses , je vais etudier les scripts que vs avez postes et je vais les tester.  
 
Si vous avez des idees en plus , n hesitez pas.  
 
Merci a vous

Reply

Marsh Posté le 25-07-2002 à 13:49:41    

Re,  
 
Merci pr vos dernier post ,  
 
J ai un soucis , malgres ce que j ai lu je n arrive pas a rendre mon script executable a chaque boot.  
 
Qqun peut me dire ou placer ce fichier.  
j ai mis ca ds etc/init.d/firewall   av un chmod +x .  
 
je suis sous red hat 7.3

Reply

Marsh Posté le 25-07-2002 à 13:59:11    

Si tu demarre avec l'interface graphique tu fais un lien dans /etc/rc5.d (ou 5 correspond au runlevel) de ton fichier /etc/init.d/firewall en prefixant le nom du fichier avec un S pour start et un numero d'ordre (25 par exemple) il faut que le numero soit superieur a celui qui demarre le reseau je pense. En gros tu fais ln -s /etc/init.d/firewall /etc/rc5.d/S25firewall


---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 25-07-2002 à 13:59:47    

GMIGA a écrit a écrit :

Re,  
 
Merci pr vos dernier post ,  
 
J ai un soucis , malgres ce que j ai lu je n arrive pas a rendre mon script executable a chaque boot.  
 
Qqun peut me dire ou placer ce fichier.  
j ai mis ca ds etc/init.d/firewall   av un chmod +x .  
 
je suis sous red hat 7.3  




 
 
si j'ai bien compris tu as enregistré ton script dans le fichier /etc/init.d/firewall et tu l'as rendu exécutable ?
si c'est le cas, tu fais  

update-rc.d firewall defaults


s'il dit qu'il ne connait pas cette commande, va falloir que tu fasses le boulot à la main, donc tu fais (façon crade) :

ln -s /etc/init.d/firewall /etc/rc2.d/S20firewall
ln -s /etc/init.d/firewall /etc/rc3.d/S20firewall
ln -s /etc/init.d/firewall /etc/rc4.d/S20firewall
ln -s /etc/init.d/firewall /etc/rc5.d/S20firewall


Reply

Marsh Posté le 25-07-2002 à 14:01:52    

Grille :D
 
Sinon pour ton script, j'ai la meme configuration que toi avec un serveur FTP en plus, va voir ici http://forum.hardware.fr/forum2.ph [...] h=&subcat= j'y ai mis mon script.


---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 25-07-2002 à 14:06:11    

Gaellick a écrit a écrit :

Grille :D
 
Sinon pour ton script, j'ai la meme configuration que toi avec un serveur FTP en plus, va voir ici http://forum.hardware.fr/forum2.ph [...] h=&subcat= j'y ai mis mon script.




 
 
elle est encore plus crade que la mienne, ta solution  :o  :fuck:  :D

Reply

Marsh Posté le 25-07-2002 à 14:06:11   

Reply

Marsh Posté le 25-07-2002 à 14:11:23    

merci pour la celerité de vos reponses (rien a voir avec le céléri) :)  
 
Salutations
 

Reply

Marsh Posté le 25-07-2002 à 14:15:06    

djoh a écrit a écrit :

 
 
 
elle est encore plus crade que la mienne, ta solution  :o  :fuck:  :D  




 
M'en fou :fuck:  :D


---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 25-07-2002 à 15:47:49    

Re ,  
 
Mon script ne s execute pas correctement , en Effet j ai un jolie failed en rouge avec execvp no such file or directory .  
 
Surement une permission mauvaise ou un demarrage trop tot . Comment je fais pr supprimer les ln -s .  
 
Enfin si qqun a une solution a mon probleme je suis preneur.  
 
Quel permission vs avez donné a votre fichier script ?  
 
Merci .

Reply

Marsh Posté le 25-07-2002 à 19:29:35    

rm tout simplement comme sur n'importe que l fichier. Quel numero d'ordre tu lui a donne ? Sinon 755 pour les scripts chez moi.


---------------
Qui cherche le soleil évite la pluie !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed