암호화 tls

메일 전송 에이전트-엄격한 전송 보안(MTA-STS)

이름에서 알 수 있듯이 MTA-STS는 두 SMTP 메일 서버 간에 메시지를 암호화하여 전송할 수 있는 프로토콜입니다. MTA-STS는 보내는 서버에 TLS 암호화 연결을 통해서만 이메일을 전송하도록 지정하며, STARTTLS 명령을 통해 보안 연결이 설정되지 않은 경우에는 전혀 전달되지 않도록 합니다. 전송 중인 이메일의 보안을 강화함으로써 MTA-STS는 SMTP 다운그레이드 공격 및 DNS 스푸핑 공격과 같은 중간자 공격(MITM)을 완화하는 데 도움이 됩니다.

MTA-STS는 전송 중인 메시지의 암호화를 어떻게 보장하나요?

이메일 흐름 중에 메시지가 어떻게 암호화되는지 이해하기 위해 간단한 예를 들어 보겠습니다. MTA가 다음 주소로 이메일을 보내는 경우 [email protected]로 이메일을 보내는 경우 MTA는 DNS 쿼리를 수행하여 이메일을 보내야 하는 MTA를 찾습니다. DNS 요청은 powerdmarc.com의 MX 레코드를 가져오기 위해 전송됩니다. 이후 발신 MTA는 DNS 쿼리 결과에서 찾은 수신 MTA에 연결하여 이 수신 서버가 TLS 암호화를 지원하는지 여부를 조회합니다. 암호화를 지원하는 경우 이메일은 암호화된 연결을 통해 전송되지만, 지원하지 않는 경우 발신 MTA는 보안 연결 협상에 실패하고 일반 텍스트로 이메일을 전송합니다.

암호화되지 않은 경로를 통해 이메일을 전송하면 MITM 및 SMTP 다운그레이드와 같은 만연한 모니터링 공격에 노출될 수 있습니다. 그 방법을 알아보세요:

MITM 공격의 구조 분석

기본적으로 MITM 공격은 공격자가 TLS 암호화 없이 보안 연결을 보안되지 않은 연결로 롤백하기 위해 STARTTLS 명령을 대체하거나 삭제할 때 발생합니다. 이를 다운그레이드 공격이라고 합니다. 다운그레이드 공격이 성공적으로 수행되면 공격자는 아무런 방해 없이 이메일 콘텐츠에 액세스하여 볼 수 있습니다.

또한 MITM 공격자는 DNS 쿼리 응답의 MX 레코드를 자신이 액세스하고 제어할 수 있는 메일 서버로 대체할 수 있습니다. 이 경우 메일 전송 에이전트는 이메일을 공격자의 서버로 전달하여 공격자가 이메일 콘텐츠에 액세스하고 변조할 수 있도록 합니다. 이후 이메일은 탐지되지 않고 의도한 수신자의 서버로 전달될 수 있습니다. 이를 DNS 스푸핑 공격이라고 합니다.

SMTP 다운그레이드 공격

MTA-STS를 통한 암호화 보장

Gmail이나 Microsoft와 같은 이메일 서비스 제공업체의 SMTP 서버를 사용하여 이메일을 보낼 때마다 이메일은 보내는 서버에서 받는 서버로 SMTP(Simple Mail Transfer Protocol)를 통해 전송됩니다. 그러나 SMTP는 기회적 암호화를 허용하므로 이메일 콘텐츠의 조작이나 도청을 방지하기 위해 SMTP 서버 간의 통신이 암호화될 수도 있고 암호화되지 않을 수도 있습니다. MTA-STS는 HTTPS를 사용하여 게시되므로 MITM 공격으로부터 보호됩니다.

MTA-STS는 이메일 전송을 보호합니다: 

  • TLS 암호화 적용

  • HTTPS 보안 서버에서 MX 레코드 제공

호스팅된 MTA STS 서비스
호스팅된 MTA STS

