78 lines
5.3 KiB
Plaintext
78 lines
5.3 KiB
Plaintext
====== Dovecot - fournisseur IMAP ======
|
|
{{ :dummy.png?75x75}}
|
|
|
|
**Dovecot** est un serveur de messagerie populaire, open source basé sur le protocole **IMAP** (Internet Message Access Protocol).
|
|
**
|
|
Dovecot** permet aux utilisateurs de recevoir et gérer leurs emails en utilisant le protocole IMAP. IMAP est un protocole de messagerie qui permet de synchroniser les emails entre plusieurs appareils, de sorte que vous pouvez accéder à vos emails n'importe où et n'importe quand. **Dovecot** est une implémentation populaire et fiable de ce protocole, utilisée par de nombreux fournisseurs de messagerie pour leur service de messagerie.
|
|
|
|
L'un des avantages de l'utilisation du protocole **IMAP** est que vous n'avez pas besoin de télécharger vos emails sur chaque appareil que vous utilisez pour les consulter. Au lieu de cela, vous pouvez accéder à vos emails en temps réel sur tous vos appareils, et les actions que vous effectuez sur un appareil (comme lire un email, le marquer comme lu, ou le déplacer dans un dossier) seront automatiquement synchronisées avec les autres appareils. Cela signifie que vous avez toujours une vue à jour de vos emails, peu importe où vous vous trouvez.
|
|
|
|
===== Certificat IMAP =====
|
|
|
|
L'utilisation d'un certificat pour IMAP est importante pour garantir la sécurité des communications entre le client et le serveur.
|
|
|
|
Les certificats pour IMAP sont généralement stockés dans le répertoire de configuration de votre serveur de messagerie, qui dépend de votre implémentation spécifique d'IMAP. Sur un système **Debian** avec **Dovecot**, vous pouvez trouver les certificats dans le répertoire ''/etc/dovecot/private/''. Ce répertoire peut inclure des fichiers tels que le certificat SSL, la clé privée et d'autres informations de sécurité nécessaires à la configuration de Dovecot. Il est important de s'assurer que les fichiers de certificat sont protégés et accessibles uniquement aux utilisateurs autorisés pour garantir la sécurité du système.
|
|
|
|
Voir l'article : [[:journal_geek:2023:20230209-verifier-la-date-d-un-certificat]]
|
|
|
|
--
|
|
|
|
Vous pouvez utiliser la commande OpenSSL pour afficher les informations d'une clé privée. La syntaxe de base pour afficher les informations d'une clé privée est la suivante :
|
|
|
|
openssl x509 -noout -text -in /etc/dovecot/private/dovecot.pem
|
|
|
|
Pour afficher uniquement les dates associées à la clé, vous pouvez utiliser la commande suivante:
|
|
|
|
openssl x509 -noout -in /etc/dovecot/private/dovecot.pem -enddate -startdate
|
|
|
|
|
|
===== Redémarrage de Dovecot =====
|
|
|
|
Il est généralement conseillé de redémarrer Dovecot pour prendre en compte les mises à jour de la configuration ou pour résoudre les problèmes de fonctionnement. Cependant, il est important de faire attention à la fréquence à laquelle vous redémarrez le service, car un redémarrage excessif peut entraîner une interruption temporaire du service et affecter les utilisateurs connectés.
|
|
|
|
Il est donc conseillé de programmer un redémarrage de Dovecot uniquement lorsque cela est absolument nécessaire, par exemple lorsque vous apportez des modifications importantes à la configuration ou lorsque vous effectuez des mises à jour du logiciel Dovecot. Il est également important de planifier le redémarrage de Dovecot en dehors des heures de pointe pour minimiser l'impact sur les utilisateurs.
|
|
|
|
sudo systemctl restart dovecot
|
|
|
|
--
|
|
|
|
Voici un exemple de script **bash** pour tester la date d'expiration de ''mx.exemple.fr:993'' et pour redémarrer le service Dovecot s'il est à moins de 10 jours de l'expiration, et pour envoyer un e-mail à ''toto@example.fr'' si le redémarrage n'a pas résolu le problème :
|
|
|
|
<code BASH [enable_line_numbers="true", start_line_numbers_at="1"]>
|
|
#!/bin/bash
|
|
|
|
delay_expiration=10
|
|
|
|
# Tester la date d'expiration de mx.exemple.fr:993
|
|
expiration_date=$(echo | openssl s_client -connect mx.exemple.fr:993 -servername mx.exemple.fr 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
|
|
|
|
# Convertir la date d'expiration en timestamp
|
|
expiration_timestamp=$(date -d "$expiration_date" +%s)
|
|
|
|
# Calculer le nombre de jours restants jusqu'à l'expiration
|
|
today_timestamp=$(date +%s)
|
|
diff=$(( (expiration_timestamp - today_timestamp) / 86400 ))
|
|
|
|
# Si le nombre de jours restants est inférieur à 10, redémarrer Dovecot
|
|
if [ $diff -lt $delay_expiration ]; then
|
|
sudo systemctl restart dovecot
|
|
# Tester à nouveau la date d'expiration de mx.exemple.fr:993
|
|
new_expiration_date=$(echo | openssl s_client -connect mx.exemple.fr:993 -servername mx.exemple.fr 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
|
|
new_expiration_timestamp=$(date -d "$new_expiration_date" +%s)
|
|
new_diff=$(( (new_expiration_timestamp - today_timestamp) / 86400 ))
|
|
# Si la date d'expiration n'a pas été résolue, envoyer un e-mail à toto@exemple.fr
|
|
if [ $new_diff -lt $delay_expiration ]; then
|
|
echo "Le certificat de mx.exemple.fr:993 est proche de son expiration." | mail -s "[ALERTE] Expiration SSL mx.exemple.fr:993 - $new_diff jours restants" toto@exemple.fr
|
|
fi
|
|
fi
|
|
</code>
|
|
|
|
Vous pouvez planifier ce script en utilisant crontab pour le faire exécuter à intervalles réguliers. Par exemple, vous pouvez le faire exécuter tous les jours à 4 heures du matin en ajoutant la ligne suivante à votre **crontab** :
|
|
|
|
<code>
|
|
0 4 * * * /chemin/vers/le/script.sh
|
|
</code>
|
|
|
|
--- //[[user:cedricabonnel]]//
|
|
|