Bonjour à tous,
Depuis plus d’une semaine nous galérons sur un problème majeur sur notre plateforme externe (hébergée en DMZ) de messagerie. Nous travaillons sur une debian sarge 3.01 [2.4.27-2-386]. Nous avons suivi la procédure : http://workaround.org/articles/ispmail-sarge/ qui fonctionne parfaitement. Ce serveur de messagerie reçoit des mails en provenance d’internet (MX hébergé chez Cegetel) et de l’intranet au travers d’une passerelle. Celle-ci centralise les demandes SMTP, POPS et IMAPS qui sont envoyées vers le serveur de messagerie externe. En externe, chaque PC effectue ces demandes lui-même en utilisant un client de messagerie. Aucun problème sur les clients externes qu’ils soient Outlook ou autres.
En revanche, toutes les environ 11 minutes, le serveur de messagerie refuse les demandes en provenance de la passerelle pendant 1 minute ; en fonction du traffic intense entre la passerelle et le serveur de messagerie le délai de 11 minutes décroit et la durée de blocage passe à 2 voire 3 minutes.
Une analyse des paquets transitant entre la passerelle et le serveur de messagerie nous apprends qu’il refuse systématiquement tout le traffic IP en provenance de la passerelle (SSH, SMTP, SMTPS, POP3, POP3S, IMAP, IMAPS) seul le protocole ICMP est opérationnel. Chaque demande de SYN de la passerelle se solde par un RST ACK de la part du serveur de messagerie.
Pendant le blocage sur le serveur de messagerie, en effectuant un TCPDump nous ne voyons pas passer les demandes en provenance de la passerelle par contre celle en provenance des autres clients tout est OK.
Ce problème n’est visiblement pas au niveau applicatif (PostFix) puisqu’il répond parfaitement aux demandes externes, le filtrage s’effectue uniquement sur la passerelle qui est le concentrateur de l’ensemble des requêtes TCP du LAN (300 users).
Nous pensons que le problème ce situe au niveau de la couche réseau (/etc/network/option spoofprotect = no), les flags sysctl (rp_filter et tcp_syncookies) sont à 0. Le nombre de paquets SYN en provenance de la passerelle à un instant donné peut être relativement très important (20/s).
J'ai encore controlé les flags
cat /proc/sys/net/ipv4/conf/eth0/rp_filter
0
cat /proc/sys/net/ipv4/tcp_syncookies
0
cat /proc/sys/net/ipv4/tcp_max_syn_backlog
1024
cat /proc/sys/net/ipv4/tcp_synack_retries
5
cat /proc/sys/net/ipv4/tcp_ecn
0
cat /proc/sys/net/ipv4/tcp_abort_on_overflow
0
Vraiment, je ne vois pas pourquoi les paquets sont "ignorés".
L’IPTable est provisoirement désactivé en policy access.
Comment activer les logs sur la fonctionnalité de spoofing de la carte réseau ?
Quelle variable doit-on modifier pour inhiber l’option de spoofing en provenance d’une adresse (par exemple la passerelle) ?
Merci pour votre aide.