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 18:59] – Ajour rspamd 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 51: | Ligne 51: | ||
< | < | ||
apt install nginx-full uwsgi-python | apt install nginx-full uwsgi-python | ||
+ | </ | ||
+ | |||
+ | puis redis-server: | ||
+ | < | ||
+ | apt install redis-server | ||
+ | </ | ||
+ | |||
+ | puis clamav: | ||
+ | < | ||
+ | apt install clamav clamav-daemon | ||
</ | </ | ||
Ligne 63: | 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 73: | 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 85: | 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 113: | 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 203: | 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 248: | Ligne 261: | ||
transport_maps | transport_maps | ||
mysql:/ | mysql:/ | ||
- | mysql:/ | + | mysql:/ |
+ | hash:/ | ||
###################### | ###################### | ||
Ligne 384: | 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 498: | 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 515: | 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 530: | Ligne 570: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
service director { | service director { | ||
Ligne 558: | Ligne 598: | ||
</ | </ | ||
- | etc/ | + | ==>etc/ |
< | < | ||
mail_location = maildir: | mail_location = maildir: | ||
Ligne 571: | Ligne 611: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
service imap-login { | service imap-login { | ||
Ligne 630: | Ligne 670: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
ssl = required | ssl = required | ||
Ligne 639: | Ligne 679: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
postmaster_address = postmaster@domaine.tld | postmaster_address = postmaster@domaine.tld | ||
Ligne 653: | Ligne 693: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
namespace inbox { | namespace inbox { | ||
Ligne 679: | Ligne 719: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocol imap { | protocol imap { | ||
Ligne 686: | Ligne 726: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocol lmtp { | protocol lmtp { | ||
Ligne 694: | Ligne 734: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocols = $protocols sieve | protocols = $protocols sieve | ||
Ligne 719: | Ligne 759: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
protocol pop3 { | protocol pop3 { | ||
Ligne 726: | Ligne 766: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 734: | Ligne 774: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 750: | Ligne 790: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 771: | Ligne 811: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
plugin { | plugin { | ||
Ligne 777: | Ligne 817: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 788: | Ligne 828: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 797: | Ligne 837: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 809: | Ligne 849: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 819: | Ligne 859: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 831: | Ligne 871: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 843: | Ligne 883: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 853: | Ligne 893: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
passdb { | passdb { | ||
Ligne 865: | 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 889: | 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 915: | Ligne 956: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
driver = mysql | driver = mysql | ||
Ligne 925: | Ligne 966: | ||
</ | </ | ||
+ | ==== 4.3. scripts utiles ==== | ||
Il faut aussi des scripts utiles: | Il faut aussi des scripts utiles: | ||
- | / | + | ==>/ |
< | < | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 939: | Ligne 981: | ||
</ | </ | ||
- | / | + | ==>/ |
< | < | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 950: | Ligne 992: | ||
Your mailbox is now $PERCENT% full. | Your mailbox is now $PERCENT% full. | ||
EOF | EOF | ||
+ | </ | ||
+ | |||
+ | ==== 4.4 antispam ==== | ||
+ | Pour l' | ||
+ | ==>/ | ||
+ | < | ||
+ | require [" | ||
+ | |||
+ | if environment :matches " | ||
+ | set " | ||
+ | } | ||
+ | |||
+ | if string " | ||
+ | stop; | ||
+ | } | ||
+ | |||
+ | if environment :matches " | ||
+ | set " | ||
+ | } | ||
+ | |||
+ | pipe :copy " | ||
+ | </ | ||
+ | |||
+ | ==>/ | ||
+ | < | ||
+ | require [" | ||
+ | |||
+ | if environment :matches " | ||
+ | set " | ||
+ | } | ||
+ | |||
+ | pipe :copy " | ||
+ | </ | ||
+ | |||
+ | ==>/ | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | # rspamd client reads piped ham message from the standard input | ||
+ | exec / | ||
+ | </ | ||
+ | |||
+ | ==>/ | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | # rspamd client reads piped spam message from the standard input | ||
+ | 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 1018: | 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 1035: | 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 1177: | 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 1610: | 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.1509821958.txt.gz · Dernière modification : 2017/11/04 18:59 de mirtouf