adegtyarev.ansible_role_exim4

Rôle Ansible : Exim4

Statut de construction

Rôle Ansible pour installer et configurer Exim4 sur un système Debian ou Ubuntu.

Avec ce rôle, vous pouvez ajuster votre installation d'Exim4 en utilisant des variables.

Utilisation

Téléchargez un rôle sur votre hôte Ansible en utilisant la commande ansible-galaxy qui est fournie avec Ansible.

$ ansible-galaxy install adegtyarev.exim4

Définissez un rôle dans votre playbook et configurez les options souhaitées. Par exemple :

roles:
  - role: adegtyarev.exim4

Les paramètres par défaut installent le package exim4-daemon-light et aucune configuration supplémentaire n'est effectuée à part les valeurs par défaut pour le système d'exploitation. Ce rôle suit le concept de configuration du package Debian pour Exim. Voir ci-dessous comment activer ou désactiver des fonctionnalités dans votre configuration.

Notez que ce rôle ajoute l'utilisateur Exim par défaut Debian-exim au groupe ssl-cert pour permettre au démon d'accéder aux certificats et clés SSL.

Variables de rôle

Variable Valeur par défaut Description
exim4_package_name exim4-daemon-light Définit le nom du package à installer
exim4_conf_keyvalue vide Une liste de dictionnaires de paires clé-valeur (voir ci-dessous)
exim4_conf_values vide Une liste de dictionnaires avec des valeurs sur une ligne (voir ci-dessous)

Pour exim4_package_name, un bon choix est également exim4-daemon-heavy ou tout autre nom disponible pour votre système.

Utilisation de listes de dictionnaires

exim4_conf_keyvalue est utilisé pour créer des fichiers de configuration avec des paires clé-valeur. Par exemple, pour configurer une liste d'enregistrements route_data qui peuvent être utilisés pour remplacer ou compléter les informations MX provenant du DNS :

exim4_conf_keyvalue:
  - name: hubbed_hosts
    data:
      example.com: mail.example.com
      example.net: mail.example.net

En conséquence, le fichier /etc/exim4/hubbed_hosts sera créé avec des paires clé-valeur de modèle de domaine et de données de route.

exim4_conf_values est utilisé pour créer des fichiers de configuration avec des valeurs de liste plate. Par exemple, pour configurer une liste de destinataires d'enveloppe pour lesquels les messages entrants sont soumis à une vérification de destinataires avec un appel :

exim4_conf_values:
  - name: local_rcpt_callout
    data:
      - "*@example.com"
      - "*@example.net"

En conséquence, un fichier avec la liste d'adresses /etc/exim4/local_rcpt_callout sera créé.

Pour plus d'informations sur les fichiers utilisés par le package Debian exim4, veuillez consulter man exim4-config_files.

Maintenir update-exim4.conf.conf

Les variables suivantes et leurs valeurs par défaut sont utilisées pour le contenu du fichier /etc/exim4/update-exim4.conf.conf :

Variable Valeur par défaut Description
exim4_dc_eximconfig_configtype internet Type de configuration du serveur de messagerie
exim4_dc_other_hostnames ansible_hostname Autres destinations pour lesquelles le courrier est accepté
exim4_dc_local_interfaces 127.0.0.1 ; ::1 Adresses IP à écouter
exim4_dc_minimaldns false Garder le nombre de requêtes DNS au minimum
exim4_dc_localdelivery mail_spool Méthode de livraison pour le courrier local
exim4_dc_use_split_config false Séparer la configuration en petits fichiers ?
exim4_dc_mailname_in_oh true Utilisation interne uniquement
exim4_dc_relay_nets vide Machines pour lesquelles relayer le courrier
exim4_dc_relay_domains vide Domaines pour lesquels relayer le courrier
exim4_CFILEMODE 644 Le mode de fichier octal du fichier généré

Variables spécifiques au Smarthost :

Variable Valeur par défaut Description
exim4_dc_smarthost vide Adresse IP ou nom d'hôte du smarthost sortant
exim4_dc_hide_mailname vide Masquer le nom de messagerie local dans le courrier sortant ?
exim4_dc_readhost vide Nom de domaine visible pour les utilisateurs locaux

Pour plus d'informations sur la signification de ces variables de configuration, veuillez consulter la page de manuel de update-exim4.conf.