MTA-STS 프로토콜은 메일 서버가 특정 하위 도메인에서 정책 파일을 가져올 수 있도록 지정하는 DNS 레코드를 통해 배포됩니다. 이 정책 파일은 HTTPS를 통해 가져오고 수신자의 메일 서버 이름 목록과 함께 인증서로 인증됩니다. 이 프로토콜은 다른 SMTP 서버와의 통신이 암호화되어야 하며 인증서의 도메인 이름이 정책 파일의 도메인과 일치해야 함을 SMTP 서버에 지정합니다. MTA-STS를 적용하면 암호화된 채널을 협상할 수 없는 경우 메시지가 전혀 전달되지 않습니다.

MTA-STS 정책 파일

MTA-STS 정책 파일은 기본적으로 다음과 같은 간단한 텍스트 파일입니다:

버전: STSv1
모드: 시행
mx: mx1.powerdmarc.com
mx: mx2.powerdmarc.com
mx: mx3.powerdmarc.com
max_age: 604800

참고: 버전 필드는 텍스트 파일의 맨 앞에 포함되어야 하며 다른 필드는 순서에 상관없이 통합할 수 있습니다.

정책 파일은 위와 같이 텍스트 파일에서 각 값이 별도의 줄에 인코딩된 키-값 페어링을 사용합니다. 이 파일의 크기는 최대 64KB까지 확장할 수 있습니다. 정책 파일의 이름은 다음과 같아야 합니다. mta-sts.txt여야 합니다. 정책 파일은 도메인에 메일 서버를 추가하거나 변경할 때마다 업데이트해야 합니다.

참고: MTA-STS를 적용 모드로 설정하면 일부 이메일이 전달되지 않을 수 있습니다. 따라서 정책 적용 모드로 전환하기 전에 정책 모드를 테스트 모드로 설정하고 최대 연령을 낮게 설정하여 모든 것이 올바르게 작동하는지 확인하는 것이 좋습니다. 이메일이 일반 텍스트로 전송될 경우 알림을 받으려면 테스트 모드에서 정책에 대한 TLS-RPT도 설정하는 것이 좋습니다. 

MTA-STS-정책

MTA-STS 정책 파일 게시

MTA-STS 정책 파일을 게시하려면 파일을 호스팅하는 웹 서버가 있어야 합니다:

  • HTTPS/SSL 지원
  • 서버 인증서는 타사 루트 인증 기관에서 서명하고 유효성을 검사해야 합니다.

도메인에 대한 정책 파일을 게시하려면 도메인에 하위 도메인 "mta-sts"를 추가하여 공개 웹 서버를 설정해야 합니다. 생성된 정책 파일은 하위 도메인에 생성된 .well-known 디렉터리에 게시해야 합니다. 업로드한 MTA-STS 정책 파일의 URL은 다음과 같이 표시될 수 있습니다:

https://mta-sts.powerdmarc.com/.well-known/mta-sts.txt

호스팅된 MTA STS

MTA-STS DNS 레코드

도메인이 MTA-STS 프로토콜을 지원함을 지정하고 정책이 변경될 경우 MTA의 캐시된 값을 새로 고치도록 신호를 보내기 위해 도메인의 DNS에 MTA-STS용 TXT DNS 레코드가 게시됩니다. MTA-STS DNS 레코드는 하위 도메인의 _mta-sts 에 배치됩니다: mta-sts.powerdmarc.com. TXT 레코드는 v=STSv1로 시작해야 하며, 레코드에 포함된 "id" 값은 최대 32개의 영숫자를 포함할 수 있으며, 다음과 같은 방식으로 포함됩니다:

 v=STSv1; id=30271001S00T000;

참고: 정책을 변경할 때마다 TXT 레코드 ID 값을 새 값으로 업데이트해야 합니다. 

MTA-STS DNS 레코드가 사용됩니다: 

  • 도메인에 대한 MTA-STS 지원 지정
  • 정책이 변경된 경우 HTTPS를 통해 정책을 다시 가져오도록 MTA에 신호합니다.

MTA-STS TXT DNS 레코드를 사용하면 도메인에 대한 이메일이 수신될 때마다 DNS 쿼리를 수행하면서 정책을 변경하지 않는 한 정책을 다시 가져올 필요 없이 정책 파일을 MTA에 더 오랜 기간 동안 저장할 수 있습니다.

도메인에 대한 MTA-STS 구성

