보곤 IP 주소란 무엇이며 왜 중요한가
보곤(bogon) IP 주소는 공개 인터넷에서 트래픽의 출발지로 나타나서는 안 되는 사설, 예약 또는 미할당 공간의 주소입니다. 이름은 "bogus"에서 왔으며, 관련 범위는 IANA와 여러 RFC가 정하므로 주소가 보곤인지 확인하는 것은 추측이 아니라 게시된 표준 기반 목록에 대한 조회입니다.
주요 보곤 범위
구분해야 할 두 그룹이 있습니다. 예약된 특수 목적 범위는 표준으로 정의되며 공개적으로 라우팅되는 일이 없습니다. 때로 "풀 보곤"이라 불리는 미할당 공간은 아직 어떤 레지스트리도 배정하지 않은 주소 공간입니다. 아래의 예약 범위가 가장 자주 마주치게 되는 것들입니다.
0.0.0.0/8: "이 네트워크". 호스트에 아직 주소가 없을 때 출발지로 나타납니다.10.0.0.0/8,172.16.0.0/12,192.168.0.0/16: RFC 1918의 사설 네트워크.100.64.0.0/10: 통신사급 NAT를 위한 공유 주소 공간(RFC 6598).127.0.0.0/8: 루프백.169.254.0.0/16: 링크 로컬. DHCP가 실패했을 때 자동으로 할당됩니다.192.0.0.0/24: IETF 프로토콜 할당.192.0.2.0/24,198.51.100.0/24,203.0.113.0/24: 예제와 튜토리얼에서 보게 되는 문서용 블록(RFC 5737).198.18.0.0/15: 네트워크 벤치마킹(RFC 2544).224.0.0.0/4: 멀티캐스트.240.0.0.0/4: 향후 사용을 위해 예약된 범위와, 제한된 브로드캐스트 주소인255.255.255.255.
IPv6에서 이에 해당하는 것으로는 ::/128(미지정), ::1/128(루프백), fc00::/7(고유 로컬 주소), fe80::/10(링크 로컬), ff00::/8(멀티캐스트), 2001:db8::/32(문서용)가 있습니다. ::ffff:0:0/96 같은 IPv4 매핑 주소와 NAT64 프리픽스 64:ff9b::/96도 주의할 만한데, 이들 역시 변환 메커니즘으로 클라이언트 주소로 나타나서는 안 되기 때문입니다. 일부 오래된 글에는 폐지된 192.88.99.0/24(6to4 릴레이 애니캐스트)도 나열되어 있습니다.
로그에 보곤이 있으면 왜 중요한가
공개 인터넷을 거쳐 온 요청의 겉보기 클라이언트로 보곤이 나타난다면 몇 가지 중 하나가 사실이며, 항상 악의적인 것은 아닙니다. 흔한 원인은 배관 문제입니다. 리버스 프록시나 로드 밸런서가 실제 클라이언트 주소를 전달하지 않아 애플리케이션이 프록시의 사설 주소를 보거나, X-Forwarded-For 항목을 잘못된 위치에서 가져왔거나, NAT 구성이 내부 주소를 공개 필드로 누출한 경우입니다. 이는 설정 버그이며, 속도 제한, 지오로케이션, 악용 보고를 망가뜨리므로 고칠 가치가 있습니다.
또 다른 원인은 의도적인 것입니다. 출발지 주소는 패킷과 헤더에서 위조될 수 있으며, 공격자는 스푸핑된 플러드나 필터링 탐색에 보곤 출발지를 사용합니다. 정당한 트래픽은 이 범위에서 발생할 수 없으므로 상위 사업자는 네트워크 엣지에서 이를 필터링하며(BCP 38의 인그레스 필터링 개념), 자체 방화벽도 공개 인터페이스로 들어오는 보곤 출발지를 차단해야 합니다. 미묘한 점에 유의하세요. 네트워크 내부에서는 사설 주소가 정상이므로 이 규칙은 공개 경계에만 적용하세요.
예약 공간과 미할당 공간
자체 필터를 만들 때 이 구분이 중요합니다. 예약 범위는 표준으로 고정되어 거의 바뀌지 않으므로 정적 테이블이 수년간 정확하게 유지됩니다. 미할당 공간은 다릅니다. 레지스트리가 시간이 지남에 따라 블록을 배정하므로 작년에는 보곤이던 주소가 오늘은 실제 네트워크에 속할 수 있습니다. 미할당 블록을 하드코딩한 필터는 과거에 새로 할당된 범위의 신규 고객을 차단해 왔으며, 그래서 예약 목록이 애플리케이션 코드에 내장하기에 더 안전하고 공개 주소의 소유에 관한 질문은 보곤 목록이 아니라 레지스트리 데이터에 속합니다.
주소 확인하기
보곤 IP 검사기에서 어떤 주소든 테스트할 수 있으며, 게시된 IPv4 및 IPv6 예약 범위와 비교하여 일치하는 블록을 참조 표와 함께 보여 줍니다. API에서는 IP 조회 응답에 bogon과 bogon_type이 포함되어 있어 로그 파이프라인이 별도의 범위 테이블 없이 이러한 주소에 플래그를 달 수 있습니다. 전체 응답은 API 문서에 나와 있습니다.
알아 둘 한계가 하나 있습니다. 검사기는 표준 기반 예약 목록을 사용하며 실제로 라우팅되는 내용의 실시간 보기가 아닙니다. 예약 범위 밖의 주소가 할당되었거나 도달 가능하다고 보장되지는 않습니다. 공개 주소에 실제로 소유자가 있는지 알아보려면 레지스트리 기록을 보여 주는 IP whois 조회나 해당 주소를 광고하는 네트워크를 보여 주는 ASN 조회를 사용하세요.
실무에서의 처리
- 주소를 일찍 정규화하고 검증하세요. 공개 클라이언트 IP를 기대하는 필드에서는 보곤을 거부하세요.
- 공개 엣지에서는 방화벽 규칙으로 보곤 출발지를 차단하되, 내부 트래픽에는 적용하지 마세요.
- 보곤이 예상치 못하게 나타나면 공격보다 잘못된 설정이 더 흔하므로 먼저 프록시와 로드 밸런서 설정을 확인하세요.
- 보곤 주소에는 지오로케이션이 없으므로 지오로케이션과 평판 조회를 생략하여 요청을 아끼세요.