1. Introducción

Este manual describe el procedimiento para configurar e instalar un servicio SMTP adecuado para el Servicio de Notificación por Correo Electrónico de GBDS en Ubuntu Linux. Este procedimiento fue probado en Ubuntu 20.04 LTS.

1.1. Envío de correos electrónicos

Para enviar correos electrónicos localmente, configure lo siguiente en la tabla enotifier.setting:

mail.smtp.host = localhost mail.smtp.port = 25

1.2. Postfix

Instale y configure Postfix. Para instalar, ejecute el siguiente comando:

sudo apt update sudo DEBIAN_PRIORITY=low apt install postfix

La instalación comenzará. Configure la instalación con lo siguiente:

  • Tipo general de configuración de correo: Sitio de Internet
  • Nombre del correo del sistema: alpha-01.pd.griaule
  • Destinatario del correo de root y postmaster: <nombre-de-cuenta-de-linux>
  • Otros destinos para aceptar correo: localhost.$myhostname, localhost, $mydomainname
  • ¿Forzar actualizaciones síncronas en la cola de correo?: No
  • Redes locales: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  • Límite de tamaño del buzón: 0
  • Carácter de extensión de dirección local: +
  • Protocolos de Internet para usar: todos

Acceda al archivo main.cf en /etc/postfix/ y modifique lo siguiente:

inet_interfaces = loopback-only mydestination = localhost.$mydomain, localhost, $myhostname

Note

Si es necesario, el archivo main.cf se puede usar para modificar las configuraciones realizadas en el proceso de instalación.

Habilitar postfix en el firewall, luego reinicie el servicio. Instale el paquete mailutils y habilite el puerto 80 en el firewall. Esto se puede hacer con:

sudo ufw allow Postfix sudo systemctl restart postfix sudo apt install mailutils sudo ufw allow 80

Reconfigure postfix:

sudo dpkg-reconfigure postfix

1.3. Clave de certificado autofirmado TLS

Para que el servicio funcione, necesita una clave de certificado autofirmado. Para crear uno y moverlo a la ubicación correcta, ejecute los siguientes comandos:

openssl genrsa -des3 -out server.key 2048 openssl rsa -in server.key -out server.key.insecure mv server.key server.key.secure mv server.key.insecure server.key openssl req -new -key server.key -out server.csr openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt sudo mv server.crt /etc/ssl/certs sudo mv server.key /etc/ssl/private

Acceda al archivo main.cf en /etc/postfix/ y modifique lo siguiente:

# Parámetros TLS smtpd_tls_cert_file = /etc/ssl/certs/server.crt smtpd_tls_key_file = /etc/ssl/private/server.key smtpd_tls_security_level = may smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_tls_ask_ccert = yes
#smtpd_tls_session_cache_timeout = 3600s

smtp_tls_CApath=/etc/ssl/certs smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_tls_mandatory_protocols=!SSLv2,!SSLv3 smtp_tls_protocols=!SSLv2,!SSLv3 smtp_tls_loglevel = 1

Habilitar TLS smtpd_tls_security_level = may smtp_tls_note_starttls_offer = yes

Luego, recargar y reiniciar postfix.

sudo systemctl reload postfix sudo systemctl restart postfix

1.4. SPF y DKIM

Para que la autenticación funcione, SPF y DKIM deben estar configurados:

Warning

La configuración de SPF y DKIM debe ser realizada por el administrador de la cuenta DNS.

1.4.1. SPF

Incluya el valor DNS TXT en el panel de control del dominio DNS.

  • Nombre/Host/Alias: @ o dejar en blanco.
  • Tiempo de vida (TTL): 3600 o dejar el valor predeterminado.
  • Valor/Respuesta/Destino: v=spf1 ip4:x.x.x.x ~all (donde x.x.x.x es la dirección IP de su servidor).

Note

Al configurar el Nombre/Host/Alias, el panel de control puede indicar otros registros DNS preferibles para su dominio. Verifique la mejor opción para su entorno. Si es necesario, póngase en contacto con el equipo de soporte de Griaule para obtener más información.

1.4.2. DKIM

Genere las claves pública y privada de DKIM en: https://dkimcore.org/tools/keys.html

Copie la clave privada como dkim-private.pem en /etc/ssl/certs

Incluya el valor DNS TXT.

  • Nombre/Host/Alias: mail._domainkey
  • Valor: v=DKIM1; h=sha256; k=rsa; t=y; p=<valor público generado en el sitio>

Acceda al archivo main.cf en /etc/postfix/ y modifique lo siguiente:

#DKIM milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891

Luego, recargue y reinicie postfix.

sudo systemctl reload postfix sudo systemctl restart postfix

1.4.3. OpenDKIM

Para instalar OpenDKIM, ejecute:

sudo apt-get install opendkim opendkim-tools

Abra el archivo opendkim.conf en /etc/ y edite lo siguiente:

Socket                  inet:8891@localhost
#Socket                 local:/var/run/opendkim/opendkim.sock

Luego abra el archivo opendkim en /etc/default/ y modifíquelo como se muestra:

SOCKET=inet:8891@localhost

Para aplicar los cambios, reinicie postfix y opendkim.

sudo service postfix reload sudo service postfix restart sudo service opendkim restart

1.5. SASL

La configuración de la capa de autenticación y seguridad simple hace que postfix envíe correos electrónicos utilizando hosts de retransmisión conocidos en el puerto 25 para autenticarse correctamente, evitando que los correos electrónicos sean marcados como spam.

Abra main.cf en etc/postfix y modifique:

relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/saslpass smtp_sasl_security_options = noanonymous

Luego, vaya a /etc/postfix/ y abra el archivo saslpass y edite:

[smtp.gmail.com]:587 username@gmail.com:password

La contraseña necesaria es una contraseña generada por una nueva aplicación. Esto se genera en la configuración de seguridad de la cuenta de Gmail.

Para finalizar la configuración, ejecute lo siguiente:

sudo postmap /etc/postfix/saslpass sudo chown root:root /etc/postfix/saslpass /etc/postfix/saslpass.db sudo chmod 0600 /etc/postfix/saslpass /etc/postfix/saslpass.db sudo service postifx reload sudo service postfix restart

Ejecutar los siguientes comandos en la terminal:

sudo postmap /etc/postfix/saslpass
sudo chown root:root /etc/postfix/saslpass /etc/postfix/saslpass.db
sudo chmod 0600 /etc/postfix/saslpass /etc/postfix/saslpass.db
sudo service postifx reload
sudo service postfix restart

Nota: “postifx” debe ser corregido a “postfix”.