[iptables] ma connexion se blo

ma connexion se blo [iptables] - Linux et OS Alternatifs

Marsh Posté le 03-11-2001 à 12:17:47    

Bonjour,
 
j'ai deux scripts me permettant de fixer des regles iptables et de masquerade.
 
Le premier, rc.routing, qui permet une connexion sans regles :  

Code :
  1. #!/bin/sh
  2. echo effacer toutes les regles
  3. /sbin/iptables -F #vidange des chaines
  4. /sbin/iptables -X #destructions des chaines perso
  5. /sbin/iptables -t nat -F # plop !
  6. /sbin/iptables -t nat -X # re-plop !
  7. /sbin/iptables -F INPUT
  8. /sbin/iptables -F OUTPUT
  9. /sbin/iptables -F FORWARD
  10. #  echo mettre des regles de merde
  11. iptables -P OUTPUT ACCEPT
  12. iptables -P FORWARD ACCEPT
  13. iptables -P OUTPUT ACCEPT
  14. echo Demarrage du NAT
  15. # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
  16. # le NAT ne marche pour pour des addresses reconnues
  17. # cad les ip 192.168.1.1 a 192.168.1.10
  18. for i in 1 3 4 5 6 7 8 9 10
  19. do
  20.     iptables -t nat -A POSTROUTING -s 192.168.1.$i -o ppp0 -j MASQUERADE
  21. done
  22. echo 1 > /proc/sys/net/ipv4/ip_forward
  23. echo NAT started


 
Et le second rc.firewall, qui permet d'avoir des regles strictes :  
 

Code :
  1. #!/bin/sh
  2. echo effacer toutes les regles
  3. /sbin/iptables -F #vidange des chaines
  4. /sbin/iptables -X #destructions des chaines perso
  5. /sbin/iptables -t nat -F # plop !
  6. /sbin/iptables -t nat -X # re-plop !
  7. /sbin/iptables -F INPUT
  8. /sbin/iptables -F OUTPUT
  9. /sbin/iptables -F FORWARD
  10. #  echo mettre des regles de merde
  11. #  iptables -P OUTPUT ACCEPT
  12. #  iptables -P FORWARD ACCEPT
  13. #  iptables -P OUTPUT ACCEPT
  14. echo mettre des regles brutales
  15. iptables -P OUTPUT ACCEPT # ma passerrelle est gentille
  16. iptables -P FORWARD DROP # rien ne la traverse
  17. iptables -P INPUT DROP # elle n'accepte rien
  18. export IPADDR=`/sbin/ifconfig ppp0 | grep "inet addr" | cut -d ":" -f 2 | cut  " " -f 1`
  19. # la passerrelle a le droit de se connecter sur elle meme
  20. iptables -A INPUT -s 192.168.1.2/24 -j ACCEPT
  21. iptables -A INPUT -s 127.0.0.1/24 -j ACCEPT
  22. iptables -A INPUT -s $IPADDR/24 -j ACCEPT
  23. echo on remet les connexions deja etablies
  24. # je je met pas ca, mes connections se blo
  25. iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
  26. iptables -A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
  27. iptables -A OUTPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
  28. iptables -A INPUT -p ICMP -m state --state RELATED,ESTABLISHED -j ACCEPT
  29. iptables -A FORWARD -p ICMP -m state --state RELATED,ESTABLISHED -j ACCEPT
  30. iptables -A OUTPUT -p ICMP -m state --state RELATED,ESTABLISHED -j ACCEPT
  31. # on autorise quelques trucs quand meme en input.
  32. # ssh depuis le reseau local sinon j'aurais l'air con :)
  33. iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport ssh -j ACCEPT
  34. #connection sur le site web  de rincevent pour tout le monde
  35. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  36. # on a le droit de pinger la passerrelle
  37. iptables -A INPUT -p ICMP -j ACCEPT
  38. #les machines locales ont le droit d'initier des connections
  39. iptables -A FORWARD -s 192.168.1.0/24 -p tcp -j ACCEPT
  40. iptables -A FORWARD -s 192.168.1.0/24 -p ICMP -j ACCEPT
  41. echo Demarrage du NAT
  42. # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
  43. # le NAT ne marche pour pour des addresses reconnues
  44. # cad les ip 192.168.1.1 a 192.168.1.10
  45. for i in 1 3 4 5 6 7 8 9 10
  46. do
  47.     iptables -t nat -A POSTROUTING -s 192.168.1.$i -o ppp0 -j MASQUERADE
  48. done
  49. echo 1 > /proc/sys/net/ipv4/ip_forward
  50. echo NAT started


 
