Vérifier que iptables est bien compris

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

Vérifier que iptables est bien compris

Messagepar BARBOT » 21 Avr 2004 15:15

Bonjour à tous,

Au cours de mes lectures dans les HOWTO de iptables j'ai chercher à vérifier que j'avais bien compris une première chose.

Pour comprendre ce qui m'occupe il faut savoir que j'utilise un fw ipcop 1.3 sur lequel le squidGuard configuré suite à l'installation de petit poulpe fonctionne à merveille.

La config est :

un réseau de 50 postes raccordé via ipcop à une connexion oleane 4100 sécurisé via routeur speedtream et modem adsl speed touch home alcatel.

Je cherche donc à me frotter à nos chers camarades les ports (non pas les porcs...) via le rc.firewall fourni de base dans l'install.

Je suis donc tombé sur un howto trés compréhensible qui m'à donné envie d'aller plus loin.

Il semblait donc qu'en entrant "iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP" j'allais empêcher l'adresse de recevoir un ping envoyé par ping -c 1 127.0.0.1.
Et bien surprise car le ping est toujours recu par le 127.0.0.1

N'écoutant que mon courage le me lance dans un iptables -L INPUT dans lequel je constate que ma règle est bien présente à la fin de la liste que me propose l'écran.

Fin limier je constate plus haut qu'une règle déjà en place est du type ACCEPT icmp anywhere anywhere.

Je suprime donc cette règle pour en avoir le coeur net par un "iptables -D INPUT -p icmp -j ACCEPT"
Et le 127.0.0.1 qui recoit toujours.
N'y tenant plus je tape rageusement un "iptables -A INPUT icmp -j DROP" aprés avoir pris soins de faire un "iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP" histoire d'y voir plus clair.

et les ping continus de passer....

Alors à votre bon coeur cher collègue, je compte sur vous pour me racconter l'épisode que j'ai manifestement raté. :?:
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

Messagepar Franck78 » 21 Avr 2004 15:49

Ca c'est ipcop 1.4: "lo" c'est 127.0.0.1 et c'est ACCEPT.

Il doit y avoir le même genre de code dans 1.3

Code: Tout sélectionner
        # localhost and ethernet.
        /sbin/iptables -A INPUT   -i lo          -m state --state NEW -j ACCEPT
        /sbin/iptables -A INPUT   -s 127.0.0.0/8 -m state --state NEW -j DROP   # Loopback not on lo
        /sbin/iptables -A INPUT   -d 127.0.0.0/8 -m state --state NEW -j DROP
        /sbin/iptables -A FORWARD -i lo          -m state --state NEW -j ACCEPT
        /sbin/iptables -A FORWARD -s 127.0.0.0/8 -m state --state NEW -j DROP
        /sbin/iptables -A FORWARD -d 127.0.0.0/8 -m state --state NEW -j DROP
        /sbin/iptables -A INPUT   -i $GREEN_DEV  -m state --state NEW -j ACCEPT -p ! icmp
        /sbin/iptables -A FORWARD -i $GREEN_DEV  -m state --state NEW -j ACCEPT
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar tomtom » 21 Avr 2004 15:51

OK, rapidos...

Pour ajouter une règle iptables et ETRE SUR qu'elle soit executée en premier, on peut utiliser -I au lieu de -A (I comme Insert, A comme Append). Ainsi, la règle se trouvera en PREMIER dans la liste et sera donc testée en premier.

Secundo, pour ton problème, il faut etre sur qu'un ping 127.0.0.1 partent bien avec l'ip source 127.0.0.1. Ceci n'est pas sur du tout.
Souvent, le ping par avec une des adresses de carte réseau.

La règle pour bloquer le ping localement sera donc plutot sur l'interface d'entré (lo pour interface de loopback) que sur l'adresse source.

Soit :

iptables -I INPUT -i lo -p icmp -j DROP


C'ets plus clair ?

Au passage, es-tu allé voir ce site :
http://christian.caleca.free.fr/netfilter
?

C'est très instructif au début !

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar BARBOT » 21 Avr 2004 20:11

Merci FRANCK ET TOMTOM.

Biensûr; mon but final n'est pas de bloquer tous les ping mais, pour l'instant, d'essayer d'avoir un résultat en modifiant la config de base.

Je vais donc dés demain essayer de voir si j'y arrive en suivant vos conseil et à bientôt ... sur le web
:-ooo:
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

