|
|
Atención: 20 al 24 de febrero, Curso Global de Servidores con CentOS 6. Atención: 21 y 28 de enero, 4 y 11 de febrero, Taller de programación de Python. Atención: Disponible ALDOS 1.4.2. Nuestro sistema operativo para escritorio. Configuración básica de Sendmail.
Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
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 ha criticado por muchos incidentes de seguridad, lo cierto es que éstos siempre han sido resueltos en pocas 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, y sistemas basados sobre Unix™, y diseñado con la seguridad como principal objetivo. Dovecot puede utilizar tanto el formato mbox como maildir, y es compatible con las implementaciones 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 la seguridad de datos en protocolos de Internet. Desempareja los mecanismos de la autenticación desde protocolos de aplicaciones, permitiendo, en teoría, cualquier mecanismo de autenticación soportado por SASL, para ser utilizado en cualquier protocolo de aplicación que sea capaz de utilizar SASL. Actualmente SASL es un protocolo de la IETF (Internet Engineering Task Force) que ha sido propuesto como estándar. Está especificado en el RFC 2222 creado por John Meyers en la Universidad Carnegie Mellon. Cyrus SASL es una implementación de SASL que puede ser utilizada del lado del servidor, o del lado del cliente, y que incluye como principales mecanismos de autenticación soportados a ANONYMOUS, CRAM-MD5, DIGEST-MD5, GSSAPI, y PLAIN. El código fuente incluye también soporte para los mecanismos LOGIN, SRP, NTLM, OPT, y KERBEROS_V4. URL: http://asg.web.cmu.edu/sasl/sasl-library.html. Equipamiento lógico necesario.
Instalación a través de yum.Si se utiliza de CentOS 5, o Red Hat Enterprise Linux 5, o versiones posteriores de éstos, se ejecuta lo siguiente:
Si acaso estuviese instalado, elimine el paquete cyrus-sasl-gssapi, ya que este utiliza el método de autenticación GSSAPI, mismo que requeriría de la base de datos de cuentas de usuario de un servidor Kerberos. De igual manera, si estuviese instalado, elimine el paquete cyrus-sasl-md5, ya que este utiliza los métodos de autenticación CRAM-MD5, y Digest-MD5, mismos que requerían asignar las claves de acceso para SMTP a través del mandato saslpasswd2. Outlook carece de soporte para estos métodos de autenticación.
Procedimientos.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 de correo electrónico del sistema, y elegir qué programa utilizar. Sólo es necesario utilizar éste si previamente estaban instalados Postfix o Exim. Sí este es el caso, ejecute lo siguiente desde una terminal, y defina Sendmail como agente de transporte de correo (MTA, Mail Transport Agent), seleccionado éste.
Lo anterior devolverá una salida similar a la siguiente, donde deberá elegir entre postfix, y sendmail como MTA predeterminado del sistema:
Si estuviera presente postfix, detenga éste (es el MTA predeterminado en CentOS 6, y Red Hat Enterprise Linux 6) e inicie el servicio sendmail:
Alta de cuentas de usuario, y asignación de claves de acceso.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:
El 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, con opció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 se asigne /dev/null, o /sbin/nologin como intérprete de mandatos, pude hacerse del siguiente modo:
La asignación de claves de acceso, 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 cualquier otra cuenta de usuario del sistema, como se muestra a continuación:
Ejecutando lo anterior, el sistema solicitará se ingrese una clave de acceso, con confirmación. Prefiera utilizar buenas claves de acceso, y de este modo evitará problemas de seguridad.
Dominios a administrar.Edite el archivo /etc/mail/local-host-names.
Establezca los dominios locales que serán administrados:
Genere el archivo /etc/mail/relay-domains, ejecutando lo siguiente:
Edite el archivo /etc/mail/relay-domains que acaba de crear:
Establezca los nombres de los dominios que tendrán permitido re-transmitir correo electrónico desde el servidor. Técnicamente tendrá el mismo contenido de /etc/mail/local-host-names, a menos que se desee excluir algún dominio en particular, o bien se trate de servidor de correo secundario para otro dominio en otro servidor.
Control de accesoPara definir las listas de control de acceso, edite el archivo /etc/mail/access:
Debe incluir las direcciones IP locales del servidor (las que devuelva el mandato ifconfig). Puede incluir la lista direcciones IP, dominios, o bien cuentas de correo electrónico con permisos de re-transmisión sin restricciones, o con permiso de acceso para enviar correo sólo a cuentas locales. Puede definir también una lista negra de direcciones de correo, dominios, y direcciones IP, a las que se desee denegar el acceso. Considere que:
Ejemplo de configuración para el archivo /etc/mail/access:
Alias de la cuenta de root.Es peligroso autenticarse con la cuenta de root, a través de cualquier tipo de red, sólo para revisar los mensajes de correo electrónico originados por el sistema. Se recomienda definir alias para la cuenta de root, hacia la cual se entregará todo el correo electrónico originalmente dirigido a root. Edite el archivo /etc/aliases:
Al final de éste, defina a que cuenta de usuario regular le será entregado el correo electrónico originalmente destinado a root:
Para convertir el archivo /etc/aliases en /etc/aliases.db, que es el archivo, en formato de base de datos, que utilizará sendmail, y para verificar que la sintaxis esté correcta, o bien si existen aliases duplicados, ejecute el siguiente mandato:
Lo anterior, debe devolver una salida similar a la siguiente:
Configuración de funciones de Sendmail.Para definir, cambiar, o añadir funciones, edite el archivo /etc/mail/sendmail.mc.
confSMTP_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 por oscuridad. Funciona de manera sencilla, haciendo que, quien establezca una conexión hacia el servidor, sea incapaz determinar qué versión de Sendmail se está utilizando, y con ésto dificultar a un delincuente, o abusador del servicio, el determinar que vulnerabilidad específica aprovechar. Descomente lo siguiente en el archivo /etc/mail/sendmail.mc:
Si guarda los cambios, reinicia el servicio sendmail, y realiza una conexión al puerto 25, lo anterior hará que se devuelva una salida similar a la siguiente:
confAUTH_OPTIONS.La siguiente línea viene habilitada de modo predeterminado, y permitirá realizar el proceso de autenticación a través del puerto 25, utilizando el método PLAIN, o bien el método LOGIN, los cuales transmiten el nombre de usuario, junto con su correspondiente clave de acceso, en texto simple, garantizando 100% de compatibilidad con todos los clientes de correo electrónico existentes. Sin embargo, ésto también implica un enorme riesgo de seguridad, por lo cual se recomienda implementar seguridad a través de SSL/TLS.
Para añadir la seguridad necesaria, consulte, y estudie, el documento titulado «Cómo configurar Sendmail, y Dovecot con soporte SSL/TLS.» .
TRUST_AUTH_MECH, y confAUTH_MECHANISMS.Si se desea utilizar SMTP autenticado para equipos excluidos del archivo /etc/mail/access, se requieren des-comentar las siguientes dos líneas del archivo /etc/mail/sendmail.mc, eliminando el dnl y el espacio que les precede:
DAEMON_OPTIONS.De modo predeterminado, Sendmail escucha peticiones sólo a través de la interfaz de retorno del sistema, y a través de IPv4 (127.0.0.1), y ignorando otros dispositivos de red. Sólo se necesita eliminar la restricción de la interfaz de retorno para poder recibir correo desde Internet, o la LAN. Localice la siguiente línea resaltada:
Examine 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:
El puerto 587 (submission) puede ser utilizado también para envío de correo electrónico. Por estándar se utiliza como puerto alternativo en los casos donde un cortafuegos impide a los usuarios acceder hacia servidores de correo electrónico, los cuales normalmente trabajan a través del puerto 25. Para este fin, se requiere descomentar la línea que incluye DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl, como se ilustra a continuación, resaltado en negrita:
FEATURE(`accept_unresolvable_domains').De modo predeterminado, como una forma de permitir el correo del propio sistema en una computadora de escritorio, o una computadora portátil, está se utiliza el parámetro FEATURE(`accept_unresolvable_domains'). Sin embargo se recomienda desactivar esta función a fin de impedir aceptar correo de dominios inexistentes (generalmente utilizado para el envío de correo masivo no solicitado, o Spam), sólo se necesita comentar esta configuración precediendo un dnl, del siguiente modo:
Enmascaramiento.Des-comente las siguientes tres líneas, y adapte el valor de MASQUERADE_AS para definir la máscara que utilizará el servidor:
Si se van a administrar múltiples dominios, añada aquellos deban conservar su propia máscara, utilizando el parámetro MASQUERADE_EXCEPTION del siguiente modo:
Control 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 siguiente línea para definir la lista negra de SpamCop.net, casi al final del archivo /etc/mail/sendmail.mc, y justo arriba de MAILER(smtp)dnl:
Configuración de Dovecot.Parámetros 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 cambia radicalmente la configuración respecto de la versión 1.0.x, utilizada en CentOS 5, y Red Hat Enterprise Linux 5, y versiones anteriores. Edite el archivo /etc/dovecot/dovecot.conf, y descomente el parámetro protocols, estableciendo como valor pop3 imap lmtp.
Parámetros 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.
Cabe señalar que la versión de dovecot incluida en CentOS 6, y Red Hat™ Enterprise Linux 6, es obligatorio generar un certificado, pues sólo permitirá conexiones sin TLS desde 127.0.0.1. Siga el procedimiento descrito en el documento titulado Cómo configurar Sendmail, y Dovecot con soporte SSL/TLS. Parámetros 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, y habilitar los servicios de IMAP y/o POP3, del siguiente modo (están habilitados de modo predeterminado pop3, pop3s, imap, e imaps):
Añadir al inicio del sistema e iniciar servicios dovecot, y sendmail.El servicio dovecot, en cualquiera de las versiones de los sistemas operativos mencionados, se agrega al inicio del sistema del siguiente modo:
Para iniciar el servicio dovecot, se ejecuta lo siguiente:
Para aplicar cambios en la configuración del servicio dovecot, se ejecuta lo siguiente:
El servicio sendmail se agrega al inicio del sistema, ejecutando lo siguiente:
Para iniciar el servicio sendmail, se ejecuta lo siguiente:
Para reiniciar servicio sendmail, sólo bastará ejecutar:
Probar servidor enviando/recibiendo mensajes con CUALQUIER cliente estándar de correo electrónico con soporte para POP3/IMAP/SMTP con soporte para autenticar a través de SMTP utilizando los métodos LOGIN, o PLAIN. Para detectar posibles errores, se puede examinar el contenido de la bitácora de correo electrónico del sistema, utilizando el mandato tail, con la opción -f, sobre el archivo /var/log/maillog, como se muestra a continuación:
Modificaciones necesarias en el muro cortafuegos.Como medida de seguridad, siempre abra los puertos del cortafuegos hasta después de finalizar la configuración del servidor de correo electrónico, y que haya comprobado las configuraciones. Para el funcionamiento normal de un servicio de correo electrónico estándar, es necesario abrir los puertos 25 (smtp), 465 (smtps), y 587 (submission), así como los puertos 110 (pop3), 143 (imap), 993 (imaps), y 995 (pop3s). Si utiliza Shorewall, edite el archivo /etc/shorewall/rules:
Las reglas corresponderían a algo similar a lo siguiente:
Al terminar de configurar las reglas para Shorewall, reinicie el muro cortafuegos, ejecutando el siguiente mandato:
Lecturas posteriores.Se recomienda consultar los documentos titulados «Cómo configurar Sendmail, y Dovecot con soporte SSL/TLS», «Configuración avanzada de Sendmail», «Cómo instalar y configurar Spamassassin», y «Configuración simple para Antivirus y Antispam». |
Comentarios Recientes