도메인 기반 메시지 인증
올해 초, 인터넷 보안 센터(CIS)의 ‘ ’ 20 가지 핵심 보안 통제 사항 (새 탭에서 열림)을 준수하기 위한 전사적 노력의 일환으로, Tanium은 회사 이메일에 대해 DMARC(Domain Based Message Authentication, Reporting, and Conformance)를 활용하여 보다 엄격한 구성 설정을 적용했습니다. 예상대로, 스팸 메일과 피싱 메일의 수가 크게 줄었습니다.. 하지만 배포 과정에서 예상치 못한 몇 가지 어려움도 겪었습니다. DMARC를 설정하지 않기로 선택한 다른 기업들이 많다는 점을 감안하여, DMARC에 대한 개요와 도입 과정에서 흔히 겪는 어려움, 그리고 그 과정에서 우리가 얻은 몇 가지 유용한 제안을 공유함으로써 도움이 될 수 있을 것이라고 생각했습니다.
DMARC는 Sender Policy Framework(SPF)와 DomainKeys Identified Mail(DKIM)이라는 두 가지 기술을 사용하여, 이메일이 스푸핑된 것인지(즉, 귀사의 조직에서 발송된 것처럼 위장된 것), 아니면 귀사에서 정식으로 발송된 것인지 판단합니다. SPF와 DKIM은 모두 어디서나 참조할 수 있는 공개 DNS 레코드로 게시됩니다. 이러한 제어 기능을 통해 수신 SMTP 서버는 수신되는 헤더를 검토하고, 발신자 및 무결성 키를 귀사에서 공개한 정보와 비교한 후, 메시지를 전달할지 아니면 격리하는 등의 조치를 취할지 여부를 결정할 수 있습니다. 그런 다음 이 정보는 특정 이메일 주소로 전송되며, 해당 이메일에서 데이터를 분석하고 분류하여 이상 징후나 문제를 파악할 수 있습니다.
SPF는 단순히 기업이 승인된 SMTP 발신자로 지정한 완전 지정 도메인 이름(FQDN) 또는 IP 주소의 목록입니다. 수신 SMTP 서버는 수신 메시지의 헤더를 분석하여 발신 SMTP 서버를 파악할 수 있습니다. DKIM은 비대칭 암호화를 기반으로 하는 훨씬 더 세밀한 제어 방식입니다. Tanium은 DNS를 통해 공개 키를 게시하고, 이에 대응하는 비공개 키는 안전하게 보관합니다. 회사를 대신하여 이메일을 발송하고자 하는 제3자는 공개/개인 키 쌍을 생성해야 하며, 해당 공개 키를 DNS에도 포함시켜야 합니다.
이메일이 도착하면 수신 서버는 메시지 헤더에서 첨부된 DKIM 키를 추출하여 발신 서버에 쿼리를 보내 그 진위 여부를 확인합니다. 제공된 DKIM 키가 발신 서버의 개인 키와 일치하지 않으면, 해당 메시지는 위조된 것입니다. 일치하는 항목이 있으면, 원격 서버는 해당 이메일이 발신자로부터 발송된 것임을 확인하고 안전하게 전달할 수 있습니다.
구현상의 어려움
SPF와 DKIM 모두 구현하기는 비교적 간단하지만, 다른 기관들이 이에 동참하여 DNS 레코드를 올바르게 설정해야 합니다. 사용자를 대신해 이메일을 발송할 타사 소프트웨어를 고려할 때는 해당 공급업체가 SPF 및 DKIM을 완벽하게 지원하는지 여부를 검토해야 합니다. 공급업체가 SPF 및 DKIM을 제대로 구현하지 못할 경우, 이를 완전히 적용하기가 어렵거나 불가능해질 수 있습니다.
그렇긴 하지만, 다른 기관들이 SPF와 DKIM을 올바르게 설정하더라도 다음과 같은 추가적인 문제점들을 염두에 두어야 합니다:
SPF 확장성
SPF는 몇 가지 특정 레코드 유형(A, MX, PTR, EXISTS, INCLUDE 및 REDIRECT 레코드 포함)으로 제한된 DNS 쿼리 10회만 수행할 수 있습니다. 이 제한은 무한한 레코드 검색을 방지하기 위해 존재하지만, 동시에 SPF의 확장성도 제한합니다. 리디렉션이나 여러 번의 조회 과정이 필요한 기타 DNS 메커니즘은 할당된 한도를 금방 소진시킬 수 있으며, 문제 해결 과정에서 혼란을 야기할 수 있습니다. 이러한 이유로, SPF를 구현할 때 DNS 레코드가 어떻게 사용되는지 신중하게 고려하는 것이 매우 중요합니다. IP 주소 및 주소 범위는 이 제한 사항에 포함되지 않습니다. 다만, FQDN을 사용하는 것에 비해 변화하는 IP 주소를 지속적으로 추적하는 데는 많은 리소스가 소요될 수 있습니다.
다음 서브도메인은 포함되지 않습니다:
SPF는 레코드에 명시된 정확한 도메인 이름만 평가합니다. 서브도메인( , )은 포함되지만,, 은 포함되지 않습니다. 예를 들어, @company.com에 대한 SPF 레코드 IP 주소를으로 지정했는데, 해당 IP에서 @_subdomain.company.com으로 이메일을 발송할 경우, SPF 검사가 실패하게 됩니다. 각 서브도메인에는 고유한 SPF 레코드가 있어야 합니다.
다른 도메인의 DKIM 키 사용
DKIM 키를 사용하면 다른 기관이 귀하의 도메인에 대해 완전한 인증을 받을 수 있으며(따라서 귀하를 대신하여 인증된 이메일을 보낼 수 있게 됩니다). 적절하게 구성된 제3자는 사용자에게 선택자 키를 제공할 수 있습니다(이 키는 본질적으로 loaning 해당 제3자가 개인 키를 계속 관리하는 상태에서 공개 키를 제공하는 것과 같습니다). 비록 개인 키를 소유하고 있지 않더라도, DNS에서 선택자 키를 올바르게 구성하면 복호화 요청을 제3자에게 전달하여 유효성 검증을 완료할 수 있습니다.
조직은 다음 옵션을 사용하여 SPF 또는 DKIM을 통한 오류에 대해 어느 정도까지 엄격하게 제어할지 지정할 수 있습니다:
-없음: 메시지는 검토를 위해 요약되어 기록되지만, 문제가 있는 메시지는 여전히 전달될 수 있습니다.
-격리: 각 메일 제공업체가 이 조치의 구체적인 방식을 결정하지만, 대부분의 경우 메시지를 사용자의 스팸 폴더로 직접 이동시키는 것을 의미합니다.
-거부: SPF 또는 DKIM을 통해 인증되지 않은 메시지는 즉시 거부됩니다.
유념할 점: DMARC 출력 결과는 읽기 쉽지 않습니다. 결과는 XML 파일 형식으로 제공되며, 메시지를 수신하는 모든 SMTP 서버에서 DMARC 정책에 지정된 이메일 주소로 전송됩니다. 이메일 트래픽 양에 따라 하루에 수천 건의 메시지가 전송될 수 있으며, 이로 인해 잠재적인 문제를 파악하고 해결하는 데 어려움이 발생할 수 있습니다.
사용자의 환경을 제대로 파악하기 위해, DMARC/SPF/DKIM 레코드 자체의 문제를 식별할 뿐만 아니라, SMTP 서버가 메시지가 정책을 위반했다고 판단했을 때 반환되는 DMARC XML 보고서에 숨겨진 문제를 파악하는 데 도움을 주는 여러 가지 도구가 있습니다. Tanium은 , , Dmarcian (새 탭에서 열림),, , 등의 서비스를 활용하여 설정을 분석하고 결과를 집계합니다.
완벽하지는 않지만, DMARC를 도입하면 조직이 자사의 도메인 이름을 사용하여 이메일을 보내는 주체를 파악하고 통제하는 데 큰 도움이 됩니다. 이러한 도구를 효과적으로 활용함으로써, 조직은 조직으로 유입되는 악성 이메일의 양을 대폭 줄이고, 악의적인 사용자가 조직의 도메인을 사칭하는 것을 방지할 수 있습니다. DMARC는 조직이 수신 SMTP 서버가 “@yourdomain.com”을 발신원으로 하는 합법적 및 불법적 이메일을 어떻게 검증하고 이에 대해 조치를 취할지 제어할 수 있도록 해줍니다.
Tanium은 적절한 DMARC 구현을 구성함으로써 3 개에 달하는 다양한 CIS 영역에서 보완적인 제어 범위를 확보할 수 있었습니다:
- CSC 7: 이메일 및 웹 브라우저 보안
- CSC 8: 악성코드 방어
- CSC 9: 네트워크 포트, 프로토콜 및 서비스의 제한 및 제어
결론
이메일 서비스를 제공하는 도메인을 관리하고 있다면, DMARC를 도입하는 것을 적극 고려해야 합니다. 이는 개별 기업 하나하나에게 이익이 될 뿐만 아니라, 위조될 수 있는 도메인의 수가 사실상 점점 줄어들게 됨에 따라 이메일 생태계 전체에도 도움이 될 것입니다. 도메인 스푸핑 발생 가능성을 낮추면 사용자가 악용당할 위험이 줄어들 뿐만 아니라, 사고 대응이나 기타 법적 책임 문제를 처리하는 데 드는 비용도 절감할 수 있습니다. 이는 CIS Top 20 통제 사항과 같은 선제적 보안 조치의 전면적인 이행에 있어 작지만 중요한 부분이며, ISO 27002와 같은 표준 준수 프레임워크의 인증 획득 요건을 충족하는 데 도움이 됩니다. 이는 규모에 상관없이 모든 기업의 건강과 안녕을 위해 당연한 일입니다.
저자 소개: 에릭 피셔(Eric Fisher)는 노스캐롤라이나주 롤리에 위치한 타늄(Tanium)의 정보 보안 분석가이자 기업 운영 설계 전문가입니다. 에릭은 정보 보안 및 포렌식 분야에서 석사 학위를 취득했으며, 과거 보안 컨설턴트로 근무하며 포춘 500 대 은행, 소매업체 및 기술 기업 여러 곳에서 SOC(보안 운영 센터)와 사고 대응 프로그램을 구축한 경험이 있습니다. 또한 그는 펜실베이니아 주립대 응용연구실(Penn State Applied Research Laboratory)과 레이시온(Raytheon)의 직원으로서 여러 정부 기관 및 군을 위해 대규모 컴퓨팅 아키텍처와 네트워크를 설계하고 구축한 바 있습니다.