Messagepar BARBOT » 22 Avr 2004 09:07

Bon j'ai testé "iptables -I INPUT -i lo -p icmp -j DROP" et a ma grande satisfaction ... plus de ping.

Merci, :D je vais donc continuer à tenter de comprendre comment influencer l'hydre iptables qui me semble bien susceptible...

à suivre...
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

iptables et les logs

Messagepar BARBOT » 22 Avr 2004 18:15

Bonjour,

Je continu donc et sur le site conseillé par tomtom j'ai trouvé interressant de tester si des logs remontaient via (pour persister un peu) un ping.
J'ai donc tenté un "iptables - A INPUT -i eth0 -p icmp -j LOG".

Aprés avoir envoyé un ping sur une ma pate verte (eth0) via un poste de mon réseaux je suis allé voir le fichier messages sous var/log.

C'est vrai qu'il y a un paquet de log dans ce machin mais malheureusement rien qui ressemble à ce que note la personne qui à fait le site que j'ai consulté.

Alors si vous comprenez, je suis encore preneur.

a+ :cry:
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

Messagepar tomtom » 22 Avr 2004 18:43

Reflechis un peu...

Tu as utilisé _A, ce qui signifie que ta règle est à la fin de INPUT.

Or, il y a sur IPCop une règle dans INPUT qui autorise toute connexion à partir du lan (l'equivalent de -A INPUT -i eth0 -j ACCEPT, mais avec des variables surement).

Et, si tu as suivi tous mes conseils et lu le site de C. Caleca, tu sais que la première règle qui matche est appliquée, et que les autres ne sont pas traitées.. Ta règle n'est donc probablement jamais lue !

Essaye donc

iptables -I INPUT -i eth0 -p icmp -j LOG --log-prefix [ICMP-ETH0]

Je suis sur que tu vas voir apparaitres des trucs sympa dans /var/log/messages
(le log-prefix te permet de mettre dans les logs des chaines facilement chercheables --pardon pour le neologisme)

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

toujours pareil

Messagepar BARBOT » 23 Avr 2004 09:02

Ok je teste ça dqp.

Merci d'adhérer à ma politique de l'erreur et de la correction.

Je lit un max mais c'est pas évident de toujours être au top de la comprenette...

à +
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

tjs pareil

Messagepar BARBOT » 23 Avr 2004 13:44

Bon promis j'ai fait tout comme t'as dit.
iptables -I INPUT -i eth0 -p icmp -j LOG --log-prefix[ICMP-ETH0]

La réponse de mon systeme est:
iptables v1.2.7a: Unknown arg `--log-prefix[ICMP-ETH0]'

Mon ipcop est un 1.3 avec les fixes passés jusqu'au 9 ième.

Dois je faire un truc pour que mon iptables accepte ton argument ?

Cela dit j'ai essayé sans l'argument (iptables -I INPUT -i eth0 -p icmp -j LOG) et la seule réponse qui me semble en rapport avec mon ping 10.56.192.200 arrêté par un crtl c est :
Apr 23 13:37:11 ipcop last message repeated 3 times

Me trompe je ?

En tout état de cause la personne qui à fait le site "netfilter" que tu m'as conseillé fait état de nombreux détails dans le paragraphe "le cible LOG" qui n'apparaissent pas du tout dans mon fichier message.

Alors patoge je ?

à+ (si t'en as pas mare)
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

Re: tjs pareil

Messagepar tomtom » 23 Avr 2004 13:48

BARBOT a écrit:Bon promis j'ai fait tout comme t'as dit.
iptables -I INPUT -i eth0 -p icmp -j LOG --log-prefix[ICMP-ETH0]



Ne promets pas à la légère ;)

Moi j'ai mis un espace entre "log-prefix" et "[ICMP..."

;)

T.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar BARBOT » 23 Avr 2004 14:31

:oops:
J'ai un peu honte mais te remercie de ne pas m'avoir trop accablé.
cela dit j'ai rien vu de clair dans les messages et pour te prouver ma bonne volonté je te dit tout:
voila les règles en place aprés avoir passé ta commande :

root@ipcop:/var/log # iptables -L INPUT
Chain INPUT (policy DROP)
target prot opt source destination
ipac~o all -- anywhere anywhere
LOG icmp -- anywhere anywhere LOG level warning prefix `[ICMP-ETH0]'
PSCAN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
PSCAN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/NONE
tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 10/sec burst 5
CUSTOMINPUT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
RED all -- anywhere anywhere
XTACCESS all -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 10/min burst 5 LOG level warning prefix `INPUT '
root@ipcop:/var/log #

voici l'heure à laquelle j'ai fait mon ping

root@ipcop:/var/log # date
Fri Apr 23 14:23:37 CEST 2004
root@ipcop:/var/log # ping 10.56.192.200
PING 10.56.192.200 (10.56.192.200) from 10.56.192.200 : 56(84) bytes of data.
64 bytes from 10.56.192.200: icmp_seq=0 ttl=64 time=115 usec
64 bytes from 10.56.192.200: icmp_seq=1 ttl=64 time=65 usec
64 bytes from 10.56.192.200: icmp_seq=2 ttl=64 time=61 usec
64 bytes from 10.56.192.200: icmp_seq=3 ttl=64 time=69 usec

--- 10.56.192.200 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.061/0.077/0.115/0.023 ms
root@ipcop:/var/log #

voici les message qui figure dans le fichier sous /var.log et qui recouvre l'heure de mon ping
Apr 23 14:20:41 ipcop snort: Portscan2 config:
Apr 23 14:20:41 ipcop snort: log: /var/log/snort/scan.log
Apr 23 14:20:41 ipcop snort: scanners_max: 256
Apr 23 14:20:41 ipcop snort: targets_max: 1024
Apr 23 14:20:41 ipcop snort: target_limit: 5
Apr 23 14:20:41 ipcop snort: port_limit: 20
Apr 23 14:20:41 ipcop snort: timeout: 60
Apr 23 14:20:41 ipcop dnsmasq[5501]: reading /var/lib/dhcp/dhcpd.leases
Apr 23 14:20:41 ipcop snort: Snort initialization completed successfully
Apr 23 14:22:29 ipcop dnsmasq[5501]: reading /var/lib/dhcp/dhcpd.leases
Apr 23 14:22:35 ipcop last message repeated 103 times
Apr 23 14:25:00 ipcop modprobe: modprobe: Can't locate module ppp0
Apr 23 14:25:11 ipcop snort: pcap_loop: recvfrom: Network is down
Apr 23 14:25:11 ipcop snort: Snort exiting

je vois pas bien ou ce trouve le truc qui nous occupe et toi ?
[/b]
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

suite du message précedant

Messagepar BARBOT » 23 Avr 2004 14:58

Au fait voilà ce que dit la personne qui à fait le site netfilter

iptables -A INPUT -i eth0 -p icmp -j LOG
Ce qui veut dire en français :

Ajouter à la chaîne INPUT la règle suivante : envoyer vers la cible LOG tout paquet ICMP qui entre par eth0

La machine dont l'IP de eth0 est 192.168.0.253 envoie un ping sur la machine192.168.0.251.

ping -n 1 192.168.0.251
Nous allons tracer la réponse au ping (INPUT). Nous récupérons cette trace dans /var/log/messages :

Dec 1 22:40:11 linux kernel:
IN=eth0
OUT= MAC=00:00:b4:bb:5d:ee:00:20:18:29:11:31:08:00
SRC=192.168.0.251
DST=192.168.0.253
LEN=84 TOS=0x00
PREC=0x00
TTL=255 ID=4938
PROTO=ICMP TYPE=0
CODE=0
ID=53771
SEQ=256
[/b]
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS

Messagepar tomtom » 23 Avr 2004 15:46

Tu as bien regardé dans le fichier /var/log/messages ?

Et sinon, ton interface coté lan c'est bien eth0 ?

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar BARBOT » 23 Avr 2004 16:10

si c'est bien en faisant "less messages" dans le répertoire /var/log je confirme et pour eth0 voici mon ifconfig
root@ipcop:~ # ifconfig
eth0 Link encap:Ethernet HWaddr 00:30:84:25:3C:29
inet addr:10.56.192.200 Bcast:10.56.192.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:731 errors:0 dropped:0 overruns:0 frame:0
TX packets:589 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:97112 (94.8 Kb) TX bytes:306315 (299.1 Kb)
Interrupt:11 Base address:0x6f00

Serai je dans la 4ième dimension ?

:cry:
BIDOUILLE
Avatar de l’utilisateur
BARBOT
Premier-Maître
Premier-Maître
 
Messages: 48
Inscrit le: 17 Sep 2003 00:00
Localisation: GUJAN MESTRAS


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron