Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2018 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7
Auteur Sujet :

un script iptables spécial serveur.

n°725426
Je@nb
Kindly give dime
Posté le 05-09-2005 à 12:11:46  profilanswer
 

Reprise du message précédent :
Ben dans INPUT tu te sers plus de dport et dans OUTPUT tu te sers plus de sport :)
Dans FORWARD (mais toi tu n'utilises pas) tu utilises un peu des 2 selon ce que tu veux matcher

mood
Publicité
Posté le 05-09-2005 à 12:11:46  profilanswer
 

n°725428
l0ky
Posté le 05-09-2005 à 12:13:17  profilanswer
 

Je@nb a écrit :

Ben dans INPUT tu te sers plus de dport et dans OUTPUT tu te sers plus de sport :)
Dans FORWARD (mais toi tu n'utilises pas) tu utilises un peu des 2 selon ce que tu veux matcher


boff :/

n°725433
duch
Posté le 05-09-2005 à 12:16:33  profilanswer
 

Dans notre cas, je ne pense pas qu'on s'en serve, puisqu'on ne fait que répondre à des requêtes de clients (en INPUT), et que cela est géré par le statefull (donc pas besoin de règle en OUTPUT pour autoriser le trafic sur le port 80 par exemple) et les seuls protocoles où on peut se comporter comme un client utilisent manifestement des ports aléatoires en sortie.
 
Donc, ici pas de sport, et je dirais même plus avec le statefull, ça doit plus servir souvent.


Message édité par duch le 05-09-2005 à 12:16:46
n°725434
Je@nb
Kindly give dime
Posté le 05-09-2005 à 12:16:50  profilanswer
 

Oué c'est vrai on se sert un peu des 2 en fait :D

n°725435
l0ky
Posté le 05-09-2005 à 12:21:36  profilanswer
 

J'utilisent principalement sport pour spécifier les ranges acceptables
 
du genre --sport 1025: pour spécifier un port source > 1024 (assez souvent utilisé)
ou si le protocole spécifie un range précis ou port précis je l'utilises.


Message édité par l0ky le 05-09-2005 à 12:45:20
n°725436
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 05-09-2005 à 12:23:54  profilanswer
 

l0ky a écrit :

Zzozo > le syn est nécessaire car state ne se base pas sur les flags TCP pour déterminer si l'état du paquet est NEW ou pas. Pour state, si la connexion matchant (adresse source/dst, port source/dst) n'existe pas pour ce paquet, l'etat sera NEW.
 
Je préfère rajouter le --syn pour renforcer un tantinet le statefull. Certains types de scan se casseront les dents


En effet, je viens de lire ça dans les sources du noyau ( ip_conntrack_core.c ) ...
Un peu "léger", de prime abord, je dirai, tout ça ... enfin bon, y'a ptet une bonne raison, mais j'ai pas envie d'approfondir la reflexion ... ok pour le --syn :jap:

n°725438
l0ky
Posté le 05-09-2005 à 12:29:51  profilanswer
 

Zzozo a écrit :

En effet, je viens de lire ça dans les sources du noyau ( ip_conntrack_core.c ) ...
Un peu "léger", de prime abord, je dirai, tout ça ... enfin bon, y'a ptet une bonne raison, mais j'ai pas envie d'approfondir la reflexion ... ok pour le --syn :jap:


 
 Avais tu un doute sur mes dires poure aller taper dans le kernel  :p  
 
Certes c'est excessivement léger pour du statefull je trouve aussi.

n°725439
duch
Posté le 05-09-2005 à 12:29:59  profilanswer
 

l0ky a écrit :

J'utilisent principalement sport pour spécifier les ranges acceptables
 
du genre --sport 1025: pour spécifier un port source > 1024 (assez souvent utilisé)
ou si le protocole spécifie un range précis ou port précis je l'utilisent.


 
 
tous les protocoles que j'utilisent utilisent un port aléatoire >1024, tu penses que ce serait un plus de mettre --sport 1025: pour éviter qu'on essaie de se connecter en ssh sur un port privilégié par exemple?

n°725442
l0ky
Posté le 05-09-2005 à 12:37:09  profilanswer
 

[:spamafote] c'est un petit plus qui est surtout utile en OUTPUT/FORWARD.
Je préfère être au plus près du protocole c'est tout.

n°725450
duch
Posté le 05-09-2005 à 13:02:54  profilanswer
 

allez hop, je mets ce petit plus ;)
 
 
 
