SMTP Auth: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „=SMTP Auth (SMTP-Authentifizierung)= ==Wo== * FW4 * TODO: FW2 ==Besonderheiten== * Da wir Login und Plain als Authentifizierungs-Verfahren verwenden, und bei be...“ |
Reini (Diskussion | Beiträge) K Schützte „SMTP Auth“ [edit=autoconfirmed:move=autoconfirmed] |
(kein Unterschied)
| |
Aktuelle Version vom 23. August 2009, 13:02 Uhr
SMTP Auth (SMTP-Authentifizierung)
Wo
- FW4
- TODO: FW2
Besonderheiten
- Da wir Login und Plain als Authentifizierungs-Verfahren verwenden, und bei beiden Username/Passwort unverschlüsselt übertragen werden, sollte smtps verwendet werden.
Konfiguration
Sendmail wird Sasl2 via saslauthd zum Authentifizieren benutzen. Darum konfigurieren wir als ersten Schritt
Saslauthd
- /etc/default/saslauthd
START=yes
MECHANISMS="ldap"
- /etc/saslauthd.conf
ldap_servers: ldap://192.168.10.8/ ldap://192.168.10.15/ ldap_search_base: ou=users,dc=creative,dc=co,dc=at
- starten und testen
/etc/init.d/saslauthd start
testsaslauthd -u username -p password
=> soll 0: OK "Success."liefern
SASL
- /usr/lib/sasl2/Sendmail.conf
pwcheck_method: saslauthd allowanonymouslogin: 0 allowplaintext: 1 mech_list: LOGIN PLAIN
Sendmail
SMTPs Daemon aktivieren
in sendmail.mc:
DAEMON_OPTIONS(`Name=IPv4, Family=inet') DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O') DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
relevant ist die dritte Zeile, die ersten beiden werden nur benötigt falls sie noch nicht vorhanden sind.
sendmail.cf generieren, sendmail restarten und mit netstat -ln | grep 465 prüfen ob smtps aktiviert ist.
(netstat -ln | grep 25 sollte natürlich nachwievor zumindest eine Zeile zurückgeben)
- Modifier (M=?)
a Auth erzwingen A Auth deaktivieren s SSL/TLS aktivieren
Variante, wie auf fw4 eingesetzt (via SSL nur Verbindungen mit Auth, ohne SSL Auth deaktivieren um Auth-Attacken vorzubeugen):
DAEMON_OPTIONS(`Name=IPv4, Family=inet, M=A') DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O') DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=sa')dnl
Zertifikate
Da wir ab jetzt TLS bzw. SSL verwenden, brauchen wir auch Zertifikate. Unter Debian ist folgenden Zeile in der sendmail.mc ausreichend:
include(`/etc/mail/tls/starttls.m4')dnl
Die Zertifikate müssen sich dann auch unter /etc/mail/tls befinden, wahrscheinlich tun sie das bereits ;-)
Getestet kann das damit werden:
openssl s_client -connect localhost:465
Auth
in sendmail.mc:
dnl ### smtp auth ### dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
IPTables
eingehende Verbindungen auf Port 465 zulassen:
iptables -A INPUT .. -p tcp --dport ssmtp -j ACCEPT
Testen
Username und Passwort base64 encoden:
perl -MMIME::Base64 -e 'print encode_base64("\000username\000pass")'
$ AHJ3ZQBqYmFXMGsh
openssl s_client -crlf -connect localhost:465
SMTP Chat:
.. AUTH PLAIN AHJ3ZQBqYmFXMGsh 235 2.0.0 OK Authenticated