Servidor de correo · 4 min read · Feb 12, 2026

Configuración del Servidor de Correo Con Exim, MySQL, Cyrus-Imapd, Horde Webmail En Centos 5.1 - Página 4

Configurar Pam_mysql

Pam_mysql se utilizará para autenticar los siguientes servicios de cyrus-imapd contra la base de datos mysql, IMAP, POP, SIEVE, LMTP, CSYNC.

Configuración de Pam_mysql

Habilitar pam_mysql para los servicios realiza los cambios a continuación.

  • /etc/pam.d/imap auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/pop auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/sieve auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/lmtp auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/csync auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3

Configuración de Saslauthd

  • Editar /etc/sysconfig/saslauthd y modificar a continuación SOCKETDIR=/var/run/saslauthd # Mecanismo a utilizar al verificar contraseñas. Ejecuta "saslauthd -v" para obtener una lista # de qué mecanismo fue compilada tu instalación para usar. MECH=pam # Banderas adicionales para pasar a saslauthd en la línea de comandos. Ver saslauthd(8) # para la lista de banderas aceptadas. FLAGS="-r -n 0 -c"

Configurar ClamAV

  • Agregar el usuario clamav al grupo exim. usermod -G exim clamav
  • Cambiar la ubicación del socket y deshabilitar TCP. Realiza cambios en /etc/clamd.conf LocalSocket /var/run/clamav/clamd.socket #TCPSocket 3310 #TCPAddr 127.0.0.1
  • Instalar firmas de seguridad de sane wget http://www.sanesecurity.co.uk/clamav/update_sanesecurity.txt -O /usr/local/bin/update_sanesecurity.sh
    chmod +x /usr/local/bin/update_sanesecurity.sh
    ln -s /usr/local/bin/update_sanesecurity.sh /etc/cron.hourly/
    /usr/local/bin/update_sanesecurity.sh
  • Habilitar el módulo local de selinux para clamav, crear el archivo clamdlocal.te y agregar lo siguiente module clamdlocal 1.0; require { type proc_t; type var_t; type sysctl_kernel_t; type var_spool_t; type clamd_t; class dir { write search read remove_name add_name }; class file { write getattr read lock create unlink }; } #============= clamd_t ============== allow clamd_t proc_t:file { read getattr }; allow clamd_t sysctl_kernel_t:dir search; allow clamd_t sysctl_kernel_t:file read; allow clamd_t var_spool_t:dir read; allow clamd_t var_spool_t:file { read getattr }; allow clamd_t var_t:dir { write read add_name remove_name }; allow clamd_t var_t:file { write getattr read lock create unlink };
  • Compilar y cargar el módulo checkmodule -M -m -o clamdlocal.mod clamdlocal.te
    semodule_package -o clamdlocal.pp -m clamdlocal.mod
    semodule -i clamdlocal.pp

Configurar Spamassassin

  • Modificar las opciones de inicio editar /etc/sysconfig/spamassassin y modificar como a continuación SPAMDOPTIONS=" -l -d -c -m5 -H -m 10 --socketpath=/var/run/spamassassin/spamd.sock --socketowner=exim"
  • Habilitar el módulo local de spamd para spamassassin, crear el archivo spamdlocal.te y agregar lo siguiente module spamdlocal 1.0; require { type spamd_t; type spamd_var_run_t; class capability { fowner chown kill }; class sock_file { write create unlink getattr setattr }; } #============= spamd_t ============== allow spamd_t self:capability { fowner chown kill }; allow spamd_t spamd_var_run_t:sock_file { write create unlink getattr setattr };
  • Compilar e instalar el módulo checkmodule -M -m -o spamdlocal.mod spamdlocal.te
    semodule_package -o spamdlocal.pp -m spamdlocal.mod
    semodule -i spamdlocal.pp

Toques Finales

Deshabilitar servicios

Deshabilitar servicios no deseados, usar este script.

Habilitar servicios

chkconfig –level 234 exim on
chkconfig –level 234 mysqld on
chkconfig –level 234 spamassassin on
chkconfig –level 234 clamd on
chkconfig –level 234 httpd on
chkconfig –level 234 saslauthd on
chkconfig –level 234 cyrus-imapd on

service mysqld restart
service saslauthd restart
service spamassassin restart
service clamd restart
service exim restart
service cyrus-imapd restart
service httpd restart

Crear Usuario Admin

  • Crear un archivo admin.sql y agregar lo siguiente (modificar la contraseña a su gusto) USE horde; REPLACE INTO horde_users (user_uid,user_pass) VALUES ( '[email protected]', -- Cambia esto md5('verystrongpassword') );
  • Agregar usuario a la base de datos mysql -p horde < admin.sql

Firewall

Agregar estas reglas en su archivo de configuración /etc/sysconfig/iptables

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m multiport -j ACCEPT --dports 80,443,25,110,143
-A INPUT -p icmp -m icmp -m limit --icmp-type 8 --limit 5/min -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 192.168.1.4 -j ACCEPT
COMMIT

Iniciar Sesión

¡Uf! has terminado. Abre tu navegador y ve a https://192.168.1.4/ e inicia sesión con los detalles anteriores, puedes crear otros usuarios en administración ? usuarios. También puedes probar todas las demás funciones.

Referencias

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.