Debian + postfix + apache = spam [HELP]
Bonjour à tous,
Je viens ici chercher de l'aide car je galère depuis plusieurs jours sur la configuration de mon serveur.
Voila le topo :
J'ai un serveur vps chez OVH.
Un nom de domaine associé avec la config dns qui le fait pointer dessus (également un smtp.mondomaine.com qui fonctionne).
host -t MX smtp.mondomaine.com renvoie la bonne adresse.
J'ai installé un serveur apache pour héberger mon site.
J'accède bien au site par mondomaine.com.
Ce site doit envoyer des mails (via la fonction mail() de php avec un user bateau type contact@mondomaine.com).
Mes problèmes (au pluriels :p) :
Ils concernent :
- La config iptables
- L'envoi de mail (fonctionne mais pas sur que la config soit propre)
- L'ajout de dkim dans les mails
- La vérification spamsassassin
Firewall :
Si j'active mon firewall, les mails ne passent plus (je prend un timeout sur l'adresse mx.hebergeurdestinataire.com:25)
J'ai ajouté ces 2 règles mais ça ne semble pas fonctionner.
Code:
1 2 3
|
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT |
Seules solutions pour le moment (temporaire tant que je suis en mode config bien sur), mettre (sur input, output et forward) :
Code:
1 2
|
iptables -t filter -P INPUT ACCEPT |
Ai-je oublié une règle ?
Postfix et DKIM :
J'ai vu plusieurs posts ovh qui parlaient de problème sur le port 25, et qui parlaient d'utiliser le port 587. En suivant des tutos, j'ai modifié ma config postfix dont voila des extraits :
master.cf
Code:
1 2 3 4 5 6 7 8 9 10 11
|
service type private unpriv chroot wakeup maxproc command + args
smtp inet n - - - - 1 smtpd
-o content_filter=spamassassin
-o stmp_milters=inet:localhost:8891
submission inet n - - - - 1 smtpd
-o stmp_milters=inet:localhost:8891
587 inet n - y - - 1 smtpd
-o stmp_milters=inet:localhost:8891 |
main.cf
Code:
1 2 3 4 5 6 7 8 9 10
|
myhostname = vps7xxxx.ovh.net
mydestination = mondomaine.com, vps7xxxxx.ovh.net, localhost.ovh.net
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
sender_canonical_maps = hash:/etc/postfix/canonical |
La derniere ligne sender_canonical_maps me sert à modifier l'exépditeur www-data en contact@mondomaine.com (est-ce la bonne solution ?)
Pour le DKIM, j'ai créé 2 clés private et public avec openssl, et j'ai mis une entrée dns :
Code:
1 2
|
postfix._domainkey.mondomaine.com DKIM k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQ UAA4GNADCBiQKBgQDEUL32Gv t3zaVnaTy4YewN1xfS/7dm4ibVS Wszo1RtxX+HRcPbsk3uBiQiXNI WVWqdc59VmPemi57ZlhUkAV6y uNI9hmh5XX+pWAiUCCnwErxA X+7HZFcDZPft7GepObGxKDr2S KlpYZ2BhXzal6LR9VWQIw3QexX czqL6+LcI6QIDAXXX |
La config DKIM :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#UMask 002
Domain mondomaine.com
KeyFile /etc/postfix/opendkim/private.key
Selector postfix
AutoRestart yes
Background yes
Canonicalization relaxed/relaxed
DNSTimeout 5
Mode sv
SignatureAlgorithm rsa-sha256
SubDomains no
X-Header no |
Et dans /etc/default/opendkim
Code:
1 2
|
SOCKET="inet:8891@localhost" |
Dans le log mail j'ai cette erreur :
Code:
postfix/cleanup[4386] : warning: connect to Milter service inet:localhost:8891: Connection refused
Quand je lance postfix, j'ai également beaucoup de warning, tous identiques :
Code:
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_milters=inet:localhost:8891
-Spamassassin
Sauf que je recoit mes mails en spam et en testant sur mail-tester.com, j'ai les problèmes suivants :
Code:
1 2 3 4 5 6 7 8
|
-1.99 FROM_MISSP_DYNIP From misspaced + dynamic rDNS
-0.001 HTML_MESSAGE HTML included in message
No worry, that's expected if you send HTML e-mails
-0.363 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS
0.001 SPF_PASS SPF: sender matches SPF record
Great! Your SPF is valid
-0.01 T_TVD_MIME_EPI T_TVD_MIME_EPI |
Code:
1 2 3 4 5 6 7 8 9
| [SPF]
Votre serveur 92.XXX.XXX.XXX est authentifié pour utiliser contact@mondomaine.com
✓
[Sender ID] Votre serveur 92.XXX.XXX.XXX est authentifié pour utiliser contact@mondomaine.com
-1
Votre message n'est pas signé avec DKIM
DomainKeys Identified Mail (DKIM) est une méthode permettant d'associer un nom de domaine à un message e-mail, ce qui permet à une personne, une organisation de revendiquer certaines responsabilités pour le message.
✓
Votre reverse DNS ne correspond pas avec votre domaine d'envoi. |
Voila, désolé pour ce pavé ...
Si vous voyez des problèmes dans les configs, ou dans la facon de faire (pas trop de connaissance linux) ... je suis preneur ... je suis au fond la :p
Merci d'avance pour votre aide :)