도메인에 MTA-STS를 사용하려면 다음을 수행해야 합니다:

  • 다음 주소에 씨네임 유형 DNS 레코드를 추가합니다. mta-sts.example.com에 이름 유형 DNS 레코드를 추가하여 MTA-STS 정책 파일을 호스팅하는 HTTPS 사용 웹 서버로 향하게 합니다.

  • txt 또는 cname 유형의 DNS 레코드를 다음 위치에 추가합니다. _mta-sts.example.com 에 도메인에 대한 MTA-STS 지원을 지정하는 DNS 레코드를 추가합니다.

  • 도메인에 유효한 인증서가 있는 HTTPS 사용 웹 서버를 설정합니다.

  • 도메인에 대한 SMTP TLS 보고를 사용 설정하여 TLS 암호화 실패로 인한 이메일 전송 문제를 감지하세요.

SPF 레코드 조회 아이콘 파워드마크

MTA-STS 수동 배포 시 직면한 과제

MTA-STS를 사용하려면 유효한 인증서, DNS 레코드, 지속적인 유지 관리가 가능한 HTTPS 지원 웹 서버가 필요하므로 배포 프로세스가 길고 시간이 오래 걸리며 복잡합니다. 그렇기 때문에 PowerDMARC에서는 도메인의 DNS에 CNAME 레코드 3개를 게시하는 것만으로 대부분의 작업을 백그라운드에서 관리할 수 있도록 지원합니다.

PowerDMARC의 호스팅형 MTA-STS 서비스

PowerDMARC는 이 모든 것을 백그라운드에서 처리하여 사용자의 삶을 훨씬 더 쉽게 만들어줍니다. 설정을 도와드리고 나면 다시는 고민할 필요가 없습니다.

  • 클릭 몇 번으로 씨네임 레코드를 게시할 수 있도록 도와드립니다.

  • 당사는 웹 서버를 유지 관리하고 인증서를 호스팅할 책임이 있습니다.

  • 호스팅된 MTA-STS 서비스를 사용하면 몇 개의 DNS 레코드를 게시하는 것만으로 배포가 완료됩니다.

  • DNS를 수동으로 변경할 필요 없이 PowerDMARC 대시보드를 통해 MTA-STS 정책을 즉각적이고 간편하게 변경할 수 있습니다.

  • PowerDMARC의 호스팅된 MTA-STS 서비스는 RFC를 준수하며 최신 TLS 표준을 지원합니다.

  • 인증서 및 MTA-STS 정책 파일 생성부터 정책 시행에 이르기까지 프로토콜 채택과 관련된 엄청난 복잡성을 피할 수 있도록 도와드립니다.

SMTP TLS 보고(TLS-RPT)

통신하는 두 SMTP 서버 간의 연결을 더욱 안전하게 하고 TLS를 통해 암호화하기 위해, 두 서버 중 하나가 TLS를 지원하지 않는 경우 암호화를 적용하고 이메일이 일반 텍스트로 전송되는 것을 방지하기 위해 MTA-STS가 도입되었습니다. 하지만 여전히 해결되지 않은 한 가지 문제가 있습니다: 원격 서버에서 TLS 암호화 실패로 인해 이메일 전송에 문제가 발생하는 경우 도메인 소유자에게 이를 어떻게 알릴 수 있을까요? 바로 이 부분에서 TLS-RPT가 중요한 역할을 하며, 만료된 TLS 인증서, 이메일 서버의 잘못된 구성 또는 TLS 암호화 지원 부족으로 인한 보안 연결 협상 실패 등 서버 통신의 문제를 모니터링하고 문제를 해결할 수 있도록 진단 보고서를 제공합니다.

TLS 보고서는 JSON 파일 형식의 보고 메커니즘을 통해 이메일 전송 문제를 감지하고 대응하는 데 도움을 줍니다. 이러한 JSON 파일은 복잡하고 비전문가가 해독하기 어려울 수 있습니다.

PowerDMARC는 사용자의 편의를 위해 차트와 표가 포함된 간단하고 포괄적이며 가독성 높은 문서 형태로 JSON 파일을 단순화합니다. 도메인에 대한 진단 보고서는 결과별 및 발신 소스별의 두 가지 형식으로 PowerDMARC 대시보드에 표시됩니다.

파워드마크 TLS RPT
JSON 차트

