Serveur DNS bloqué par firewall

Serveur DNS bloqué par firewall - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 21-04-2003 à 13:11:45    

Voila j'ai installé un petit serveur DNS sur ma machine Linux (192.168.0.1) il fonctionne parfaitement le firewall coupé, mais quand celui ci est levé, je n'arrive plus a resoudre les dns (nslookup me dit qu'il ne peut etablire de connexion)
 
Voici le script :

Code :
  1. #!/bin/bash
  2. #####################
  3. # Reset du firewall #
  4. #####################
  5. iptables -F
  6. iptables -X
  7. iptables -P INPUT ACCEPT
  8. iptables -P FORWARD ACCEPT
  9. iptables -P OUTPUT ACCEPT
  10. ######
  11. # IP #
  12. ######
  13. INET_IP="192.168.0.1"
  14. INET_IFACE="eth0"
  15. #############
  16. # Localhost #
  17. #############
  18. LO_IFACE="lo"
  19. LO_IP="127.0.0.1"
  20. ###########################
  21. # IPTables Configuration #
  22. ##########################
  23. IPTABLES="/sbin/iptables"
  24. ######################
  25. # Proc configuration #
  26. ######################
  27. echo "1" > /proc/sys/net/ipv4/ip_forward
  28. ####################
  29. # Bloquer les Ping #
  30. ####################
  31. echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
  32. #########################
  33. # Bloquer le BroadCasts #
  34. #########################
  35. echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  36. $IPTABLES -P INPUT DROP
  37. $IPTABLES -P OUTPUT DROP
  38. $IPTABLES -P FORWARD DROP
  39. ###############
  40. # Bad Packets #
  41. ###############
  42. $IPTABLES -N bad_tcp_packets
  43. ###############
  44. # ICMP TCP UP #
  45. ###############
  46. $IPTABLES -N allowed
  47. $IPTABLES -N icmp_packets
  48. $IPTABLES -N tcp_packets
  49. $IPTABLES -N udpincoming_packets
  50. ###################
  51. # Bad_tcp_packets #
  52. ###################
  53. $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
  54. --log-prefix "New not syn:"
  55. $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
  56. ###########
  57. # Allowed #
  58. ###########
  59. $IPTABLES -A allowed -p TCP --syn -j ACCEPT
  60. $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
  61. $IPTABLES -A allowed -p TCP -j DROP
  62. ################
  63. # TCP/IP Rules #
  64. ################
  65.         #-> SSH
  66.         $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
  67.         #-> APACHE
  68.         $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
  69.        
  70.         #-> FTP
  71.         $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
  72. #######
  73. # DNS #
  74. #######
  75. $IPTABLES -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT
  76. $IPTABLES -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT
  77. $IPTABLES -A INPUT -i eth0 --protocol tcp --source-port 53 -j ACCEPT
  78. $IPTABLES -A OUTPUT -o eth0 --protocol tcp --destination-port 53 -j ACCEPT 
  79.        
  80. ##############
  81. # ICMP rules #
  82. ##############
  83. $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP
  84. $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j DROP
  85. ###################################
  86. # Packet TCP/IP en INPUT : DENIED #
  87. ###################################
  88. $IPTABLES -A INPUT -p tcp -j bad_tcp_packets
  89. ##############################
  90. # INPUT, debloquer 127.0.0.1 #
  91. ##############################
  92. $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
  93. #########################
  94. # Rules rezeau en INPUT #
  95. #########################
  96. $IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
  97. -j ACCEPT
  98. $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
  99. $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
  100. $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
  101. #######
  102. # Log #
  103. #######
  104. $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
  105. --log-level DEBUG --log-prefix "IPT INPUT packet died: "
  106. ####################################
  107. # Packet TCP/IP en OUTPUT : DENIED #
  108. ####################################
  109. $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
  110. ################
  111. # LAN ou Local #
  112. ################
  113. $IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
  114. $IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
  115. #######
  116. # Log #
  117. #######
  118. $IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
  119. --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "


 
Je pense pourtant avoir autorisé correctement les dns mais ca ne fonctionne pas
 
si quelqu'un voit le probleme dans mon script ...

Reply

Marsh Posté le 21-04-2003 à 13:11:45   

Reply

Marsh Posté le 21-04-2003 à 13:18:39    

Code :
  1. $IPTABLES -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT
  2.   $IPTABLES -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT
  3.   $IPTABLES -A INPUT -i eth0 --protocol tcp --source-port 53 -j ACCEPT
  4.   $IPTABLES -A OUTPUT -o eth0 --protocol tcp --destination-port 53 -j ACCEPT

 
 
deja ca ne sert a rien les input, tu veux pas faire serveur de dns pour le net n'est-ce pas ?
eth0 c bien l'interface ou est branché ton modem ?
sinon regarde les logs ...
 
A+


Message édité par Aragorn_1er le 21-04-2003 à 13:19:15
Reply

Marsh Posté le 21-04-2003 à 13:21:18    

Aragorn_1er a écrit :

Code :
  1. $IPTABLES -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT
  2.   $IPTABLES -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT
  3.   $IPTABLES -A INPUT -i eth0 --protocol tcp --source-port 53 -j ACCEPT
  4.   $IPTABLES -A OUTPUT -o eth0 --protocol tcp --destination-port 53 -j ACCEPT

 
 
deja ca ne sert a rien les input, tu veux pas faire serveur de dns pour le net n'est-ce pas ?
eth0 c bien l'interface ou est branché ton modem ?
sinon regarde les logs ...
 
A+  


 
En fait le serveur est connecté a un switch lui meme relié a un routuer qui lui a mla connexion internet

Reply

Marsh Posté le 21-04-2003 à 13:25:43    

il me semble que :  
 

Code :
  1. $IPTABLES -A INPUT -i eth0 --protocol udp --dport 53 -j ACCEPT
  2. $IPTABLES -A OUTPUT -o eth0 --protocol udp --sport 53 -j ACCEPT
  3. $IPTABLES -A INPUT -i eth0 --protocol tcp --dport 53 -j ACCEPT
  4. $IPTABLES -A OUTPUT -o eth0 --protocol tcp --sport 53 -j ACCEPT

 
 
 
me parait plus logique ( mais non vérifié )

Reply

Marsh Posté le 21-04-2003 à 13:32:34    

becket a écrit :

il me semble que :  
 

Code :
  1. $IPTABLES -A INPUT -i eth0 --protocol udp --dport 53 -j ACCEPT
  2. $IPTABLES -A OUTPUT -o eth0 --protocol udp --sport 53 -j ACCEPT
  3. $IPTABLES -A INPUT -i eth0 --protocol tcp --dport 53 -j ACCEPT
  4. $IPTABLES -A OUTPUT -o eth0 --protocol tcp --sport 53 -j ACCEPT

 
 
 
me parait plus logique ( mais non vérifié )


 
Ne fonctionne pas non plus :(
Vraiment je ne comprends pas

Reply

Marsh Posté le 21-04-2003 à 13:40:53    

Ca ne sert a rien de mettre des input !
quand tu fais une requete dns tu initie une connexion, pas l'inverse c pas le serveur qui se demande de te connecter a toi !
de plus avec ca la connexion n auras aucun pbs :

Code :
  1. $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT


 
peux tu nous sortir un :  iptables -L -v
 
A+

Reply

Marsh Posté le 21-04-2003 à 13:48:03    

Code :
  1. Chain INPUT (policy DROP 195 packets, 17860 bytes)
  2. pkts bytes target     prot opt in     out     source               destination       
  3.     0     0 ACCEPT     udp  --  eth0   any     anywhere             anywhere           udp dpt:domain
  4.     0     0 ACCEPT     tcp  --  eth0   any     anywhere             anywhere           tcp dpt:domain
  5.   162  8024 bad_tcp_packets  tcp  --  any    any     anywhere             anywhere         
  6.     0     0 ACCEPT     all  --  lo     any     Master          anywhere         
  7.   111  5904 ACCEPT     all  --  any    any     anywhere             192.168.0.1        state RELATED,ESTABLISHED
  8.     1    48 tcp_packets  tcp  --  eth0   any     anywhere             anywhere         
  9.    79  9551 udpincoming_packets  udp  --  eth0   any     anywhere             anywhere         
  10.    24   672 icmp_packets  icmp --  eth0   any     anywhere             anywhere         
  11.    33  2643 LOG        all  --  any    any     anywhere             anywhere           limit: avg 3/min burst 3 LOG level debug prefix `IPT INPUT packet died: '
  12. Chain FORWARD (policy DROP 0 packets, 0 bytes)
  13. pkts bytes target     prot opt in     out     source               destination       
  14. Chain OUTPUT (policy DROP 0 packets, 0 bytes)
  15. pkts bytes target     prot opt in     out     source               destination       
  16.     0     0 ACCEPT     udp  --  any    eth0    anywhere             anywhere           udp spt:domain
  17.     0     0 ACCEPT     tcp  --  any    eth0    anywhere             anywhere           tcp spt:domain
  18.    98 10235 bad_tcp_packets  tcp  --  any    any     anywhere             anywhere         
  19.     0     0 ACCEPT     all  --  any    any     Master          anywhere         
  20.   215 18652 ACCEPT     all  --  any    any     192.168.0.1          anywhere         
  21.     0     0 LOG        all  --  any    any     anywhere             anywhere           limit: avg 3/min burst 3 LOG level debug prefix `IPT OUTPUT packet died: '
  22. Chain allowed (3 references)
  23. pkts bytes target     prot opt in     out     source               destination       
  24.     1    48 ACCEPT     tcp  --  any    any     anywhere             anywhere           tcp flags:SYN,RST,ACK/SYN
  25.     0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere           state RELATED,ESTABLISHED
  26.     0     0 DROP       tcp  --  any    any     anywhere             anywhere         
  27. Chain bad_tcp_packets (2 references)
  28. pkts bytes target     prot opt in     out     source               destination       
  29.    50  2072 LOG        tcp  --  any    any     anywhere             anywhere           tcp flags:!SYN,RST,ACK/SYN state NEW LOG level warning prefix `New not syn:'
  30.    50  2072 DROP       tcp  --  any    any     anywhere             anywhere           tcp flags:!SYN,RST,ACK/SYN state NEW
  31. Chain icmp_packets (1 references)
  32. pkts bytes target     prot opt in     out     source               destination       
  33.    24   672 DROP       icmp --  any    any     anywhere             anywhere           icmp echo-request
  34.     0     0 DROP       icmp --  any    any     anywhere             anywhere           icmp time-exceeded
  35. Chain tcp_packets (1 references)
  36. pkts bytes target     prot opt in     out     source               destination       
  37.     1    48 allowed    tcp  --  any    any     anywhere             anywhere           tcp dpt:ssh
  38.     0     0 allowed    tcp  --  any    any     anywhere             anywhere           tcp dpt:http
  39.     0     0 allowed    tcp  --  any    any     anywhere             anywhere           tcp dpt:ftp
  40. Chain udpincoming_packets (1 references)
  41. pkts bytes target     prot opt in     out     source               destination       
  42.     0     0 ACCEPT     udp  --  any    any     192.168.0.0/23       anywhere           udp dpt:27016
  43.     0     0 ACCEPT     udp  --  any    any     192.168.0.0/23       anywhere           udp dpt:27017
  44.     0     0 ACCEPT     udp  --  any    any     192.168.0.0/23       anywhere           udp dpt:27018
  45.     0     0 ACCEPT     udp  --  any    any     192.168.0.0/23       anywhere           udp dpt:27019
  46.     0     0 ACCEPT     udp  --  any    any     192.168.0.0/23       anywhere           udp dpt:27020
  47.     0     0 ACCEPT     udp  --  any    any     192.168.0.0/23       anywhere           udp dpt:27025


 
Merci de ton aide :)

Reply

Marsh Posté le 21-04-2003 à 13:58:54    

Met ca :

Code :
  1. $IPTABLES -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT
  2. $IPTABLES -A OUTPUT -o eth0 -p tcp --dport 53 -j ACCEPT


 
Mais regarde dans les logs pour voir ce ki est refuser !
 
A+

Reply

Marsh Posté le 21-04-2003 à 14:02:03    

Aragorn_1er a écrit :

Met ca :

Code :
  1. $IPTABLES -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT
  2. $IPTABLES -A OUTPUT -o eth0 -p tcp --dport 53 -j ACCEPT


 
Mais regarde dans les logs pour voir ce ki est refuser !
 
A+


 
j'ai un petit probleme  pour regarder dans les logs ( honte a venir ) je ne sais pas ou ils ce trouvent  :cry:

Reply

Marsh Posté le 21-04-2003 à 14:03:15    

Ben dans syslog normallement et aussi dans kern.log .
 
A+

Reply

Marsh Posté le 21-04-2003 à 14:03:15   

Reply

Marsh Posté le 21-04-2003 à 14:17:42    

d'après ton 1er post j'ai compris que tu as un serveur dns pour ton reseau local.
donc si je ne me trompe pas tu as inversé tes sport et dport.
essaye
iptables -A INPUT -i eth0 -p udp -s $ip_lan --sport 1024: --dport 53 -m state --state ! INVALID -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -d $ip_lan --sport 53 --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT.
 
où ip_lan=192.168.0.0/24 (ton id reseau)
 
ton serveur dns écoute sur le port 53 en udp (et tcp pour les + gros paquets).accepte donc les nouveaux paquets en provenance de ton LAN qui ont 53 comme dport (et >1024 comme sport)


Message édité par nikosaka le 21-04-2003 à 14:24:55
Reply

Marsh Posté le 21-04-2003 à 14:20:59    

nikosaka a écrit :

d'après ton 1er post j'ai compris que tu as un serveur dns pour ton reseau local.
donc si je ne me trompe pas tu as inversé tes sport et dport.
essaye
iptables -A INPUT -i eth0 -p udp -s $ip_lan --sport 1024:--dport 53 -m state --state ! INVALID -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -d $ip_lan --sport 53 --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT.
 
où ip_lan=192.168.0.0/24 (ton id reseau)
 
ton serveur dns écoute sur le port 53 en udp (et tcp pour les + gros paquets).accepte donc les nouveaux paquets en provenance de ton LAN qui ont 53 comme dport (et >1024 comme sport)


 
quand je mets ce que tu m'as dit iptable me sort ce message d'erreur:
 
iptables v1.2.6a: invalid UDP port/service `--dport' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.6a: invalid UDP port/service `-m' specified
Try `iptables -h' or 'iptables --help' for more information.

Reply

Marsh Posté le 21-04-2003 à 14:24:06    

soory fais gaffe aux espaces  :D  
je vais éditer mon poste

Reply

Marsh Posté le 21-04-2003 à 14:24:19    

linux n'est plus un os alternatif ?
 
bizarre .....
 
 
 
 


$IPTABLES -P OUTPUT   ACCEPT
 

 
 
 
et on en parle plus  :D


Message édité par com21 le 21-04-2003 à 14:24:42

---------------
Cherche geekette | Traquez vos billets d'€ | Don du sang | Don de moelle osseuse
Reply

Marsh Posté le 21-04-2003 à 14:25:12    

DNS c'est de l'udp ET du tcp .
 
De plus apprement en regardant les regles de ton firewall tu n a pas de lan donc le input ne sert a rien !
 
et les logs ca donne koi ?
 
sinon pour :

Citation :


iptables v1.2.6a: invalid UDP port/service `--dport' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.6a: invalid UDP port/service `-m' specified
Try `iptables -h' or 'iptables --help' for more information.  

 
 
ces des erreurs de syntaxes
 
A+

Reply

Marsh Posté le 21-04-2003 à 14:26:21    

pour les log je n'arive as a mettre la main dessus :/

Reply

Marsh Posté le 21-04-2003 à 14:29:13    

Y a rien dans /var/log/kernel.olg ou /var/logsyslog ?
 
as tu ceci :
ps aux |grep klogd
root 187 0.0 0.5 1880 1148 ? S Apr07 0:11 /sbin/klogd
 
 
A+

Reply

Marsh Posté le 21-04-2003 à 14:36:20    

Aragorn_1er a écrit :

Y a rien dans /var/log/kernel.olg ou /var/logsyslog ?
 
as tu ceci :
ps aux |grep klogd
root 187 0.0 0.5 1880 1148 ? S Apr07 0:11 /sbin/klogd
 
 
A+


 
rien et  
ps aux | grep klogd
 
me donne :
ps aux |grep klogd
root       949  0.0  0.0  3280  504 pts/0    S    04:33   0:00 grep klogd

Reply

Marsh Posté le 21-04-2003 à 14:38:28    

DNS est à moulte % de l'udp, donc inutile d'autoriser du tcp..
 
Rien qu'en udp ça fonctionne parfaitement !!! Autoriser le tcp, je veux bien moi, mais...
 
T'as déjà logué le traffic sur le port 53 généré par un serveur DNS Aragorn_1er ???
A part tout plein de truc en Udp, moi je n'ai rien vue (à si, une saturation du DD  :p ).
Et aussi, bloque les INPUT, tout de suite ça marche mieux !!!! (comment le serveur DNS il sait que ça requète fonctionne bien ???)
 
Une petite question bète comme choux... Lincam, comment réalises-tu les DNs chez toi ???
 
La machine relier à ton réseau EST la passerelle et c'est elle qui s'en charge (dans ce cas, c'est bien sur les règles INPUT qu'il faut travailler).
Ou ce sont les machines derrire la passerelle qui s'en charge ?? (et la c'est FORWARD).
 
Le passant.

Reply

Marsh Posté le 21-04-2003 à 14:39:29    

c éditer.
effectivement le dns c'est de l udp et du tcp mais le tcp est utilisé que pour les gros + paquets
si tu peux préciser l'utilisation de ton serveur, si c'est le serveur dns d'un LAN . dans ce cas tu doit avoir des règles INPUT : on a jamais vu un serveur refusé des connexions  :sarcastic:


Message édité par nikosaka le 21-04-2003 à 14:41:20
Reply

Marsh Posté le 21-04-2003 à 14:40:38    

Le serveur de DNS est un serveur LAN mais qui a un forward vers les DNS de mon providers des qu'il s'agit de resourdre les nom de domaines classqiue (en gros mon dns local me sert pour l'ntranet)
 
 
Le passant je ne comprends pas trop t'as question, mais je vais essayer d'etre precis
 
La machine ou ce trouve bind (le linux) n'est pas la paserelle detenant la connexion, la passerelle est un routeur hardware.


Message édité par lincam le 21-04-2003 à 14:42:30
Reply

Marsh Posté le 21-04-2003 à 14:40:59    

Tiens, vous me faites douter...
 
Va falloir que je révise tout ça moi  :( .
 
Le passant.

Reply

Marsh Posté le 21-04-2003 à 14:43:44    

alors rajoute ça aussi :
$ipt -A INPUT -i $INET_IFACE -p udp --sport 53 --dport 1024: -s $DNS1 -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A INPUT -i $INET_IFACE -p udp --sport 53 --dport 1024: -s $DNS2 -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -o $INET_IFACE -p udp --sport 1024: --dport 53 -d $DNS1 -m state --state ! INVALID -j ACCEPT
$ipt -A OUTPUT -o $INET_IFACE -p udp --sport 1024: --dport 53 -d $DNS2 -m state --state ! INVALID -j ACCEPT
 
où dns1 et dns2 sont les ip du dns de ton FAI
tu peux rajouter les m$emes règles en tcp mais ce n'est pas obligatoire


Message édité par nikosaka le 21-04-2003 à 14:44:48
Reply

Marsh Posté le 21-04-2003 à 14:43:55    

Citation :

effectivement le dns c'est de l udp et du tcp mais le tcp est utilisé que pour les gros + paquets

 
 
Bon chui pas tout seul a avoir le meme avis ...
 
ET comme je le dis avant ( encore faudrait t-il lire mes posts )
 

Citation :

Ca ne sert a rien de mettre des input !
quand tu fais une requete dns tu initie une connexion, pas l'inverse c pas le serveur qui demande de se connecter a toi !
de plus, avec ca la connexion n auras aucun pbs :

Code :
  1. $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT

 

 
 
en gros cette ligne assure le suivi de la connexion !
 
A+

Reply

Marsh Posté le 21-04-2003 à 14:52:08    

Citation :

Le serveur de DNS est un serveur LAN mais qui a un forward vers les DNS de mon providers des qu'il s'agit de resourdre les nom de domaines classqiue (en gros mon dns local me sert pour l'ntranet)
 
La machine ou ce trouve bind (le linux) n'est pas la paserelle detenant la connexion, la passerelle est un routeur hardware.

 
 
Est-ce que ton firewall est installer sur la meme machine que ton serveur dns ?
 
A+

Reply

Marsh Posté le 21-04-2003 à 14:53:38    

Aragorn_1er a écrit :

Citation :

Le serveur de DNS est un serveur LAN mais qui a un forward vers les DNS de mon providers des qu'il s'agit de resourdre les nom de domaines classqiue (en gros mon dns local me sert pour l'ntranet)
 
La machine ou ce trouve bind (le linux) n'est pas la paserelle detenant la connexion, la passerelle est un routeur hardware.

 
 
Est-ce que ton firewall est installer sur la meme machine que ton serveur dns ?
 
A+
 


 
Oui et la machine qui heberge le serveur dns a comme dns le serveur quelle heberge

Reply

Marsh Posté le 21-04-2003 à 14:54:00    

lincam a écrit :

Le passant je ne comprends pas trop t'as question, mais je vais essayer d'etre precis
 
La machine ou ce trouve bind (le linux) n'est pas la paserelle detenant la connexion, la passerelle est un routeur hardware.


 
C'est bon, c'est bon... Donc, ça n'est po trop normal que ça ne fonctionne po.
 
Tu as essayé ce que te propose nikosaka ?? Je n'ai malheureusement rien de mieux à te proposer.
 
LE passant.

Reply

Marsh Posté le 21-04-2003 à 14:57:20    

Le passant a écrit :


 
C'est bon, c'est bon... Donc, ça n'est po trop normal que ça ne fonctionne po.
 
Tu as essayé ce que te propose nikosaka ?? Je n'ai malheureusement rien de mieux à te proposer.
 
LE passant.


 
Tout a fait, voici la version acutelle du firewall (qui bloque tjrs les dns :/ ) :
 

Code :
  1. #!/bin/bash
  2. #####################
  3. # Reset du firewall #
  4. #####################
  5. iptables -F
  6. iptables -X
  7. iptables -P INPUT ACCEPT
  8. iptables -P FORWARD ACCEPT
  9. iptables -P OUTPUT ACCEPT
  10. ######
  11. # IP #
  12. ######
  13. INET_IP="192.168.0.1"
  14. INET_IFACE="eth0"
  15. #############
  16. # Localhost #
  17. #############
  18. LO_IFACE="lo"
  19. LO_IP="127.0.0.1"
  20. ###########################
  21. # IPTables Configuration #
  22. ##########################
  23. IPTABLES="/sbin/iptables"
  24. ######################
  25. # Proc configuration #
  26. ######################
  27. echo "1" > /proc/sys/net/ipv4/ip_forward
  28. ####################
  29. # Bloquer les Ping #
  30. ####################
  31. echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
  32. #########################
  33. # Bloquer le BroadCasts #
  34. #########################
  35. echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  36. #########
  37. # Rulse #
  38. #########
  39. $IPTABLES -P INPUT DROP
  40. $IPTABLES -P OUTPUT DROP
  41. $IPTABLES -P FORWARD ACCEPT
  42. ###############
  43. # Bad Packets #
  44. ###############
  45. $IPTABLES -N bad_tcp_packets
  46. ###############
  47. # ICMP TCP UP #
  48. ###############
  49. $IPTABLES -N allowed
  50. $IPTABLES -N icmp_packets
  51. $IPTABLES -N tcp_packets
  52. $IPTABLES -N udpincoming_packets
  53. ###################
  54. # Bad_tcp_packets #
  55. ###################
  56. $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
  57. --log-prefix "New not syn:"
  58. $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
  59. ###########
  60. # Allowed #
  61. ###########
  62. $IPTABLES -A allowed -p TCP --syn -j ACCEPT
  63. $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
  64. $IPTABLES -A allowed -p TCP -j DROP
  65. ################
  66. # TCP/IP Rules #
  67. ################
  68.         #-> SSH
  69.         $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
  70.         #-> APACHE
  71.         $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
  72.        
  73.         #-> FTP
  74.         $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
  75.        
  76. #############
  77. # UDP Rules #
  78. #############
  79. ip_lan=192.168.0.0/24
  80. $IPTABLES -A INPUT -i eth0 -p udp -s $ip_lan --sport 1024: --dport 53 -m state --state ! INVALID -j ACCEPT
  81. $IPTABLES -A OUTPUT -o eth0 -p udp -d $ip_lan --sport 53 --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
  82. $IPTABLES -A INPUT -i $INET_IFACE -p udp --sport 53 --dport 1024: -s 194.2.0.20 -m state --state ESTABLISHED,RELATED -j ACCEPT
  83. $IPTABLES -A INPUT -i $INET_IFACE -p udp --sport 53 --dport 1024: -s 194.2.0.50 -m state --state ESTABLISHED,RELATED -j ACCEPT
  84. $IPTABLES -A OUTPUT -o $INET_IFACE -p udp --sport 1024: --dport 53 -d 194.2.0.20 -m state --state ! INVALID -j ACCEPT
  85. $IPTABLES -A OUTPUT -o $INET_IFACE -p udp --sport 1024: --dport 53 -d 194.2.0.50 -m state --state ! INVALID -j ACCEPT
  86. ##############
  87. # ICMP rules #
  88. ##############
  89. $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP
  90. $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j DROP
  91. ###################################
  92. # Packet TCP/IP en INPUT : DENIED #
  93. ###################################
  94. $IPTABLES -A INPUT -p tcp -j bad_tcp_packets
  95. ##############################
  96. # INPUT, debloquer 127.0.0.1 #
  97. ##############################
  98. $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
  99. #########################
  100. # Rules rezeau en INPUT #
  101. #########################
  102. $IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
  103. -j ACCEPT
  104. $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
  105. $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
  106. $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
  107. #######
  108. # Log #
  109. #######
  110. $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
  111. --log-level DEBUG --log-prefix "IPT INPUT packet died: "
  112. ####################################
  113. # Packet TCP/IP en OUTPUT : DENIED #
  114. ####################################
  115. $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
  116. ################
  117. # LAN ou Local #
  118. ################
  119. $IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
  120. $IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
  121. #######
  122. # Log #
  123. #######
  124. $IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
  125. --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "


 
si je fais : host google.fr j'ai droit a un beau :  
 
;; connection timed out; no servers could be reached


Message édité par lincam le 21-04-2003 à 14:59:43
Reply

Marsh Posté le 21-04-2003 à 15:10:20    

Un truc que j'ai remarqué et que je ne m'explique pas du tout (chez moi hein, donc tu peux peut-être essayer et voir...) : si je précise les 1024:, à chaque fois je me paye un timeout, sans, ça marche  :??:  :??: .
 
Comprends po, mais essaye. Sais-t'on jamais ??
 
Le passant.

Reply

Marsh Posté le 21-04-2003 à 17:01:50    

tu devrais essayer de mettre les règles que je t'ai donné le plus possible en haut de ton script.
avant tes chaînes perso bad packet, icmp, allowed et  tcp/ip rules

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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