호주 IT 취업

4. SMTP 통신과 TLS 암호화

ActYourValue 2025. 6. 4. 00:07
반응형

DNS를 통해 상대편 수신 메일 서버의 위치(IP)를 알아냈다면, 발신 메일 서버는 이제 수신 메일 서버와 직접 통신하여 메일을 전달합니다. 이때 사용되는 프로토콜이 **SMTP(Simple Mail Transfer Protocol)**입니다. 발신 서버는 수신 서버의 25번 포트(기본 SMTP 포트)로 TCP 연결을 열고, SMTP 핸드셰이크를 진행합니다. 일반적으로 수신 서버는 연결을 허용하면 응답으로 인사(EHLO/HELO)를 하고, 발신 서버는 보내는 사람(MAIL FROM), 받는 사람(RCPT TO), 데이터(DATA) 순으로 SMTP 명령을 보내 메일 내용을 전송합니다. 수신 서버가 모든 데이터를 **"."**으로 끝나는 규약에 따라 수신하면, "250 OK" 등의 응답으로 메일 수신이 완료되었음을 알려줍니다.

 

이 SMTP 통신은 기본적으로 텍스트 형태로 이루어지지만, 보안 강화를 위해 TLS 암호화가 널리 사용됩니다. 현대의 클라우드 이메일 서버들은 대개 STARTTLS(Opportunistic TLS)를 지원하여, SMTP 연결 시 먼저 암호화 통신을 협상합니다. 발신 서버가 EHLO 후 STARTTLS를 요청하고, 수신 서버가 지원하면 TLS로 암호화된 채널을 형성하여 메일 내용을 주고받습니다. 만약 수신 서버가 TLS를 지원하지 않거나, 지원하더라도 암호화 협상이 실패하면 어떻게 될까요? 대부분의 경우 **폴백(fallback)**으로 평문(unencrypted) SMTP 전송을 시도합니다. 즉, 가능한 한 암호화를 사용하되, 불가능하면 일단 메일 배달을 위해 암호화 없이도 보낸다는 것입니다. 이는 Opportunistic TLS의 동작 방식이며, Gmail이나 Office 365를 비롯한 주요 메일 서비스들도 상대 서버가 TLS를 지원하지 않으면 경고를 남기면서 평문으로 메일을 배달합니다. 다만, 일부 보안이 중요한 기관이나 설정에서는 TLS 강제 옵션을 사용하기도 하는데, 이 경우 상대가 TLS를 지원하지 않으면 아예 메일 전송을 거부합니다. (예: 금융권 등에서는 TLS 미지원 서버와 통신하지 않도록 설정하기도 합니다.)

 

메일이 TLS를 통해 암호화되어 전달되면, 전송 경로상의 도청 위험이 크게 줄어듭니다. 오늘날 Google, Microsoft 등은 자체 통계로 “전체 이메일 트래픽의 90% 이상이 TLS로 암호화되어 전송된다”고 밝힐 만큼, 대부분의 메일 서버들이 STARTTLS를 지원하고 있습니다.

 

5. 이메일 인증 기술: SPF, DKIM, DMARC

반응형