Настройка сервера · 3 min read · Feb 12, 2026

Настройка почтового сервера с Exim, MySQL, Cyrus-Imapd, Horde Webmail на Centos 5.1 - Страница 4

Настройка Pam_mysql

Pam_mysql будет использоваться для аутентификации следующих служб cyrus-imapd против базы данных mysql: IMAP, POP, SIEVE, LMTP, CSYNC.

Конфигурация Pam_mysql

Включите pam_mysql для служб, внесите изменения ниже.

  • /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

Конфигурация Saslauthd

  • Отредактируйте /etc/sysconfig/saslauthd и измените на следующее SOCKETDIR=/var/run/saslauthd # Механизм, который использовать при проверке паролей. Запустите "saslauthd -v", чтобы получить список # механизмов, которые были скомпилированы для использования. MECH=pam # Дополнительные флаги, которые передаются saslauthd в командной строке. См. saslauthd(8) # для списка принятых флагов. FLAGS="-r -n 0 -c"

Настройка ClamAV

  • Добавьте пользователя clamav в группу exim. usermod -G exim clamav
  • Измените расположение сокета и отключите TCP. Внесите изменения в /etc/clamd.conf LocalSocket /var/run/clamav/clamd.socket #TCPSocket 3310 #TCPAddr 127.0.0.1
  • Установите безопасные сигнатуры 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
  • Включите локальный модуль selinux для clamav, создайте файл clamdlocal.te и добавьте следующее 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 };
  • Скомпилируйте и загрузите модуль checkmodule -M -m -o clamdlocal.mod clamdlocal.te
    semodule_package -o clamdlocal.pp -m clamdlocal.mod
    semodule -i clamdlocal.pp

Настройка Spamassassin

  • Измените параметры запуска, отредактируйте /etc/sysconfig/spamassassin и измените на следующее SPAMDOPTIONS=" -l -d -c -m5 -H -m 10 --socketpath=/var/run/spamassassin/spamd.sock --socketowner=exim"
  • Включите локальный модуль spamd для spamassassin, создайте файл spamdlocal.te и добавьте следующее 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 };
  • Скомпилируйте и установите модуль checkmodule -M -m -o spamdlocal.mod spamdlocal.te
    semodule_package -o spamdlocal.pp -m spamdlocal.mod
    semodule -i spamdlocal.pp

Завершение

Отключение служб

Отключите ненужные службы, используйте этот скрипт.

Включение служб

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

Создание администратора

  • Создайте файл admin.sql и добавьте следующее (измените пароль на свой) USE horde; REPLACE INTO horde_users (user_uid,user_pass) VALUES ( '[email protected]', -- Измените это md5('verystrongpassword') );
  • Добавьте пользователя в базу данных mysql -p horde < admin.sql

Брандмауэр

Добавьте эти правила в ваш конфигурационный файл /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

Вход

Уф! Вы закончили. Откройте браузер и перейдите по адресу https://192.168.1.4/ и войдите с указанными выше данными, вы можете создать других пользователей в разделе администрирования ? пользователи. Вы также можете протестировать все остальные функции.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.