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 | ||
| serveur_mail [2024/12/12 13:34] – huracan | serveur_mail [2024/12/12 15:04] (Version actuelle) – huracan | ||
|---|---|---|---|
| Ligne 115: | Ligne 115: | ||
| On va commencer par ajouter un nouveau domaine, dans notre exemple il s'agit de kenny.ovh : | On va commencer par ajouter un nouveau domaine, dans notre exemple il s'agit de kenny.ovh : | ||
| - | {{:postfixadmin.jpg?400|}} | + | |
| + | {{ :mail_server2.jpg?direct& | ||
| Et une adresse email, exemple kenny@kenny.ovh : | Et une adresse email, exemple kenny@kenny.ovh : | ||
| - | {{:mail.jpg?400|}} | + | {{ :mail_server3.jpg?direct& |
| Voila, vous avez ajouté votre première adresse email, like a boss, maintenant on va passer aux choses sérieuses. | Voila, vous avez ajouté votre première adresse email, like a boss, maintenant on va passer aux choses sérieuses. | ||
| Ligne 242: | Ligne 243: | ||
| Organization Name (eg, company) [Internet Widgits Pty Ltd]: Corp Ovh | Organization Name (eg, company) [Internet Widgits Pty Ltd]: Corp Ovh | ||
| Organizational Unit Name (eg, section) []:Mail server | Organizational Unit Name (eg, section) []:Mail server | ||
| - | Common Name (e.g. server FQDN or YOUR name) []: Dams | + | Common Name (e.g. server FQDN or YOUR name) []: kenny |
| openssl x509 -req -days 1460 -sha256 -in mailserver.csr -CA ca.cert.pem -CAkey ca.key.pem -CAcreateserial -out mailserver.crt | openssl x509 -req -days 1460 -sha256 -in mailserver.csr -CA ca.cert.pem -CAkey ca.key.pem -CAcreateserial -out mailserver.crt | ||
| Ligne 305: | Ligne 306: | ||
| inet_protocols = ipv4 | inet_protocols = ipv4 | ||
| | | ||
| - | myhostname | + | myhostname |
| - | myorigin | + | myorigin |
| mydestination = localhost localhost.$mydomain | mydestination = localhost localhost.$mydomain | ||
| mynetworks | mynetworks | ||
| Ligne 385: | Ligne 386: | ||
| | | ||
| # Le contenur local est organisé de cette manière : | # Le contenur local est organisé de cette manière : | ||
| - | # / | + | # / |
| mail_location = maildir:/ | mail_location = maildir:/ | ||
| maildir_stat_dirs=yes | maildir_stat_dirs=yes | ||
| Ligne 402: | Ligne 403: | ||
| Les emails seront stockés dans le répertoire /var/mail. On doit donc créer un répertoire correspondant à notre domaine (celui qui est présent dans la table domain). | Les emails seront stockés dans le répertoire /var/mail. On doit donc créer un répertoire correspondant à notre domaine (celui qui est présent dans la table domain). | ||
| - | mkdir -p / | + | mkdir -p / |
| Maintenant on ajoute un nouvel utilisateur et un nouveau groupe nommé vmail avec un UID/GID de 5000 : | Maintenant on ajoute un nouvel utilisateur et un nouveau groupe nommé vmail avec un UID/GID de 5000 : | ||
| Ligne 427: | Ligne 428: | ||
| | | ||
| # Par contre le nom d' | # Par contre le nom d' | ||
| - | # %d = dams.ovh | + | # %d = kenny.ovh |
| # %n = utilisateur | # %n = utilisateur | ||
| userdb { | userdb { | ||
| Ligne 573: | Ligne 574: | ||
| La configuration du client mail reste relativement simple, il ne faut juste pas se tromper de port : | La configuration du client mail reste relativement simple, il ne faut juste pas se tromper de port : | ||
| - | serveur de reception IMAP : smtp.dams.ovh | le port est 993 chiffrement SSL/TLS | + | serveur de reception IMAP : smtp.kenny.ovh | le port est 993 chiffrement SSL/TLS |
| - | serveur d' | + | serveur d' |
| ==== 9 - Tests de fonctionnement ==== | ==== 9 - Tests de fonctionnement ==== | ||
| Ligne 586: | Ligne 587: | ||
| Si vous avez les deux lignes suivantes c'est que la connexion IMAP/TLS est OK (ouf 😛) | Si vous avez les deux lignes suivantes c'est que la connexion IMAP/TLS est OK (ouf 😛) | ||
| Aug 16 19:37:11 hostname dovecot: auth-worker(xxx): | Aug 16 19:37:11 hostname dovecot: auth-worker(xxx): | ||
| - | Aug 16 19:37:11 hostname dovecot: imap-login: Login: user=<damien@dams.ovh>, method=PLAIN, | + | Aug 16 19:37:11 hostname dovecot: imap-login: Login: user=<kenny@kenny.ovh>, method=PLAIN, |
| CLIENT, lip=ADRESSE IP SERVEUR, mpid=xxx, TLS, session=< | CLIENT, lip=ADRESSE IP SERVEUR, mpid=xxx, TLS, session=< | ||
| Ligne 595: | Ligne 596: | ||
| Aug 16 19:54:14 hostname dovecot: auth-worker(xxx): | Aug 16 19:54:14 hostname dovecot: auth-worker(xxx): | ||
| Aug 16 19:54:14 hostname postfix/ | Aug 16 19:54:14 hostname postfix/ | ||
| - | sasl_username=damien.cel@gmail.com | + | sasl_username=kenny.kenny@gmail.com |
| - | Aug 16 19:54:15 hostname postfix/ | + | Aug 16 19:54:15 hostname postfix/ |
| __Troisième test : réception par IMAP__ | __Troisième test : réception par IMAP__ | ||
| Si vous avez les lignes suivantes dans le fichiers mail.log, c'est que la réception par IMAP et le transfert de l' | Si vous avez les lignes suivantes dans le fichiers mail.log, c'est que la réception par IMAP et le transfert de l' | ||
| - | Aug 16 20:04:58 hostname postfix/ | + | Aug 16 20:04:58 hostname postfix/ |
| cipher ECDHE-RSA-RC4-SHA (128/128 bits) | cipher ECDHE-RSA-RC4-SHA (128/128 bits) | ||
| - | Aug 16 20:05:00 hostname postfix/ | + | Aug 16 20:05:00 hostname postfix/ |
| - | Aug 16 20:05:01 hostname dovecot: lmtp(xxx, | + | Aug 16 20:05:01 hostname dovecot: lmtp(xxx, |
| - | Aug 16 20:05:01 hostname postfix/ | + | Aug 16 20:05:01 hostname postfix/ |
| - | relay=smtp.dams.ovh[private/ | + | relay=smtp.kenny.ovh[private/ |
| ==== 10 - Test d' | ==== 10 - Test d' | ||
| Allez sur ce site : [[http:// | Allez sur ce site : [[http:// | ||
| - | |||
| - | {{: | ||
| Vous obtiendrez la note maximum, si et seulement si : | Vous obtiendrez la note maximum, si et seulement si : | ||
| Ligne 678: | Ligne 677: | ||
| localhost | localhost | ||
| ::1 | ::1 | ||
| - | *.dams.ovh | + | *.kenny.ovh |
| - | N' | + | N' |
| Ajoutez le fichier KeyTable avec le contenu suivant. Dans cet exemple, nous utiliserons un sélecteur nommé mail. Vous pouvez le nommer comme vous le souhaitez. | Ajoutez le fichier KeyTable avec le contenu suivant. Dans cet exemple, nous utiliserons un sélecteur nommé mail. Vous pouvez le nommer comme vous le souhaitez. | ||
| # vim / | # vim / | ||
| | | ||
| - | mail._domainkey.dams.ovh dams.ovh: | + | mail._domainkey.kenny.ovh kenny.ovh: |
| Ajoutez le fichier SigningTable avec le contenu suivant : | Ajoutez le fichier SigningTable avec le contenu suivant : | ||
| # vim / | # vim / | ||
| | | ||
| - | *@dams.ovh mail._domainkey.dams.ovh | + | *@kenny.ovh mail._domainkey.kenny.ovh |
| Création de la clé publique et privée | Création de la clé publique et privée | ||
| Ligne 696: | Ligne 695: | ||
| Création du répertoire qui contiendra les clés : | Création du répertoire qui contiendra les clés : | ||
| cd / | cd / | ||
| - | mkdir dams.ovh && cd dams.ovh | + | mkdir kenny.ovh && cd kenny.ovh |
| Génération des clés de chiffrement : | Génération des clés de chiffrement : | ||
| # Paramètres : -s [sélecteur] -d [nom de domaine] -b [taille de la clé] | # Paramètres : -s [sélecteur] -d [nom de domaine] -b [taille de la clé] | ||
| - | opendkim-genkey -s mail -d dams.ovh -b 1024 | + | opendkim-genkey -s mail -d kenny.ovh -b 1024 |
| Certains registrars n' | Certains registrars n' | ||
| Ligne 709: | Ligne 708: | ||
| Les permissions doivent être les suivantes (chmod 400) : | Les permissions doivent être les suivantes (chmod 400) : | ||
| - | ls -lX / | + | ls -lX / |
| | | ||
| -rw------- 1 opendkim opendkim 887 août 16 11:28 mail.private | -rw------- 1 opendkim opendkim 887 août 16 11:28 mail.private | ||
| Ligne 738: | Ligne 737: | ||
| Attendez quelques minutes la propagation des DNS. Vous pouvez vérifier que le champ domainkey est bien visible en exécutant la commande suivante à partir de votre pc : | Attendez quelques minutes la propagation des DNS. Vous pouvez vérifier que le champ domainkey est bien visible en exécutant la commande suivante à partir de votre pc : | ||
| - | host -t TXT mail._domainkey.dams.ovh | + | host -t TXT mail._domainkey.kenny.ovh |
| Si elle retourne ce message : | Si elle retourne ce message : | ||
| - | Host mail._domainkey.dams.ovh not found: (NXDOMAIN) | + | Host mail._domainkey.kenny.ovh not found: (NXDOMAIN) |
| C'est que vos DNS ne se sont pas encore propagés sur les serveurs de votre FAI, patientez encore un peu. | C'est que vos DNS ne se sont pas encore propagés sur les serveurs de votre FAI, patientez encore un peu. | ||
| Ligne 767: | Ligne 766: | ||
| En fait ce mécanisme utilise DKIM et SPF et permet d' | En fait ce mécanisme utilise DKIM et SPF et permet d' | ||
| - | Vous envoyez un mail à partir de votre adresse @dams.ovh à un amis qui est chez Gmail. Google vas donc utiliser DMARC et demander à votre serveur ce qu'il doit faire lorsqu' | + | Vous envoyez un mail à partir de votre adresse @kenny.ovh à un amis qui est chez Gmail. Google vas donc utiliser DMARC et demander à votre serveur ce qu'il doit faire lorsqu' |
| Voici un ptit schéma : | Voici un ptit schéma : | ||
| - | {{:schema.jpg|}} | + | {{ :mail_server4.jpg? |
| Les règles de DMARC sont stockés dans un enregistrement de type TXT dans le fichier de zone de votre nom de domaine, exemple : | Les règles de DMARC sont stockés dans un enregistrement de type TXT dans le fichier de zone de votre nom de domaine, exemple : | ||
| Ligne 779: | Ligne 778: | ||
| v=DMARC1; | v=DMARC1; | ||
| p=reject; | p=reject; | ||
| - | rua=mailto: | + | rua=mailto: |
| - | ruf=mailto: | + | ruf=mailto: |
| adkim=s; | adkim=s; | ||
| aspf=s; | aspf=s; | ||
| Ligne 791: | Ligne 790: | ||
| Bon quelques explications s' | Bon quelques explications s' | ||
| - | * dmarc : L' | + | * dmarc : L' |
| * v=DMARC1 : Version du protocole | * v=DMARC1 : Version du protocole | ||
| * p=reject : Bloquer les mails qui ne respectent pas les identificateurs d' | * p=reject : Bloquer les mails qui ne respectent pas les identificateurs d' | ||
| Ligne 813: | Ligne 812: | ||
| Syslog | Syslog | ||
| | | ||
| - | AuthservID | + | AuthservID |
| - | TrustedAuthservIDs | + | TrustedAuthservIDs |
| IgnoreHosts | IgnoreHosts | ||
| - | IgnoreMailFrom | + | IgnoreMailFrom |
| RejectFailures | RejectFailures | ||
| | | ||
| Ligne 847: | Ligne 846: | ||
| Dans ce mini tutoriel, nous allons voir ensemble comment procéder à la génération d’un certificat et à son installation sur le serveur mail fonctionnant à l’aide du duo Postfix/ | Dans ce mini tutoriel, nous allons voir ensemble comment procéder à la génération d’un certificat et à son installation sur le serveur mail fonctionnant à l’aide du duo Postfix/ | ||
| - | ===== Génération du certificat | + | ==== Génération du certificat ==== |
| - | certbot certonly -d smtp.dams.ovh --email | + | certbot certonly -d smtp.kenny.ovh --email |
| - | ===== Renouvellement | + | ==== Renouvellement ==== |
| ouvrir le port 80 | ouvrir le port 80 | ||
| Ligne 857: | Ligne 856: | ||
| lancer la commande letsencrypt renew | lancer la commande letsencrypt renew | ||
| - | ===== Installation dans Postfix | + | ==== Installation dans Postfix ==== |
| Pour que votre serveur smtp prenne en charge le certificat précédemment généré, il vous faut modifier le fichier de configuration principal de Postfix. | Pour que votre serveur smtp prenne en charge le certificat précédemment généré, il vous faut modifier le fichier de configuration principal de Postfix. | ||
| Ligne 867: | Ligne 866: | ||
| Localisez et modifiez ces trois lignes: | Localisez et modifiez ces trois lignes: | ||
| - | smtp_tls_CAfile = / | + | smtp_tls_CAfile = / |
| - | smtpd_tls_cert_file = / | + | smtpd_tls_cert_file = / |
| - | smtpd_tls_key_file = / | + | smtpd_tls_key_file = / |
| - | ===== Installation dans Dovecot | + | ==== Installation dans Dovecot ==== |
| vi / | vi / | ||
| Ligne 877: | Ligne 876: | ||
| Localisez et modifiez les lignes suivantes : | Localisez et modifiez les lignes suivantes : | ||
| - | ssl_cert = / | + | ssl_cert = / |
| - | ssl_key = / | + | ssl_key = / |
| - | ===== Pour finir ===== | + | ==== Pour finir ==== |
| Il ne reste plus qu’à redémarrer Postfix et Dovecot pour qu’ils prennent en charge la nouvelle configuration. | Il ne reste plus qu’à redémarrer Postfix et Dovecot pour qu’ils prennent en charge la nouvelle configuration. | ||