iptables : DROP ça bloque pas !?!

Le
Jean-Marc Vanel
Bonjour

Je voudrais comprendre ce qui ne marche pas.
Je tourne sur RedHat Fedora Core 1.
Je voudrais bloquer tout accès extérieur au port 4444.
Je fais donc:
/sbin/iptables -A INPUT -p tcp --source-port 4444 -i eth0 -j DROP

J'ai essayé aussi avec REJECT.
J'ai essayé aussi avec :
/sbin/iptables -A INPUT -p tcp --destination-port 4444 -i eth0 -j DROP

Le problème c'est que quand j'essaye avec nmap à partir d'une autre machine du
réseau local, j'ai ceci qui indique que *le port 4444 est ouvert* :

Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on protea (10.0.0.1):
(The 1595 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
80/tcp open http
443/tcp open https
4444/tcp open krb524
8080/tcp open http-proxy
10000/tcp open snet-sensor-mgmt

Et d'ailleurs une tentative de connection à partir de l'autre machine
n'est pas rejettée :

[root@portablejmv jmv]# telnet 10.0.0.1 4444
Trying 10.0.0.1
Connected to protea (10.0.0.1).
Escape character is '^]'.
gggg
Connection closed by foreign host.

--
Voici la liste des règles :

root:/home/jmv/opt2/jboss-3.2.3# /sbin/iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Lokkit-0-50-INPUT all -- anywhere anywhere
DROP tcp -- anywhere anywhere tcp spt:krb524

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Lokkit-0-50-INPUT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Lokkit-0-50-INPUT (2 references)
target prot opt source destination
ACCEPT udp -- ns4.wanadoo.fr anywhere udp spt:domain
dpts:1025:65535
ACCEPT udp -- ns3.wanadoo.fr anywhere udp spt:domain
dpts:1025:65535
ACCEPT udp -- ns4.wanadoo.fr anywhere udp spt:domain
dpts:1025:65535
ACCEPT udp -- ns3.wanadoo.fr anywhere udp spt:domain
dpts:1025:65535
ACCEPT tcp -- anywhere anywhere tcp dpt:http
flags:SYN,RST,ACK/SYN
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
flags:SYN,RST,ACK/SYN
ACCEPT udp -- anywhere anywhere udp
spts:bootps:bootpc dpts:bootps:bootpc
ACCEPT udp -- anywhere anywhere udp
spts:bootps:bootpc dpts:bootps:bootpc
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
REJECT tcp -- anywhere anywhere tcp dpts:0:1023
flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpt:nfs
flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT udp -- anywhere anywhere udp dpts:0:1023
reject-with icmp-port-unreachable
REJECT udp -- anywhere anywhere udp dpt:nfs
reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpts:x11:6009
flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpt:xfs
flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
T0t0
Le #507392
"Jean-Marc Vanel" news:c53158$n3p$

Déjà, ce post aurait mieux sa place sur fr.comp.securite ;-)

Je voudrais comprendre ce qui ne marche pas.
Je tourne sur RedHat Fedora Core 1.
Je voudrais bloquer tout accès extérieur au port 4444.
Je fais donc:
/sbin/iptables -A INPUT -p tcp --source-port 4444 -i eth0 -j DROP


He beh oui mais non.
Les règles d'Iptables sont parcourues dans l'ordre, et la première
matchée est utilisée.

Ces règles là font très mal à ton firewall...
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

De plus, les policy par défaut de tes chaines INPUT, OUTPUT et FORWARD
sont à ACCEPT, ce qui n'est pas canon non plus. Si aucune règle n'est
matchée, les paquets passeront...

Une relecture d'un tutorial iptables s'impose ;-)


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Jean-Marc Vanel
Le #507174
"Jean-Marc Vanel" news:c53158$n3p$
Je voudrais comprendre ce qui ne marche pas.
Je tourne sur RedHat Fedora Core 1.
Je voudrais bloquer tout accès extérieur au port 4444.
Je fais donc:
/sbin/iptables -A INPUT -p tcp --source-port 4444 -i eth0 -j DROP



He beh oui mais non.
Les règles d'Iptables sont parcourues dans l'ordre, et la première
matchée est utilisée.
OK, j'ai donc fait :

/sbin/iptables -I INPUT -p tcp --source-port 4444 -i eth0 -j DROP
et je vois bien cette règle en tête avec iptables --list

mais nmap me voit toujours 444 ouvert :-(


Ces règles là font très mal à ton firewall...
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

De plus, les policy par défaut de tes chaines INPUT, OUTPUT et FORWARD
sont à ACCEPT, ce qui n'est pas canon non plus. Si aucune règle n'est
matchée, les paquets passeront...

Une relecture d'un tutorial iptables s'impose ;-)


J'ai déjà lu
Linux 2.4 Packet Filtering HOWTO
Rusty Russell, mailing list
http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO.html#toc7
mais un peu vite; jusqu'à maintenant ça a été du coup par coup ...
Les règles "Chain RH-Lokkit-0-50-INPUT" viennent tout droit de l'installation de
Fedora.
Je suis le seul sur cette machine, et sais exactement les services qui tournent
dessus. Ce n'est pas un site de production, c'est un réseau domestique sur
lequel je développe des serveurs Web entre autres. Pour mes enfants qui tournent
sur Windows :-( , je laisse tout passer les paquets. Tous les mois ils
réinstallent leur système ... Il faut ça pour jouer.

Merci à Bib et à Jean-Claude


Jean-Claude(06)
Le #507173
Bonjour,

1. Commence par afficher tes regles iptables actives
#iptables -L
(Tu as peut etre une regle en amont qui accepte cela ce qui signifie que lt a regle
plus loin ne sera jamais consultée).
Pense a Flusher tes regles avant toute chose pour voir

2. Attention a tes regles par defaut (Policy)
Par defaut elles devraient etre a DROP (je refuse!!)


3. /sbin/iptables -A INPUT -p tcp --destination-port 4444 -i eth0 -j DROP
Ca interdit sur la machine en question les paquets entrants sur l'interface eth0
qui sont en TCP et a destination du port 4444
Ca semble etre bien ce que tu veux faire ? exact ?


Le problème c'est que quand j'essaye avec nmap à partir d'une autre m achine du
réseau local, j'ai ceci qui indique que *le port 4444 est ouvert* :
4444/tcp open krb524
Voir points 1 et 2


Je n'ai pas regarde tes regles mais deja je n'aime pas les politiques par d efaut !!
(policy ACCEPT)

J.C

Annie D.
Le #507167
Jean-Marc Vanel wrote:

/sbin/iptables -I INPUT -p tcp --source-port 4444 -i eth0 -j DROP
et je vois bien cette règle en tête avec iptables --list

mais nmap me voit toujours 444 ouvert :-(


La règle doit porter sur le port destination, pas source...

Jean-Marc Vanel
Le #507165
Jean-Marc Vanel wrote:

/sbin/iptables -I INPUT -p tcp --source-port 4444 -i eth0 -j DROP
et je vois bien cette règle en tête avec iptables --list

mais nmap me voit toujours 444 ouvert :-(



La règle doit porter sur le port destination, pas source...
OK, ça marche avec --destination-port.

Merci!

Mais alors quel est la signification de ma commande originelle
/sbin/iptables -I INPUT -p tcp --source-port 4444 -i eth0 -j DROP

C'est le port sur la machine qui envoie le paquet ?
Je crois que j'aurais besoin de préciser mes idées sur les bases TCP/IP ...


Publicité
Poster une réponse
Anonyme