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”.