Maintenant, j'ai quelques probèmes.
- rc.firewall ne marche pas. Quand je le lance, je peux pinger ma passerrelle, me connecter dessus par ssh, mais j'ai pas moyen d'avoir acces au net (ni ICMP, ni TCP), ni de la passerrelle, ni du reseau.J'arrive pas a comprendre ce qui peut me manquer pour que ca passe.
 
- rc.routing marche, mais si je le lance apres rc.firewall, ma connexion sur la passerelle se blo, mais j'ai accès au net depuis mon client. Je pense qu'il y a des regles que je ne purge pas correctement, mais j'arrive pas a voir ce qui peut manquer.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 03-11-2001 à 12:17:47   

Reply

Marsh Posté le 03-11-2001 à 12:48:16    

tu dois aussi accepter de pouvoir faire des connections et accepter le suivi des connection vers le dns de ton provider.  Le dns fct essentiellement en UDP.
pour tes machines internes:
iptables -A FORWARD -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT  
iptables -A FORWARD -s 192.168.1.0/24 -p udp -j ACCEPT  
 
pour ta passerelle:
iptables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT  
 
remarque à propos de tes règles en INPUT:  
étant donné que tu n'as pas spécifié l'interface, si qq spoof ton ip, il a accès à tout ce que tu as autorisé pour tes machines internes... en effet, les paquets provenant du net arrivent en INPUT sur ppp0. (idem pour le FORWARD et OUTPUT)
 
je dirais que dans l'état actuel ton firewall est malheureusement loin d'être efficace à 100%....

 

[edtdd]--Message édité par ethernal--[/edtdd]

Reply

Marsh Posté le 03-11-2001 à 12:59:47    

Le dns fct essentiellement en UDP.
Maintenant, ca marche, merci
 
remarque à propos de tes règles en INPUT:  
étant donné que tu n'as pas spécifié l'interface, si qq spoof ton ip, il a accès à tout ce que tu as autorisé pour tes machines internes... en effet, les paquets provenant du net arrivent en INPUT sur ppp0. (idem pour le FORWARD et OUTPUT)

 
Ah, merci, les docs que je lis n'en parlait pas.
 
je dirais que dans l'état actuel ton firewall est malheureusement loin d'être efficace à 100%....
Il me reste sans doute encore pas mal d'horreur dans les extensions TCP également.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 03-11-2001 à 13:10:33    

no problemo ;)
 
:lol:
un firewall ce fait pas en un jour... dommage...
faut être le plus restrictif possible, mais ça entraine un rallongement affolant du script :(
Il faut veiller aussi à écarter les cas triviaux le plus vite possible (spoof, ip invalides, paquets non valides, fragmentation, ports interdits (genre 6000:6003 pour le XWindow). une fois que c'est fait, ton firewall pourrait rester comme il est sans avoir trop de problème.
 
pour le spoof c assez facile, il faut mettre avant d'accepter quoi que ce soit
# jeter tout ce qui vient d'internet pour ta passerelle et qui prétend avoir : une ip interne, l'ip de lo, ton ip externe.
iptables -A INPUT -i ppp0 -s 192.168.0.0/24 -j DROP
iptables -A INPUT -i ppp0 -s 127.0.0.0/8 -j DROP
iptables -A INPUT -i ppp0 -s IPADDR -j DROP
 
# jeter tout ce qui vient d'internet pour ton réseau et qui prétend avoir : une ip interne, l'ip de lo, ton ip externe.
iptables -A FORWARD -i ppp0 -s 192.168.0.0/24 -j DROP
iptables -A FORWARD -i ppp0 -s 127.0.0.0/8 -j DROP
iptables -A FORWARD -i ppp0 -s IPADDR -j DROP
 
ce sera toujours ça de fait ;)

Reply

Marsh Posté le 04-11-2001 à 22:15:18    

tant que c'est pas le clavier qui se blo


---------------
-- NO SLACKERS - violators will be fsck'd & tar'd
Reply

Sujets relatifs:

Leave a Replay

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