No, no es necesario configurar una caché de DNS en el servidor. El servidor debe usar un dispositivo de resolución DNS de almacenamiento en caché que esté cerca, pero la mayoría de las empresas de hosting ya ejecutan sus propios dispositivos de resolución para todo el centro de datos y configuran servidores para usarlos de manera predeterminada.
Por defecto, tanto Postfix como Dovecot usan cuentas locales para todo. Si tiene una cuenta de Linux con nombre diti
, puede iniciar sesión en Dovecot con ella, y puede configurar Postfix para validar los inicios de sesión SMTP en Dovecot .
Si está de acuerdo en hacer que todo el correo vaya a la misma cuenta, puede configurar alias simples (como en /etc/aliases
) para redirigir el correo hacia kra@
o postmaster@
hacia la diti
cuenta.
Todos esos subjectAltNames no son necesarios. Los únicos que necesita son los nombres de dominio que realmente va a usar , por ejemplo, mail.diti.me
o glaux.diti.me
. No estoy seguro si necesita incluir el dominio en sí (es decir diti.me
).
Lo siguiente supone que el dominio ya tiene registros MX configurados para apuntar a este servidor. Generalmente trato de mantener mi configuración razonablemente clara, ya que siempre termino preguntándome "para qué demonios es esto" unos meses más tarde.
1. Primero, instale los paquetes postfix
y dovecot-imapd
. Cuando se le solicite sobre la configuración de Postfix, seleccione la opción "Sitio de Internet" e ingrese diti.me
como el nombre del correo. En este punto, ya puede enviar y recibir correo como diti@diti.me
, y probablemente incluso conectarse a IMAP.
Sin embargo, todavía no tiene SSL, ni permite enviar correo a través de SMTP desde el exterior, ni un lugar sensato para almacenar correo (el valor predeterminado es un archivo mbox /var/mail
, que no es confiable y ofrece un mal rendimiento, especialmente con IMAP).
2. Si ya tiene un certificado SSL, póngalo /etc/ssl/private/diti.me.pem
y la clave privada /etc/ssl/private/diti.me.key
. La ubicación exacta en realidad no importa, pero /etc/ssl/private
es donde Debian los guarda.
Asegúrese de que ambos archivos sean propiedad y legibles por el ssl-cert
grupo, para que Postfix y Dovecot puedan acceder a ellos. Agregue también las cuentas de ambos demonios a ese grupo usando gpasswd -a
.
3. El Postfix generado automáticamente por Debian también main.cf
es un poco desordenado, así que voy a publicar una versión mínima limpiada:
# Información del servidor
midominio = diti.me
myorigin = $ mydomain
# Varios otros parámetros usan estas dos variables como valores predeterminados.
# Servicio SMTP
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
# Esto permite que STARTTLS se use en todas las conexiones SMTP entrantes.
# Tenga en cuenta que `postfix` debe agregarse al grupo` ssl-cert` para poder
# para acceder a archivos en / etc / ssl / private.
# Políticas
mynetworks = [:: 1] / 128, 127.0.0.0/8, [::ffff:127.0.0.0font>/104
# Esto enumera las direcciones IP que se consideran "confiables" y pueden usar
# este servidor para enviar correo al exterior (es decir, a otros dominios). Por
# predeterminado, solo se permite "localhost". De todos los demás, solo envíe un correo a
Se aceptarán # dominios en $ mydestination.
mydestination = $ mydomain, localhost
# Lista de dominios para aceptar correo, desde cualquier dirección IP.
# Entrega
alias_maps = hash: / etc / aliases
# Esto mantiene los alias de todo el sistema. Es bueno establecerlo explícitamente porque
# el valor predeterminado a veces incluye NIS, lo que no tiene sentido.
recipiente_delimitador = +
# Indica a postfix que divida la parte local de las direcciones en el primer '+',
# llamado "direccionamiento positivo": se enviará el correo enviado a diti + foo @
# al buzón diti @.
Para Dovecot, Debian solo usa las configuraciones de ejemplo predeterminadas, y son lo suficientemente buenas, con cada opción descrita.
Cada vez que cambie la configuración, vuelva a cargar demonios con postfix reload
y / o doveadm reload
.
4. De forma predeterminada, Postfix entrega el correo /var/mail/$USER
en formato mbox , que es bastante simple (puede verlo fácilmente con un editor de texto) pero tiene muchos problemas, especialmente con IMAP, ya que todo el archivo debe reescribirse cada vez que mueve un archivo. mensaje o incluso marcar uno como "leído" o "no leído".
Cambia ambos demonios para usar Maildir. (Hay otros formatos, pero tienden a ser específicos para el servidor MTA o MDA o IMAP o lo que sea; Maildir es ampliamente compatible).
En /etc/postfix/main.cf
, agregue lo siguiente a la sección "Entrega":
home_mailbox = Correo /
Configure Dovecot para usar la misma ruta, en /etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir: ~ / Mail
5. En algún momento, necesita decirle a Dovecot que use SSL también. Las configuraciones relevantes están en /etc/dovecot/conf.d/10-ssl.conf
. De hecho, el paquete Debian para Dovecot ya usa SSL, aunque con un certificado autofirmado que es inútil en su mayoría. Configúrelo para usar su propio certificado:
ssl = yes
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6. Ahora puede enviar correo al exterior y recibirlo. Todavía es necesario configurar Postfix para permitirle enviar desde el exterior conectándose con su cliente de correo a través de SMTP.
Primero dígale a Postfix que use Dovecot para verificar los inicios de sesión. Las siguientes instrucciones se toman principalmente de la wiki de Dovecot .
Dovecot /etc/dovecot/conf.d/10-master.conf
necesita escuchar en un socket al que Postfix pueda acceder; la configuración predeterminada ya tiene un ejemplo comentado:
servicio de autenticación {
...
unix_listener / var / spool / postfix / private / auth {
modo = 0660
usuario = postfix
grupo = postfix
}
...
}
Y Postfix necesita usarlo, /etc/postfix/main.cf
nuevamente:
# Autenticación
smtpd_sasl_type = palomar
smtpd_sasl_path = privado / autenticación
# El otro tipo posible es "cyrus", para el 'saslauthd' de Cyrus SASL
# demonio. Elijo Dovecot aquí porque funciona bien como servidor SASL, y
# es más simple dejar que maneje la autenticación para ambos demonios.
7. Observe que lo anterior no se estableció en smtpd_sasl_auth_enable
ningún lado. La convención actual es no habilitar la autenticación SMTP globalmente, sino mantener tcp / 25 simplemente como un puerto SMTP "servidor a servidor". Mientras tanto, se aceptan nuevos mensajes de los usuarios a través de SMTP en tcp / 587, el puerto de "envío de correo", que requiere autenticación. Algunos ISP incluso bloquean tcp / 25 debido a spam, pero mantienen abierto tcp / 587 ya que generalmente está mejor protegido.
Habilite el puerto "Envío" en /etc/postfix/master.cf
, con autenticación SASL. El valor predeterminado master.cf
ya tiene las líneas necesarias que solo necesitan no ser comentadas, aunque algunas de ellas aún deben omitirse.
envío inet n - - - - smtpd
-o syslog_name = postfix / submit
-o smtpd_tls_security_level = encrypt
# El puerto "Sumisión" requerirá TLS, en lugar de hacerlo opcional
-o smtpd_sasl_auth_enable = yes
# ... además de permitir que los usuarios inicien sesión.
# -o smtpd_reject_unlisted_recipient = no
# -o smtpd_client_restrictions = $ mua_client_restrictions
# -o smtpd_helo_restrictions = $ mua_helo_restrictions
# -o smtpd_sender_restrictions = $ mua_sender_restrictions
# Estas cuatro opciones pueden dejarse comentadas; si está habilitado, lo harían
# espera que establezca reglas de restricción personalizadas en 'main.cf', pero el
# los predeterminados están bien.
-o smtpd_recipient_restrictions = permit_sasl_authenticated, rechazar
# Las destinaciones predeterminadas_restricciones comprueban la dirección IP y
# $ mydestination. Para el puerto "Sumisión", permita todo mientras
# cuando el usuario ha iniciado sesión, pero rechaza todo el correo anónimo.
-o milter_macro_daemon_name = ORIGINANDO
# Si luego decide configurar un proxy DKIM o similar, esto permitirá
# para distinguir los correos enviados por el usuario de los recibidos.
# Es parte de la configuración predeterminada, por lo tanto, también se incluye aquí.
Si tiene un cliente de correo que requiere un puerto "SSL implícito" de estilo antiguo (tcp / 465), puede descomentar las smtps
líneas master.cf
; si es así, mantenga una configuración similar a la del submission
puerto.
8. Finalmente configure alias para su cuenta, editando /etc/aliases
. El postmaster
alias es básicamente requerido; es el punto de contacto si hay problemas con su servidor de correo. Señalar root
y otros alias similares también es bueno.
El formato básico está documentado en alias (5):
postmaster: root
admin: root
root: diti
kra: diti
Use postalias
o newaliases
para actualizar la base de datos hash /etc/aliases.db
cada vez que edite este archivo.
Ahora, todavía tiene una cuenta llamada diti
en lo que respecta a Postfix y Dovecot, pero el correo enviado kra@...
también se reenvía allí. Algunos clientes de correo (por ejemplo, Thunderbird) admiten múltiples "identidades" o "personas" para un solo servidor de correo, por lo que puede seleccionar entre diferentes direcciones "De:".
Eso es todo. Podría regresar con instrucciones para procmail, dominios virtuales, SPF y / o DKIM más adelante.