Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Instalación y configuración de SendmailAnalyzer.

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

© 1999-2014 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

SendmailAnalyzer es una herramienta de análisis de bitácoras de Sendmail y Postfix, creado y mantenido por Gilles Darold y distribuido bajo los términos de la licencia GNU/GPLv3.

Procesa el contenido del archivo de bitácora de actividad de correo electrónico localizado en /var/log/maillog y genera estadísticas dinámicas en formato HTML con gráficos coloridos. Los reportes se generan en tiempo real de modo que permite analizar qué es lo que ocurre en un momento dado en el servidor de correo electrónico. Incluye vistas por hora, día, mes y año.

La instalación es relativamente fácil y permite muchas opciones de configuración para ajustarse a prácticamente cualquier configuración de Sendmail y Postfix. Incluye además soporte para la mayoría de los sistemas de filtrado para Sendmail y Postfix, como serían SpamAssassin, MailScanner, Clamav, Clamav-Milter, Amavis, verificación de RBL, J-ChkMail, etc. Es por todo ésto que representa una gran ayuda para los administradores de sistemas de servidores de correo electrónico.

Los datos recolectados son almacenados en archivos que son automáticamente archivados o eliminados para cuidar el uso del espacio libre del la unidad de almacenamiento. Todos los reportes anteriores al día vigente son mantenidos en un cache para optimizar el uso de los recursos del sistema permitiendo mostrar éstos en menos de un segundo.

URL: http://sendmailanalyzer.darold.net/

Equipamiento lógico necesario.

Cambie al directorio de almacenes YUM del sistema.

cd /etc/yum.repos.d/

Descargue la configuración para almacén YUM de AL-Server para CentOS y Red Hat™ Enterprise Linux.

wget -N http://www.alcancelibre.org/al/server/AL-Server.repo

Instale los paquetes sendmailanalyzer y mod_perl ejecutando lo siguiente:

yum -y install sendmailanalyzer mod_perl

Regrese al directorio de inicio.

cd

Procedimientos

Edite el archivo de configuración de SendmailAnalyzer:

vi /etc/sendmailanalyzer.conf

Alrededor de la línea 100, defina lang/sp_SP para en valor de la opción LANG, que corresponde a lo necesario para utilizar el idioma español para mostrar los reportes:

# Same as above but with host distinction for use with rsyslog.
# You can have multiple LOCAL_HOST_DOMAIN lines, ie: one per host.
#DOMAIN_HOST_REPORT     sysloghost1     domain1.com,domain2.com
#DOMAIN_HOST_REPORT     sysloghost2     domain3.com,domain4.com

# Path to the language translation file (relative to the CGI directory).
# Default: lang/en_US
LANG lang/sp_SP

# Size Unit to use, default is Bytes. Other values are KBytes and MBytes
SIZE_UNIT       MBytes

Nota.

Si se utiliza Webmin+Virtualmin, Apache sólo permite se ejecuten los guiones CGI con la misma identidad que se dispuso para suexec en la configuración para Apache para el anfitrión virtual del dominio involucrado. Es decir, se deben asignar el usuario y grupo definidos en la opción SuexecUserGroup de la configuración del anfitrión virtual creada por Virtualmin.

chown -R dominio:dominio /var/www/sendmailanalyzer

Para que SELinux permita utilizar los archivos de reportes en el cache, se requiere asignar de manera descendente el contexto httpd_sys_content_t al directorio /var/lib/sendmailanalyzer. Ejecute lo siguiente:

chcon -R -t httpd_sys_content_t /var/lib/sendmailanalyzer

Para que SELinux permita ejecutar el programa para ser utilizad a través de Apache, se requiere asignar el contexto httpd_sys_script_exec_t al archivo /var/www/sendmailanalyzer/sa_report.cgi. Ejecute lo siguiente:

chcon -t httpd_sys_script_exec_t /var/www/sendmailanalyzer/sa_report.cgi

