2016-06-11 2 views
0

나는 sendmail 서버를 강화하고 사용자가 smtp 메일 서버에 대한 TLS 연결을 사용하여 로그인해야하는지 확인하려고 노력하고 있습니다. 내 인증서는 자체 서명되어 있습니다.우분투에서 sendmail AUTH 설정을 디버깅하는 중 16.10

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 

정식 문자열이

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

에 의해 생성 내가 사본을 사용하고 문자열이 있는지 확인하기 위해 붙여 넣기 한 (는 foobar은 서버의 이름입니다) 내가 말할 수있는 잘못 입력하지 않았습니다.

TLS 핸드 셰이크가 작동하고 auth 명령이 지원됩니다. 사용자 코드와 비밀번호가 정확합니다. 왜 작동하지 않는지 알아 내려고 노력하고 있습니다.

내 sendmail.mc

시도 연결이 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

잘못된 것 또는 어떻게 센드 메일에서 여분의 출력을 얻을 무엇에 대한 어떤 제안으로보고

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 

?

답변

0

내가 센드 메일 서버 이것은을 덤프

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

사용 다음 명령을

service sendmail stop 

을 수행하여 종료에 무슨 일이 일어나고 있는지 확인하려면 sasl2 을 설정 실패했다 보인다 전체 센드 메일 대화

내 경우에는 strace를 사용하여 어떤 sendmail 리소스가 액세스하고 있는지를 확인했습니다. sasl을 사용하는 것으로 보였습니다. 설치되지 않았습니다.

sasl2-bin 패키지를 설치하고 시스템을 부팅 할 때/etc/default/saslauthd를 편집하여 인증 방법을 섀도우로 변경 한 경우입니다. 이렇게하면 센드 메일은 내가 원하는 것을 기꺼이 수행하게된다.

관련 문제