2016-06-11 15 views
0

Ich habe versucht, einen sendmail-Server zu verhärten, um sicherzustellen, dass Benutzer über TLS-Verbindung zu einem SMTP-Mail-Server anmelden muss. Meine Zertifikate sind selbstsigniert.debugging sendmail AUTH-Einstellungen auf ubuntu 16.10

kann ich sagen (wo foobar der Name des Servers ist)

ELHO foo 
250-foobar Hello public [xx.xx.xx.xx], pleased to meet you 
250-ENHANCEDSTATUSCODES 
250-PIPELINING 
250-EXPN 
250-VERB 
250-8BITMIME 
250-SIZE 
250-DSN 
250-ETRN 
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN 
250-DELIVERBY 
250 HELP 
AUTH PLAIN AGRwNDJAc2VydmVyLmRwMjY0Mi5mb3JjZTkuY28udWsAdmFkZXI0Mg==^M 
535 5.7.0 authentication failed 

Die Auth Zeichenfolge von

perl -MMIME::Base64 -e 'print encode_base64("\000use\@foobar\000password")enter code here 

ich eine Kopie verwendet haben, erzeugt wird, und um sicherzustellen, fügen Sie, dass die Zeichenfolge nicht vertippt.

Der TLS-Handshake funktioniert, der Auth-Befehl wird unterstützt. Der Benutzercode und das Passwort sind korrekt. Ich versuche herauszufinden, warum es nicht funktioniert.

Mein sendmail.mc

define(`confAUTH_OPTIONS',`A p')dnl 
define(`confAUTH_MECHANISMS', `EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl 
define(`CERT_DIR', `MAIL_SETTINGS_DIR`'certs')dnl 
define(`confCACERT_PATH', `CERT_DIR')dnl 
define(`confCACERT', `CERT_DIR/cacert.pem')dnl 
define(`confSERVER_CERT', `CERT_DIR/sendmail-cert.pem')dnl 
define(`confSERVER_KEY', `CERT_DIR/sendmail-key.pem')dnl 
define(`confCLIENT_CERT', `CERT_DIR/sendmail-cert.pem')dnl 
define(`confCLIENT_KEY', `CERT_DIR/sendmail-key.pem')dnl 

Jeder Versuch, Verbindung als berichtet Jun 11 18:32:23 server sm-mta[30179]: STARTTLS=server, relay=public [84.92.92.26], version=TLSv1.2, verify=NOT, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256

Irgendwelche Vorschläge auf, was nicht in Ordnung ist oder wie ich bekommen keine zusätzliche Ausgabe von Sendmail?

Antwort

0

Es scheint, ich sasl2 gründen nicht gelungen war Um herauszufinden, was beim Herunterfahren, indem Sie

service sendmail stop 

Die Verwendung des folgenden Befehls

/usr/sbin/sendmail -d95.99 -bD -X /tmp/test.log 

der Sendmail-Server wird diese die auskippen wird gesamte sendmail-Konversation

In meinem Fall habe ich strace verwendet, um herauszufinden, welche sendmail-Ressourcen Zugriff hatten, es schien so zu sein, welches nicht installiert wurde.

Es war ein Fall des Installierens des sasl2-bin-Pakets und des Editierens von/etc/default/saslauthd, um beim Systemstart zu starten und die Authentifizierungsmethode zum Schatten zu ändern. Das getan, sendmail ist glücklich zu tun, was ich will.