SMTP Authentification SASLv2 + Virtual User mit sendmail?

Hallo,
die Überschrift sagt es schon:
SMTP Authentification SASLv2 + Virtual User mit sendmail - geht das?
Konfiguration eMail-Server (also nicht mein Rechner zu Hause)

Statt User Accounts über passwd zu nehmen und diese in die /etc/mail/virtusertable und /etc/mail/aliases (für Sendmail) einzutragen wollte ich probieren Virtuelle User zu benutzen, das heist, dass diese dann keinen Account in haben, also nicht in passwd eingetragen sind.

Jetzt ist mir aufgefallen, dass ich diese ja nicht nur beim Empfang für eMails konfigurieren muss, sondern ich will auch beim Versenden von eMails über diesen Server mit SMTP die Postfächer aka eMail-User über SASL Auth authentifizieren (eMail Versand erst dann wenn Benutzer sich angemeldet hat) - Anzahl der Benutzer deutlich unter 100 - also ldap-Server finde ich zu overdrived.

Ist dies mit virtuellen Benutzen überhaupt zumachen? und wenn ja Wie? ;)
 
Sasl benutzt eine eigene db für die Verwaltung und es gibt verschiedene authen-Mechnismen zur Auswahl bei der Installation. Die entsprechenden User und benutzten Mechanismen müßten in die db +plus pw eingetragen werden. In wie weit die Sache funktioniert weiß ich aber auch nicht. Normale Installation von sendmail+cyrus+sasl läuft eigentlich von Haus aus ohne Probs. Eigentlich ist die Sache einfach.
 
Hi,

ich zeig hier mal nen Auszug einer Sendmail Konfiguration:

