[iptables]mon script , mais ça marche po

Fermé
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007 - 28 juil. 2007 à 20:02
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007 - 9 août 2007 à 13:36
bonjour,
j'ai mis un script iptables sur mon serveur debian avec:
1 eth0 pour internet
1 eth1 pour le lan1
1 eth2 pour le lan 2
le lan 1 et le lan 2 vont sur internet [ sa ça marche]
le poste du lan 1 va sur le serveur en ssh [ sa ça marche]
sur le serveur en mode console aller sur internet [ sa ça marche pas] (exemple aptitude pour mis a jour)

quelqu'un pourrait il me dire et m'indiquer la regle pour que ,à partir du serveur, j'aille sur le net ?
et est ce que mon script est correct ?

mon script
#!/bin/sh

#reinitialisation
# Reset counters
iptables -Z
iptables -Z -t mangle
iptables -Z -t nat

# Flush rules
iptables -F
iptables -F -t nat
iptables -F -t mangle

#je bloque tout
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
echo 1 > /proc/sys/net/ipv4/ip_forward



#accepte connex lo
iptables -A INPUT -i lo -j ACCEPT



iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20



#Pour la premiere carte vers eth0
iptables -A FORWARD -i eth1 -o eth0 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Pour la seconde carte vers eth0
iptables -A FORWARD -i eth2 -o eth0 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -o eth2 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# ssh
iptables -A INPUT -p tcp -m tcp -s 192.168.223.42 --dport 22 -j ACCEPT
A voir également:

43 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
28 juil. 2007 à 20:31
Salut,
x.x.x.x c'est l'ip de server

Au lieu de mettre dans le script
echo 1 > /proc/sys/net/ipv4/ip_forward

tu peux écrire cette ligne net.ipv4.ip_forward=1 dans le fichier /etc/sysctl.conf
#!/bin/bash
iptables -F
iptables -X
iptables -P INPUT   DROP
iptables -P OUTPUT  DROP
iptables -P FORWARD DROP

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 INPUT         ACCEPT
iptables -t mangle -P OUTPUT        ACCEPT
iptables -t mangle -P FORWARD       ACCEPT
iptables -t mangle -P POSTROUTING   ACCEPT

iptables -A INPUT -i lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
iptables -A OUTPUT -o lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT

iptables -A INPUT -i eth0 -d x.x.x.x -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20
#
##Pour la premiere carte vers eth0
iptables -A FORWARD -i eth1 -o eth0 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#
##Pour la seconde carte vers eth0
iptables -A FORWARD -i eth2 -o eth0 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -o eth2 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#
## ssh
iptables -A INPUT -p tcp -m tcp -s 192.168.223.42 --dport 22 -j ACCEPT

0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
29 juil. 2007 à 12:29
bonjour

merci a toi lam20j , trop top , hyper rapide
le script marche impec
merci encore car ça faisait un moment que je me cassait le c..
et là en 2 coups de cuilleres à pot , tu me sauve la mise
chapeau bas

@+
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 juil. 2007 à 17:24
de rien :-)

bonne continuation
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
2 août 2007 à 19:29
bonjour,

suite à la demande express des enfants , et certains adultes
il me demande ml--key
je pense que c'est niette sur le forum ,
alors comment fermer les ports sur eth1 et eth2 pour qu'il ne passe que 21,80,443 etc.. les principaux

et me mettre un exemple d'ouverture de port pour l'eth0 exmple 4662

merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hello

pourquoi pas une boucle dans ton script ?

Dans le style

for each port in ( 21, 80, 443, ... ) do

iptables -A FORWARD -i eth1 -o eth0 -p tcp -dport $port -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -o eth1 -i eth0 -p tcp -dport $port -m state --state ESTABLISHED,RELATED -j ACC
#
##Pour la seconde carte vers eth0
iptables -A FORWARD -i eth2 -o eth0 -p tcp -dport $port -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -o eth2 -i eth0 -p tcp -dport $port -m state --state ESTABLISHED,RELATED -j ACC

# + accept udp, ...
done

(syntaxe a revoir et attention sens dport/sport)

Bonne journée !
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
4 août 2007 à 11:59
bonjour ,
merci marc , j'essais de comprendre , mais je suis ni doué pour le bash et ni sur iptables

il me faudrait un exemple concrés (si possibles , bien sur)

comme m'avais fait lami20j qui etait parfait
bonne journée
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 août 2007 à 12:45
avec la variante de marc tu n'est pas obligé de taper la même ligne plusieurs fois
en revanche si tu veux avoir les règles une par une voici un exemple

à savoir que si tu interdit l'accès sur le ports 80 on ne peux plus accéder à web
et tu sur de vouloir faire ça?
ce n'est pas plutôt l'intêret d'interdire l'access à certains sites?

il faut voir aussi la politique adoptée
- interdire tout et laisser accès à certains ports
- accepter tout et interdire l'accès à certains ports
#!/bin/bash
iptables -F
iptables -X
iptables -P INPUT   DROP
iptables -P OUTPUT  DROP
iptables -P FORWARD DROP

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 INPUT         ACCEPT
iptables -t mangle -P OUTPUT        ACCEPT
iptables -t mangle -P FORWARD       ACCEPT
iptables -t mangle -P POSTROUTING   ACCEPT

iptables -A INPUT -i lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
iptables -A OUTPUT -o lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT

iptables -A INPUT -i eth0 -d x.x.x.x -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20
#
##Pour la premiere carte vers eth0
iptables -A FORWARD -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --dport 80 -j DROP
iptables -A FORWARD -i eth1 -o eth0 --dport 21 -j DROP
iptables -A FORWARD -i eth1 -o eth0 --dport 443 -j DROP
iptables -A FORWARD -i eth1 -o eth0 -m state --state ! INVALID -j ACCEPT
#
##Pour la seconde carte vers eth0
iptables -A FORWARD -o eth2 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 --dport 80 -j DROP
iptables -A FORWARD -i eth2 -o eth0 --dport 21 -j DROP
iptables -A FORWARD -i eth2 -o eth0 --dport 443 -j DROP
iptables -A FORWARD -i eth2 -o eth0 -m state --state ! INVALID -j ACCEPT
#
## ssh
iptables -A INPUT -p tcp -m tcp -s 192.168.223.42 --dport 22 -j ACCEPT
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
4 août 2007 à 19:21
je vais essayé d'etre clair pour ma strategie

tous les ports sont fermés pour eth1 et eth2 vers eth0 , sauf que
l' on autorise , une fois que sur eth1 et eth2 soit connecté , les ports ftp(21),http(80), https(443), outlook(j'me rappel plus les ports),msn et puis c'est tout
je le ferais ligne par ligne , c'est plus parlant pour moi , surtout si je doit en mettre d'autre

et ensuite ouvrir un port 4662 sur eth0
là aussi ligne par ligne , car je prendrais l'exemple pour en faire d'autre (ligne bien sur)

voila , en d'autre termes je n'autorise pas eth1 et eth2 à mettre p2P
et j'autorise le serveur à y aller

merci

ps - peut etre en mp
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 août 2007 à 19:30
Qui a le droit d'admin sur les machines de ton LAN à part toi?
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
4 août 2007 à 19:36
personne , que moi
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 août 2007 à 19:43
Alors pourquoi tu te complique la vie?! :-))

si tu ne veux pas P2P alors tu n'as qu'à désinstaller les logiciels ou ne pas installer
les machines de ton LAN ont quoi comme OS?!
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
4 août 2007 à 20:10
j'aime bien me compliquer la vie ,
j'plaisante
je n'ai pas acces aux autres postes , je ne suis que le mec qui autorise ou non , et je prefere gerer le serveur que les postes qui s'y connectent, pour garder une bande passante "correcte" , et faire des users et groups sur m--key pour ceux qui me demanderai pourquoi il ne peuvent pas faire marcher mumule

je saurais pas non plus quel OS ils ont je leur donne uniquement le gateway , l'ip et masque , dns
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 août 2007 à 20:14
voila , en d'autre termes je n'autorise pas eth1 et eth2 à mettre p2P

je pense que tu le sais qu'on peut changer le port dans les logiciels P2P, donc si 4662 ne marchera pas, ils vont configurer un autre port
as-tu déjà pensé?
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
4 août 2007 à 20:23
si je mets que
tous les ports sont fermés pour eth1 et eth2 vers eth0 , sauf que
l' on autorise , une fois que sur eth1 et eth2 soit connecté , les ports ftp(21),http(80), https(443), outlook(j'me rappel plus les ports),msn et puis c'est tout


le 4662 ne sert que pour le serveur
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 août 2007 à 20:27
alors comment fermer les ports sur eth1 et eth2 pour qu'il ne passe que 21,80,443 etc.. les principaux

alors désolé, je n'ai pas vu le mot que et c'était suffisant pour inverser :-))

ok, je vais voir ça :-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 août 2007 à 20:33
essaie ça (je n'ai pas testé chez moi)
#!/bin/bash
iptables -F
iptables -X
iptables -P INPUT   DROP
iptables -P OUTPUT  DROP
iptables -P FORWARD DROP

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 INPUT         ACCEPT
iptables -t mangle -P OUTPUT        ACCEPT
iptables -t mangle -P FORWARD       ACCEPT
iptables -t mangle -P POSTROUTING   ACCEPT

iptables -A INPUT -i lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
iptables -A OUTPUT -o lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT

iptables -A INPUT -i eth0 -d x.x.x.x -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20
#
##Pour la premiere carte vers eth0
iptables -A FORWARD -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --dport 20:21 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --dport 443 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j DROP
#
##Pour la seconde carte vers eth0
iptables -A FORWARD -o eth2 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 --dport 80 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 --dport 20:21 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 --dport 443 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -j DROP
#
## ssh
iptables -A INPUT -p tcp -m tcp -s 192.168.223.42 --dport 22 -j ACCEPT
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
5 août 2007 à 17:07
bonjour ,
merci pour le script et la rapidité,
j'ai pas eu , encore ,le temps d'essayer , y a du monde chez moi
j'ai juste jeté un oeil
je le test dés que j'ai un moment "calme"
juste que je n'ai pas vu l'ouverture du port 4662
est ce volontaire ou un oubli ?

merci encore
@+
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 août 2007 à 17:16
le 4662 ne sert que pour le serveur
non, ce n'est pas un oublie, mais ce n'est pas nécessaire de créer une règle pour ça
le server a déjà accès par tout (voir cette règle dans le script)
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
7 août 2007 à 18:48
bonjour
merci pour script ça fonctionne , sauf
le 4662 que me met en Lo ID ; malgré l'ouverture du port sur la neufbox

aurai tu une idée d'où ça vient ?

merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
7 août 2007 à 19:13
Salut,

regarde ici emule lowid
0
seleco Messages postés 23 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 9 août 2007
7 août 2007 à 19:20
oui , j'avais deja lu , et je m'en suis meme servi pour le reglage de ma box
ils disent bien
Pour y remédier, il est nécessaire d'ouvrir les ports 4662 TCP, 4672 UDP, 4661 TCP et 4665 UDP sur le pare-feu (firewall) ! Attention, si vous avez une "box" (Livebox, Freebox, 9box etc ....), celle-ci dispose aussi d'un pare-feu. 


le
Attention, si vous avez une "box" (Livebox, Freebox, 9box etc ....), celle-ci dispose aussi d'un pare-feu.
est deja fait
0