Les variables suivantes sont utilisées dans le modèle par défaut pour configurer Exim4 :

  • exim4_custom_options
  • exim4_passwd_client: Données de compte et de mot de passe pour l'authentification SMTP lorsque exim s'authentifie en tant que client auprès d'un serveur distant sous forme de liste.

Les fonctionnalités suivantes sont intégrées à ce rôle :

  • 00_exim4-config_tls: Activer TLS dans Exim
  • 02_exim4-custom_options: Options personnalisées à ajouter dans la config ...

Configurer DKIM dans Exim4

Configurer Exim pour signer les messages sortants avec DKIM est aussi simple que :

exim4_dkim_enable: true

exim4_features_enable:
    - name: 30_exim4-config_dkim
      group: main

Pour reconfigurer une installation Exim existante, ajoutez ces variables aux variables appropriées de groupe ou d'hôte, puis exécutez Ansible avec les balises exim4-dkim,exim4-reconfigure :

ansible-playbook -t exim4-dkim,exim4-reconfigure playbook.yml

Cela générera une clé publique/privée qui sera utilisée pour la signature et la validation. Vous devrez publier la clé publique résultante à l'aide d'un enregistrement TXT :

dkim._domainkey.example.com IN TXT "k=rsa; p={{PUBLIC_KEY}}"

{{PUBLIC_KEY}} est le contenu de /etc/exim4/dkim.public avec les première et dernière lignes supprimées, et les retours à la ligne également supprimés.

Les variables suivantes et leurs valeurs par défaut sont utilisées :

Variable Valeur par défaut Description
exim4_dkim_keysize 2048 Taille de la clé
exim4_dkim_canon relaxed Méthode de canonisation utilisée lors de la signature d'un message
exim4_dkim_selector dkim Chaîne de sélection de clé

Vous pouvez vouloir les ajuster pour mieux convenir à votre configuration.

Maintenir la rotation des logs d'Exim4

Par défaut, ce rôle maintient les paramètres de rotation des logs tels qu'ils sont définis dans le package Debian. Pour ajuster ces paramètres, les variables suivantes sont utilisées :

exim4_logrotate_base:
  - name: exim4-base
    path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
    type: daily
    rotate: 10
    create: 640 Debian-exim adm

exim4_logrotate_paniclog:
  - name: exim4-paniclog
    path: /var/log/exim4/paniclog
    type: size 10M
    rotate: 10
    create: 640 Debian-exim adm

Cet exemple configure la rotation de mainlog et rejectlog sur une base mensuelle :

exim4_logrotate_base:
  - name: exim4-base
    path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
    type: monthly

Activer ou désactiver des fonctionnalités dans Exim4

Activez ou désactivez les fonctionnalités d'Exim4 pour votre configuration. Par exemple :

exim4_features_enable:
  - name: 02_exim4-custom_options
    group: main

  - name: 30_exim4-config_dovecot_lmtp
    group: transport

exim4_features_disable:
  - name: 30_exim4-config_examples
    group: auth

exim4_custom_options:
  - daemon_smtp_ports: "25 : 465 : 587"
  - rfc1413_query_timeout: 0s
  - smtp_banner: "Serveur ESMTP prêt $tod_full"

Cela activera les fonctionnalités intégrées :

  • 02_exim4-custom_options dans le groupe de configuration main
  • 30_exim4-config_dovecot_lmtp dans le groupe de configuration transport

Et désactivera la fonctionnalité 30_exim4-config_examples si elle existe dans /etc/exim/conf.d/auth.

La fonctionnalité 02_exim4-custom_options ajoute les options personnalisées fournies dans exim4_custom_options à la configuration d'Exim4.

Les balises suivantes peuvent être utilisées pour reconfigurer Exim4 :

  • exim4: exécute toutes les tâches dans le rôle, sauf si explicitement désactivé
  • exim4-reconfigure: exécute la reconfiguration pour appliquer les paramètres mis à jour (le cas échéant)
  • exim4-reconfigure-logrotate: reconfigurer la rotation des logs

Licence

BSD

Informations sur l'auteur

À propos du projet

An Ansible role that installs and configures Exim4

Installer
ansible-galaxy install adegtyarev.ansible_role_exim4
Licence
Unknown
Téléchargements
347
Propriétaire