comprends pas pourquoi c'est surtout utile en OUTPUT/FORWARD.
Moi je le verrais plutôt en INPUT :sweat:


Message édité par duch le 05-09-2005 à 13:08:13
mood
Publicité
Posté le 05-09-2005 à 13:02:54  profilanswer
 

n°725464
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 05-09-2005 à 13:51:03  profilanswer
 

l0ky a écrit :

Avais tu un doute sur mes dires poure aller taper dans le kernel  :p  
 
Certes c'est excessivement léger pour du statefull je trouve aussi.


Principe N°1 en sécurité des S.I. : être un brin paranoïaque  [:dao]
 
[:janfynette]

n°725466
l0ky
Posté le 05-09-2005 à 13:54:12  profilanswer
 

Garfield :love:

n°725468
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 05-09-2005 à 13:56:11  profilanswer
 


[:zzozo]
 
Daffy ?

n°725476
duch
Posté le 05-09-2005 à 14:08:02  profilanswer
 

je dirais même plus, être parano à fond, c'est mieux.
 
C'est pour ça que je proposerais de mettre le flag sport 1025: en entrée pour éviter qu'on puisse essayer d'attaquer un de mes services depuis un port privilégié. Même si aucun exploit existe, on ne sait jamais.
 
Et aussi en sortie pourquoi pas.


Message édité par duch le 05-09-2005 à 14:10:49
n°725481
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 05-09-2005 à 14:13:35  profilanswer
 

duch a écrit :

je dirais même plus, être parano à fond, c'est mieux.
 
C'est pour ça que je proposerais de mettre le flag sport 1025: en entrée pour éviter qu'on puisse essayer d'attaquer un de mes services depuis un port privilégié. Même si aucun exploit existe, on ne sait jamais.
 
Et aussi en sortie pourquoi pas.


Oui enfin faut éviter les extrêmes aussi  :o

n°725482
duch
Posté le 05-09-2005 à 14:16:53  profilanswer
 

bah j'sais pas si c'est super extrême, rajouter ce flag ne mange pas de pain et ne nuit pas aux perfs.
 
pourquoi pas?

n°725924
duch
Posté le 06-09-2005 à 16:55:43  profilanswer
 

Je suis en train de tester le script en vrai, et il n'y a pour l'instant pas de gros problèmes.

n°725925
l0ky
Posté le 06-09-2005 à 16:56:33  profilanswer
 

y a t il des _petits_ problemes ?

n°725926
duch
Posté le 06-09-2005 à 16:59:30  profilanswer
 

euh, bah en fait si, il y en a un, je pensais avoir résolu le blème du filtrage par IP mais ça ne marche pas.
En gros c'est du tout ou rien, soit je mets -s 192.168.2.9 et là y'a rien qui passe, sois je mets -s 192.168.2.9/0 et là toutes les machines de mon réseau passent, snif.
 
NB : j'ai désactivé les règles pour le faux réseau local puisque je suis en reseau local ;)


Message édité par duch le 06-09-2005 à 17:00:59
n°725929
duch
Posté le 06-09-2005 à 17:04:47  profilanswer
 

Au temps pour moi, j'ai déconné, j'ai pas autorisé l'adresse source mais celle de destination :crazy:
 
ça marche
 
 
 
Au fait, on a pas clos le débat sur --sport 1025: en INPUT et en OUTPUT


Message édité par duch le 06-09-2005 à 17:08:37
n°726289
petoulachi
A fortiori, brigadier chef
Posté le 07-09-2005 à 12:36:16  profilanswer
 

