PDF de programación - Correo Electrónico Avanzado

Imágen de pdf Correo Electrónico Avanzado

Correo Electrónico Avanzadográfica de visualizaciones

Publicado el 3 de Abril del 2019
485 visualizaciones desde el 3 de Abril del 2019
3,5 MB
94 paginas
Juan Díez-Yanguas Barber

Correo Electrónico Avanzado Contenidos

Introducción
Configuración de Postfix y Dovecot
Postfix Admin. Usuarios y dominios
virtuales
Webmail. RoundCube Mail
AntiSpam - Antivirus

Introducción

Servicio de red que tiene como
obejtivo el envío y recepción de
mensajes
Permite el envío de texto y otro tipo de
documentos adjuntos (Extensiones
MIME)

Introducción

Relay

NO

Entrega
Local

SI

User Agent

IN A

DNS

MX

SMTP

25/TCP

Message

Transfer Agent

POP3/IMAP

Introducción

Componentes

Protocolo de envío: SMTP
Gestión de buzones: POP3 / IMAP
Herramientas de administración
Servicio Webmail
AntiSpam - Antivirus
Respuestas automáticas ...

Introducción

Cliente en terminal

$mail

Cola de salida postfix

$posqueue
 -­‐p

Formato de Buzones

MailBox /var/spool/mail
Maildir $HOME

Nuevo certificado

openssl
 req
 -­‐new
 -­‐x509
 -­‐nodes
 -­‐out
 cert.pem
 
-­‐keyout
 key.pem
 -­‐days
 3650

Introducción

TLS: Sucesor de SSL. Securización de
las conexiones de red mediante
métodos criptográficos
STARTTLS: Extensión a los
protocolos de comunicación en texto
plano. Permite comunicación cifrada
usando los mismos sin necesidad de
usar otros puertos.

Postfix

Instalación

yum
 install
 postfix

Configuración

/etc/postfix/main.cf
/etc/postfix/master.cf

Configuración

service
 postfix
 start
service
 saslauthd
 start

Postfix - Main.cf
myhostname

Nombre del host
Por defecto: gethostname()

mydomain

Nombre de dominio
Por defecto $myhostname menos
primer componente

Postfix - Main.cf

myorigin

Dominio de origen de los mensajes
enviados
Por defecto: $myhostname

inet_interfaces

Interfaces en las que escucha el servidor
Por defecto: all

Postfix - Main.cf

mydestination

Dominios seleccionados como entrega local

mynetworks,
 mynetworks_style

Orígenes de confianza: relay

relay_domains

Dominios de relay permitidos a cualquier
usuario
Por defecto: $mydestination

Postfix - Main.cf

disable_vrfy_command

Deshabilita comando VRFY. Preguntar si
una cuenta de correo existe o no

smtpd_use_tls

Servidor admite STARTTLS. No obliga a su
uso

smtpd_tls_auth_only

Las conexiones SMTP-AUTH se realizarán
solo mediante canales seguros

Postfix - Main.cf

smtpd_tls_cert_file/smtpd_tls_key_file

Certificado y clave privada del servidor

smtpd_sasl_auth_enable

Activa SMTP-AUTH

broken_sasl_auth_clients

Política a seguir con clientes sin
soporte para SMTP-AUTH

Postfix - Main.cf

smtpd_sasl_security_options

Opciones en caso de fallo de los
métodos de autenticación.
Recomendado: nonanonymous

tls_random_source

Recomendado: dev:/dev/urandom

Postfix - Main.cf

smtpd_recipient_restrictions
 =
 
permit_sasl_authenticated,
 
permit_mynetworks,
 reject_unauth_destination

Relay habilitado para usuarios
autenticados

Postfix - Configuración Cliente

Dovecot

Dovecot

Instalación

yum
 install
 dovecot

Configuración

/etc/dovecot.conf

Certificados instalados. Crea PKI completa en la instalación

/etc/pki/dovecot

Servicios

service
 dovecot
 start

Inicio de Sesion

openssl
 s_client
 -­‐connect
 
mail.sample.com:pop3s

Dovecot

Dovecot - Configuración

Dovecot - Configuración

protocols

Protocolos activos: pop3(s), imap(s)

mail_location

Formato y ubicación de los buzones
Ejemplo: ~/Maildir

