Instalar servidor de correo

De Wiki de BandaAncha.eu
Saltar a: navegación, buscar

Cercionarse de que:

Nuestro hostname esta bien configurado

Instalación

# 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

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
  1. 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