User-Agent만 보고 Googlebot이라고 믿으면 안 되는 이유
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Googlebot 문자열은 쉽게 위조된다. 역방향 DNS 조회와 추가 검증으로 진짜 봇을 가리는 방법을 설명한다. 설정부터 시작하기 전에 ‘DNS 이중 확인’을 분리해서 봐야 합니다. 접근 IP의 역방향 DNS를 조회해 googlebot.com, google.com 또는 googleusercontent.com 계열인지 확인한 뒤, 얻은 호스트명을 다시 정방향 조회해 원래 IP와 같은지 확인합니다.
이 글의 범위
실제 경험이나 측정 결과를 가정하지 않고, 공식 문서로 확인 가능한 개념과 적용 순서를 일반 가이드로 설명합니다. 제품 버전과 서비스 정책은 바뀔 수 있으므로 적용 전 연결된 공식 문서를 다시 확인하세요.
| User-Agent만 보고 Googlebot이라고 믿으면 안 되는 이유 핵심 판단 흐름 설명용 개념도 |
그림 1. User-Agent만 보고 Googlebot이라고 믿으면 안 되는 이유의 핵심 판단 순서를 정리한 설명용 개념도입니다. 실제 서비스 화면, 운영 로그 또는 측정 결과가 아닙니다.
설정 전에 정리할 문제
User-Agent는 누구나 바꿀 수 있지만 DNS 이중 확인과 공식 IP 범위는 훨씬 강한 근거를 제공합니다. ‘DNS 이중 확인’에서 시작해 ‘공개 IP 범위’와의 경계를 정하면 구현할 범위와 실패했을 때 확인할 지점을 구분하기 쉬워집니다.
한 IP를 수동으로 검증하는 순서
- 접근 로그에서 의심 IP와 User-Agent, 요청 URL을 함께 확보합니다.
- host 또는 dig -x로 역방향 DNS 이름을 조회합니다.
- 도메인 접미사가 공식 안내 범위인지 정확히 확인합니다.
- 얻은 호스트명을 정방향 조회해 최초 IP가 결과에 포함되는지 확인합니다.
- 자동 허용이 필요하면 공식 IP JSON과 주기적으로 동기화하는 별도 검증기를 둡니다.
정방향·역방향 확인 예
host 66.249.66.1
host crawl-66-249-66-1.googlebot.com
진짜 Google 요청을 확인하는 두 방법
DNS 이중 확인
접근 IP의 역방향 DNS를 조회해 googlebot.com, google.com 또는 googleusercontent.com 계열인지 확인한 뒤, 얻은 호스트명을 다시 정방향 조회해 원래 IP와 같은지 확인합니다.
공개 IP 범위
대량 검증이 필요하면 Google이 게시한 JSON IP 범위와 요청 IP를 CIDR 기준으로 대조합니다. 범위 데이터는 주기적으로 갱신될 수 있으므로 코드에 고정하지 않습니다.
카테고리 구분
Google의 요청은 일반 크롤러, 특수 목적 크롤러, 사용자 동작으로 시작되는 가져오기 등으로 나뉩니다. 모든 google.com 계열 요청을 같은 권한으로 취급하지 않습니다.
검증 결과 캐시
매 요청마다 DNS를 조회하면 지연과 외부 의존성이 커집니다. 짧은 TTL의 검증 캐시를 두되 실패 결과를 영구 저장하지 않습니다.
행동 기반 보조 판단
공식 검증이 우선이지만 경로, 속도, 오류 반복 여부도 함께 기록하면 잘못된 설정이나 공격 패턴을 발견하는 데 도움이 됩니다.
작업 전 확인표
| 확인 항목 | 질문 |
|---|---|
| 첫 기준: DNS 이중 확인 | 변경 전에 전제와 목적을 확인했는가? |
| 분리 대상: 공개 IP 범위 | 다른 책임과 섞이지 않게 경계를 정했는가? |
| 피할 패턴: 문자열에 Googlebot이 있으면 무조건 제한을 해제하기 | 본문에서 경고한 패턴이 남아 있지 않은가? |
| 오류와 복구 | 정상 경로뿐 아니라 실패와 되돌리기도 확인했는가? |
보안 규칙에서 피할 것
- 문자열에 Googlebot이 있으면 무조건 제한을 해제하기
- googlebot.com.example.net처럼 접미사를 흉내 낸 도메인을 허용하기
- 역방향 조회만 통과하면 정방향 재검증을 생략하기
- 공개 IP 범위를 오래된 정적 목록으로 유지하기
핵심만 다시 보면
User-Agent는 누구나 바꿀 수 있지만 DNS 이중 확인과 공식 IP 범위는 훨씬 강한 근거를 제공합니다. 허용 목록은 요청 이름이 아니라 검증 가능한 출처를 기준으로 만들어야 합니다.
댓글
댓글 쓰기