pop3_uidl_format

UIDL (Unique Mail Identifier)
%08Xu%08Xv: Requerido en Outlook 2003 vía
POP3

Dovecot - Configuración

Dovecot - Configuración

ssl_disable

Seguridad de Dovecot
Activar seguridad: ssl_disable=no

ssl_cert_file
 /
 ssl_key_file

Certificados de SSL
Posibilidad de ser diferentes para los
distintos protocolos: protocol
 imap
 
{...}

Dovecot - Configuración

disable_plaintext_auth
 =
 yes

Deshabilita autenticación con texto
plano salvo que se haya establecido
primero un canal seguro SSL/TLS
Inicios de sesión que no son en texto
plano han sido diseñados para ser
seguros incluso si capa de seguridad
SSL dado que usan hashes MD5 y DES

Dovecot - Configuración del

cliente

Postfix Admin

Postfix con soporte para MySQL

postconf
 -­‐m

Instalación de MySQL

yum
 install
 mysql-­‐server
 
mysqladmin
 -­‐u
 root
 password
 
root

Postfix Admin

Configuración MySQL

create
 database
 postfix;
CREATE
 USER
 postfixu
 IDENTIFIED
 BY
 'postfix';
GRANT
 ALL
 PRIVILEGES
 ON
 *
 .
 *
 TO
 postfixu;
FLUSH
 PRIVILEGES;
mysqladmin
 -­‐u
 postfixu
 password
 postfix

Postfix Admin

Instalación (tar.gz)

Directorio: /usr/share/
wget
tar
 -­‐xvzf
mv
 postfixadmin-­‐2.3.6
 postfixadmin

Configuración

/usr/share/postfixadmin/config.inc.php

Postfix Admin

$CONF[‘configured’]
 =
 true;
Configurado y listo para iniciar

$CONF[‘postfix_admin_url’]
 =
 ‘/
mailadmin’;

URL de acceso a la administración
$CONF[‘domain_path’]
 =
 ‘YES’;
Buzones guardados separados por
dominios

Postfix Admin

Configuración de acceso a MySQL

$CONF[‘database_type’]
 =
 ‘mysql’;
$CONF[‘database_host’]
 =
 ‘localhost’;
$CONF[‘database_user’]
 =
 ‘postfixu’;
$CONF[‘database_password’]
 =
 ‘postfix’;
$CONF[‘database_name’]
 =
 ‘postfix’;

Postfix - Admin

$CONF[‘encrypt’]
 =
 ‘md5crypt’;

Activa encriptación de las
contraseñas de acceso

$CONF[‘emailcheck_resolve_domain’]
=‘NO’;

Verifica la resolución de dominios al
crear nuevas cuentas

Postfix Admin

Configuración Apache

Configuración: /etc/httpd/conf/httpd.conf
Alias
 /mailadmin
 /usr/share/postfixadmin
<Directory
 “/usr/share/postfixadmin”>
Order
 allow,deny
Allow
 from
 all
</Directory>

Instalación de PHP

yum
 install
 php
 php-­‐mysql
 php-­‐imap
 php-­‐mbstring

Inicio del servidor web y MySQL

service
 httpd
 start
service
 mysqld
 start

Postfix Admin

Configuración de Password para setup

$CONF[‘setup_password’]

Crear cuenta de administración
Crear dominios virtuales
Crear buzones virtuales

Postfix Admin

Postfix Admin

Nuevo Dominio virtual

Postfix Admin

Nuevo Buzón virtual

Postfix - Servidores y cuentas

virtuales

Crear usuario real de soporte
useradd
 vmail
 -­‐p
 vmail
UID: 505
GID: 505
Home: /home/vmail/

Postfix - Servidores y cuentas

virtuales

Dominios Virtuales: /etc/postfix/mysql-domains.cf

hosts
 =
 localhost
user
 =
 postfixu
password
 =
 postfix
dbname
 =
 postfix
table
 =
 domain
select_field
 =
 domain
where_field
 =
 domain
additional_conditions
 =
 and
 backupmx
 =
 
'0'
 and
 active
 =
 '1'

Postfix - Servidores y cuentas

virtuales

Usuarios virtuales: /etc/postfix/mysql-users.cf

hosts
 =
 localhost
user
 =
 postfixu