Añada el servicio sendmailanalyzer a los servicios de arranque del sistema ejecutando lo siguiente:

chkconfig sendmailanalyzer on

Inicie el servicio sendmailanalyzer ejecutando lo siguiente:

service sendmailanalyzer start

Edite archivo /etc/cron.d/sendmailanalyzer:

vim /etc/cron.d/sendmailanalyzer

Descomente las tres tares para crond que hay en este archivo y cambie la ejecución cada 15 minutos a un periodo de tiempo mayor si acaso se trata de un servidor con poca relativamente actividad.

# Sendmail log reporting daily cache
0 1 * * *     root  /usr/bin/sa_cache > /dev/null 2>&1
# Daemon restart after maillog logrotate (cron jobs at 4:04 every day)
# Feel free to replace this line by an entry in /etc/logrotate.d/syslog
4 4 * * *     root  /etc/rc.d/init.d/sendmailanalyzer restart > /dev/null 2>&1
# On huge MTA you may want to have five minutes caching
*/15 * * * *   root  /usr/bin/sa_cache -a > /dev/null 2>&1

Reinicie el servicio crond ejecutando lo siguiente:

service crond restart

Genere el primer reporte ejecutando lo siguiente:

sa_cache

Edite el archivo /etc/httpd/conf.d/sendmailanalyzer.conf.

vi /etc/httpd/conf.d/sendmailanalyzer.conf

De modo predeterminado sólo permite el acceso desde el anfitrión local.

#
# By default sendmailanalyzer statistics are only accessible from the local host.
# 

Alias /sareport /var/www/sendmailanalyzer

<Directory /var/www/sendmailanalyzer>
    Options ExecCGI SymLinksIfOwnerMatch
    AddHandler cgi-script .cgi
    DirectoryIndex sa_report.cgi
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    # allow from example.com
</Directory>

Limite o restrinja el acceso a SendmailAnalyzer modificando la configuración para Apache. Jamás permita el acceso sin restricciones porque de lo contrario se expondrían los nombres de las cuentas de correo electrónico mostradas en los reportes y éstas se verían inundadas de spam en pocos días.

El siguiente ejemplo de configuración se utiliza un nombre de directorio virtual distinto al predeterminado para acceder a SendmailAnalyzer, limita el acceso a sólo usuarios con contraseña y obliga además a utilizar HTTPS para la conexión:

Alias /reportecorreo /var/www/sendmailanalyzer

<Directory /var/www/sendmailanalyzer>
    Options ExecCGI SymLinksIfOwnerMatch
    AddHandler cgi-script .cgi
    DirectoryIndex sa_report.cgi
    # Order deny,allow
    # Deny from all
    # Allow from 127.0.0.1
    # Allow from ::1
    # allow from example.com
    RewriteEngine  on
    RewriteCond    %{HTTPS} !=on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    AuthName "Solo usuarios autorizados"
    AuthType Basic
    Require valid-user
    AuthUserFile /var/www/sendmailanalyzer/.htpasswd
</Directory>

Genere archivo de contraseñas y asigne un usuario ejecutando lo siguiente:

htpasswd -c /var/www/sendmailanalyzer/.htpasswd administrador

Configure los permisos de acceso de este archivo para que sólo pueda ser utilizado por Apache:

chown apache:apache /var/www/sendmailanalyzer/.htpasswd
chmod 440 /var/www/sendmailanalyzer/.htpasswd

Reinicie el servicio httpd a fin de que surtan efecto los cambios a la configuración ara Apache:

service httpd restart

Acceda hacia https://servidor.dominio.tld/reportecorreo/ y verifique las restricciones en el acceso. Examine los reportes por hora, día, mes o año de acuerdo a lo que desee.

Vista de reporte mensual de SendmailAnalyzer.
Vista de reporte mensual de SendmailAnalyzer.

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 21/05/2014, 20:15|Hits: 5,111 Ver la versión para imprimir