Configuración de Servidores · 4 min read · Oct 07, 2025

Servidor de Directorio Mandriva en Debian Etch - Página 3

8 Configuración de SASL

Postfix utilizará SASL para autenticar usuarios contra el servidor LDAP.

mkdir -p /var/spool/postfix/var/run/saslauthd/

Ajusta la configuración predeterminada.

vi /etc/default/saslauthd

Debería verse así:

START=yes
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
vi /etc/saslauthd.conf

Debería verse así:

ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=Users,dc=example,dc=com
ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))
vi /etc/postfix/sasl/smtpd.conf

Debería verse así:

pwcheck_method: saslauthd
mech_list: plain login

Agrega Postfix al grupo SASL …

adduser postfix sasl

… y reinicia SASL.

/etc/init.d/saslauthd restart

9 Configuración de Postfix

9.1 Ejemplo de Configuración

Para esta configuración elegí la configuración sin dominios virtuales - tal vez agregaré los pasos necesarios para una configuración de dominio virtual en un futuro cercano. Primero copia el archivo de configuración de ejemplo en el directorio de postfix. Es la base para la siguiente configuración.

cp /usr/share/doc/python-mmc-base/contrib/postfix/no-virtual-domain/* /etc/postfix/

9.2 Configuración Principal

Primero ajusta el archivo de configuración principal.

vi /etc/postfix/main.cf

Edita el archivo para que se ajuste a tu dominio y además agrega algunas restricciones y la configuración de autenticación - el contenido debería verse así:

# Ver /usr/share/postfix/main.cf.dist para una versión comentada, más completa
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no  

# agregar .domain es trabajo del MUA.
append_dot_mydomain = yes
append_at_myorigin = yes  

# Descomentar la siguiente línea para generar advertencias de "correo retrasado"
#delay_warning_time = 4h  

myhostname = server1.example.com
mydomain = example.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf,  hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.example.com,example.com,localhost.localdomain,localhost
mail_destination_recipient_limit = 1
mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN"
relayhost = 
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all  

# Usar Maildir
home_mailbox = Maildir/  

# Esperar hasta el comando RCPT TO antes de evaluar restricciones 
smtpd_delay_reject = yes  

# Restricciones Básicas 
smtpd_helo_required = yes 
strict_rfc821_envelopes = yes  

# Requisitos para el servidor que se conecta 
smtpd_client_restrictions = 
   permit_mynetworks, 
   permit_sasl_authenticated, 
   reject_rbl_client bl.spamcop.net, 
   reject_rbl_client dnsbl.njabl.org, 
   reject_rbl_client cbl.abuseat.org, 
   reject_rbl_client sbl-xbl.spamhaus.org, 
   reject_rbl_client list.dsbl.org, 
   permit  

# Requisitos para la declaración HELO 
smtpd_helo_restrictions = 
   permit_mynetworks, 
   permit_sasl_authenticated, 
   reject_non_fqdn_hostname, 
   reject_invalid_hostname, 
   permit  

# Requisitos para la dirección del remitente 
smtpd_sender_restrictions = 
   permit_mynetworks, 
   permit_sasl_authenticated, 
   reject_non_fqdn_sender, 
   reject_unknown_sender_domain, 
   permit  

# Requisito para la dirección del destinatario 
smtpd_recipient_restrictions = 
   permit_mynetworks, 
   permit_sasl_authenticated, 
   reject_non_fqdn_recipient, 
   reject_unknown_recipient_domain, 
   reject_unauth_destination, 
   permit  

# Habilitar autenticación SASL para el demonio smtpd 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth  

# Solución para outlook
broken_sasl_auth_clients = yes  

# Rechazar conexiones anónimas 
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_local_domain =  

# SSL/TLS
smtpd_tls_security_level = may 
smtpd_tls_loglevel = 1 
smtpd_tls_cert_file = /etc/ssl/certs/mail.pem 
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache  

# Amavis
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

9.3 Configuración de Alias LDAP

Ahora tienes que editar la configuración de alias.

vi /etc/postfix/ldap-aliases.cf

Edita el archivo para que se ajuste a tu dominio - debería verse así:

server_host = 127.0.0.1
search_base = ou=Users,dc=example,dc=com
query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))
result_attribute = maildrop
version = 3

9.4 Configuración Maestra

La configuración maestra es la última parte de la configuración de postfix.

vi /etc/postfix/master.cf

Agrega las siguientes líneas:

# SMTPS  
smtps inet n - - - - smtpd  
   -o smtpd_tls_wrappermode=yes  
   -o smtpd_sasl_auth_enable=yes
# Dovecot  
dovecot unix - n n - - pipe  
   flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient
# Correo a Amavis  
amavis unix - - - - 10 smtp  
   -o smtp_data_done_timeout=1200  
   -o smtp_send_xforward_command=yes  
   -o disable_dns_lookups=yes  
   -o max_use=20
# Correo de Amavis  
127.0.0.1:10025 inet n - - - - smtpd  
   -o content_filter=  
   -o local_recipient_maps=  
   -o relay_recipient_maps=  
   -o smtpd_restriction_classes=  
   -o smtpd_delay_reject=no  
   -o smtpd_client_restrictions=permit_mynetworks,reject  
   -o smtpd_helo_restrictions=  
   -o smtpd_sender_restrictions=  
   -o smtpd_recipient_restrictions=permit_mynetworks,reject  
   -o smtpd_data_restrictions=reject_unauth_pipelining  
   -o smtpd_end_of_data_restrictions=  
   -o mynetworks=127.0.0.0/8  
   -o smtpd_error_sleep_time=0  
   -o smtpd_soft_error_limit=1001  
   -o smtpd_hard_error_limit=1000  
   -o smtpd_client_connection_count_limit=0  
   -o smtpd_client_connection_rate_limit=0  
   -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

Reinicia Postfix:

/etc/init.d/postfix restart

10 Dovecot

Dovecot proporcionará soporte POP3- (SSL/TLS), IMAP- (SSL/TLS) y de cuotas al servidor de correo.

10.1 Configuración Principal

echo "" > /etc/dovecot/dovecot.conf  
vi /etc/dovecot/dovecot.conf

El contenido debería verse así:

protocols = imap imaps pop3 pop3s 
listen = 0.0.0.0
login_greeting = example.com mailserver ready. 
mail_location = maildir:~/Maildir
disable_plaintext_auth = no
ssl_cert_file = /etc/ssl/certs/mail.pem 
ssl_key_file = /etc/ssl/private/mail.key
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot.log  

# Configuración IMAP
protocol imap {
    mail_plugins = quota imap_quota
}  

# Configuración POP3
protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
    mail_plugins = quota
}
             
# Configuración LDA 
protocol lda { 
    postmaster_address = postmaster 
    auth_socket_path = /var/run/dovecot/auth-master
    mail_plugins = quota 
} 
                                         
# Autenticación LDAP
 
auth default {
    mechanisms = plain login
 
    passdb ldap { 
        args = /etc/dovecot/dovecot-ldap.conf 
    }
     
    userdb ldap { 
        args = /etc/dovecot/dovecot-ldap.conf 
    }
     
    socket listen { 
        master { 
            path = /var/run/dovecot/auth-master 
            mode = 0660 
            user = dovecot 
            group = mail 
        }  

        client {
            path = /var/spool/postfix/private/auth
            mode = 0660
            user = postfix
            group = postfix
        }
    }
}

10.2 Configuración LDAP

echo "" > /etc/dovecot/dovecot-ldap.conf  
vi /etc/dovecot/dovecot-ldap.conf

El contenido debería verse así:

hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=example,dc=com
scope = subtree
user_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:storage
user_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
default_pass_scheme = CRYPT
user_global_gid = mail

10.3 Entregar

A continuación, ajusta los derechos para el entregador de dovecot - para que dovecot use el uid y gid correctos cuando almacene mensajes en los maildirs.

dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver

Después reinicia Dovecot.

/etc/init.d/dovecot restart
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.