• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Configuración básica de sendmail
 

Configuración básica de sendmail

on

  • 1,635 views

 

Statistics

Views

Total Views
1,635
Views on SlideShare
1,635
Embed Views
0

Actions

Likes
0
Downloads
31
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Configuración básica de sendmail Configuración básica de sendmail Document Transcript

    • Configuración básica de Sendmail.Introducción.Es imprescindible primero estudiar y comprender, los conceptos descritos en el documento titulado«Introducción a los protocolos de correo electrónico.»Acerca de Sendmail.Es el más popular agente de transporte de correo (MTA o Mail Transport Agent), responsable,quizá, de poco más del 70% del correo electrónico del mundo. Aunque por largo tiempo se le hacriticado por muchos incidentes de seguridad, lo cierto es que éstos siempre han sido resueltos enpocas horas.URL: http://www.sendmail.org/.Acerca de Dovecot.Dovecot es un servidor de POP3 e IMAP, de código fuente abierto, que funciona en Linux ysistemas basados sobre Unix™ y diseñado con la seguridad como principalobjetivo. Dovecot puede utilizar tanto el formato mbox como maildir y es compatible con lasimplementaciones de los servidores UW-IMAP y Courier IMAP.URL: http://dovecot.procontrol.fi/.Acerca de SASL y Cyrus SASL.SASL (Simple Authentication and Security Layer) es una implementación diseñada para laseguridad de datos en protocolos de Internet. Desempareja los mecanismos de la autenticacióndesde protocolos de aplicaciones, permitiendo, en teoría, cualquier mecanismo de autenticaciónsoportado por SASL, para ser utilizado en cualquier protocolo de aplicación que sea capaz deutilizar SASL. Actualmente SASL es un protocolo de la IETF (Internet Engineering Task Force) queha sido propuesto como estándar. Está especificado en el RFC 2222 creado por John Meyers en laUniversidad Carnegie Mellon.Cyrus SASL es una implementación de SASL que puede ser utilizada del lado del servidor o biendel lado del cliente y que incluye como principales mecanismos de autenticación soportados aANONYMOUS, CRAM-MD5, DIGEST-MD5, GSSAPI y PLAIN. El código fuente incluye tambiénsoporte para los mecanismos LOGIN, SRP, NTLM, OPT y KERBEROS_V4.URL: http://asg.web.cmu.edu/sasl/sasl-library.html.Equipamiento lógico necesario.cyrus-saslcyrus-sasl-plaindovecotm4make
    • sendmail-cfsendmailInstalación a través de yum.Si se utiliza de CentOS o Red Hat Enterprise Linux ejecute lo siguiente: yum -y install sendmail sendmail-cf dovecot m4 make cyrus-sasl cyrus-sasl-plainSi acaso estuviese instalado, elimine el paquete cyrus-sasl-gssapi, ya que este utiliza el método deautenticación GSSAPI, mismo que requeriría de la base de datos de cuentas de usuario de unservidor Kerberos. De igual manera, si estuviese instalado, elimine el paquete cyrus-sasl-md5, yaque este utiliza los métodos de autenticación CRAM-MD5 y Digest-MD5, mismos que requeríanasignar las contraseñas para SMTP a través del mandato saslpasswd2. Outlook carece de soportepara estos métodos de autenticación. yum remove cyrus-sasl-gssapi cyrus-sasl-md5Procedimientos.Definiendo Sendmail como agente de transporte de correo predeterminado.El mandato alternatives, con la opción --config y el valor mta, se utiliza para conmutar el servicio decorreo electrónico del sistema y elegir qué programa utilizar. Sólo es necesario utilizar éste sipreviamente estaban instalados Postfix o Exim. Sí este es el caso, ejecute lo siguiente desde unaterminal y defina Sendmail como agente de transporte de correo (MTA, MailTransport Agent),seleccionado éste. alternatives --config mtaLo anterior devolverá una salida similar a la siguiente, donde deberá elegirentre postfix y sendmail como MTA predeterminado del sistema: Hay 2 programas que proporcionan mta. Selección Comando ----------------------------------------------- 1 /usr/sbin/sendmail.postfix *+ 2 /usr/sbin/sendmail.sendmail Presione Intro para mantener la selección actual[+] o bien escriba el número de la
    • selección: 2Si estuviera presente postfix, detenga éste (es el MTA predeterminado en CentOS 6 y Red HatEnterprise Linux 6) e inicie el servicio sendmail: service postfix stop chkconfig postfix off service sendmail start chkconfig sendmail onAlta de cuentas de usuario y asignación de contraseñas.La autenticación para SMTP, a través de cualquier método (PLAIN, LOGIN, Digest-MD5 o CRAM-MD5), requiere se active, e inicie, el servicio saslauthd del siguiente modo: chkconfig saslauthd on service saslauthd startEl alta de usuarios es la misma que como con cualquier otro usuario del sistema. Sendmail utilizaráel servicio saslauthd para autenticar a los usuarios a través de los métodos PLAIN y LOGIN, conopción a utilizar también Digest-MD5 o bien CRAM-MD5.El alta de las cuentas del usuario en el sistema, la cual se sugiere seasigne /dev/null o /sbin/nologin como intérprete de mandatos, pude hacerse del siguiente modo: useradd -s /dev/null usuarioLa asignación de contraseñas, para permitir autenticar a través de SMTP, POP3, e IMAP,utilizando el método PLAIN o bien el método LOGIN, se hace exactamente igual que con cualquierotra cuenta de usuario del sistema, como se muestra a continuación: passwd usuarioEjecutando lo anterior, el sistema solicitará se ingrese una contraseña, con confirmación. Prefierautilizar buenas contraseñas y de este modo evitará problemas de seguridad. Nota. La asignación de contraseñas para autenticar SMTP, a través de métodos cifrados (CRAM-MD5 y DIGEST-MD5), en sistemas con versión de Sendmail compilada contra SASL-2 (Red Hat™ Enterprise Linux 5, CentOS 5 y versiones posteriores de éstos), puede hacerse a través del mandato saslpasswd2 del siguiente modo, tomando en consideración que Outlook y Outlook Express carecen de soporte para autenticar contraseñas a través de estos métodos, los cuales requieren además tener instalado el paquete cyrus-sasl-md5 en el servidor para la gestión de contraseñas: saslpasswd2 usuario Puede mostrarse la lista de los usuarios con contraseña asignada a través de
    • SASL-2 utilizando el mandatosasldblistusers2.Si los usuarios se van a dar de alta siguiendo el formato usuario@dominio.tld en lugar desólo usuario, una práctica común en los servidores con múltiples dominios virtuales, es necesarioañadir al servicio saslauthd la opción -r, la cual permite combinar el nombre de usuario y dominioantes de pasar por el mecanismo de autenticación. Si éste es el caso, se debe editar elarchivo /etc/sysconfig/saslauthd: vi /etc/sysconfig/saslauthdY añadir la opción -r a los argumentos de FLAGS: # Directory in which to place saslauthds listening socket, pid file, and so # on. This directory must already exist. SOCKETDIR=/var/run/saslauthd # Mechanism to use when checking passwords. Run "saslauthd -v" to get a list # of which mechanism your installation was compiled with the ablity to use. MECH=pam # Options sent to the saslauthd. If the MECH is other than "pam" uncomment # the next line. # DAEMONOPTS=--user saslauth # Additional flags to pass to saslauthd on the command line. See saslauthd(8) # for the list of accepted flags. FLAGS=-rY reiniciar el servicio saslauthd. service saslauthd restartDominios a administrar.Edite el archivo /etc/mail/local-host-names: vi /etc/mail/local-host-names
    • Establezca los dominios locales que serán administrados. En el siguiente ejemplo se establecen 4dominios a administrar, donde tld (Top Level Domain o dominio de nivel superior) correspondería a.com, .org, .net, etc.: dominio1.tld dominio2.tld dominio3.tld dominio4.tldProceda a crear el archivo /etc/mail/relay-domains: touch /etc/mail/relay-domainsEdite el archivo /etc/mail/relay-domains que acaba de crear: vi /etc/mail/relay-domainsEstablezca los nombres de los dominios que tendrán permitido re-transmitir correo electrónicodesde el servidor. Técnicamente tendrá casi el mismo contenido de /etc/mail/local-host-names, amenos que se desee excluir algún dominio en particular o bien se trate de servidor de correosecundario para otro dominio en otro servidor. dominio1.tld dominio2.tld dominio3.tld dominio4.tldControl de accesoPara definir las listas de control de acceso, edite el archivo /etc/mail/access: vi /etc/mail/accessDebe incluir en el archivo /etc/mail/access todas las direcciones IP locales del servidor (las quedevuelva el mandato ip addr show).Puede incluir también la lista direcciones IP, dominios o bien cuentas de correo electrónico, a lasque se quiera otorgar permisos de re-transmisión sin restricciones o con permiso para enviarcorreo electrónico sólo a cuentas locales. Puede definir también una lista negra de direcciones decorreo electrónico, dominios y direcciones IP, a las que se desee denegar el acceso. Considereque:Cualquier elemento que vaya acompañado de RELAY, tendrá permitido enviar correo electrónico,sin necesidad de autenticar y re-transmitir éste sin restricción alguna.Cualquier elemento que vaya acompañado de OK, tendrá permitido enviar correo electrónico, sinnecesidad de autenticar, pero sólo a las cuentas locales.Cualquier elemento que vaya acompañado de REJECT, tendrá prohibida cualquier tipo decomunicación de correo electrónico.
    • Nota. Jamás configure una segmento completo de red local con RELAY, ya que dejaría de tener sentido utilizar autenticación a través de SMTP y potencialmente podría permitir que los problemas de seguridad de maquinas infectadas con virus, gusanos o troyanos, se magnifiquen, siendo que permitiría el envío, sin restricciones, de correo electrónico infectado o bien cantidades extraordinarias de spam, originadas por los equipos cuya seguridad se haya visto comprometida.Ejemplo de configuración para el archivo /etc/mail/access: Connect:localhost.localdomain RELAY Connect:localhost RELAY Connect:127.0.0.1 RELAY # # Dirección IP del propio servidor. Connect:192.168.70.51 RELAY # # Otros servidores de correo en la LAN a los que se les permitirá enviar # correo libremente a través del propio servidor de correo. Connect:192.168.70.52 RELAY # # Direcciones IP que sólo podrán entregar correo de forma local, es decir, # no pueden enviar correo fuera del propio servidor. Connect:192.168.2.24 OK # # Lista negra usuario@molesto.com REJECT productoinutil.com.mx REJECT 10.4.5.6 REJECT #
    • # Bloques de Asia Pacific Networks, ISP desde el cual se emite la mayor # parte del Spam del mundo. # Las redes involucradas abarcan Australia, Japón, China, Corea del Sur, Taiwan, # Hong Kong e India por lo que bloquear el correo de dichas redes significa # cortar comunicación con estos países, pero acaba con entre el 60% y 80% # del Spam. 222 REJECT 221 REJECT 220 REJECT 219 REJECT 218 REJECT 212 REJECT 211 REJECT 210 REJECT 203 REJECT 202 REJECT 140.109 REJECT 133 REJECT 61 REJECT 60 REJECT 59 REJECT 58 REJECTAlias de la cuenta del usuario root.Es peligroso autenticarse con la cuenta del usuario root, a través de cualquier tipo de red, sólo pararevisar los mensajes de correo electrónico originados por el sistema. Se recomienda definir aliaspara la cuenta del usuario root, hacia la cual se entregará todo el correo electrónico originalmentedirigido a root.Edite el archivo /etc/aliases:
    • vi /etc/aliasesAl final de éste, defina a que cuenta de usuario regular le será entregado el correo electrónicooriginalmente destinado a root: root: fulanoPara convertir el archivo /etc/aliases en /etc/aliases.db, que es el archivo, en formato de base dedatos, que utilizará sendmail y para verificar que la sintaxis esté correcta o bien si existen aliasesduplicados, ejecute el siguiente mandato: newaliasesLo anterior, debe devolver una salida similar a la siguiente: /etc/aliases: 77 aliases, longest 10 bytes, 777 bytes totalConfiguración de funciones de Sendmail.Para definir, cambiar o añadir funciones, edite el archivo /etc/mail/sendmail.mc. vi /etc/mail/sendmail.mcconfSMTP_LOGIN_MSG.Este parámetro permite establecer el mensaje de bienvenida al establecer la conexión al servidor.Es posible ocultar el nombre y la versión de Sendmail, ésto con el objeto de agregar seguridad poroscuridad. Funciona de manera sencilla, haciendo que, quien establezca una conexión hacia elservidor, sea incapaz determinar qué versión de Sendmail se está utilizando y con ésto dificultar aun delincuente o abusador del servicio, el determinar que vulnerabilidad específica aprovechar.Descomente lo siguiente en el archivo /etc/mail/sendmail.mc, eliminando el dnl y el espacio que leantecede: dnl # dnl # Do not advertize sendmail version. dnl # define(`confSMTP_LOGIN_MSG,`$j Sendmail; $b)dnl dnl # dnl # default logging level is 9, you might want to set it higher to dnl # debug the configuration dnl # dnl define(`confLOG_LEVEL, `9)dnlGuarde los cambios y salga del editor.
    • Reinicie el servicio sendmail: service sendmail restartRealice una conexión al puerto 25. Obtendrá una salida similar a la siguiente: $ nc 127.0.0.1 25 Trying 127.0.0.1... Connected to mail.dominio.tld. Escape character is ^]. 220 mail.dominio.tld ESMTP Sendmail ; Mon, 17 May 2004 02:22:29 -0500 quit 221 2.0.0 mail.dominio.tld closing connection Connection closed by foreign host. $confAUTH_OPTIONS.Vuelva a edita el archivo /etc/mail/sendmail.mc: vi /etc/mail/sendmail.mcLa siguiente línea viene habilitada de modo predeterminado y permitirá realizar el proceso deautenticación a través del puerto 25, utilizando el método PLAIN o bien el método LOGIN, loscuales transmiten el nombre de usuario, junto con su correspondiente contraseña, en texto simple,garantizando 100% de compatibilidad con todos los clientes de correo electrónico existentes. Sinembargo, ésto también implica un enorme riesgo de seguridad, por lo cual se recomiendaimplementar seguridad a través de SSL/TLS. define(`UUCP_MAILER_MAX, `2000000)dnl define(`confUSERDB_SPEC, `/etc/mail/userdb.db)dnl define(`confPRIVACY_FLAGS, `authwarnings,novrfy,noexpn,restrictqrun)dnl define(`confAUTH_OPTIONS,`A)dnl dnl # dnl # The following allows relaying if the user authenticates, and disallows dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS linksPara añadir la seguridad necesaria, consulte y estudie el documento titulado «Cómo configurarSendmail y Dovecot con soporte SSL/TLS.»
    • . Nota. Si utiliza la siguiente línea, en lugar de la mencionada arriba, se desactivará la función que permite la autenticación enviando las contraseñas en texto simple, a través de conexiones sin cifrar (SSL/TLS) y se habilitará la función que sólo permite autenticar con contraseñas en texto simple a través de SSL/TLS y a través de métodos que utilicen contraseñas cifradas, como sería CRAM-MD5 y DIGEST-MD5 con o sin SSL/TLS. Esto obliga a utilizar SSL/TLS para realizar conexiones a través de cualquier cliente de correo electrónico o bien clientes de correo electrónico con soporte para autenticación a través de CRAM-MD5 y DIGEST-MD5. Todos clientes de correo electrónico conocidos, excepto Outlook y Outlook Express), incluyen soporte para CRAM-MD5 y DIGEST-MD5. Las conexiones sin SSL/TLS requieren a tener instalado el paquete cyrus-sasl-md5 en el servidor y asignar las contraseñas para SMTP a través del mandato saslpasswd2. dnl # The following allows relaying if the user authenticates, and disallows dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links dnl # define(`confAUTH_OPTIONS,`A p)dnl dnl # dnl # PLAIN is the preferred plaintext authentication method and used by dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do dnl # use LOGIN. Other mechanisms should be used if the connection is not Conviene habilitar esta opción en lugar de la anterior una vez que se ha configurado el soporte SSL/TLS para Sendmail, pues obliga a los usuarios a autenticarse utilizando sólo conexiones SSL/TLS.TRUST_AUTH_MECH y confAUTH_MECHANISMS.Si se desea utilizar SMTP con autenticación, se requieren des-comentar las siguientes dos líneasdel archivo/etc/mail/sendmail.mc, eliminando el dnl y el espacio que les precede: dnl # PLAIN is the preferred plaintext authentication method and used by
    • dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do dnl # use LOGIN. Other mechanisms should be used if the connection is not dnl # guaranteed secure. dnl # Please remember that saslauthd needs to be running for AUTH. dnl # TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl define(`confAUTH_MECHANISMS, `EXTERNAL GSSAPI DIGEST-MD5 CRAM- MD5LOGIN PLAIN)dnl dnl # dnl # Rudimentary information on creating certificates for sendmail TLS: dnl # cd /etc/pki/tls/certs; make sendmail.pemDAEMON_OPTIONS.De modo predeterminado, Sendmail escucha peticiones sólo a través de la interfaz de retorno delsistema (127.0.0.1), e ignorando otros dispositivos de red. Sólo se necesita eliminar la restricciónde la interfaz de retorno para poder recibir correo desde Internet o desde la red de área local.Localice la siguiente línea resaltada: dnl # The following causes sendmail to only listen on the IPv4 loopback address dnl # 127.0.0.1 and not on any other network devices. Remove the loopback dnl # address restriction to accept email from the internet or intranet. dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA)dnl dnl # dnl # The following causes sendmail to additionally listen to port 587 for dnl # mail from MUAs that authenticate. Roaming users who cant reach their dnl # preferred sendmail daemon due to port 25 being blocked or redirected find dnl # this useful. dnl # DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea)dnl dnl #
    • dnl # The following causes sendmail to additionally listen to port 465, but dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followedExamine este parámetro y elimine el valor Addr=127.0.0.1, además de la coma (,) que le antecede,de modo que quede como se muestra a continuación: dnl # The following causes sendmail to only listen on the IPv4 loopback address dnl # 127.0.0.1 and not on any other network devices. Remove the loopback dnl # address restriction to accept email from the internet or intranet. dnl # DAEMON_OPTIONS(`Port=smtp, Name=MTA)dnl dnl # dnl # The following causes sendmail to additionally listen to port 587 for dnl # mail from MUAs that authenticate. Roaming users who cant reach their dnl # preferred sendmail daemon due to port 25 being blocked or redirected find dnl # this useful. dnl # DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea)dnl dnl # dnl # The following causes sendmail to additionally listen to port 465, but dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followedEl puerto 587 (submission) puede ser utilizado también para envío de correo electrónico. Porestándar se utiliza como puerto alternativo en los casos donde un cortafuegos impide a losusuarios acceder hacia servidores de correo electrónico, los cuales normalmente trabajan a travésdel puerto 25. Para este fin, se requiere descomentar la línea queincluyeDAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea)dnl, como se ilustra acontinuación, resaltado en negrita: dnl # The following causes sendmail to only listen on the IPv4 loopback address dnl # 127.0.0.1 and not on any other network devices. Remove the loopback dnl # address restriction to accept email from the internet or intranet. dnl # DAEMON_OPTIONS(`Port=smtp, Name=MTA)dnl
    • dnl # dnl # The following causes sendmail to additionally listen to port 587 for dnl # mail from MUAs that authenticate. Roaming users who cant reach their dnl # preferred sendmail daemon due to port 25 being blocked or redirected find dnl # this useful. dnl # DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea)dnl dnl # dnl # The following causes sendmail to additionally listen to port 465, but dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followedFEATURE(`accept_unresolvable_domains).De modo predeterminado, como una forma de permitir el envío local del correo del propio sistemaen una computadora de escritorio o una computadora portátil, está se utiliza elparámetro FEATURE(`accept_unresolvable_domains). Se recomienda desactivar esta función a finde impedir se acepte correo de dominios inexistentes (generalmente utilizado para el envío decorreo masivo no solicitado o Spam). Comente esta línea colocando un dnl y un espacio, delsiguiente modo: dnl # We strongly recommend not accepting unresolvable domains if you want to dnl # protect yourself from spam. However, the laptop and users on computers dnl # that do not have 24x7 DNS do need this. dnl # dnl FEATURE(`accept_unresolvable_domains)dnl dnl # dnl FEATURE(`relay_based_on_MX)dnl dnl #Enmascaramiento.Des-comente las siguientes tres líneas y adapte el valor de MASQUERADE_AS para definir lamáscara que utilizará el servidor para enviar correo electrónico (es decir, define lo que va despuésde la @ en la dirección de correo):
    • MASQUERADE_AS(`dominio1.tld)dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnlSi se van a administrar múltiples dominios, añada aquellos deban conservar su propia máscara,utilizando el parámetroMASQUERADE_EXCEPTION del siguiente modo: MASQUERADE_AS(`dominio1.tld)dnl MASQUERADE_EXCEPTION(`dominio2.tld)dnl MASQUERADE_EXCEPTION(`dominio3.tld)dnl MASQUERADE_EXCEPTION(`dominio4.tld)dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnlControl del correo chatarra (spam) a través de DNSBLs.Si se desea utilizar listas negras para mitigar el correo chatarra (spam), pueden añadir la siguientelínea para definir la lista negra de SpamCop.net, casi al final del archivo /etc/mail/sendmail.mc yjusto arriba de MAILER(smtp)dnl: dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl dnl MASQUERADE_DOMAIN(mydomain.lan)dnl FEATURE(`enhdnsbl, `bl.spamcop.net, `"Spam blocked see: http://spamcop.net/bl.shtml?"$&{client_addr}, `t)dnl MAILER(smtp)dnl MAILER(procmail)dnl dnl MAILER(cyrusv2)dnlConfiguración de Dovecot.Opciones del archivo /etc/dovecot/dovecot.conf en CentOS 6 y Red Hat Enterprise Linux 6.CentOS 6 y Red Hat Enterprise Linux 6 utilizan la versión 2.0 de Dovecot y por lo cual cambiaradicalmente la configuración respecto de la versión 1.0.x, utilizada en CentOS 5 y Red HatEnterprise Linux 5 y versiones anteriores. Edite el archivo/etc/dovecot/dovecot.conf y descomenteel parámetro protocols, estableciendo como valor pop3 imap lmtp. # Protocols we want to be serving. protocols = imap pop3 lmtpOpciones del archivo /etc/dovecot/conf.d/10-mail.conf en CentOS 6 y Red Hat Enterprise Linux 6.
    • Alrededor de la línea 30 del archivo /etc/dovecot/conf.d/10-mail.conf,establezca mbox:~/mail:INBOX=/var/mail/%u como valor del parámetro mail_location. # See doc/wiki/Variables.txt for full list. Some examples: # # mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n # # <doc/wiki/MailLocation.txt> # mail_location = mbox:~/mail:INBOX=/var/mail/%uCabe señalar que la versión de dovecot incluida en CentOS 6 y Red Hat™ Enterprise Linux 6, esobligatorio generar un certificado, pues sólo permitirá conexiones sin TLS desde 127.0.0.1. Siga elprocedimiento descrito en el documento tituladoCómo configurar Sendmail y Dovecot con soporteSSL/TLS.Opciones del archivo /etc/dovecot/conf.d/10-auth.conf en CentOS 6 y Red Hat Enterprise Linux 6.De modo predeterminado Dovecot sólo permite autenticar con texto simple sin SSL/TLS desde elanfitrión local. La autenticación de usuarios desde anfitriones remotos sólo se permite a través deSSL/TLS. Si requiere permitir la autenticación de usuarios sin SSL/TLS, edite el archivo/etc/dovecot/conf.d/10-auth.conf: vi /etc/dovecot/conf.d/10-auth.confLocalice la opción disable_plaintext_auth: ## ## Authentication processes ## # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. youre connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. #disable_plaintext_auth = yes
    • Quite la almohadilla y cambie el valor yes por no: ## ## Authentication processes ## # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. youre connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. disable_plaintext_auth = noSe recomienda dejar la opción disable_plaintext_auth con la opción yes a fin de obligar a losusuarios a autenticar sólo a través de conexiones SSL/TLS.Opciones del archivo /etc/dovecot/dovecot.conf en CentOS 5 y Red Hat Enterprise Linux 5.Si utiliza CentOS 5 o Red Hat™ Enterprise Linux 5, sólo debe editar el archivo /etc/dovecot.conf yhabilitar los servicios de IMAP y/o POP3, del siguiente modo (están habilitados de modopredeterminado pop3, pop3s, imap, e imaps): # Protocols we want to be serving: # imap imaps pop3 pop3s protocols = imap imaps pop3 pop3sAñadir al inicio del sistema e iniciar servicios dovecot y sendmail.El servicio dovecot, en cualquiera de las versiones de los sistemas operativos mencionados, seagrega al inicio del sistema del siguiente modo: chkconfig dovecot onPara iniciar el servicio dovecot, se ejecuta lo siguiente: service dovecot startPara aplicar cambios en la configuración del servicio dovecot, se ejecuta lo siguiente: service dovecot restartEl servicio sendmail se agrega al inicio del sistema, ejecutando lo siguiente: chkconfig sendmail onPara iniciar el servicio sendmail, se ejecuta lo siguiente:
    • service sendmail startPara reiniciar servicio sendmail, sólo bastará ejecutar: service sendmail restartProbar servidor enviando/recibiendo mensajes con CUALQUIER cliente estándar de correoelectrónico con soporte para POP3/IMAP/SMTP con soporte para autenticar a través de SMTPutilizando los métodos LOGIN o PLAIN.Para detectar posibles errores, se puede examinar el contenido de la bitácora de correo electrónicodel sistema, utilizando el mandato tail, con la opción -f, sobre el archivo /var/log/maillog, como semuestra a continuación: tail -f /var/log/maillogModificaciones necesarias en el muro cortafuegos.Como medida de seguridad, siempre abra los puertos del cortafuegos sólo hasta después definalizar la configuración del servidor de correo electrónico y que sólo hasta que haya comprobadolas configuraciones.Para el funcionamiento normal de un servicio de correo electrónico estándar, es necesario abrir lospuertos 25 (smtp), 465 (smtps), 587 (submission), 110 (pop3), 143 (imap), 993 (imaps) y 995(pop3s), todos por TCP.Servicio iptables.Puede utilizar iptables, ejecutando lo siguiente: iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT service iptables saveO bien añada lo siguiente al archivo /etc/sysconfig/iptables: -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
    • -A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPTY reinicie el servicio iptables: service iptables restartShorewall.Edite el archivo /etc/shorewall/rules: vi /etc/shorewall/rulesLas reglas corresponderían a algo similar a lo siguiente: #ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S)1 ACCEPT all fw tcp 25,465,587 ACCEPT all fw tcp 110,143,993,995 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVEAl terminar de configurar las reglas para Shorewall, reinicie el muro cortafuegos, ejecutando elsiguiente mandato: service shorewall restart