도메인에 TLS-RPT 사용 설정하기

SMTP TLS 보고를 활성화하는 과정은 매우 간단합니다. 이 기능을 사용하려면 올바른 위치에 TXT DNS 레코드를 추가하고 접두사 앞에 _smtp._tls. 를 추가하기만 하면 됩니다. 하지만 PowerDMARC를 사용하면 DNS를 변경할 필요 없이 PowerDMARC UI에서 직접 설정할 수 있습니다!

TLS-RPT를 사용하도록 설정하는 즉시 묵시적 메일 전송 에이전트가 통신 서버 간의 이메일 전송 문제에 대한 진단 보고서를 지정된 이메일 도메인으로 보내기 시작합니다. 이 보고서는 일반적으로 하루에 한 번 전송되며, 발신자가 관찰한 MTA-STS 정책, 트래픽 통계, 이메일 전송 실패 또는 문제에 대한 정보를 포함하고 전달합니다.

자주 묻는 질문

PowerDMARC의 제어판을 사용하면 도메인의 DNS에 CNAME 레코드 3개만 게시하여 도메인에 대한 MTA-STS 및 TLS-RPT를 자동으로 설정할 수 있습니다. MTA-STS 정책 파일 및 인증서 호스팅부터 웹 서버 유지 관리까지, DNS를 변경할 필요 없이 모든 것을 백그라운드에서 처리합니다. 몇 번의 클릭만으로 PowerDMARC를 사용하여 MTA-STS를 배포할 수 있습니다.

단일 창을 통해 모든 도메인에 대해 MTA-STS를 배포하고 관리할 수 있습니다. 이러한 도메인 중 STARTTLS를 지원하지 않는 수신 메일 서버를 사용하는 도메인이 있는 경우 해당 도메인에 대해 TLS-RPT를 사용하도록 설정한 경우 TLS 보고서에 해당 도메인이 반영됩니다.

MTA-STS 정책 모드는 항상 다음과 같이 설정하는 것이 좋습니다. 테스트 로 설정하여 배포 초기 단계에서 활동을 모니터링하고 이메일 에코시스템에 대한 가시성을 확보한 후 적용과 같은 보다 적극적인 정책으로 전환하는 것이 좋습니다. 이렇게 하면 이메일이 TLS 암호화 연결을 통해 전송되지 않더라도 일반 텍스트로 전송됩니다. 단, 이러한 경우 알림을 받으려면 TLS-RPT를 사용하도록 설정해야 합니다.

TLS-RPT는 보안 연결이 설정되지 않아 이메일이 전달되지 않은 경우 알림을 받을 수 있는 광범위한 보고 메커니즘입니다. 이를 통해 이메일 전송 또는 보안되지 않은 연결을 통해 전달된 이메일의 문제를 감지하여 문제를 즉시 완화하고 해결할 수 있습니다.

MTA-STS는 이메일이 TLS 암호화 연결을 통해 전송되도록 보장하지만, 보안 연결이 협상되지 않을 경우 이메일이 전혀 전달되지 않을 수 있다는 점에 유의해야 합니다. 그러나 이는 이메일이 암호화되지 않은 경로를 통해 전달되지 않도록 하기 때문에 반드시 필요합니다. 이러한 문제를 방지하려면 테스트 모드에서 MTA-STS 정책을 설정하고 도메인에 대해 처음에 TLS-RPT를 사용하도록 설정한 후 MTA-STS 적용 모드로 진행하는 것이 좋습니다. 

DNS를 변경할 필요 없이 원하는 정책 모드를 선택하고 변경 사항을 저장하여 PowerMTA-STS 대시보드에서 MTA-STS 모드를 쉽게 변경할 수 있습니다.

정책 모드를 없음으로 설정하여 도메인이 프로토콜을 지원하지 않는다고 MTA에 지정하거나 MTA-STS DNS TXT 레코드를 삭제하여 도메인에 대한 MTA-STS를 해제할 수 있습니다. 

MTA-STS 정책 파일의 MX 레코드에는 도메인에서 사용 중인 모든 수신 메일 서버에 대한 항목이 포함되어야 합니다.

지금 데모 예약하기
안전한 이메일 파워마크