Le 10/09/2010 20:11, Pascal Hambourg a écrit : > giggzounet a écrit : >> Le 10/09/2010 15:39, Pascal Hambourg a écrit : >>> >>> giggzounet a écrit : >>> >>>> j'ai un cluster. les noeuds n'ont pas accès au net. Donc je monte un >>>> parefeu sur le master node. Naturellement le master doit accepter tout >>>> ce que vient des noeuds. Et j'aimerais que tout ce que vienne de >>>> l'extérieur soit filtré à part qqs services comme ssh et http. >>> >>> Le master se comporte comme un genre de load balancer ? Il fonctionne >>> plutôt comme un routeur, ou un reverse proxy, ou selon un autre mécanisme ? >> >> le master se charge de distribuer les jobs sur les noeuds. C'est via le >> master que tout le monde se connecte. > > "Via", ça reste vague. Ça peut être via routage et redirection de ports, > ou via un programme. Je suppose que c'est via un programme, donc le > master ne fonctionne pas en routeur et dans ce cas il n'est pas censé y > avoir de trafic dans la chaîne FORWARD. >
disons que normalement il n'agit pas en routeur. mais si les noeuds ont besoin d'internet j'active temporairement l'ip forwarding. >> En gros j'ai 5 interfaces: >> >> lo locahost >> eth0 interface ethernet vers les noeuds >> eth0:2 interface de controle/monitoring des noeuds (ipmi) > > eth0:2 n'est pas une interface mais un alias IP, une façon obsolète > d'affecter une adresse IP supplémentaire à l'interface eth0. > oui. d'ailleurs je suppose que je ne peux pas faire: -A Firewall-1-INPUT -i eth0:2 -s 192.168.200.0/255.255.255.0 -j ACCEPT non ? >> ib0 interface infiniband vers les noeuds >> eth1 interface ethernet vers l'extérieur. >> >> En gros je voudrais qu'en interne il n'y ait aucun filtrage (donc tout >> passe sur lo,ib0,eth0,eth0:2 dans tous les sens). par contre que tout en >> entrée de eth1 soit bloqué sauf le port 22 (pour commencer). en sortie >> sur eth1 je peux laissé ouvert. > > Ça, c'est facile. Ton jeu de règles va déjà plus loin. > ok. donc c'est correct. >> ben pour l'instant ça a l'air de marcher. en gros si je me connecte >> normal ça va. par contre si je lance un nmap par exemple il gueule. > > C'est important qu'il gueule ? > ben non :) >> pour l'instant j'ai ça; qu'en pensez vous (résultat de mon mal de tête...) ? >> >> *filter >> :INPUT ACCEPT [0:0] > > La politique par défaut devrait être DROP. > alors là ya un truc que je ne pige pas: si c'est à DROP tout ce qui rentre va être droppé non ? Dans quel ordre iptables lit il les règles ? pourquoi si :INPUT est à DROP j'arrive tout de même à avoir une connection ssh avec l'autre règle ? >> :FORWARD ACCEPT [0:0] > > Même chose, si la machine n'est pas routeur rien ne doit traverser cette > chaîne. > ok. sauf si j'active temporairement l'ip forwarding, non ? >> :OUTPUT ACCEPT [0:0] >> :Firewall-1-INPUT - [0:0] > > Cette chaîne est inutile, tout ce qu'elle contient peut être mis dans INPUT. > mais via cette chaine je traite INPUT et FORWARD en même temps, non ? >> ## SSH (test brute force) > > Ces règles devraient arriver après les règles anti-spoof. > ok. je corrige >> # IP DROP SPOOF >> -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP >> -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP >> -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP > > Je suppose que tu sais ce que tu fais et que personne n'est censé > communiquer avec ta machine par cette interface depuis ces adresses. > oui. c'est voulu. >> -A INPUT -i eth1 -s 240.0.0.0/5 -j DROP > > Pourquoi /5 et pas /4 ? > aucune idée...le mal de tête :D >> # IP DROP MULTICAST >> -A INPUT -i eth1 -s 224.0.0.0/4 -j DROP > > Pas absolument nécessaire, la plage multicast est invalide en tant que > source donc ces paquets sont de toute façon écartés par la pile IP du noyau. > ok. donc à virer. >> -A INPUT -i eth1 -s 169.254.0.0/16 -j DROP > > Ce n'est pas du multicast, c'est la plage link-local IPv4. > ok. >> # IP DROP LOOPBACK >> -A INPUT -i eth1 -d 127.0.0.0/8 -j DROP > > Pas absolument nécessaire, la plage de loopback est invalide en tant que > source ou destination à l'extérieur de la machine donc ces paquets sont > de toute façon écartés par la pile IP du noyau. > Accessoirement tu n'as pas mis de règle pour bloquer la plage de > loopback en source. > ok. >> -A INPUT -i eth1 -s 240.0.0.0/4 -j DROP > > Ah, voilà la bonne longueur de préfixe. > >> -A INPUT -i eth1 -s 255.255.255.255/32 -j DROP > > Déjà inclus dans le préfixe précédent. > donc à virer ? >> -A INPUT -i eth1 -s 168.254.0.0/16 -j DROP > > Pourquoi, tu as quelque chose contre les écoles publiques du comté de > Hillsborough en Floride ? > ben je les aime po :p >> -A INPUT -i eth1 -s 248.0.0.0/5 -j DROP > > Déjà inclus dans 240.0.0.0/4. > ok. donc je vire. >> -A INPUT -j Firewall-1-INPUT > > Comme déjà dit, autant mettre les règles directement dans INPUT. > >> -A FORWARD -j Firewall-1-INPUT > > Comme déjà dit, aucun paquet ne traverse cette chaîne si la machine > n'est pas routeur. > >> ## Allow all traffic from the nodes >> -A Firewall-1-INPUT -i eth0 -s 192.168.0.0/255.255.255.0 -j ACCEPT >> -A Firewall-1-INPUT -i ib0 -s 192.168.100.0/255.255.255.0 -j ACCEPT >> -A Firewall-1-INPUT -s 192.168.200.0/255.255.255.0 -j ACCEPT > > Toujours vérifier l'interface d'entrée. > Note : spécifier la longueur de préfixe plutôt que le masque est AMA > plus lisible. > ok. mais qu'est ce que je met qd c'est un alias ? dans mon cas eth0:2, je met eth0 ? >> ## Allow icmp >> -A Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT > > Bof. Le ping (echo-request), c'est suffisant. > >> ## Allow IPsec (ESP port 50 and AH port 51) > > Protocoles 50 et 51, pas ports. > >> -A Firewall-1-INPUT -p esp -j ACCEPT >> -A Firewall-1-INPUT -p ah -j ACCEPT > > C'est utile ? > non :) >> ## Allow previously established connections >> -A Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT > > Cette règle devrait se trouver en début de chaîne car c'est elle qui > traite normalement le plus de paquets. > tu veux dire que je dois mettre ça tout en haut ? mais après les DROP ? >> ## Allow SSH >> -A Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT > > Déjà traité plus haut avec le bazar "recent", non ? > vi. ça c'est un "reste" >> ## Do not log smb/windows sharing packets - too much logging >> -A Firewall-1-INPUT -p tcp -i eth1 --dport 137:139 -j REJECT >> -A Firewall-1-INPUT -p udp -i eth1 --dport 137:139 -j REJECT >> ## Packets are DROPPED >> -A Firewall-1-INPUT -j DROP > > Pas logique. Le commentaire dit "do not log", mais il n'y a pas de règle > LOG de toute façon. Et pourquoi REJECT sur les paquets Netbios mais pas > les autres ? > c'est encore un reste. j'ai tenté de logguer mais il y a tellement de tentative...que je me suis retrouvé avec un fichier message de 10 mo en 30 minutes...donc encore un reste. est ce que tu vois des règles utiles à rajouter ? Merci pour le temps consacré, Guillaume -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers [email protected] En cas de soucis, contactez EN ANGLAIS [email protected] Archive: http://lists.debian.org/[email protected]

