Diferencia entre revisiones de «Instalar servidor de correo»
(New page: Cercionarse de que: Nuestro hostname esta bien configurado ==Desinstalación de sendmail== yum remove sendmail Removed: sendmail.i386 0:8.13.1-3.RHEL4.5 Dependency Removed: mdadm.i38...) |
(Undo revision 1491 by Special:Contributions/190.161.178.134 (User talk:190.161.178.134)) |
||
(No se muestran 17 ediciones intermedias de 3 usuarios) | |||
Línea 3: | Línea 3: | ||
Nuestro hostname esta bien configurado | Nuestro hostname esta bien configurado | ||
− | == | + | ==Instalación== |
+ | # quitamos sendmail | ||
yum remove sendmail | yum remove sendmail | ||
− | Removed: sendmail.i386 0:8.13.1-3.RHEL4.5 | + | #Removed: sendmail.i386 0:8.13.1-3.RHEL4.5 |
− | Dependency Removed: mdadm.i386 0:1.6.0-3 redhat-lsb.i386 0:3.0-8.EL | + | #Dependency Removed: mdadm.i386 0:1.6.0-3 redhat-lsb.i386 0:3.0-8.EL |
+ | # instalamos | ||
+ | cyrus-sasl # sistema de autentificación de los usuarios de correo | ||
+ | cyrus-sasl-md5 # tipo de autentificación md5 | ||
+ | cyrus-sasl-plain # tipo de autentificación plain | ||
+ | yum install postfix # servidor smtp | ||
+ | yum install cyrus-imapd # servidor imap y pop3 | ||
+ | yum install cyrus-imapd-utils # comando cyradm con el que se crean mailboxes | ||
+ | # que los servidores de correo arranquen en el inicio del sistema | ||
+ | chkconfig postfix on | ||
+ | chkconfig cyrus-imapd on | ||
+ | |||
+ | Los ficheros de configuración de Postfix están en /etc/postfix y los mas importantes son | ||
− | cyrus | + | /etc/postfix/main.cf |
− | cyrus- | + | /etc/postfix/master.cf |
− | + | ||
− | + | después de cualquier modificación de estos hay que reiniciar postfix | |
− | + | ||
+ | postfix reload | ||
+ | |||
+ | La cola se almacena en /var/spool/postfix | ||
+ | |||
+ | ==Configuración== | ||
+ | |||
+ | Edito /etc/postfix/main.cf y modifico las siguientes líneas | ||
+ | |||
+ | myhostname = levitico.vectrice.com | ||
+ | |||
+ | ==Rechazar emails con adjuntos peligrosos== | ||
+ | |||
+ | Creamos /etc/postfix/body_checks con el siguiente contenido: | ||
+ | |||
+ | /^((Content-(Disposition: attachment;|Type:).*|\ +)| *)(file)?name\ *=\ *"?.*\.(lnk|asd|hlp|ocx|reg|bat|c[ho]m|cmd|exe|dll|vxd|pif|scr|hta|jse?|sh[mbs]|vb[esx]|ws[fh]|wmf)"?\ *$/ REJECT El mensaje contiene archivos adjuntos con extensiones no permitidas | ||
+ | |||
+ | Editamos /etc/postfix/main.cf y añadimos: | ||
+ | |||
+ | mime_header_checks = pcre:/etc/postfix/body_checks | ||
+ | |||
+ | ==Cyrus SASL== | ||
+ | |||
+ | SASL es Simple Authentication and Security Layer. | ||
+ | |||
+ | ==Cyrus Imapd== | ||
+ | |||
+ | Edito | ||
+ | |||
+ | smtpd_sasl_auth_enable = yes | ||
+ | smtpd_recipient_restrictions = | ||
+ | permit_mynetworks permit_sasl_authenticated | ||
+ | |||
+ | ==Configuración== | ||
+ | |||
+ | ===Enabling SASL authentication in the Postfix SMTP server=== | ||
+ | |||
+ | Editamos /etc/postfix/main.cf y añadimos | ||
+ | |||
+ | smtpd_sasl_auth_enable = yes | ||
+ | smtpd_client_restrictions = ... permit_sasl_authenticated ... | ||
+ | |||
+ | Editamos /usr/lib/sasl2/smtpd.conf | ||
+ | |||
+ | pwcheck_method: auxprop | ||
+ | |||
+ | ===Cyrus Imapd=== | ||
+ | |||
+ | Editamos /etc/cyrus.conf y en SERVICES comentamos los servicios que no vayamos a utilizar. | ||
+ | |||
+ | Editamos /etc/imapd.conf | ||
+ | |||
+ | sasl_pwcheck_method: auxprop # | ||
+ | imapidresponse # | ||
+ | |||
+ | es aconsejable usar la opción lmtp_downcase_rcpt: yes en el fichero /etc/imapd.conf | ||
+ | En /etc/cyrus.conf dentro de la sección SERVICES | ||
+ | |||
+ | lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1 | ||
+ | |||
+ | Coprbar permisos de /var/lib/imap/socket/lmtp para que tanto postfix como cyrus puedan leer y escribir y nadie más. | ||
+ | |||
+ | ==Postfix== | ||
+ | |||
+ | Usaremos el protocolo LMTP para la comunicación entre el Postfix y Cyrus. Nos aseguramos de que el fichero /etc/postfix/master.cf contiene esta línea: | ||
+ | |||
+ | # service type private unpriv chroot wakeup maxproc command + args | ||
+ | lmtp unix - - n - - lmtp | ||
+ | |||
+ | En /etc/postfix/main.cf | ||
+ | |||
+ | mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp | ||
+ | # deshabilitamos que postfix compruebe los destinatarios | ||
+ | local_recipient_maps = | ||
+ | |||
+ | ==Gestión de usuarios== | ||
+ | |||
+ | Los usuarios se guardan en /etc/sasldb2 con formato Berkeley DB | ||
+ | |||
+ | saslpasswd2 -c [usuario@dominio] # añado usuario | ||
+ | saslpasswd2 -d [usuario@dominio] # borro usuario | ||
+ | sasldblistusers2 # listar usuarios | ||
+ | |||
+ | Hay que ajustar los permisos para que tanto smtpd (Postfix) como imapd (Cyrus) puedan leer la DB de usuarios. | ||
+ | |||
+ | chgrp postfix /etc/sasldb2 | ||
+ | |||
+ | cyradm -user cyrus localhost | ||
+ | |||
+ | # Añado usuario test | ||
+ | |||
+ | saslpasswd2 -c [email protected] | ||
+ | |||
+ | ==Probando== | ||
+ | |||
+ | >telnet levitico.vectrice.com 25 | ||
+ | 220 levitico.vectrice.com ESMTP Postfix | ||
+ | EHLO vectrice.com | ||
+ | 250-levitico.vectrice.com | ||
+ | 250-PIPELINING | ||
+ | 250-SIZE 10240000 | ||
+ | 250-VRFY | ||
+ | 250-ETRN | ||
+ | 250-AUTH PLAIN DIGEST-MD5 CRAM-MD5 | ||
+ | 250 8BITMIME | ||
+ | AUTH PLAIN ads8fyasd89f | ||
+ | 235 Authentication successful | ||
+ | MAIL FROM: <[email protected]> | ||
+ | 250 Ok | ||
+ | RCPT TO: <[email protected]> | ||
+ | |||
+ | ==Enlaces== | ||
+ | |||
+ | * [http://www.postfix.org/ Postfix] | ||
+ | * [http://www.postfix.org/ Documentación de Postfix] | ||
+ | * [http://cyrusimap.web.cmu.edu/twiki/bin/view/Cyrus/WebHome Wiki de Cyrus] | ||
+ | * [http://www.sendmail.org/~ca/email/cyrus2/ Documentación de Cyrus SASL] | ||
+ | * [http://cyrusimap.web.cmu.edu/imapd/ Documentación de Cyrus Imapd] | ||
+ | * [http://www.wikilearning.com/cyrus_imap_sasl_tls-wkc-5098.htm Excelente Cyrus howto] | ||
+ | |||
+ | [[Categoría:Administración de un servidor dedicado]] |
Revisión actual del 11:37 9 ene 2008
Cercionarse de que:
Nuestro hostname esta bien configurado
Contenido
Instalación[editar]
# quitamos sendmail yum remove sendmail #Removed: sendmail.i386 0:8.13.1-3.RHEL4.5 #Dependency Removed: mdadm.i386 0:1.6.0-3 redhat-lsb.i386 0:3.0-8.EL # instalamos cyrus-sasl # sistema de autentificación de los usuarios de correo cyrus-sasl-md5 # tipo de autentificación md5 cyrus-sasl-plain # tipo de autentificación plain yum install postfix # servidor smtp yum install cyrus-imapd # servidor imap y pop3 yum install cyrus-imapd-utils # comando cyradm con el que se crean mailboxes # que los servidores de correo arranquen en el inicio del sistema chkconfig postfix on chkconfig cyrus-imapd on
Los ficheros de configuración de Postfix están en /etc/postfix y los mas importantes son
/etc/postfix/main.cf /etc/postfix/master.cf
después de cualquier modificación de estos hay que reiniciar postfix
postfix reload
La cola se almacena en /var/spool/postfix
Configuración[editar]
Edito /etc/postfix/main.cf y modifico las siguientes líneas
myhostname = levitico.vectrice.com
Rechazar emails con adjuntos peligrosos[editar]
Creamos /etc/postfix/body_checks con el siguiente contenido:
/^((Content-(Disposition: attachment;|Type:).*|\ +)| *)(file)?name\ *=\ *"?.*\.(lnk|asd|hlp|ocx|reg|bat|c[ho]m|cmd|exe|dll|vxd|pif|scr|hta|jse?|sh[mbs]|vb[esx]|ws[fh]|wmf)"?\ *$/ REJECT El mensaje contiene archivos adjuntos con extensiones no permitidas
Editamos /etc/postfix/main.cf y añadimos:
mime_header_checks = pcre:/etc/postfix/body_checks
Cyrus SASL[editar]
SASL es Simple Authentication and Security Layer.
Cyrus Imapd[editar]
Edito
smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated
Configuración[editar]
Enabling SASL authentication in the Postfix SMTP server[editar]
Editamos /etc/postfix/main.cf y añadimos
smtpd_sasl_auth_enable = yes smtpd_client_restrictions = ... permit_sasl_authenticated ...
Editamos /usr/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
Cyrus Imapd[editar]
Editamos /etc/cyrus.conf y en SERVICES comentamos los servicios que no vayamos a utilizar.
Editamos /etc/imapd.conf
sasl_pwcheck_method: auxprop # imapidresponse #
es aconsejable usar la opción lmtp_downcase_rcpt: yes en el fichero /etc/imapd.conf En /etc/cyrus.conf dentro de la sección SERVICES
lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
Coprbar permisos de /var/lib/imap/socket/lmtp para que tanto postfix como cyrus puedan leer y escribir y nadie más.
Postfix[editar]
Usaremos el protocolo LMTP para la comunicación entre el Postfix y Cyrus. Nos aseguramos de que el fichero /etc/postfix/master.cf contiene esta línea:
# service type private unpriv chroot wakeup maxproc command + args lmtp unix - - n - - lmtp
En /etc/postfix/main.cf
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp # deshabilitamos que postfix compruebe los destinatarios local_recipient_maps =
Gestión de usuarios[editar]
Los usuarios se guardan en /etc/sasldb2 con formato Berkeley DB
saslpasswd2 -c [usuario@dominio] # añado usuario saslpasswd2 -d [usuario@dominio] # borro usuario sasldblistusers2 # listar usuarios
Hay que ajustar los permisos para que tanto smtpd (Postfix) como imapd (Cyrus) puedan leer la DB de usuarios.
chgrp postfix /etc/sasldb2
cyradm -user cyrus localhost
- Añado usuario test
saslpasswd2 -c [email protected]
Probando[editar]
>telnet levitico.vectrice.com 25 220 levitico.vectrice.com ESMTP Postfix EHLO vectrice.com 250-levitico.vectrice.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN DIGEST-MD5 CRAM-MD5 250 8BITMIME AUTH PLAIN ads8fyasd89f 235 Authentication successful MAIL FROM: <[email protected]> 250 Ok RCPT TO: <[email protected]>