Da meine Gedächtnisleistung mit fortschreitendem Alter eher nachlassen wird, muss ich wohl oder übel zur Dokumentation übergehen. Für Debian und seine Drivate, wie z.B. Ubuntu, geht es so:
Samstag, 17. Mai 2008
Wer schreibt, der bleibt
Da meine Gedächtnisleistung mit fortschreitendem Alter eher nachlassen wird, muss ich wohl oder übel zur Dokumentation übergehen. Für Debian und seine Drivate, wie z.B. Ubuntu, geht es so:
apt-get install postfix postgrey courier-pop-ssl sasl2-bin
adduser postfix sasl
update-rc.d -f courier-pop remove
/etc/init.d/courier-pop stop
Die letzten beiden Befehle seorgen dafür, dass der unverschlüsste POP3 Dienst nicht läuft. Es ist einfach unsinnig Mails im Klartext durchs Netz zu jagen, auch wenn es der eigene Server ist.
Der Datei /etc/postfix/main.cf folgendes hinzufügen
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
Eine Datei /etc/postfix/sasl/smtpd.conf erzeugen, der Inhalt:
pwcheck_method: saslauthd
saslauthd_path: /var/run/saslauthd/mux
mech_list: plain login
In der Datei /etc/default/saslauthd folgende Werte setzen bzw. ändern:
START=yes
MECHANISMS="shadow"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Der häufigste Fehler bei der Konstellation ist, dass postfix nicht mit dem saslauthd kommunizieren kann. I.d.R liegt es an der chroot Umgebung von postfix. Abhilfe schafft es, wenn das Verzeichnis unter /var/run auch in der chroot Umgebung verfügbar ist:
mkdir -p /var/spool/postfix/var/run
cd /var/run
mv saslauthd/ /var/spool/postfix/var/run
ln -s /var/spool/postfix/var/run/saslauthd/ saslauthd
Zum Abschluss die betroffenen Diensten (neu) starten:
/etc/init.d/saslauthd start
/etc/init.d/postfix restart
Damit hat man seinen eigenen kleinen Mailserver, zugegeben ohne grossen Schnickschnack, der für ein paar Domains vollkommen ausreichend ist. Die postfix Konfiguration ist natürlich nicht vollständig dargestellt. Wer postfix selbst einsetzen will kommt nicht umhin sich intentsiv damit zu beschäftigen. Als Anregung das Grundgerüst einer main.cf wie ich sie, in modifizierter Form verwende:
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# TLS parameters (self signed keys)
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
myhostname = mailhost.domain.tld
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
virtual_alias_domains = domain1.tld domain2.tld domain3.tld
virtual_alias_maps = hash:/etc/postfix/virtual
myorigin = /etc/mailname
mydestination = host.domain.tld, localhost.domain.tld, , localhost
relayhost =
mynetworks = 127.0.0.0/8, 1.2.3.0/24
mailbox_size_limit = 0
home_mailbox = Maildir/
recipient_delimiter = +
# bind only to specific interfaces
inet_interfaces = 127.0.0.1 1.2.3.4
smtpd_helo_required = yes
smtpd_delay_reject = yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_unauth_destination,
reject_rbl_client ix.dnsbl.manitu.net,
reject_rbl_client zombie.dnsbl.sorbs.net,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client blackholes.easynet.nl,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client cbl.abuseat.org,
# this is for postgrey (apt-get install postgrey)
check_policy_service inet:127.0.0.1:60000
smtpd_helo_restrictions =
permit_sasl_authenticated,
reject_unauth_destination,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_non_fqdn_hostname,
reject_invalid_hostname,
reject_rhsbl_client rhsbl.sorbs.net,
reject_rhsbl_sender rhsbl.sorbs.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client multihop.dsbl.org,
reject_unauth_pipelining
smtpd_sender_restrictions =
permit_sasl_authenticated,
reject_unauth_destination,
reject_rhsbl_client rhsbl.sorbs.net,
reject_rhsbl_sender rhsbl.sorbs.net,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client multihop.dsbl.org,
reject_rbl_client cbl.abuseat.org,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_pipelining
# SASL parameters
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
Die Benutzerverwaltung erfolgt auf Systemebene (useradd, passwd etc.) und die Zuordung von Mailadressen zu Benutzernamen erfolgt in der Datei /etc/postfix/virtual, deren Format trivial ist:
mail@domain1.tld username1
mail@domain2.tld username2
...
Nach jeder Änderung an der Datei wird mit dem Befehl postmap /etc/postfix/virtual die zugehörige Hashdatei erzeugt. Wer schon mal das Vergnügen hatte Mailaliase unter sendmail zu verwalten, dem wird das Vorgehen bekannt vorkommen.
Geschrieben von Michael Wenzl
in IT
um
14:30
| Kommentare (0)
| Trackbacks (0)
Artikel mit ähnlichen Themen:
Trackbacks
Trackback-URL für diesen Eintrag
Keine Trackbacks






