Diferencia entre revisiones de «Instalar servidor de correo»

De BandaAncha.EU
Saltar a: navegación, buscar
(Replacing page with '(Replacing page with 'YO QUIERO COMER CURANTO CON CHAPALELE')')
 
Línea 1: Línea 1:
(Replacing page with 'YO QUIERO COMER CURANTO CON CHAPALELE')
+
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
 +
 
 +
# Añado usuario test
 +
 
 +
saslpasswd2 -c test@mancomunidadcampdeturia.org
 +
 
 +
==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: <test@test.org>
 +
250 Ok
 +
RCPT TO: <josh@bandaancha.st>
 +
 
 +
==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 10:37 9 ene 2008

Cercionarse de que:

Nuestro hostname esta bien configurado

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
  1. Añado usuario test
saslpasswd2 -c test@mancomunidadcampdeturia.org

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: <test@test.org>
250 Ok
RCPT TO: <josh@bandaancha.st>

Enlaces[editar]