mail
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
mail [2017/11/04 19:06] – Ajout antispam mirtouf | mail [2017/11/26 10:42] (Version actuelle) – [3.1. main.cf] Modification DH mirtouf | ||
---|---|---|---|
Ligne 40: | Ligne 40: | ||
puis dovecot: | puis dovecot: | ||
< | < | ||
- | apt install dovecot-imapd | + | apt install dovecot-imapd |
</ | </ | ||
Ligne 73: | Ligne 73: | ||
===== 2. Installation et configuration de modoboa ===== | ===== 2. Installation et configuration de modoboa ===== | ||
+ | ==== 2.1. Installation de modoboa via pip ==== | ||
C'est du python et donc il faut mieux travailler dans un // | C'est du python et donc il faut mieux travailler dans un // | ||
Avec votre utilisateur non privilégié il faut passer dans un environnement virtuel pour installer modoboa: | Avec votre utilisateur non privilégié il faut passer dans un environnement virtuel pour installer modoboa: | ||
Ligne 83: | Ligne 84: | ||
</ | </ | ||
- | puis déployer une instance (référez-vous à la [[https:// | + | ==== 2.2. Déploiement de modoboa ==== |
+ | Ensuite il faut déployer une instance (référez-vous à la [[https:// | ||
< | < | ||
- | pour de belles statistiques (utilisateur privilégié): | + | pour de belles statistiques (utilisateur privilégié |
< | < | ||
où ce chemin sera renseigné dans l' | où ce chemin sera renseigné dans l' | ||
Ligne 95: | Ligne 97: | ||
Veuillez noter que selon votre configuration, | Veuillez noter que selon votre configuration, | ||
- | Le fichier à placer | + | ==== 2.3. Crontab pour modoboa ==== |
+ | Le fichier à éditer | ||
< | < | ||
# Modoboa specific cron jobs | # Modoboa specific cron jobs | ||
Ligne 123: | Ligne 126: | ||
===== 3. Postfix ===== | ===== 3. Postfix ===== | ||
+ | ==== 3.1. main.cf ==== | ||
Pour postfix c'est assez simple, le main.cf (avec une mise en forme qui plairait à hardware): | Pour postfix c'est assez simple, le main.cf (avec une mise en forme qui plairait à hardware): | ||
< | < | ||
Ligne 213: | Ligne 217: | ||
smtpd_tls_cert_file | smtpd_tls_cert_file | ||
smtpd_tls_key_file | smtpd_tls_key_file | ||
- | smtpd_tls_dh1024_param_file | + | smtpd_tls_dh1024_param_file |
- | smtpd_tls_dh512_param_file | + | |
tls_preempt_cipherlist = yes | tls_preempt_cipherlist = yes | ||
Ligne 258: | Ligne 261: | ||
transport_maps | transport_maps | ||
mysql:/ | mysql:/ | ||
- | mysql:/ | + | mysql:/ |
+ | hash:/ | ||
###################### | ###################### | ||
Ligne 394: | Ligne 398: | ||
:!: Veuillez noter que / | :!: Veuillez noter que / | ||
+ | Le fichier Diffie-Hellman contient ceci et est préférentiellement choisi car audité de façon régulière: | ||
+ | < | ||
+ | -----BEGIN DH PARAMETERS----- | ||
+ | MIIBCAKCAQEA////////// | ||
+ | +8yTnc4kmz75fS/ | ||
+ | 87VXE15/ | ||
+ | YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi | ||
+ | 7MA0BM0oNC9hkXL+nOmFg/ | ||
+ | ssbzSibBsu/ | ||
+ | -----END DH PARAMETERS----- | ||
+ | </ | ||
+ | ==== 3.2. master.cf ==== | ||
Le master.cf: | Le master.cf: | ||
< | < | ||
Ligne 508: | Ligne 524: | ||
-o smtp_dns_support_level=dnssec | -o smtp_dns_support_level=dnssec | ||
-o smtp_tls_security_level=dane | -o smtp_tls_security_level=dane | ||
+ | |||
+ | # Modoboa DMARC | ||
+ | dmarc-rua-parser unix - | ||
+ | flags= user=vmail: | ||
# Zeyple | # Zeyple | ||
Ligne 525: | Ligne 545: | ||
# Vacation (modoboa) | # Vacation (modoboa) | ||
autoreply | autoreply | ||
- | | + | |
</ | </ | ||
+ | ==== 3.3. Complément DMARC ==== | ||
+ | Il faut ajouter le fichier suivant dans / | ||
+ | < | ||
+ | adresse_dmarc_enregistrement_DNS@domaine.tld dmarc-rua-parser: | ||
+ | </ | ||
+ | puis un coup de postmap bien placé: | ||
+ | < | ||
+ | postmap / | ||
+ | </ | ||
===== 4.Dovecot ===== | ===== 4.Dovecot ===== | ||
+ | ==== 4.1. Configuration générale ==== | ||
La configuration générale de dovecot dans / | La configuration générale de dovecot dans / | ||
- | / | + | ==>/ |
< | < | ||
disable_plaintext_auth = no | disable_plaintext_auth = no | ||
Ligne 540: | Ligne 570: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
service director { | service director { | ||
Ligne 568: | Ligne 598: | ||
</ | </ | ||
- | etc/ | + | ==>etc/ |
< | < | ||
mail_location = maildir: | mail_location = maildir: | ||
Ligne 581: | Ligne 611: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
service imap-login { | service imap-login { | ||
Ligne 640: | Ligne 670: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
ssl = required | ssl = required | ||
Ligne 649: | Ligne 679: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
postmaster_address = postmaster@domaine.tld | postmaster_address = postmaster@domaine.tld | ||
Ligne 663: | Ligne 693: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
namespace inbox { | namespace inbox { | ||
Ligne 689: | Ligne 719: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocol imap { | protocol imap { | ||
Ligne 696: | Ligne 726: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocol lmtp { | protocol lmtp { | ||
Ligne 704: | Ligne 734: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocols = $protocols sieve | protocols = $protocols sieve | ||
Ligne 729: | Ligne 759: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocol pop3 { | protocol pop3 { | ||
Ligne 736: | Ligne 766: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 744: | Ligne 774: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 760: | Ligne 790: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 781: | Ligne 811: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 787: | Ligne 817: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 798: | Ligne 828: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 807: | Ligne 837: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 819: | Ligne 849: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 829: | Ligne 859: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 841: | Ligne 871: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 853: | Ligne 883: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 863: | Ligne 893: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 875: | Ligne 905: | ||
</ | </ | ||
- | Les autres fichiers utiles tels / | + | ==== 4.2. Gestion de la db ==== |
+ | Les autres fichiers utiles tels ==>/ | ||
< | < | ||
default_pass_scheme = MD5 | default_pass_scheme = MD5 | ||
Ligne 899: | Ligne 930: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
connect = host=127.0.0.1 dbname=DB user=USER password=PWD | connect = host=127.0.0.1 dbname=DB user=USER password=PWD | ||
Ligne 925: | Ligne 956: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
driver = mysql | driver = mysql | ||
Ligne 935: | Ligne 966: | ||
</ | </ | ||
+ | ==== 4.3. scripts utiles ==== | ||
Il faut aussi des scripts utiles: | Il faut aussi des scripts utiles: | ||
- | / | + | ==>/ |
< | < | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 949: | Ligne 981: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 962: | Ligne 994: | ||
</ | </ | ||
+ | ==== 4.4 antispam ==== | ||
Pour l' | Pour l' | ||
- | / | + | ==>/ |
< | < | ||
require [" | require [" | ||
Ligne 982: | Ligne 1015: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
require [" | require [" | ||
Ligne 993: | Ligne 1026: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
#!/bin/bash | #!/bin/bash | ||
Ligne 1001: | Ligne 1034: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
#!/bin/bash | #!/bin/bash | ||
# rspamd client reads piped spam message from the standard input | # rspamd client reads piped spam message from the standard input | ||
- | exec / | + | exec / |
</ | </ | ||
+ | |||
===== 5. nginx et uwsgi ===== | ===== 5. nginx et uwsgi ===== | ||
+ | ==== 5.1. configuration du domaine principal ==== | ||
Le domaine principal mail.domaine.tld sera configuré de cette façon: | Le domaine principal mail.domaine.tld sera configuré de cette façon: | ||
< | < | ||
Ligne 1074: | Ligne 1109: | ||
</ | </ | ||
+ | ==== 5.2. uwsgi ==== | ||
et le fichier nécessaire pour uwsgi (à adapter à votre utilisation): | et le fichier nécessaire pour uwsgi (à adapter à votre utilisation): | ||
< | < | ||
Ligne 1091: | Ligne 1127: | ||
===== 6. Rspamd ===== | ===== 6. Rspamd ===== | ||
+ | ==== 6.1. Configuration ==== | ||
Les fichiers de configuration de rspamd ne doivent pas être modifiés, il faut soit les compléter (dossier local.d) ou les remplacer (override.d), | Les fichiers de configuration de rspamd ne doivent pas être modifiés, il faut soit les compléter (dossier local.d) ou les remplacer (override.d), | ||
- | / | + | ==>/ |
< | < | ||
worker " | worker " | ||
Ligne 1233: | Ligne 1270: | ||
==> / | ==> / | ||
- | </code> | + | < |
# If false, messages with empty envelope from are not signed | # If false, messages with empty envelope from are not signed | ||
allow_envfrom_empty = true; | allow_envfrom_empty = true; | ||
Ligne 1666: | Ligne 1703: | ||
enable_password = " | enable_password = " | ||
</ | </ | ||
+ | q1 et q2 sont les mots de passe à modifier. | ||
+ | |||
+ | ==== 6.2. Commandes utiles ==== | ||
+ | Changer les mots de passe q1 et q2: | ||
+ | < | ||
+ | rspamadm pw | ||
+ | </ | ||
+ | |||
+ | Générer une clef privée qui doit être absolument être lisible par l' | ||
+ | < | ||
+ | rspamadm dkim_keygen -s ' | ||
+ | </ | ||
+ | avec l' |
mail.1509822397.txt.gz · Dernière modification : 2017/11/04 19:06 de mirtouf