TRUST_AUTH_MECH(`PLAIN LOGIN CRAM-MD5 DIGEST-MD5')
define(`confAUTH_MECHANISMS', `PLAIN LOGIN CRAM-MD5 DIGEST-MD5')
define(`confAUTH_OPTIONS', `A')
define(`confDONT_BLAME_SENDMAIL', `GroupReadableSASLDBFile')

Und hier die make.conf:

SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2

Da all diese Dinge aber seit etlichen Jahren im Netz bestens beschrieben sind, frage ich mich, wieso du diese Infos nicht selbst hast finden koennen. Nicht falsch verstehen: Fragen sind hier sicherlich sehr willkommen, aber beim Thema SMTP Server sehe ich rot, wenn jemand die Doku nicht lesen will. Ich habe da in meinem Umfeld leider zuviel Elend gesehen.
 
Hallo und danke,
aber meine Frage ist damit noch nicht beantwortet.
@j_t: Du hast mich nicht verstanden - ich wollte nicht wissen wie man sendmail für SASL konfiguriert.

@Flex6:
Sasl benutzt eine eigene db für die Verwaltung und es gibt verschiedene authen-Mechnismen zur Auswahl bei der Installation. Die entsprechenden User und benutzten Mechanismen müßten in die db +plus pw eingetragen werden
SASL (also saslauthd authentication) geht nicht nur mir einer eigenen oder einer anderen DB sondern auch mit z.B PAM.

Die Frage ist ob eine eigene User und Password Verwaltung mit sendmail zusammen arbeiten würde, damit die Benutzer die sich an dem Server anmelden, um eMails via SMTP zu versenden, und die sich voher hierfür authenfizieren sollen auch als user in dem Server angelegt sein müssen.

Ist dies mit virtuellen Benutzen überhaupt zu machen? und wenn ja - Wie?

ps: bei den vielen zu finden Konfigurationen, habe ich auf diese Frage leider kleine Antwort gefunden. Meist steht auch bei den vielen zu finden Konfigurationen nur was gemacht werden soll und nicht warum, bzw was welcher Konfigurationsschritt tatsächlich bewirkt.
 
Zuletzt bearbeitet:
ich will nur wissen:
geht saslauthd mit "virtuellen unix accounts" um dann mit diesen SMTP Auth mit sendmail zu machen?
Wenn ja, mit welchem mechanismen, bzw welche werden hierzu empfohlen und warum (nur eig. vorliebe od. technischer oder sicherheitsrelervanter Grund)?

Den Rest (die Umsetzung) suche ich mir dann schon selber raus.
Gruß Harald
 
Hallo,
ich habe jetzt mal eine Konfiguration ausprobiert komme aber nicht weiter.
#sasldblistusers2 gibt nur
virtuser1@mydomain.de: userPassword
aber sonst keine Mechanismen Was mache ich falsch?

FRAGE1 gefunden!
[root@example.com]# sasldblistusers
user: test realm: mail.example.com mech: PLAIN
user: test realm: mail.example.com mech: CRAM-MD5
user: test realm: mail.example.com mech: DIGEST-MD5

Important Cyrus-SASL-2.x users!

In Cyrus-SASL-2.x users in sasldb2 are listed with sasldblistusers2 and the output will only produce one single line.

[root@example root]# sasldblistusers2
test@mail.example.com: userPassword

Folgendes habe ich konfiguriert SASLv2 (!) - in /usr/local/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
sasldb_path: /usr/local/etc/sasldb2

mech_list: CRAM-MD5 DIGEST-MD5

log_level: 3

einen virtuellen User hinzugefügt:
#saslpasswd2 -c -u mydomain.de -a smtpd virtuser1
#man saslpasswd2
-c Creates an entry
-d Deletes an entry
-f different file as /etc/sasldb2
-u To add users of different realms to sasldb, you can use the -u option to saslpasswd2.
-a appname in /usr/local/lib/sasl2/"Appname".conf

hierbei wurde die Datei "/usr/local/etc/sasldb2" mit den Rechten [cyrus:mail] automatisch angelegt. Bei sendmail heist es aber
hints: sendmail requires sasldb to be owned by root or the trusted user
and not be readable by anyone else since the file contains sensitive data (shared secrets).
also habe ich die Rechte umgeändert:
#chown root:wheel /usr/local/etc/sasldb2
Frage2: Welche Rechte sind hier die richtigen? :confused: die von Cyrus automatisch angelegten oder die aus der alten sendmail doku empfohlenen..

hier noch ein paar Testausgaben
Code:
#telnet localhost smtp
220 ...
EHLO localhost
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 104857600
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-STARTTLS
250-DELIVERBY
250 HELP
QUIT

smtp versteht also "AUTH DIGEST-MD5 CRAM-MD5"
die Mechanismen DIGEST-MD5 CRAM-MD5 tauchen aber nicht in der sasldb-Ausgabe mit sasldblistusers2 auf :confused:

Frage 3: Ich habe versucht über Outlook mich anzumelden - geht nicht?
In der /usr/log/auth.log gibt es übrigens noch die Meldungen
sasldblistusers2: sql_select option missing
sasldblistusers2: auxpropfunc error no mechanism available
mit denen ich auch nichts anfangen kann: sql_select bezieht sich irgendwie auf MySQL und "auxprop_plugin: sql" configuration - habe ich aber nicht.
Warum er "no mechanism available" bringt verstehe ich nicht - mechanismen habe ich doch in der conf Datei angegeben.
Ürigens laut einem Konfig-Hinweis habe ich den saslauthd daemon abgeschaltet, da man ihn bei dieser Art der Konfiguration von SASL über auxprop nicht brauchen würde.
Noch ein paar brauchbare links hierzu:
http://rz-home.de/~wwilhelm/smtpauth.shtml#server (allerdings veraltet)
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/sasldb_configuration.html (Chap 14. Configuring SASL to use sasldb)
http://www.sendmail.org/~ca/email/auth.html#authconf (sendmail tipps)
http://www.heinlein-support.de/upload/mk3/cyrus-sasl.pdf (Grundlagen PPT-Vortrag)

Würde mich freuen wenn jemand damit Erfahung hat und auf anhieb sieht was fehlt oder noch nicht richtig ist. Gruß - Harald
 
Zuletzt bearbeitet:
In der /usr/log/auth.log gibt es übrigens noch die Meldungen
mit denen ich auch nichts anfangen kann: sql_select bezieht sich irgendwie auf MySQL und "auxprop_plugin: sql" configuration - habe ich aber nicht.

Ich bin mir nicht sicher, aber was ich online lese ist, dass man die Konfiguration als /usr/local/lib/sasl2/Sendmail.conf ablegen muss. Versuch das Mal. EDIT: Dann musst du den Appname für sasl2passwd natürlich auch entsprechend ändern.

Rob
 
1)
Konfiguration als /usr/local/lib/sasl2/Sendmail.conf
wenn ich es richtig verstanden habe spielt der Name keine Rolle. Mann kann so auch mehrere xyz.conf Dateien benutzen (einen für Imap, eine für sendmail, etc...) man muss nur den gewünschten mit "... -a xyz" angeben:
#saslpasswd2 -c -u example.com -a xyz testuser

pwcheck_method: sasldb == SASL benutzt seine eigene Datenbank
Ja - aber das ist alt. In http://postfix.state-of-mind.de/patrick.koetter/smtpauth/sasldb_configuration.html steht:
Important
Cyrus-SASL-2.x users!

This has changed in Cyrus-SASL-2.x! To use sasldb2 you must set the following in /usr/lib/sasl2/smtpd.conf:

pwcheck_method:auxprop

Frage2 und Frage3 immer noch unklar. Kennt sich einer damit aus?
 
Zuletzt bearbeitet:
1)
wenn ich es richtig verstanden habe spielt der Name keine Rolle.