password
 =
 postfix
dbname
 =
 postfix
table
 =
 mailbox
select_field
 =
 maildir
where_field
 =
 username
additional_conditions
 =
 and
 active
 =
 '1'
result_format
 =
 %sMaildir/

%s ----> dominio/usuario@dominio/Maildir/.
%u/Maildir ---->/dominio/usuario/Maildir/.

Postfix - Servidores y cuentas

virtuales

Alias virtuales: etc/postfix/mysql-aliases.cf

hosts
 =
 localhost
user
 =
 postfixu
password
 =
 postfix
dbname
 =
 postfix
table
 =
 alias
select_field
 =
 goto
where_field
 =
 address
additional_conditions
 =
 and
 active
 =
 '1'

Postfix - Servidores y cuentas

virtuales

Test de configuración

$postmap
 -­‐q
 efirel.com
 mysql:mysql-­‐
domains.cf

-­‐>efirel.com

$postmap
 -­‐q
 juan@efirel.com
 mysql:mysql-­‐
users.cf

-­‐>efirel.com/juan@efirel.com/Maildir/

$postmap
 -­‐q
 juandyb@efirel.com
 
mysql:mysql-­‐aliases.cf

-­‐>juan@efirel.com

Postfix - Servidores y cuentas

virtuales

Configuración en Main.cf

virtual_mailbox_domains
 =
 mysql:/etc/postfix/mysql-­‐domains.cf
virtual_mailbox_maps
 =
 mysql:/etc/postfix/mysql-­‐users.cf
virtual_alias_maps
 =
 mysql:/etc/postfix/mysql-­‐aliases.cf
virtual_mailbox_base
 =
 /home/vmail
virtual_uid_maps
 =
 static:505
virtual_gid_maps
 =
 static:505

Postfix - Servidores y cuentas

virtuales

mydestination
 =
 $myhostname,
 localhost.
$mydomain,
 localhost

No debe aparecer $mydomain, los dominios
ahora están en la BD. De ponerlo no llega a
buscar en la BD

#home_mailbox
 =
 Maildir/

Ahora los directorios de los buzones vienen de
la BD

Dovecot - Servidores y cuentas

virtuales

auth_username_format
 =
 %Lu

Formato de búsqueda del usuario en
la base de datos, tratamiento anterior
a la búsqueda.
%Lu: Cambio a minúsculas

Dovecot - Servidores y cuentas

virtuales
Configuración con MySQL

passdb
 sql
 {

args
 =
 /etc/dovecot-­‐mysql.conf

}

Configuración del usuario real de soporte

userdb
 static
 {

args
 =
 uid=505
 gid=505
 home=/home/vmail/%d/%u

}

#Ser
 coherente
 con
 la
 configuración
 de
 Postfix
 en
 la
 
ubicación
 de
 los
 buzones

%d ->Dominio
%u ->Usuario (usuario@dominio)
%n ->Usuario (usuario sin dominio)

Dovecot - Servidores y cuentas

virtuales

Posible problema: Incoherencia en la
ubicación de los buzones

Ser coherente

mail_location
 =
 maildir:/
home/vmail/%d/%u/Maildir

Comentar configuración anterior

#mail_location
 =
 maildir:~/
Maildir

Dovecot - Servidores y cuentas

virtuales

Fichero de configuración de acceso a
MySQL

driver
 =
 mysql
connect
 =
 host=localhost
 dbname=postfix
 user=postfixu
 
password=postfix
default_pass_scheme
 =
 CRYPT
password_query
 =
 SELECT
 password
 FROM
 mailbox
 WHERE
 username
 =
 
'%u'
 AND
 active
 =
 '1'

Posible fallo: Formato de la contraseña

Ser coherente con la configuración de la
Base de Datos

Formato de la contraseña, en la BD está como MD5, si se pone PLAIN falla por no hacer la
huella MD5 en la comparación

Webmail - RoundCube

Instalación (tar.gz)

Directorio: /usr/share/
wget
tar
 -­‐xvzf
mv
 roundcubemail-­‐0.9.0
 roundcubemail

Configuración

/usr/share/roundcubemail/config/main.inc.php
/usr/sh
  • Links de descarga
http://lwp-l.com/pdf15637

Comentarios de: Correo Electrónico Avanzado (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad