[Postfixbuch-users] SMTPD restrictions
Olaf Menzel
olaf.menzel at fokus.fraunhofer.de
Mi Jul 7 20:03:52 CEST 2004
Hallo Miteinander,
------------------------
ich bin eben neu auf der Liste und habe gerade ein kleines Problem. Ich
habe Postfix in der Version postfix-2.1.1-4.pcre.pgsql.sasl2.ipv6.tls.fc2
zusammen mit cyrus-imapd, postgresql authentifizierung und Web-cyradm
aufgesetzt. IMAP-Benutzer können über POP3S und IMAPS auf ihre
Mailboxen zugreifen . Zusätzlich ahbe ich noch SMTP AUTH über SASLAUTHD
mit Authentifizierung über PAM mittels dem pam_pgsql modul konfiguriert.
Die Authentifierung klappt anstandslos, aber eben das Relaying von
ausserhalb nicht, d.h. alles, was nicht in $mynetworks eingetragen ist.
Hier mal ein kurzer Auschnitt aus meiner /etc/postfix/main.cf :
# Specific Relay Control
#
smtpd_reject_unlisted_recipients = no
smtpd_recipient_restrictions=
# block unknown sender domains
reject_unknown_sender_domain,
# block sender without FQDN
# reject_non_fqdn_sender,
# allow our IP's tu use our mailserver als relay host
permit_mynetworks,
# allow sasl authenticated
permit_sasl_authenticated,
# allow to use us as backup server defines in MX record
permit_mx_backup,
# Reject, if recipient down not exists in our domain
reject_unauth_destination,
# Realtime Blackhole Lists
reject_rbl_client relays.ordb.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client opm.blitzed.org,
reject_rbl_client sbl.spamhaus.org,
reject_rhsbl_client blackhole.securitysage.com,
reject_rhsbl_sender blackhole.securitysage.com,
##################
# now Relaying is allowed
permit
Es ist so ziemlich die Standard-Konfiguration aus dem Buch. Das Kuriose
dabei ist aber, dass es zu gar keinem Authentifiezierungs-
Prozess kommt, wenn der SMTP-Client nicht in $mynetworks augeführt ist.
Komme ich von intern, geht auch die SMTP-Authentifizierung:
Jul 7 15:41:47 satmail PAM_pgsql[20652]: attempting to authenticate:
dummyuser
Jul 7 15:41:47 satmail PAM_pgsql[20652]: dummyuser
Jul 7 15:41:47 satmail PAM_pgsql[20652]: query: SELECT password FROM
accountuser WHERE username='dummyuser'
Jul 7 15:41:47 satmail PAM_pgsql[20652]: (smtp) user dummyuser
authenticated.
Der Witz ist aber gerade, dass ich SMTP Auth von draussen brauche. Beim
tcpdump von beiden Situationen ergab sich folgende Kuriosität:
1. bei interner Verbindung schickt der Client ein SMTPD Auth request
und bekommt auch ein Response zurück.
Von extern wird überhaupt kein Reuest verschickt.
2. von intern wird richtigerweise EHLO benutzt, um den Request an den
Server zu schicken, bei extern benutzt der Client nur HELO
Ein telnet auf port 25 des Mailservers ergab folgendes Bild:
intern:
----------
telnet satmail 25
Trying 129.26.234.162...
Connected to satmail.fokus.fraunhofer.de (129.26.234.162).
Escape character is '^]'.
220 satmail.fokus.fraunhofer.de ESMTP Postfix
ehlo doulos
250-satmail.fokus.fraunhofer.de
250-PIPELINING
250-SIZE 15000000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH DIGEST-MD5 GSSAPI CRAM-MD5 LOGIN PLAIN
250-AUTH=DIGEST-MD5 GSSAPI CRAM-MD5 LOGIN PLAIN
250 8BITMIME
quit
221 Bye
extern:telnet satmail.fokus.fraunhofer.de 25
Trying 129.26.234.162...
Connected to satmail.fokus.fraunhofer.de.
Escape character is '^]'.
220 *****************************************
ehlo eliserv
502 Error: command not implemented
helo eliserv
250 satmail.fokus.fraunhofer.de
---------
Das bedeutet also, das Postfix von extern überhaupt kein ESMTP kennt und
nur normales SMTP über HELO kann und es somit folglich nie zur
Authtentifizierung kommt. DerMailclient schaltet dann zurück auf
Standard-SMTP und bekommt folglich ein "relaying denied". Wo kann ich dieses
Verhalten umstellen, dass von Ausserhalb auch ESMTP mit EHLO unterstützt
wird ??
Ich würde mich gerne über Hinweise freuen, denn langsam fange ich an zu
zweifeln :-(
Vielen Dank und noch einen schönen Abend
Olaf
Mehr Informationen über die Mailingliste Postfixbuch-users