Das hast du falsch verstanden. Der Name der Datei entspricht dem vom MTA vorgegebenen Applicationname. So erst weiß die sasl-Bibliothek, welche Konfiguration verwendet werden soll, da sie ja von mehreren Programmen benutzt werden kann.

Ich habe jetzt mal auf einem 8-STABLE in /usr/src nach "Sendmail" gesucht und siehe da:

Code:
(i = sasl_server_init(srvcallbacks, "Sendmail")) != SASL_OK)
./contrib/sendmail/src/main.c

Wenn du nun noch in der Definition für sasl_server_init() nachsiehst, wirst du erkennen, dass "Sendmail" der Applicationname ist:

http://linux.die.net/man/3/sasl_server_init
Code:
int sasl_server_init(const sasl_callback_t *callbacks,
     const char *appname);

Somit ist für mich eigentlich klar, dass die Datei Sendmail.conf heißen muss, ob nun zusätzlich noch smtpd.conf benötigt wird, weiß ich nicht.

Rob
 
Zuletzt bearbeitet:
Hallo,
und Danke - sorry das ich mich so spät erst melde, ich musste erst mal eMail empfangen können.
Somit ist für mich eigentlich klar, dass die Datei Sendmail.conf heißen muss
Ok - habe ich umgeändert smtpd.conf bezieht sich wohl auf eine postfix-Konfiguration.

Allerdings geht das Versenden mit Outlook immer noch nicht. Ich müsste die sasldb mal irgendwie testen können? Ich verwende jetzt nicht mehr den saslauthd daemon und habe ihn daher ausgeschaltet.

*Ergänzung: ich habe die Fehlermeldung in /var/log/authlog
sasldblistusers2: auxpropfunc error no mechanism available
finde aber bislang keine Erklärung ob es damit etwas zu tun hat.

*Ergänzung2: In dem tutorial nach dem ich vorgegangen bin heißt es
So in our HOWTO mail.example.com is the value that Postfix will pass as realm when it asks Cyrus-SASL to look for users in the sasldb.
So frage ich mich, was ist der "realm" für sendmail?
 
Zuletzt bearbeitet:
Zurück
Oben