Me gustaría deshacerme de Google como proveedor de correo electrónico y configurar una solución de correo electrónico completa en mi servidor dedicado. El problema: deseo que la configuración sea lo más simple posible, para que no sea un problema configurar todo de nuevo si hay un problema.
Prerrequisitos
- Solo una cuenta de usuario en la máquina.
- (nombre
diti
; correo electrónico principal[email protected]
; otros alias se redirigen, pero un cliente de correo electrónico puede administrar los diferentes alias y reaccionar en consecuencia)
- (nombre
- Preferiblemente no usa MySQL.
- (en el caso de la copia de seguridad y restauración de datos, así como por simplicidad, es mejor si uno no tiene que instalar y proteger MySQL antes de obtener un servidor de correo electrónico funcional)
- Se puede acceder al correo electrónico (IMAP y SMTP) desde el exterior.
- Cifrado SSL / TLS para autenticación IMAP y SMTP (estoy usando certificados CAcert , ¿importa?).
Creo que la simplicidad, el acceso IMAP / SMTP y la autenticación segura son las características "básicas" que todos los que desean abandonar Google o cualquier otra cosa desearían. Si me equivoco y hay una solución más simple (por ejemplo, una solución de tipo OwnCloud, con todo incluido), me encantaría saberlo.
Creo que la combinación de Postfix y Dovecot sería el camino a seguir. Por cierto, estoy ejecutando Debian.
La información que he encontrado hasta ahora
- Un artículo francés describe en detalles muy largos cómo configurar una solución de correo electrónico completa y segura. Es largo, más difícil de mantener, más difícil de respaldar y restaurar, etc. Además, ¿es necesario un caché DNS?
- El wiki de Gentoo (
Complete_Virtual_Mail_Server/SSL_Certificates
página) menciona el uso de certificados CAcert, pero no lo tiene claro (¿sonSubjectAltName
necesarios todos esos subdominios?), Ni usa Postfix (he leído que Courier es más difícil). - Varios tutoriales sobre autohospedaje, todos diferentes, rara vez describen lo que están haciendo y por qué (el correo autohospedado con acceso remoto parece complicado de configurar, entonces, ¿por qué simplemente proporcionar una lista de comandos sin explicación para "tontos"?) .
Espero haber preguntado las cosas correctas, y que no sean demasiado tontas.
Respuestas:
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 haciakra@
opostmaster@
hacia laditi
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
oglaux.diti.me
. No estoy seguro si necesita incluir el dominio en sí (es decirditi.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
ydovecot-imapd
. Cuando se le solicite sobre la configuración de Postfix, seleccione la opción "Sitio de Internet" e ingresediti.me
como el nombre del correo. En este punto, ya puede enviar y recibir correo como[email protected]
, 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 usandogpasswd -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: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 / odoveadm 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":Configure Dovecot para usar la misma ruta, en
/etc/dovecot/conf.d/10-mail.conf
: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: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:Y Postfix necesita usarlo,
/etc/postfix/main.cf
nuevamente: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 predeterminadomaster.cf
ya tiene las líneas necesarias que solo necesitan no ser comentadas, aunque algunas de ellas aún deben omitirse.Si tiene un cliente de correo que requiere un puerto "SSL implícito" de estilo antiguo (tcp / 465), puede descomentar las
smtps
líneasmaster.cf
; si es así, mantenga una configuración similar a la delsubmission
puerto.8. Finalmente configure alias para su cuenta, editando
/etc/aliases
. Elpostmaster
alias es básicamente requerido; es el punto de contacto si hay problemas con su servidor de correo. Señalarroot
y otros alias similares también es bueno.El formato básico está documentado en alias (5):
Use
postalias
onewaliases
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 enviadokra@...
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.
fuente
mail.diti.me
(= la dirección IP de mi servidor) para IMAP y SMTP, mi dominio ya tiene los registros MX. ¿He hecho algo mal durante la configuración de mi servidor o solo tengo problemas con Thunderbird?ps auxw | grep "dovecot"
ser? Comparé contra la compleja configuración de uno de mis amigos, y él tienedovecot-auth
yimap-login
eso no tengo. ¿Podría ser posible que los puertos estén realmente abiertos (no recuerdo usar un firewall), pero sin un demonio configurado para escuchar esos puertos desde el exterior, o algo así? Cuando ejecutoopenssl s_client -connect mail.diti.me:993
en el servidor, funciona (y dice "Dovecot ready"), pero nada desde el exterior. ¿Quizás debería intentar instalar un firewall y permitir explícitamente esos puertos?dovecot
,dovecot/anvil
,dovecot/log
, y otros. Además, algunos procesos solo se inician cuando alguien se conecta, o solo cuando se verifican los detalles de autenticación.iptables -n -v -L
para verificar si hay alguna regla para descartar paquetes.