Emailversand mit Postfix auf erlaubte Benutzer beschränken

fmp

Registered User
Moin,

ersteinmal ein gesundes, erfolgreiches neues Jahr!

So, da ich bzw. mein betreuter Server in den letzten Wochen mehrfach das "Phänomen" hatte, das jemand Mails über Linux-Standardbenutzer eingeliefert hat (was natürlich NICHT erwünscht ist), möchte ich jetzt Postfix ein wenig umbauen, sodass nur Benutzer zugelassen sind, die ich bestimme (also reine Mailuser).

Das Problem dürfte, so denke ich, bei der SASL-Authentifizierung liegen, diese geht momentan über PAM (also Prüfung gegen /etc/passwd).
Wie bzw. was muss ich ändern, damit nur erlaubte Benutzer sich erfolgreich authentifizieren ? Geht dort nur eine Datenbank oder oder gibts da auch reine Text-/Hashtabellen ? Es handelt sich momentan um ca. 35 User, die Mails versenden dürfen.

Die bisherige Postfix-Konfig sieht so aus (für den Fall das, dass von Bedeutung sein sollte ;)) :
Code:
root@alpha:/etc/postfix# cat main.cf

smtpd_banner = $myhostname ESMTP
biff = no

append_dot_mydomain = no

myhostname = mail.meinedomain.de
mydomain = meinedomain.de
mydestination = $myhostname, $mydomain, loalhost, localhost.$mydomain

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mail_owner = postfix
mailbox_size_limit = 102400000
message_size_limit = 102400000

alias_maps = hash:/etc/aliases

virtual_alias_domains = hash:/etc/postfix/virtual_alias_domains
virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps
sender_canonical_maps = hash:/etc/postfix/sender_canonical
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
sender_bcc_maps = hash:/etc/postfix/sender_bcc_maps

virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
# smtpd_tls_auth_only = no
smtpd_sasl_local_domain =
smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination,
        reject_invalid_hostname,
        reject_non_fqdn_hostname,
        reject_rbl_client sbl-xbl.spamhaus.org,
        reject_rbl_client dnsbl.njabl.org
        reject_rbl_client ix.dnsbl.manitu.net
        reject_unlisted_recipient
        check_policy_service inet:127.0.0.1:10023

home_mailbox = Maildir/

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_tls_auth_only = no
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom


Schonmal vielen Dank vorab für Eure Hilfe!

FmP
 
Interessant wäre mal ein Logauszug, der zeigt, daß ein solcher Linux-User die Mails versendet. Ich vermute aber mal, daß die Mails über /usr/sbin/sendmail versandt wurden und da greift die Authentifizierung per SASL nicht.
 
Hi,

danke für Deine Antwort.

Also hier ein Beispiel für den Standardbenutzer mail

Code:
root@alpha:/var/log# cat mail.info | grep "0817E35D24AF"
Jan  1 16:00:41 alpha postfix/smtpd[29917]: 0817E35D24AF: client=unknown[69.6.154.198], sasl_method=LOGIN, sasl_username=mail
Jan  1 16:00:53 alpha postfix/cleanup[30425]: 0817E35D24AF: message-id=<>
Jan  1 16:00:53 alpha postfix/qmgr[25935]: 0817E35D24AF: from=<adminmailbox.efcc@bol.com.br>, size=1585, nrcpt=50 (queue active)
Jan  1 16:00:53 alpha postfix/error[30755]: 0817E35D24AF: to=<npuddn@netzero.net>, relay=none, delay=12, delays=12/0/0/0, dsn=4.0.0, status=deferred (delivery temporarily suspended: host mx.vgs.untd.com[64.136.52.37] refused to talk to me: 550 Access denied...27f595a924a964f5cd3524fda41d35941d406dddc474d941d14545d155ed217d30215d1511...)
Jan  1 16:00:54 alpha postfix/error[30681]: 0817E35D24AF: to=<nps_nmbooks@hotmail.com>, relay=none, delay=13, delays=12/0/0/1, dsn=4.4.2, status=deferred (delivery temporarily suspended: lost connection with mx1.hotmail.com[65.55.37.120] while sending RCPT TO)
Jan  1 16:00:54 alpha postfix/error[30969]: 0817E35D24AF: to=<nprplayer2003@yahoo.com>, relay=none, delay=14, delays=12/0/0/1.1, dsn=4.7.0, status=deferred (delivery temporarily suspended: host mta7.am0.yahoodns.net[98.138.112.38] refused to talk to me: 421 4.7.0 [TS01] Messages from 188.29.12.146 temporarily deferred due to user complaints - 4.16.55.1; see http://postmaster.yahoo.com/421-ts01.html)

Also meiner Meinung nach schon ein (unauthorisierter) Mailversand über SASL/Postfix ;-).

Schonmal Danke für Deine Hilfe!

FmP
 
Ohne Deine *_maps zu kennen und zu wissen ob Du den Systemusern versehentlich Passworte gegeben hast, oder wie Dein SASL konfiguriert ist, ist hier ohnehin nur Rätselraten angesagt.
Um mich daran dann auch zu beteiligen: Ich tippe auf SASL oder *_maps.
 
Blockier doch per iptables den Traffic zum SMTP-Server und erlaube ihn nur von einem bestimmten User.
 
Das Blockieren mit iptables bringt hier herzlich wenig, denn die Dinger laufen ja durch den Postfix durch - und denn per iptables zu blockieren ist ziemlich sinnfrei, da würde auch das Stoppen des Postfix reichen.
 
Die Symptome zu verstecken statt die Ursachen zu beheben, ist keine Lösung und führt früher oder später zu ernsthaften Problemen.
 
...
Code:
reject_rbl_client sbl-xbl.spamhaus.org
...

Schonmal vielen Dank vorab für Eure Hilfe!

FmP

"zen.spamhaus.org" reicht laut der Spamhaus Seite: http://www.spamhaus.org/zen/

zen.spamhaus.org should be the only spamhaus.org DNSBL in your IP blocklist configuration. You should not use ZEN together with other Spamhaus IP blocklists, or with blocklists already included in our zones (such as the CBL) or you will simply be wasting DNS queries and slowing your mail queue.
 
Nicht jeder will die komplette ZEN-Liste von Spamhaus haben, daher spricht erst mal nichts gegen sbl-xbl.spamhaus.org - auf die dnsbl.njabl.org ist in der xbl schon enthalten und daher überflüssig.
 
...So, da ich bzw. mein betreuter Server in den letzten Wochen mehrfach das "Phänomen" hatte, das jemand Mails über Linux-Standardbenutzer eingeliefert hat (was natürlich NICHT erwünscht ist), möchte ich jetzt Postfix ein wenig umbauen, sodass nur Benutzer zugelassen sind, die ich bestimme (also reine Mailuser).
Hmm eigentlich sollte das nicht vorkommen. Aber wie auch immer ... vielleicht mal schauen, wie man den Login von Systemusern verhindert (http://www.faqforge.com/linux/how-to-prevent-a-linux-system-user-from-loggin-into-the-system/). Ich empfehle dringend das Sicherheitskonzept des Servers umfassend zu überarbeiten.


... Das Problem dürfte, so denke ich, bei der SASL-Authentifizierung liegen, diese geht momentan über PAM (also Prüfung gegen /etc/passwd).
Wie bzw. was muss ich ändern, damit nur erlaubte Benutzer sich erfolgreich authentifizieren ?
Die Lösung dafür steht hier: http://debian.securedservers.com/kernel/pub/linux/libs/pam/Linux-PAM-html/sag-pam_listfile.html (am Beispiel eines FTP-Services, für SMTP-AUTH ist das jedoch ähnlich).
 
Last edited by a moderator:
Back
Top