adegtyarev.ansible_role_exim4

Rol de Ansible: Exim4

Estado de construcción

Rol de Ansible para instalar y configurar Exim4 en sistemas Debian o Ubuntu.

Con esta rol, puedes ajustar tu instalación de Exim4 utilizando variables.

Uso

Descarga una rol en tu anfitrión Ansible usando el comando ansible-galaxy que viene incluido con Ansible.

$ ansible-galaxy install adegtyarev.exim4

Define una rol en tu playbook y configura las opciones deseadas. Por ejemplo:

roles:
  - role: adegtyarev.exim4

Las configuraciones predeterminadas instalan el paquete exim4-daemon-light y no se realiza ninguna configuración adicional excepto la predeterminada para el sistema operativo. Esta rol sigue el concepto del paquete Debian para configurar Exim. A continuación, se muestra cómo habilitar o deshabilitar funciones en tu configuración.

Ten en cuenta que esta rol agrega el usuario Exim por defecto Debian-exim al grupo ssl-cert para permitir que el daemon acceda a los certificados y claves SSL.

Variables de Rol

Variable Valor predeterminado Descripción
exim4_package_name exim4-daemon-light Establece el nombre del paquete a instalar
exim4_conf_keyvalue vacío Una lista de diccionarios de pares clave-valor (ver más abajo)
exim4_conf_values vacío Una lista de diccionarios con valores por línea (ver más abajo)

Para el valor de exim4_package_name una buena opción también es exim4-daemon-heavy o cualquier otro nombre disponible para tu sistema.

Uso de listas de diccionarios

exim4_conf_keyvalue se usa para crear archivos de configuración con pares clave-valor. Por ejemplo, para configurar una lista de registros de route_data que se pueden usar para anular o complementar la información del MX desde el DNS:

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

Como resultado, se creará el archivo /etc/exim4/hubbed_hosts con pares clave-valor de patrones de dominio y datos de ruta.

exim4_conf_values se usa para crear archivos de configuración con valores de lista plana. Por ejemplo, para configurar una lista de destinatarios de sobres para los cuales los mensajes entrantes están sujetos a verificación del destinatario con una llamada:

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

Como resultado, se creará un archivo con la lista de direcciones /etc/exim4/local_rcpt_callout.

Para más información sobre los archivos utilizados por el paquete Debian exim4, consulta man exim4-config_files.

Manteniendo update-exim4.conf.conf

Las siguientes variables y sus valores predeterminados se utilizan para el contenido del archivo /etc/exim4/update-exim4.conf.conf:

Variable Valor predeterminado Descripción
exim4_dc_eximconfig_configtype internet Tipo de configuración del servidor de correo
exim4_dc_other_hostnames ansible_hostname Otros destinos para los que se acepta correo
exim4_dc_local_interfaces 127.0.0.1 ; ::1 Direcciones IP para escuchar
exim4_dc_minimaldns false Mantener el número de consultas DNS mínimo
exim4_dc_localdelivery mail_spool Método de entrega para correo local
exim4_dc_use_split_config false ¿Dividir la configuración en archivos pequeños?
exim4_dc_mailname_in_oh true Solo uso interno
exim4_dc_relay_nets vacío Máquinas para las que se relaya correo
exim4_dc_relay_domains vacío Dominios para los que se relaya correo
exim4_CFILEMODE 644 El modo de archivo octal del archivo generado

Variables específicas para el Smarthost:

Variable Valor predeterminado Descripción
exim4_dc_smarthost vacío Dirección IP o nombre de host del smarthost saliente
exim4_dc_hide_mailname vacío ¿Ocultar el nombre de correo local en el correo saliente?
exim4_dc_readhost vacío Nombre de dominio visible para los usuarios locales

Para más información sobre el significado de estas variables de configuración, consulta la página de manual de update-exim4.conf.

Las siguientes variables se utilizan en la plantilla predeterminada para configurar Exim4:

  • exim4_custom_options
  • exim4_passwd_client: Datos de cuenta y contraseña para la autenticación SMTP cuando Exim se autentica como cliente ante algún servidor remoto como lista.

Las siguientes características están integradas en esta rol:

  • 00_exim4-config_tls: Habilitar TLS en Exim
  • 02_exim4-custom_options: Opciones personalizadas para agregar a la configuración ...

Configurar DKIM en Exim4

Configurar Exim para firmar los mensajes salientes con DKIM es tan fácil como:

exim4_dkim_enable: true

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

Para reconfigurar una instalación existente de Exim, agrega estas variables a las variables de grupo o de host correspondientes y luego ejecuta Ansible con las etiquetas exim4-dkim,exim4-reconfigure:

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

Esto generará una clave pública/privada que se utilizará para la firma y validación. Necesitarás publicar la clave pública resultante utilizando un registro TXT:

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

Donde {{PUBLIC_KEY}} es el contenido de /etc/exim4/dkim.public con la primera y última línea eliminadas, y también sin saltos de línea.

Las siguientes variables y sus valores predeterminados se utilizan:

Variable Valor predeterminado Descripción
exim4_dkim_keysize 2048 Tamaño de la clave
exim4_dkim_canon relaxed Método de canonización utilizado al firmar un mensaje
exim4_dkim_selector dkim Cadena del selector de clave

Puedes ajustarlas para que se adapten mejor a tu configuración.

Manteniendo la rotación de logs de Exim4

Por defecto, esta rol mantiene la configuración de rotación de logs como está configurada en el paquete de Debian. Para ajustar esta configuración se utilizan las siguientes variables:

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

Este ejemplo configura la rotación de mainlog y rejectlog de manera mensual:

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

Habilitar o deshabilitar funciones en Exim4

Habilita o deshabilita funciones de Exim4 para tu configuración. Por ejemplo:

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: "Servidor ESMTP listo $tod_full"

Esto habilitará las características integradas:

  • 02_exim4-custom_options en el grupo de configuración main
  • 30_exim4-config_dovecot_lmtp en el grupo de configuración transport

Y deshabilitará la función 30_exim4-config_examples si existe en /etc/exim/conf.d/auth.

La función 02_exim4-custom_options agrega las opciones personalizadas proporcionadas en exim4_custom_options a la configuración de Exim4.

Las siguientes etiquetas se pueden usar para reconfigurar Exim4:

  • exim4: ejecuta todas las tareas en la rol a menos que se desactive explícitamente
  • exim4-reconfigure: ejecuta la reconfiguración para aplicar parámetros actualizados (si los hay)
  • exim4-reconfigure-logrotate: reconfigura la rotación de logs

Licencia

BSD

Información del autor

Acerca del proyecto

An Ansible role that installs and configures Exim4

Instalar
ansible-galaxy install adegtyarev.ansible_role_exim4
Licencia
Unknown
Descargas
347
Propietario