hop je viens me greffer à ce topic puisque je suis en train de réaliser moi aussi un script iptables pour un serveur. Ce serveur est destiné à être placé chez des clients, et doit être particulièrement blindée (un vrai trou noir :D). Il ne doit pas avoir le rôle de passerelle. Il héberge un serveur FTP ainsi qu'un serveur ssh.  
Il devra également être capable d'être client FTP (passif) et DNS. Pas de HTTP en vue.
De plus, le serveur doit proposer un partage d'imprimante pour le monde Windows par le biais de Samba.
 
 
Je dois contrôler absolument tous les flux, que cela soit en entrée ou en sortie. J'ai préféré ne pas faire une règle qui autorise tout en sortie si la connexion est établie... Ce n'est peut être pas forcement un bon choix.
 
Ce script est normalement destiné à être appelé lors du montage de l'interface eth0. Ainsi dans le fichier /etc/network/interfaces, j'ai rajouté la ligne  

Code :
  1. pre-up /etc/iptables-eth0 $IF_NETWORK $IF_NETMASK $IF_ADDRESS


 
A vos critiques :D
 

Code :
  1. #!/bin/sh
  2. # script de configuration iptables, éxécuter avant le chargement de l'interface
  3. # params : $1 network
  4. #          $2 netmask
  5. #          $3 ip
  6. ###  INITIALISATION
  7. /sbin/modprobe ip_conntrack_ftp
  8. ##  RAZ des regles
  9. ##  comportement par défaut : DROP sur tout
  10. iptables -F
  11. iptables -X
  12. iptables -P INPUT DROP
  13. iptables -P FORWARD DROP
  14. iptables -P OUTPUT DROP
  15. ## loopback autorisé pour tout
  16. iptables -A INPUT -i lo -j ACCEPT
  17. iptables -A OUTPUT -o lo -j ACCEPT
  18. ###  REGLES D'EXCEPTIONS
  19. # Drop (NMAP) scan packets #
  20. iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
  21. iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  22. iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
  23. iptables -A INPUT -p tcp --tcp-flags ALL FIN -j DROP
  24. iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  25. iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
  26. iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
  27. # Drop packets with bad tcp flags
  28. iptables -A INPUT -p tcp --tcp-option 64 -j DROP
  29. iptables -A INPUT -p tcp --tcp-option 128 -j DROP
  30. # Drop invalid packets
  31. iptables -A INPUT -m state --state INVALID -j DROP
  32. # Drop port 0 scan packets
  33. iptables -A INPUT -p tcp --dport 0 -j DROP
  34. iptables -A INPUT -p udp --dport 0 -j DROP
  35. # Drop source port 0 packets
  36. iptables -A INPUT -p tcp --sport 0 -j DROP
  37. iptables -A INPUT -p udp --sport 0 -j DROP
  38. ## -------------      DNS
  39. iptables -A OUTPUT -p udp -m state -s $3 -o eth0  --state ! INVALID -j ACCEPT --sport 1024: --dport 53
  40. iptables -A INPUT -p udp -m state -d $3 -i eth0 --state RELATED,ESTABLISHED -j ACCEPT --sport 53 --dport 1024:
  41. ## -------------     PING
  42. iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 20/s --limit-burst 100 -j ACCEPT
  43. iptables -A OUTPUT -p icmp --icmp-type echo-request -m limit --limit 20/s --limit-burst 100 -j ACCEPT
  44. iptables -A INPUT -p icmp --icmp-type redirect -j DROP
  45. iptables -A INPUT -p icmp --icmp-type network-redirect -j DROP
  46. iptables -A INPUT -p icmp --icmp-type TOS-network-redirect -j DROP
  47. iptables -A INPUT -p icmp --icmp-type TOS-host-redirect -j DROP
  48. iptables -A INPUT -p icmp -j ACCEPT
  49. iptables -A OUTPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
  50. ## ------------      SSH
  51. iptables -A INPUT -p tcp -m state -m tcp -s $1/$2 -d $3 -i eth0 --state NEW --syn -j ACCEPT --dport 22
  52. iptables -A INPUT -p tcp -m state -m tcp -s $1/$2 -d $3 -i eth0 --state ESTABLISHED -j ACCEPT --dport 22
  53. iptables -A OUTPUT -p tcp -m state -m tcp -s $3 -d $1/$2 -o eth0 --state ESTABLISHED -j ACCEPT --sport 22
  54. ## ------------      serveur FTP pour le LAN seulement (passif sur le range 41000-41020)
  55. iptables -A INPUT -p tcp -m state -m tcp -s $1/$2 -d $3 -i eth0 --state NEW --syn -j ACCEPT --dport 21
  56. iptables -A INPUT -p tcp -m state -m tcp -s $1/$2 -d $3 -i eth0 --state ESTABLISHED -j ACCEPT --dport 21
  57. iptables -A OUTPUT -p tcp -m state -m tcp -s $3 -d $1/$2 -o eth0 --state ESTABLISHED -j ACCEPT --sport 21
  58. iptables -A INPUT -p tcp -m state -m tcp -s $1/$2 -d $3 -i eth0 --state RELATED,ESTABLISHED -j ACCEPT --dport 41000:41020
  59. iptables -A OUTPUT -p tcp -m state -m tcp -s $3 -d $1/$2 -o eth0 --state ESTABLISHED -j ACCEPT --sport 41000:41020
  60. ## ------------      Client FTP pour port 4000
  61. iptables -A INPUT -p tcp -m state -m tcp -d $3 -i eth0 --state ESTABLISHED -j ACCEPT --sport 4000
  62. iptables -A OUTPUT -p tcp -m state -s $3 -o eth0 --state NEW --syn -j ACCEPT --dport 4000
  63. iptables -A OUTPUT -p tcp -m state -s $3 -o eth0 --state ESTABLISHED -j ACCEPT --dport 4000
  64. iptables -A OUTPUT -p tcp -m state -m tcp -m helper --helper ftp-4000 -s $3 -o eth0 --state RELATED,ESTABLISHED -j ACCEPT
  65. iptables -A INPUT -p tcp -m state -m tcp -m helper --helper ftp-4000 -d $3 -i eth0 --state ESTABLISHED -j ACCEPT
  66. ## ------------      Netbios TCP
  67. iptables -A INPUT -p tcp -m state -m tcp -m multiport -s $1/$2 -d $3 -i eth0 --state NEW --syn -j ACCEPT --dports 139,445
  68. iptables -A INPUT -p tcp -m state -m tcp -m multiport -s $1/$2 -d $3 -i eth0 --state ESTABLISHED -j ACCEPT --dports 139,445
  69. iptables -A OUTPUT -p tcp -m state -m tcp -m multiport -s $3 -d $1/$2 -o eth0 --state ESTABLISHED -j ACCEPT --sports 139,445
  70. ## -----------      Netbios UDP
  71. iptables -A INPUT -p udp -m state -m udp -m multiport -s $1/$2 -d $3 -i eth0 --state NEW,ESTABLISHED -j ACCEPT --dports 137,138
  72. iptables -A INPUT -p udp -m state -m udp -m multiport -s $1/$2 -d $3 -i eth0 --state NEW,ESTABLISHED -j ACCEPT --sports 137,138
  73. iptables -A OUTPUT -p udp -m state -m udp -m multiport -s $3 -d $1/$2 -o eth0 --state NEW,ESTABLISHED -j ACCEPT --sports 137,138
  74. iptables -A OUTPUT -p udp -m state -m udp -m multiport -s $3 -d $1/$2 -o eth0 --state NEW,ESTABLISHED -j ACCEPT --sports 137,138

