Initialisation

This commit is contained in:
2024-01-07 10:02:35 +01:00
commit b7291133a3
4418 changed files with 169147 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
====== Configuration de Postfix avec un relais SMTP externe utilisant l'authentification LOGIN ou PLAIN ======
{{ :dummy.png?75x75|Linux Postifx hostrelay}}
Par défaut, Postfix est configuré pour envoyer des e-mails directement au serveur de messagerie du destinataire. Cependant, il est parfois nécessaire de configurer Postfix pour utiliser un relais SMTP externe avec authentification LOGIN ou PLAIN.
===== Éditer le fichier de configuration principal =====
Le fichier de configuration principal de Postfix est généralement situé dans le répertoire ''/etc/postfix/main.cf''. Ouvrez ce fichier à l'aide d'un éditeur de texte et recherchez les directives suivantes :
<code>
relayhost =
smtp_sasl_auth_enable = no
</code>
===== Configurer le relais SMTP externe =====
Modifiez la directive ''relayhost'' pour spécifier l'adresse du relais SMTP externe que vous souhaitez utiliser. Par exemple, si le relais SMTP externe est ''smtp.example.com'' et il écoute sur le port ''587'', la directive devrait ressembler à ceci :
<code>
relayhost = [smtp.example.com]:587
</code>
===== Activer l'authentification PLAIN =====
Décommentez la directive ''smtp_sasl_auth_enable'' en supprimant le # au début de la ligne, puis modifiez sa valeur à ''yes'' :
<code>
smtp_sasl_auth_enable = yes
</code>
===== Configurer les informations d'authentification =====
Ajoutez les informations d'authentification pour le relais SMTP externe en ajoutant les directives suivantes dans le fichier de configuration :
<code>
smtp_sasl_auth_enable = yes
smtpd_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtp_sasl_mechanism_filter = login, plain
</code>
Voici ce que font ces options :
1. ''smtp_sasl_auth_enable = yes'' : Cette option active l'authentification SASL (Simple Authentication and Security Layer) pour les connexions SMTP sortantes. Cela permet à Postfix de s'authentifier auprès du relais SMTP externe en utilisant les informations d'identification fournies.
2. ''smtpd_sasl_auth_enable = yes'' : Cette option active l'authentification SASL pour les connexions SMTP entrantes. Elle permet à Postfix d'accepter les connexions SMTP entrantes et d'authentifier les clients qui se connectent.
3. ''smtp_sasl_security_options = noanonymous'' : Cette option spécifie que Postfix n'accepte pas les connexions anonymes lors de l'authentification SASL. Cela garantit que toutes les connexions SMTP doivent fournir des informations d'identification valides.
4. ''smtp_sasl_tls_security_options = noanonymous'' : Cette option spécifie que lors de l'utilisation de TLS (Transport Layer Security) pour sécuriser les connexions SMTP, les connexions anonymes ne sont pas autorisées.
5. ''smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'' : Cette option indique à Postfix où trouver le fichier de hachage contenant les informations d'identification (nom d'utilisateur et mot de passe) pour l'authentification SASL auprès du relais SMTP externe. Dans cet exemple, le fichier ''/etc/postfix/sasl_passwd'' est utilisé et doit être converti en un fichier de hachage à l'aide de la commande ''postmap''.
6. ''smtp_use_tls = yes'' : Cette option active l'utilisation de TLS pour chiffrer les connexions SMTP sortantes. Elle assure que les communications avec le relais SMTP externe sont sécurisées.
7. ''smtp_tls_note_starttls_offer = yes'' : Cette option indique à Postfix d'émettre une offre STARTTLS lors de l'établissement d'une connexion SMTP sortante. Cela permet d'initier une négociation TLS avec le relais SMTP externe si celui-ci prend en charge TLS.
8. ''smtp_sasl_mechanism_filter = login, plain'' : Cette option spécifie les mécanismes d'authentification SASL autorisés pour les connexions SMTP sortantes. Dans cet exemple, seuls les mécanismes "login" et "plain" sont autorisés.
Ces options combinées permettent à Postfix de configurer un relais SMTP externe avec authentification PLAIN et d'établir des connexions sécurisées à l'aide de TLS. Cela garantit que les e-mails sont envoyés de manière fiable et en toute sécurité via le relais externe.
===== Créer le fichier de mots de passe SASL =====
Créez un fichier ''/etc/postfix/sasl_passwd'' et ajoutez les informations d'authentification suivantes :
<code>
[smtp.example.com]:587 username:password
</code>
Remplacez ''smtp.example.com'' par l'adresse du relais SMTP externe, ''587'' par le port utilisé, ''username'' par votre nom d'utilisateur de messagerie pour le relais SMTP, et ''password'' par votre mot de passe associé.
===== Générer le fichier de hachage des mots de passe SASL =====
Exécutez la commande suivante pour générer le fichier de hachage des mots de passe SASL à partir du fichier ''sasl_passwd'' :
<code>
sudo postmap /etc/postfix/sasl_passwd
</code>
Cette commande va créer un fichier ''/etc/postfix/sasl_passwd.db'' contenant le hachage des mots de passe.
===== Redémarrer POSTFIX =====

