Mail Server · 4 min read · Feb 12, 2026
Mail-Server-Setup Mit Exim, MySQL, Cyrus-Imapd, Horde Webmail Auf Centos 5.1 - Seite 4
Pam_mysql konfigurieren
Pam_mysql wird verwendet, um die folgenden cyrus-imapd-Dienste gegen die MySQL-Datenbank zu authentifizieren: IMAP, POP, SIEVE, LMTP, CSYNC.
Pam_mysql-Konfiguration
Aktivieren Sie pam_mysql für die Dienste, indem Sie die folgenden Änderungen vornehmen.
- /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-Konfiguration
- Bearbeiten Sie /etc/sysconfig/saslauthd und ändern Sie es wie folgt
SOCKETDIR=/var/run/saslauthd # Mechanismus, der verwendet werden soll, wenn Passwörter überprüft werden. Führen Sie "saslauthd -v" aus, um eine Liste zu erhalten # von Mechanismen, mit denen Ihre Installation kompiliert wurde. MECH=pam # Zusätzliche Flags, die an saslauthd in der Befehlszeile übergeben werden sollen. Siehe saslauthd(8) # für die Liste der akzeptierten Flags. FLAGS="-r -n 0 -c"
ClamAV konfigurieren
- Fügen Sie den clamav-Benutzer zur exim-Gruppe hinzu. usermod -G exim clamav
- Ändern Sie den Speicherort des Sockets und deaktivieren Sie TCP. Nehmen Sie Änderungen an /etc/clamd.conf vor
LocalSocket /var/run/clamav/clamd.socket #TCPSocket 3310 #TCPAddr 127.0.0.1 - Installieren Sie sichere Sicherheits-Signaturen 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 - Aktivieren Sie das lokale selinux-Modul für clamav, erstellen Sie die Datei clamdlocal.te und fügen Sie Folgendes hinzu
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 }; - Kompilieren und laden Sie das Modul checkmodule -M -m -o clamdlocal.mod clamdlocal.te
semodule_package -o clamdlocal.pp -m clamdlocal.mod
semodule -i clamdlocal.pp
Spamassassin konfigurieren
- Ändern Sie die Startoptionen, bearbeiten Sie /etc/sysconfig/spamassassin und ändern Sie es wie folgt
SPAMDOPTIONS=" -l -d -c -m5 -H -m 10 --socketpath=/var/run/spamassassin/spamd.sock --socketowner=exim" - Aktivieren Sie das lokale spamd-Modul für Spamassassin, erstellen Sie die Datei spamdlocal.te und fügen Sie Folgendes hinzu
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 }; - Kompilieren und installieren Sie das Modul checkmodule -M -m -o spamdlocal.mod spamdlocal.te
semodule_package -o spamdlocal.pp -m spamdlocal.mod
semodule -i spamdlocal.pp
Letzte Anpassungen
Dienste deaktivieren
Deaktivieren Sie unerwünschte Dienste, verwenden Sie dieses Skript.
Dienste aktivieren
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-Benutzer erstellen
- Erstellen Sie eine Datei admin.sql und fügen Sie Folgendes hinzu (ändern Sie das Passwort nach Ihren Wünschen)
USE horde; REPLACE INTO horde_users (user_uid,user_pass) VALUES ( '[email protected]', -- Ändern Sie dies md5('verystrongpassword') ); - Fügen Sie den Benutzer zur Datenbank hinzu
mysql -p horde < admin.sql
Firewall
Fügen Sie diese Regeln in Ihre Konfigurationsdatei /etc/sysconfig/iptables ein
*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
Anmeldung
Puh! Sie sind fertig. Öffnen Sie Ihren Browser und gehen Sie zu https://192.168.1.4/ und melden Sie sich mit den oben genannten Daten an. Sie können dann andere Benutzer unter Verwaltung ? Benutzer erstellen. Sie können auch alle anderen Funktionen testen.
Referenzen
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.