n°726291
duch
Posté le 07-09-2005 à 12:55:35  profilanswer
 

bah j'suis pas assez doué pour émettre des critiques, mais l'idée de l'appeller dans /etc/netcwork/interfaces est très bonne je trouve.
 
Tiens ça me fait penser que j'ai oublié de remettre les règles pour les port 0 scan.

n°726341
petoulachi
A fortiori, brigadier chef
Posté le 07-09-2005 à 14:10:40  profilanswer
 

Pourtant ton script est bien plus complexe que le mien. Il y a pas mal de choses que je ne comprends pas vraiment :D

n°726342
l0ky
Posté le 07-09-2005 à 14:11:30  profilanswer
 

Il a mis 4 pages pour le faire son script, lit les 4 pages tu comprendras mieux déjà.

n°726344
duch
Posté le 07-09-2005 à 14:14:19  profilanswer
 

le script a été crée au fur et à mesure avec l'aide de tout le monde, si tu lis les 5 pages, tu devrais comprendre à quoi servent les règles et pourquoi elles sont ici ;)
 
Je n'y comprenais rien au début non plus, et pourtant maintenant c'est clair. Maintenant de là à te donner des conseils sans dire de connerie...

n°726351
petoulachi
A fortiori, brigadier chef
Posté le 07-09-2005 à 14:31:04  profilanswer
 

l0ky a écrit :

Il a mis 4 pages pour le faire son script, lit les 4 pages tu comprendras mieux déjà.


Je les ai lu attentivement avant de poster :)
 
Mais certains passages ne sont pas expliqués, par exemple

Code :
  1. # # Autres protections réseau
  2. echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  3. echo 0 > /proc/sys/net/ipv4/ip_forward 
  4. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
  5. echo 1 >/proc/sys/net/ipv4/conf/all/log_martians 
  6. #echo 1 > /proc/sys/net/ipv4/ip_always_defrag # non dispo par défaut sur ma debian
  7. echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
  8. echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
  9. echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
  10. echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route


Ca par exemple je ne sais pas trop quel est l'utilité :??:
 
De même, pour les flux DNS tu autorises aussi le protocole tcp, or il me semble que le dns ne s'appuis que sur udp non ?
 
Loin de moi l'idée de polluer ce topic, au contraire j'aimerai apporter ma pierre à l'édifice car il est très interessant et mérite d'être approfondi.

n°726354
l0ky
Posté le 07-09-2005 à 14:34:57  profilanswer
 

http://iptables-tutorial.frozentux [...] sysctl.txt
Pour le DNS en effet, pour ses usages l'UDP  suffit.

n°726357
duch
Posté le 07-09-2005 à 14:36:39  profilanswer
 

Ces lignes correspondent à diverses protection réseau disponibles au niveau du noyau (si j'ai bien compris).
 
Par exemple la plus connue "tcp_syncookies" protège ton système contre les syn packet flooding, un type d'attaque DoS qui balance plein de paquets syn (paquets tcp d'ouverture de connexion).
 
pour le DNS c'est à vérifier
 
 
Pas d'inquiétude tu ne pollue pas, si tu te poses la question d'autres le feront aussi :jap:
 
 
EDIt : au sujet des ces lignes bizarres, d'autres servent à désactiver certaines fonctions inutiles dans le cas d'un serveur, comme "send_redirects" qui ne sert que pour les routeurs.


Message édité par duch le 07-09-2005 à 14:39:48
n°726359
Je@nb
Kindly give dime
Posté le 07-09-2005 à 14:39:30  profilanswer
 

L'UDP est en effet utilisé pour le DNS il suffit, mais on peut faire des requetes en TCP si on le souhaite et les transferts de zones se font en TCP aussi :)
 
 
Sinon les protections au niveau du noyau perso je me documenterai dessus car certaines peuvent servir (genre le echo broadcast)

n°726361
petoulachi
A fortiori, brigadier chef
Posté le 07-09-2005 à 14:40:36  profilanswer
 

l0ky a écrit :

http://iptables-tutorial.frozentux [...] sysctl.txt
Pour le DNS en effet, pour ses usages l'UDP  suffit.


 
Merci pour le lien c'est ce qu'il me manquait :)
 
Petite question par curiosité : dans quel cas DNS utilise le protocole udp ?
 
Edit: j'ai la réponse au dessus :) Donc ce n'est utilisé que pour les serveurs DNS finalement si j'ai bien compris.
 

duch a écrit :

Ces lignes correspondent à diverses protection réseau disponibles au niveau du noyau (si j'ai bien compris).
 
Par exemple la plus connue "tcp_syncookies" protège ton système contre les syn packet flooding, un type d'attaque DoS qui balance plein de paquets syn (paquets tcp d'ouverture de connexion).
 
pour le DNS c'est à vérifier
 
 
Pas d'inquiétude tu ne pollue pas, si tu te poses la question d'autres le feront aussi :jap:


 
Merci pour les précisions :)


