Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Iptables et sendmail
Envoyé par: Nikolas

Bonjour,

J'ai à ma disposition quelques scripts iptables que j'utilise suivant les configurations de mes serveurs. Il s'agit ici d'un serveur web uniquement (APACHE). J'ai configuré sendmail et je souhaite que mon firewall laisse sortir les mails. Je poste ci-dessous une configuration très souple de mes iptables (d'habitude je bloque toutes les connexions, y compris les sortantes). Pourtant, malgrès cette configuration, les mails refusent de sortir. Dès que je désactive le firewall, tout les mails partent.

Merci de votre aide :

Ma configuration la plus permissive :

Code:

#!/bin/sh

# Remise à 0 des règles de filtrage
iptables -F

# Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP

# Je veux que les connexions destinées à être forwardées
# soient acceptées par défaut
iptables -P FORWARD ACCEPT

# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT

# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT

# J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -p icmp -j ACCEPT

# J'accepte les packets entrants relatifs à des connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -j REJECT


Je ne comprends pas le problème. J'ai pourtant ouvert tout les OUTPUT. Un envoi sendmail ne devrait se servir que des output et à la limite du DNS en input qui est aussi ouvert non ?

Merci beaucoup de votre aide,

Nicolas

Poste le Wednesday 1 June 2005 11:20:35
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: thefakir

essai de rajouter ca:
iptables -A INPUT -i eth0 -p tcp --sport 25 -j ACCEPT
Mais c'est bizzare ca devrais passer, sinon a quoi sert ta derniere ligne:
iptables -A INPUT -i eth0 -j REJECT ?

Poste le Friday 3 June 2005 15:33:31
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: Nikolas

J'ai rajouté la ligne que tu m'as donné. Supprimé la dernière (qui effectivement ne sert pas à grand chose. Elle permet de rejetter les autres règles par défaut mais comme j'ai un DROP au début elle ne sert à rien). Malheureusement, rien à faire, ca ne passe pas.
Ce qu'il y a d'étrange c'est que quand je tappe mailq, avec le firewall activé, ca plante. Il n'arrive pas à me donner la queue des mails.

Nicolas

Poste le Friday 3 June 2005 18:40:10
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: madko

et les logs de sendmail ils disent quoi lors de la tentative d'envoie?

ton serveur arrive t'il a resoudre les noms de domaine? dig domaine.com MX pour voir s'il arrive a ressoudre le champs MX pour trouver le serveur de mail a qui envoyer justement le courier

Poste le Friday 3 June 2005 19:40:16
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: NiKolas

Alors...

1. Je ne connais pas la commande dig. Il faut une appli particulière pour l'executer ? Car j'ai essayé de tapper la commande, ca ne fonctionne pas. J'ai aussi fait un man dig et ca ne donne rien.

2. J'ai fait un ping mx.domaine.com et avec le firewall ca ne passe pas alors que sans le firewall ca passe. Serait-ce un problème pour sendmail ? Pourtant mon script iptables devrait laisser passer le ping normalement... Je comprends pas bien.

Je remet mon script iptables pour info :

Citation
iptables
#!/bin/sh

# Remise à 0 des règles de filtrage
iptables -F

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP

# Je veux que les connexions destinées à être forwardées
# soient acceptées par défaut
iptables -P FORWARD ACCEPT

# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT

# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT

# J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -p icmp -j ACCEPT

# J'accepte les packets entrants relatifs à des connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT


Poste le Wednesday 8 June 2005 14:52:54
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: thefakir

Tu n'as pas repondu a la question de madko etait essai d'aller voir les log de sendmail.
Et essai de logger ce que tu drop avec iptables:

#Pour logguer tout ce que l'on jette
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-tcp-options --log-ip-options --log-level debug --log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP


et a la fin:
#LOG de tout ce qui n'est pas autorisé
# Voir LOG dans /var/log/kernel/
iptables -A INPUT -i eth1 -j LOG_DROP
iptables -A OUTPUT -o eth1 -j LOG_DROP

Ainsi en analysant les log tu pourras deja mieux voir d'ou viens le probleme si c'est du firewall ou de sendmail.

Poste le Wednesday 8 June 2005 15:25:11
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: Nikolas

J'ai fait ce que tu m'as conseillé mais je n'ai pas de repertoire /var/log/kernel/
Ou peuvent se trouver mes logs ?

Merci pour tes conseils,

Nicolas

Poste le Wednesday 8 June 2005 16:40:23
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: thefakir

ha oui.
edite le fichier /etc/syslog.conf (normalement il se trouve là si tu as une mdk)

tu doit avoir une partie Kernel loging:
#Kernel logging
blabla...
#tu rajoute
kern.=debug /var/log/iptables.log

Poste le Thursday 9 June 2005 16:25:41
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: Nikolas

Rien à faire, il ne veut vraiment pas me mettre ses foutus logs. Ce qui me dérange c'est vraiment que dès que j'ai une commande avec "RELATED,ESTABLISHED", il me met "No chain/target/match by that name"

En cherchant un peu sur le net, j'ai vu qu'il fallait mettre le module ip_state. J'ai vérifié et effectivement je n'ai pas ce module de charger. Mais je ne sais pas comment faire pour charger ce module. J'ai fait un modconf mais il n'apparait pas dans la liste des modules que je peux ajouter.

Une idée ?

Merci

Poste le Friday 10 June 2005 16:38:41
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: madko

le message d'erreur en rapport avec tes -m state est plutot inquietant estce tu as bien les modules ou le support dans le noyau des connections state match et tracking match?

Poste le Friday 10 June 2005 17:04:51
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: nikolas

Bah j'ai pas l'impression
Comment puis-je faire pour les ajouter ? Ils n'apparaissent pas en faisant un modconf.

Nicolas

Poste le Friday 10 June 2005 17:28:33
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: madko

ah bon? dans modconf /kernel/net/ipv4/netfilter tu n'a rien sur conntrack etc?

Poste le Friday 10 June 2005 21:57:56
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: madko

genre ipt_conntrack et ipt_state ça semble bien ça

Poste le Friday 10 June 2005 21:59:21
Répondre     Citer    
Re: Iptables et sendmail
Envoyé par: nikolas

Et non, je n'avais rien... Je suis donc passé par la solution radicale : recompilation du noyau.
Maintenant tout fonctionne. Le problème venait donc bien de là.

Merci à tous pour votre aide.

Poste le Saturday 11 June 2005 10:51:30
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Iptables et sendmail
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons