F5 용어집

도메인 이름 시스템 보안 확장(DNSSEC)

DNSSEC는 "도메인 이름 시스템 보안 확장"의 약자로, DNS 서버에서 제공하는 정보의 진위를 보장하도록 설계된 향상된 프로토콜입니다. 기존 DNS 프로토콜의 보안 취약점을 해결하기 위해 공개 키 암호화와 디지털 서명을 활용합니다. 1983년에 개발된 DNS는 도메인 이름(호스트 이름)을 IP 주소로 변환하는 시스템이지만 강력한 보안 메커니즘이 부족하다는 비판을 받아왔습니다. 가장 큰 취약점 중 하나는 DNS 캐시 포이즈닝 공격에 취약하다는 것입니다.

DNS 인프라는 두 가지 주요 유형의 서버로 구성됩니다.

  1. DNS 콘텐츠 서버(권한 있는 서버): 이는 실제 도메인 정보를 관리합니다.
  2. DNS 캐시 서버(네임 서버): 이러한 쿼리는 클라이언트를 대신하여 콘텐츠 서버를 쿼리하고, 유사한 향후 요청을 반복적인 쿼리 없이 처리할 수 있도록 지정된 기간 동안 캐시에 응답을 임시로 저장합니다.

악성 또는 잘못된 데이터가 캐시에 저장되면('오염된 캐시') DNS 캐시 서버는 클라이언트에게 잘못된 IP 주소를 제공하여 사기 사이트로 리디렉션할 수 있습니다. 이런 고의적인 악용은 DNS 캐시 포이즈닝이라고 합니다. 이는 서버 간 DNS 통신이 발신자 검증이 없는 상태 비저장 UDP 프로토콜을 사용하기 때문에 발생합니다. 공격자는 합법적인 요청에 맞춰 스푸핑된 응답 패킷의 타이밍을 교묘하게 조정하여 캐시 포이즈닝을 실행합니다.

DNSSEC은 암호화 검증을 도입하여 이를 완화합니다. 권한 있는 DNS 콘텐츠 서버는 개인 키와 공개적으로 접근 가능한 키라는 두 개의 암호화 키를 생성합니다. 쿼리에 응답할 때 서버는 개인 키를 사용하여 DNS 응답에 서명합니다. DNS 캐시 서버는 응답을 받으면 공개 키를 사용하여 디지털 서명을 검증합니다. 이 프로세스는 데이터의 무결성과 신뢰성을 보장하여 DNS 캐시 포이즈닝 공격을 효과적으로 방지합니다.