Message édité par petoulachi le 07-09-2005 à 14:41:40
n°726363
duch
Posté le 07-09-2005 à 14:40:57  profilanswer
 

Je@nb a écrit :

L'UDP est en effet utilisé pour le DNS il suffit, mais on peut faire des requetes en TCP si on le souhaite et les transferts de zones se font en TCP aussi :)
 
 
Sinon les protections au niveau du noyau perso je me documenterai dessus car certaines peuvent servir (genre le echo broadcast)


 
 
merci pour ces précisions, Je@nb et merci à petoulachi d'avoir levé le lièvre, je vire le TCP pour les DNS.

n°726366
duch
Posté le 07-09-2005 à 14:51:52  profilanswer
 

j'ai donc vérifié toutes les lignes correspondant au protections réseau avec le lien de l0ky et tout à l'air OK pour un serveur.
 
Je rajoute le lien de l0ky en commentaire dans le script
Je vire le TCP pour les DNS.
 
 
et zouu!


Message édité par duch le 07-09-2005 à 14:52:18
n°726938
duch
Posté le 08-09-2005 à 18:05:19  profilanswer
 

j'aimerais maintenant rajouter le support du ntp en sortie, quelle protocole est utilisé, tcp, udp? les 2?
 
j'arrive pas à trouver une doc qui explique clairement les protocoles :(

n°726941
l0ky
Posté le 08-09-2005 à 18:10:00  profilanswer
 

de mémoire ntp (network time protocol) c'est en UDP

n°726974
sebchap
Share the knowledge
Posté le 08-09-2005 à 19:36:47  profilanswer
 

duch a écrit :

j'aimerais maintenant rajouter le support du ntp en sortie, quelle protocole est utilisé, tcp, udp? les 2?
 
j'arrive pas à trouver une doc qui explique clairement les protocoles :(


Une technique pour avoir des renseignement sur un service: filtre avec ethereal, il t'indiquera le protocole, le port source/destination utilisé et plein d'autre infos ;)


---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
n°727119
petoulachi
A fortiori, brigadier chef
Posté le 09-09-2005 à 10:50:14  profilanswer
 

En effet NTP s'appuis sur UDP, par le port 123.

n°728985
duch
Posté le 13-09-2005 à 10:44:19  profilanswer
 

désolé, j'étais un peu absent ces derniers temps...
 
Merci pour ces infos, j'ai updaté le script pour ajouter une règle pour le ntp.

n°745597
jaymzwise
Posté le 27-10-2005 à 17:53:20  profilanswer
 

duch a écrit :

Code :
  1. ### requetes icmp ###
  2. $IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 20/s --limit-burst 100 -j ACCEPT
  3. $IPT -A OUTPUT -p icmp --icmp-type echo-request -m limit --limit 20/s --limit-burst 100 -j ACCEPT
  4. $IPT -A INPUT -p icmp --icmp-type redirect -j DROP
  5. $IPT  -A INPUT -p icmp --icmp-type network-redirect -j DROP
  6. $IPT -A INPUT -p icmp --icmp-type TOS-network-redirect -j DROP
  7. $IPT -A INPUT -p icmp --icmp-type TOS-host-redirect -j DROP
  8. $IPT -A INPUT -p icmp -j ACCEPT




 
Salut tout le monde,
 
Je n'arrive pas à comprendre les règles concernant les requêtes ICMP.
Je me plante peut être sur le fonctionnement d'iptables mais il me semble que tant qu'un paquet n'est pas matché par une règle il continue sa route et finit soit par tomber sur une règle qui le matche soit par tomber sous la loi des politiques par défaut.
Si un echo-request n'est pas matché par les 2 premières règles ICMP il continue sa route et finit par tomber sur une règle (La 7ème) qui accepte tout le trafic ICMP.
 
Je me plante complètement ou y'a un problème ?

n°749049
thefyxx
Posté le 05-11-2005 à 17:33:11  profilanswer
 