View File

@@ -0,0 +1,63 @@
Pour adapter l'article afin de créer un script de hook Let's Encrypt pour Postfix, voici une version modifiée du texte :
====== Configurer un Script de Hook Let's Encrypt pour Postfix ======
Assurer la continuité et la sécurité de votre serveur de messagerie Postfix est crucial, surtout lorsqu'il s'agit de la gestion automatique des certificats SSL/TLS via Let's Encrypt. La mise en place d'un script de hook qui redémarre Postfix à chaque renouvellement de certificat est une étape essentielle. Voici les étapes pour configurer cela avec Certbot :
===== 1. Élaboration d'un Script de Hook =====
Créez un script qui initiera le redémarrage de Postfix une fois le certificat renouvelé. Voici un exemple de script que vous pourriez utiliser :
<code BASH>
#!/bin/bash
# reload-postfix.sh
# Redémarrer Postfix
echo "Reloading Postfix..."
systemctl restart postfix
</code>
Sauvegardez ce script dans un endroit sûr, tel que ''/etc/letsencrypt/renewal-hooks/post/reload-postfix.sh''.
**Rendez le script exécutable :**
<code BASH>
chmod +x /etc/letsencrypt/renewal-hooks/post/reload-postfix.sh
</code>
===== 2. Intégration avec Certbot =====
Lorsque vous exécutez Certbot pour le renouvellement des certificats, indiquez ce script comme un hook post-renouvellement. Si Certbot est configuré pour renouveler automatiquement vos certificats, ajoutez votre script dans la configuration de renouvellement de Certbot en modifiant le fichier de configuration du domaine concerné, par exemple, ''/etc/letsencrypt/renewal/yourdomain.conf'':
<code BASH>
[renewalparams]
post_hook = /etc/letsencrypt/renewal-hooks/post/reload-postfix.sh
</code>
===== 3. Exploitation des Directoires de Hooks =====
Certbot recherche dans trois répertoires spécifiques des scripts à exécuter en tant que hooks :
* ''/etc/letsencrypt/renewal-hooks/pre/'' : Avant le renouvellement.
* ''/etc/letsencrypt/renewal-hooks/deploy/'' : Après un renouvellement réussi.
* ''/etc/letsencrypt/renewal-hooks/post/'' : Après toute tentative de renouvellement.
Placer votre script dans ''/etc/letsencrypt/renewal-hooks/post/'' s'assure qu'il sera exécuté après chaque renouvellement, garantissant ainsi que Postfix redémarre avec le nouveau certificat.
===== 4. Validation de la Configuration =====
Effectuez un test de renouvellement pour vous assurer que tout fonctionne correctement :
<code BASH>
certbot renew --dry-run
</code>
Si tout est bien configuré, Certbot renouvellera le certificat en mode test et exécutera votre script pour redémarrer Postfix. Vérifiez que Postfix fonctionne correctement après le redémarrage.
===== Remarques Importantes : =====
* **Sécurité :** Assurez-vous que seuls les utilisateurs appropriés ont des permissions d'écriture sur le script et les fichiers de configuration.
* **Logs :** Surveillez les logs de Certbot et Postfix pour tout problème éventuel lors des renouvellements et redémarrages.
* **Compatibilité :** Vérifiez que les versions de Certbot et Postfix en usage sont compatibles avec les méthodes décrites ici.
En mettant en place un hook bien configuré, vous vous assurez que Postfix fonctionne toujours avec un certificat valide, maintenant ainsi la sécurité et la fiabilité de votre serveur de messagerie.

View File

@@ -0,0 +1,74 @@
====== Réécriture des adresses e-mail sortantes dans Postfix ======
{{ :dummy.png?75x75|Linux Postfix generic}}
Le Return-Path, également connu sous le nom d'adresse d'enveloppe, est une adresse e-mail utilisée pour les notifications de non-distribution (bounces) et pour les erreurs de livraison des e-mails. Il est généralement différent de l'adresse affichée dans l'en-tête "**From**" du message.
Lorsque vous utilisez le fichier ''/etc/postfix/generic'' pour réécrire les adresses e-mail dans Postfix, la réécriture s'applique par défaut uniquement aux en-têtes "**From**", "**Sender**" et "**Return-Path**".
Voici comment réécrire les en-têtes "**From**", "**Sender**" et "**Return-Path**" en utilisant le fichier ''/etc/postfix/generic'' :
===== Ouvrez le fichier ''/etc/postfix/generic'' =====
Utilisez votre éditeur de texte préféré pour ouvrir le fichier ''/etc/postfix/generic'' :
<code>
sudo nano /etc/postfix/generic
</code>
===== Configurer les règles de réécriture =====
Dans ce fichier, vous pouvez ajouter des règles de réécriture sous la forme suivante :
<code>
@server.ntdl adresse_modifiee@example.com
@server adresse_modifiee@example.com
@localhost adresse_modifiee@example.com
</code>
Remplacez
* ''adresse_modifiee@example.com'' par l'adresse e-mail modifiée que vous souhaitez afficher pour les destinataires
* ''server.ntdl'' par le nom de votre serveur FQDN
* ''server'' par le nom de votre serveur non FQDN
Vous pouvez ajouter autant de règles que nécessaire, chacune sur une nouvelle ligne.
===== Enregistrer et fermer le fichier =====
Une fois que vous avez configuré toutes les règles de réécriture souhaitées, enregistrez et fermez le fichier ''/etc/postfix/generic''.
===== Générer le fichier de hachage =====
Le fichier ''/etc/postfix/generic'' doit être converti en un fichier de hachage pour que Postfix puisse l'utiliser efficacement. Pour générer le fichier de hachage, exécutez la commande suivante :
<code>
sudo postmap /etc/postfix/generic
</code>
Cela va créer un fichier ''/etc/postfix/generic.db'', qui contient le hachage des adresses e-mail réécrites.
===== Configurer Postfix pour utiliser ''/etc/postfix/generic'' =====
Ouvrez le fichier de configuration principal de Postfix ''/etc/postfix/main.cf'' et recherchez la directive ''smtp_generic_maps''. Si elle n'existe pas, ajoutez la ligne suivante :
<code>
sender_canonical_maps = hash:/etc/postfix/generic
</code>
Cette directive indique à Postfix d'utiliser le fichier ''/etc/postfix/generic'' pour la réécriture des adresses e-mail sortantes.
===== Redémarrez Postfix pour appliquer les modifications =====
<code>
sudo service postfix restart
</code>
Avec cette configuration, les réécritures spécifiées dans ''/etc/postfix/generic'' s'appliqueront également au Return-Path des messages sortants, en plus des en-têtes "**From**", "**Sender**" et "**Return-Path**". Cela vous permet de personnaliser entièrement les adresses d'enveloppe utilisées pour les erreurs de livraison des e-mails.
Si vous souhaitez réécrire d'autres en-têtes des messages sortants comme "**Reply-To**", vous devrez utiliser d'autres directives et configurations spécifiques de Postfix.