IETF는 2022년 3월 22일 RFC 9210 "DNS Transport over TCP - Operational Requirements"를 모범 운영 사례(Best Current Practice, BCP) 235로 발표했습니다. 이 문서는 인터넷에서 DNS 메시지를 TCP로 주고받을 수 있도록 허용하는 것을 운영상의 요구 사항으로 정합니다. 구현 요구 사항을 다룬 RFC 7766과 같은 방향의 내용을 운영자 쪽에도 요구하는 문서로, RFC 1123과 RFC 1536을 갱신(update)합니다.
무엇이 발표되었나
RFC 9210은 J. Kristoff와 D. Wessels가 썼으며, IETF 커뮤니티의 합의를 거쳐 IESG 승인을 받았습니다. 주요 내용은 다음과 같습니다.
- TCP 지원은 필수: RFC 1123 6.1.3.2절을 갱신해, 모든 DNS 리졸버(resolver)와 재귀 서버(recursive server)는 TCP 질의와 UDP 질의를 모두 지원하고 처리해야 한다(MUST)고 명확히 했습니다. 예전 RFC 1123에는 UDP는 MUST, TCP는 SHOULD로 적혀 있었습니다.
- "TCP는 영역 전송용"이라는 오해 바로잡기: RFC 1536을 갱신해 TCP가 영역 전송(zone transfer)에만 쓰인다는 잘못된 인식을 걷어냈습니다.
- 암호화 전송도 포함: 여기서 말하는 TCP 사용에는 암호화되지 않은 TCP 위의 DNS와 TLS 세션으로 암호화한 DNS가 모두 들어갑니다.
- 지키지 않았을 때의 결과: 이 모범 사례를 따르지 않으면 어떤 결과가 생기고 운영상 어떤 문제가 일어날 수 있는지도 함께 다룹니다.
문서에 따르면 대부분의 DNS 트랜잭션은 UDP로 오가지만, 일부 운영자는 DNS over TCP 트래픽 전체를 불필요하거나 원치 않는 트래픽으로 여겨 왔습니다. TCP를 막으면 여러 가지 통신 장애가 생기고 원인을 찾기도 어려워지는 경우가 많습니다. 문서는 원래 DNS 규격에서 UDP 메시지 크기 상한이 512바이트였다는 점, 그리고 동적 업데이트(RFC 2136)와 DNSSEC처럼 TCP가 더 많이 필요해진 흐름을 배경으로 설명합니다.
영향 범위
이 문서는 특정 소프트웨어의 결함을 다루지 않습니다. DNS를 운영하는 쪽 전반에 적용되는 운영 지침입니다. 시스템 관리자뿐 아니라 네트워크 엔지니어와 보안 담당자도 대상으로 하며, DNS over TCP 통신을 DNS over UDP와 같은 수준으로 지원하라고 권합니다. 리졸버와 재귀 서버는 물론, 그 앞에 있는 방화벽이나 접근 제어 목록(ACL) 같은 네트워크 장비 정책도 영향을 받습니다.
운영자가 할 일
- 방화벽, 보안 장비, 접근 제어 목록이 DNS의 TCP 통신을 막고 있지 않은지 확인합니다. 특히 TCP를 영역 전송 용도로만 열어 둔 정책이 있다면 다시 검토합니다.
- 리졸버와 재귀 서버가 TCP 질의를 UDP 질의와 같은 수준으로 받아 처리하는지 점검합니다.
- 큰 응답이나 DNSSEC 관련 질의에서 간헐적으로 실패한다면, 경로 중간에서 TCP가 막혀 있는지도 원인 후보에 넣어 살펴봅니다.
- 자세한 요구 사항과 고려 사항은 RFC 9210 원문과 RFC 7766을 함께 참고하시기 바랍니다.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.