Salut tout le monde.
J'ai suivi ce tuto, ainsi que 8 autres, et j'ai fait mon propre script, il fonctionne, sauf un petit Hic...
Mon linux est passerelle entre internet et le rezo local.
Le rezo local attrappe le net, mais le serveur est totalement incapable de faire un apt-get, un ping ou un wget.
Je ne vois pas de solution en gardant la regle par defaut OUTPUT sur DROP.
Si quelqu'un peut m'orienter...

n°749052
l0ky
Posté le 05-11-2005 à 17:46:03  profilanswer
 

Garde la policy de la chain OUTPUT sur DROP
et ajoute des regles ACCEPT dans cette chaine [:spamafote]
(+ established et related dans input)

n°749074
thefyxx
Posté le 05-11-2005 à 18:46:20  profilanswer
 

Merci, maintenant, le serveur sort sur le net.
Par contre suite à un nmap d'un pote, et à un test, impossible de se logguer en ssh alors qu'il est autorisé explicitement, idem pour vnc, et nmap dis que mon serveur est eteint.
 

Citation :

#!/bin/sh
# /etc/network/if-pre-up.d/iptables-start
# Script qui démarre les règles de filtrage "iptables"
 
 
#####################################################################
#####################################################################
##### Definition des variables utilisée dans le script:
CARTE_WAN=eth1
CARTE_LAN=eth0
IP_WAN=82.66.151.124
IP_LAN=192.168.7.11
BLACK=192.168.7.51
KIKIX=192.168.7.41
CUBIX=192.168.7.21
PFIZER=168.224.1.142
IKLO=82.221.117.213
#####################################################################
#####################################################################
 
 
#####################################################################
#####################################################################
##### REMISE à ZERO des règles de filtrage
##### Supprime toutes les chaînes prédéfinies de la table "filter".
iptables -t filter -F
iptables -t filter -X
##### Supprime toutes les chaînes prédéfinies de la table "nat".
iptables -t nat -F
iptables -t nat -X
##### Supprime toutes les chaines prédéfinies de la table "mangle".
iptables -t mangle -F
iptables -t mangle -X  
#####################################################################
#####################################################################
 
 
#####################################################################
#####################################################################
##### DEBUT des "politiques par défaut"
 
##### Je veux que les connexions entrantes soient bloquées par défaut
#iptables -P INPUT ACCEPT
iptables -P INPUT DROP
 
##### Je veux que les connexions destinées à être forwardées
##### soient bloquées par défaut
#iptables -P FORWARD ACCEPT
iptables -P FORWARD DROP
 
##### Je veux que les connexions sortantes soient bloquées par défaut
#iptables -P OUTPUT ACCEPT
iptables -P OUTPUT DROP
 
##### FIN des "politiques par défaut"
#####################################################################
#####################################################################
 
 
#####################################################################
#####################################################################
##### DEBUT des règles pour le partage de connexion (i.e. le NAT)
##### Décommentez la ligne suivante pour que le système fasse passerelle
iptables -t nat -A POSTROUTING -o $CARTE_WAN -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
 
##### Si la connexion que vous partagez est une connexion ADSL, vous
##### serez probablement confronté au fameux problème du MTU. En résumé,
##### le problème vient du fait que le MTU de la liaison entre votre
##### fournisseur d'accès et le serveur NAT est un petit peu inférieur au
##### MTU de la liaison Ethernet qui relie le serveur NAT aux machines qui
##### sont derrière le NAT.
iptables -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS -o $CARTE_WAN --clamp-mss-to-pmtu
 
##### FIN des règles pour le partage de connexion (i.e. le NAT)
#####################################################################
#####################################################################
 
 
#####################################################################
#####################################################################
##### DEBUT des règles de filtrage
 
##### Pas de filtrage sur l'interface de "loopback"
iptables -t filter -A INPUT -i lo -p all -j ACCEPT
iptables -t filter -A OUTPUT -o lo -p all -j ACCEPT
 
