2014-11-13 4 views
0

내가 이해하는 한 두 가지 모두 연결을 암호화합니다. 그러나 SSL/TLS는 메일 클라이언트가 채널을 처음부터 암호화하도록 강제 실행합니다. 이제는 내가 telnet mail.server 25이라고하고 ehlo 다음에 서버에서 메일 클라이언트가 사용할 수있는 인증 옵션으로 STARTTLS가 제공됩니다. STARTTLS를 선택하면 서버 (내 디지털 인증서 사용)에 대해 자신 (메일 클라이언트)을 인증 할 수 있습니까? 왜, 어떻게? 다음과 같이STARTTLS 및 SSL/TLS를 통한 인증

내가 뭐하는 거지하지만 클라이언트 인증 부분이 들어오는 않는 경우 이해가 안 :

telnet some.mail.server 25 
ehlo some.mail.server 
... 
250-STARTTLS 
... 
STARTTLS 
mail from: guy 
rcpt to: otherGuy 
data 
someting 
. 
quit 

내가 서버에 클라이언트 인증서를 보낼 수 없습니다 하는가? 실제로 인증서와 개인 키를 지정하는 -cert 및 -key 옵션을 제공하는 openssl s_client -starttls smtp을 사용하여이 작업을 시도했습니다.

실제로 SSL/TLS의 단점은 STARTTLS와 비교할 때 연결이 즉시 암호화되므로 클라이언트가 동일한 포트에서 인증서를 보낼 수있는 방법이 없다는 것입니다. 서버 만 인증서를 보낼 수 있습니다. 옳은? 내 머리 속에 많은 혼란이 ... 나를 위해 이것을 분명히하십시오.

+0

SSL/TLS는 대부분의 데이터가 바이너리로 된 복잡한 암호화 프로토콜입니다. SSL/TLS (또는 SMTP)에 존재하지 않는 몇 가지 "터미널"컨트롤과 텍스트를 처리하도록 설계된'telnet' 프로그램을 사용하여 수동으로 끝낼 수있는 방법은 없습니다. 's_client'가 하나의 옵션 인 프로그램이 필요합니다. 's_client'를'-starttls'없이 SMTPS 포트를 사용하여 SMTPS 서버에 연결할 수 있습니다 (예 : 연결시 즉시 SSL/TLS를 시작합니다). ... –

+0

... 어느 경우 든 (STARTTLS 또는 SMTPS) SSL/TLS 핸드 셰이크에는 * 및 * 클라이언트 인증서를 증명하는 것이 포함되지만 단계 6에 대해서는 일련의 단계로 포함됩니다. –

+0

확인. 그래서 텔넷을 사용할 수 없습니다. 그런 다음 TLS 또는 SSL (개별적으로) 사용 만 허용하는 메일 클라이언트는 어떻게됩니까? 이 경우에도 SMTP 인증 (예 : 클라이언트 인증서 전송)을 수행 할 수 있습니까? – gspt

답변

1

STARTTLS를 사용하는 직접 TLS 모드와 TLS 업그레이드 모두 클라이언트 인증서를 사용할 수 있습니다. 이 모드의 유일한 차이점은 STARTTLS를 사용하면 일반 연결로 시작하고 서버가 STARTTLS에 대한 지원을 발표하면 나중에 업그레이드한다는 것입니다. 중간에있는 사람이이 공지 사항을 벗겨 낼 수 (sslstrip과 유사) TLS 로의 업그레이드를 막을 수 있습니다. 실제로 실제로 사용됩니다 (https://www.eff.org/deeplinks/2014/11/starttls-downgrade-attacks 참조).

메일 전송을 담당하는 서버를 알리는 데 사용되는 MX 레코드는 호스트와 포트가없는 경우에만 알릴 수 있으며이 경우 기본 포트 25는 일반 SMTP 프로토콜과 함께 사용됩니다. 따라서 STARTTLS 명령을 사용하여 TLS 만 가져올 수 있습니다.

+0

MX 레코드는 [MTA간에 TLS/STARTTLS 사용이 상당히 제한적이지만] MTA간에 사용되는 경향이 있습니다 (http://serverfault.com/a/397136/47187) (클라이언트에서 MSA까지 더 유용합니다). 훌륭한 전자 메일 클라이언트는 스스로를 다운 그레이드해서는 안됩니다. "STARTTLS 사용"티켓을 사용하면이를 사용하려고 시도해야하며 사용할 수없는 경우 실패합니다. 이 문제는 [Thunderbird에 존재] (https://bugzilla.mozilla.org/show_bug.cgi?id=473080)이지만 고맙게도 고쳐졌습니다. – Bruno

+0

@ 브루노 : 2 살짜리 대답을 참조하십시오. 오늘 (Snowden 이후) STARTTLS는 MTA간에 더 많이 사용됩니다. [Facebook 통계] (https://m.facebook.com/notes/protect-the-graph/the-current-state-of-smtp-starttls) -deployment/1453015901605223 /) : "우리는 이메일을 수신 한 고유 MX 호스트 이름의 76 %가 STARTTLS ...를 지원합니다." –

+0

물론, 미안하지만, 그것은 권위있는 대답이 아니기 때문에 내 것이 (그리고 downvoted) ;-). 불행히도 FB에서 얻은 통계는 유감스럽게도 TLS 사용이 한 사용자에서 다른 사용자로 완전히 보장 될 수는 없으므로 특히 인증서 관리와 관련된 문제를 고려할 때 제한적입니다 (신뢰할 수없는 인증서가있는 MTA는 수신하지 못할 위험이 있습니다 이러한 전자 메일 중 일부는 이러한 서비스를 실행하는 경우 큰 문제입니다.MTA에 TLS 만 사용하고 다운 그레이드를 거부하고 MTA의 인증서를 신뢰하는 방법이있는 MTA 목록이 없다면 그렇게 유용하지 않습니다. – Bruno