Domain IP Lookup

모든 IPv4 대역에는 대응하는 IPv6 대역이 있습니다

루프백IPv4의 127.0.0.0/8, IPv6의 ::1
사설IPv4의 10.0.0.0/8 등, IPv6의 fc00::/7
링크 로컬IPv4의 169.254.0.0/16, IPv6의 fe80::/10
보안

놓치면 안 되는 IPv6 보안 고려 사항

읽는 시간 3분

IPv6를 주소 공간만 더 넓은 IPv4의 대체재로 여기기 쉽습니다. 보안 측면에서는 IPv4의 모든 것이 그대로 적용될 것이라고 가정하기보다, 몇 가지 실제 차이를 이해해 둘 필요가 있습니다.

차단 목록은 더 길게가 아니라 별도로 만들어야 합니다

IPv6에도 고유한 사설, 루프백, 링크 로컬 대역이 있으며, IPv4의 대응 대역과는 구조가 다릅니다. IPv4 대역만 파싱하고 필터링할 줄 아는 보안 검사는 IPv6 쪽에서는 이 모든 주소를 조용히 그대로 통과시킵니다. IPv6가 덜 안전해서가 아니라, 그에 상응하는 보호 기능이 아예 만들어지지 않았기 때문입니다.

구분IPv4 대역IPv6 대응 대역
루프백127.0.0.0/8::1
사설 / 고유 로컬10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16fc00::/7
링크 로컬169.254.0.0/16fe80::/10
미지정0.0.0.0/8::/128

IPv4 매핑 주소: 놓치기 쉬운 사각지대

IPv6에는 IPv4 주소를 IPv6 주소 안에 넣는 표기법이 있습니다. 예를 들어 ::ffff:127.0.0.1은 일반 127.0.0.1과 같은 루프백 주소를 IPv6 형식으로 쓴 것입니다. IPv4 루프백은 제대로 필터링하면서 이렇게 내장된 형식을 풀어서 검사하지 않는 검사는, 원래라면 즉시 차단했을 주소와 기능적으로 동일한 주소를 승인하게 됩니다.

  • 확인된 주소를 차단 목록과 대조하는 모든 시스템은 IPv4 규칙이 자동으로 일반화되리라 가정하지 말고, IPv6를 위한 별도의 완전한 로직을 갖추어야 합니다.
  • IPv4 매핑 IPv6 주소는 불투명한 IPv6 주소로 평가하지 말고, 풀어서 IPv4 규칙으로 구체적으로 검사해야 합니다.
  • 듀얼 스택 시스템(대부분의 최신 시스템)은 두 검사를 일관되게 적용해야 합니다. 공격자는 검사가 더 약한 쪽의 주소 체계를 그대로 이용하기 때문입니다.

이 중 어느 것도 IPv6를 피해야 할 이유는 아닙니다. 보급이 확대되는 것은 대체로 좋은 일이며, IPv6 고유의 공격 표면이 본질적으로 IPv4보다 큰 것도 아닙니다. 주소를 다루는 보안 로직이 한쪽 주소 체계에 다른 쪽을 뒤늦게 덧붙인 것이 아니라 두 주소 체계 모두를 대상으로 실제로 구현되고 테스트되었는지 확인해야 한다는 뜻입니다.

NAT64는 알아 둘 만한 두 번째 변환 계층을 추가합니다

일부 IPv6 전용 네트워크는 클라이언트가 IPv4 전용 인터넷에 계속 접근할 수 있도록 NAT64와 DNS64를 사용합니다. DNS64는 A 레코드만 있는 도메인에 대해 AAAA 레코드를 즉석에서 합성하며, IPv4 주소를 특수 프리픽스(64:ff9b::/96이 잘 알려진 기본값) 안에 넣습니다. NAT64는 그 합성 주소로 향하는 트래픽을 네트워크 경계에서 실제 IPv4로 변환합니다. 정당하고 유용한 메커니즘이지만, 그 특정 대역에 속하는 주소는 단독으로 평가할 순수한 IPv6 주소가 아니라 IPv6의 옷을 입은 IPv4이며, IPv4 매핑 주소와 마찬가지로 풀어서 IPv4 규칙으로 검사해야 한다는 뜻입니다.

보안 로직 테스트는 두 주소 체계를 모두 테스트하는 것을 의미합니다

자동화된 테스트는 조용히 IPv4 쪽으로 치우치기 쉽습니다. 대부분의 예시 도메인, 테스트 픽스처, 간단한 수동 확인이 아무도 의식적으로 결정하지 않았는데도 IPv4를 기본으로 사용하기 때문입니다. 주소를 확인하고 필터링하는 모든 기능의 테스트 스위트는 IPv6 커버리지만큼만 신뢰할 수 있습니다. 위의 사설, 루프백, 링크 로컬 대역, IPv4 매핑 주소, NAT64 방식으로 합성된 주소 각각에 대해 “아마 똑같이 동작할 것”이라는 생각이 아니라 명시적인 단언이 필요합니다. 주소 처리 보안 코드는 테스트되지 않은 경로와 고장 난 경로를 구분할 수 없다가, 공격자가 그 차이를 먼저 찾아내고서야 드러나는 대표적인 로직입니다.

도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.