##### AUTORISATION pour BLACK:
# Droit de parler au serveur
iptables -t filter -A INPUT -i $CARTE_LAN -s $BLACK -j ACCEPT
# Interdit si cette IP se presente depuis le net (Spoofing)
iptables -t filter -A INPUT -i $CARTE_WAN -s $BLACK -j DROP
# Le serveur à le droit de parler à BLACK
iptables -t filter -A OUTPUT -d $BLACK -j ACCEPT
# Droit de parler au NET
iptables -t filter -A FORWARD -s $BLACK -j ACCEPT
# Droit de recevoir une reponse du net SI la connection à été etablie par black
iptables -t filter -A FORWARD -d $BLACK -m state --state RELATED,ESTABLISHED -j ACCEPT
# Port 5900 redirigé pour VNC sur Black
iptables -t nat -A PREROUTING -i $CARTE_WAN -p tcp --dport 5900 -j DNAT --to-destination $BLACK:5900
 
##### AUTORISATION pour KIKIX:
# Le serveur à le droit de parler à KIKIX
iptables -t filter -A OUTPUT -d $KIKIX -j ACCEPT
# Droit de parler au NET
iptables -t filter -A FORWARD -s $KIKIX -j ACCEPT
# Droit de recevoir une reponse du net SI la connection à été etablie par KIKIX
iptables -t filter -A FORWARD -d $KIKIX -m state --state RELATED,ESTABLISHED -j ACCEPT
 
##### AUTORISATION pour CUBIX:
# Le serveur à le droit de parler à CUBIX
iptables -t filter -A OUTPUT -d $CUBIX -j ACCEPT
# Droit de parler au NET
iptables -t filter -A FORWARD -s $CUBIX -j ACCEPT
# Droit de recevoir une reponse du net SI la connection à été etablie par CUBIX
iptables -t filter -A FORWARD -d $CUBIX -m state --state RELATED,ESTABLISHED -j ACCEPT
 
##### AUTORISATIONS pour TENTAKULIX
# Autorise à sortir sur le net
iptables -A OUTPUT -o $CARTE_WAN -s $IP_WAN -j ACCEPT
iptables -A INPUT -i $CARTE_WAN -m state --state RELATED,ESTABLISHED -j ACCEPT
## REFUS du protocole ICMP (i.e. le "ping" ) si ca vient du net
iptables -t filter -A INPUT -i $CARTE_WAN -p icmp -j DROP
iptables -t filter -A INPUT -i $CARTE_LAN -p icmp -j ACCEPT
## REFUS du protocole IGMP (pour le multicast)
iptables -t filter -A INPUT -p igmp -j DROP
## Serveur FTP  
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
## Serveur SSH  
# Autorisé sur LAN pour CUBIX
iptables -t filter -A INPUT -i $CARTE_LAN -s $CUBIX -p tcp --dport 22 -j ACCEPT
# interface WAN uniquement pour Pfizer et Iklo
iptables -t filter -A INPUT -i $CARTE_WAN -s $PFIZER -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -i $CARTE_WAN -s $IKLO -p tcp --dport 22 -j ACCEPT
## Serveur de mail
#iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
## Serveur de DNS
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
## Serveur Web
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
## Serveur Samba
iptables -t filter -A INPUT -i $CARTE_LAN -p tcp --dport 139 -j ACCEPT
iptables -t filter -A INPUT -i $CARTE_LAN -p udp --dport 139 -j ACCEPT
iptables -t filter -A INPUT -i $CARTE_WAN -p tcp --dport 139 -j DROP
iptables -t filter -A INPUT -i $CARTE_WAN -p udp --dport 139 -j DROP
 
 
##### FIN des règles de filtrage
#####################################################################
#####################################################################

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7

Aller à :
Ajouter une réponse
 

Sujets relatifs
[script] séparer des chiffresAntivirus client(win$$) / serveur(debian)
fonctionnalités du serveur asterisk[script] faire une addition avec le flux d'entrée
Comment créer un sous domaine avec un script ?Acceder à un serveur de fichiers sous novell
pb d'affichage de script entre namo 5.5 et firefox 1.0.3[iptables?] Plusieurs passerelles
[iptables] Rediriger certaines ip du port 80 vers ailleursProblème Debian et HLDS (serveur CS) 50% idle
Plus de sujets relatifs à : un script iptables spécial serveur.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)