IP 대역 222.239.104.*는 크롤링에 사용되는 악명 높은 IP 대역으로 사이트 게시물을 무단 수집할 목적(크롤링 목적 등)으로 매초 간격 사이트 게시물 조회를 지속적으로 시도하는 사례가 보고되고 있습니다. 일부 서버에서는 222.239.104.*으로 시작하는 아이피가 서버 접근을 하지 못하도록 차단하는 조치를 취하고 있습니다.
또한, Bytespider라는 클로러도 악명이 높은 것 같습니다. 부록 섹션에 Bytespider의 IP 대역을 차단하는 방법을 추가했습니다.
[ 이 글은 2024년 1월 19일에 마지막으로 업데이트되었습니다. ]
IP 대역 222.239.104.* 차단 방법
마트몬이라는 업체에서는 공지를 통해 IP 대역 222.239.104* 차단 관련 안내문을 작년 11월에 올렸습니다.
이 대역대의 IP 주소를 통해 여전히 많은 크롤링 시도가 이루어지고 있는 것 같습니다.
네이버 카페를 통해 클라우드웨이즈에서 특정 IP 주소 차단 방법에 대한 질문이 올라와서 클라우드웨이즈에 .htaccess 파일에 코드를 추가하여 IP 주소 범위를 차단하는 방법에 대하여 문의해보았습니다.
클라우드웨이즈 고객지원 상담자는 다음과 같은 예시를 알려주었습니다.
<Limit GET POST>
Order Allow,Deny
Deny from 220.239.104.0/30
Allow from all
</Limit>
이 부분에 대하여 더 리서치해보니 다음과 같은 코드 .htaccess 파일에 추가하면 222.239.104.로 시작하는 모든 IP 주소들을 차단할 수 있을 것입니다.
<Limit GET POST>
Order Allow,Deny
Deny from 222.239.104.0/24
Allow from all
</Limit>
실제로 테스트해보니 잘 작동하는 것 같습니다. 예를 들어, 내 IP 주소가 179.185.168.10이라면 위의 코드에서
Deny from 222.239.104.0/24
부분을 다음과 같이 바꾸어서 테스트해볼 수 있습니다.
Deny from 179.185.168.0/24
그러면 내 IP 주소가 차단되면서 내 컴퓨터에서 사이트에 접속하려고 시도하면 다음과 같이 "Forbidden. You don't have permssion to access this resource" 에러 화면이 표시될 것입니다.
코드를 .htaccess 파일에 추가하려면 FTP/SFTP에 접속할 수 있어야 합니다. 파일질라 FTP 클라이언트를 설치하여 FTP에 접속하는 방법에 대한 다음 글을 참고하세요.
또한, .htaccess 파일 수정에 대한 다음 글도 참고해보세요:
cPanel의 IP Blocker 사용하여 특정 IP 대역대 접근 차단하기
패스트코멧을 사용하는 경우 IP Blocker를 사용하여 IP 대역대를 차단할 수도 있습니다.
위의 그림에서 IP 범위를 지정하는 방법이 나와 있습니다.
222.239.104.1-222.239.104.255
또는, CIDR 포맷을 사용하는 것도 가능합니다.
222.239.104.0/24
CIDR 포맷
.htaccess 파일에 Deny from 222.239.104.0/24 라인을 추가하는 경우 222.239.104.0부터 222.239.104.255까지의 IP 주소 범위를 효과적으로 차단합니다. 여기에 대하여 챗GPT에게 설명을 요청해보았습니다.😄😄
222.239.104.0/24는 CIDR 표기법입니다. 이 표기법에서 /24는 IP 주소의 첫 24비트가 고정되어 있다는 것을 의미합니다. IPv4 주소는 총 32비트이므로, 마지막 8비트는 가변적입니다.
고정된 IP 주소 부분은 222.239.104이고, 가변 부분(마지막 8비트)은 0에서 255까지의 범위를 가질 수 있습니다. 이는 222.239.104로 시작하고 마지막 세그먼트에서 0에서 255까지의 값을 가질 수 있는 모든 IP 주소를 차단한다는 의미입니다.
부록: Bytespider 차단 (47.128.0.0 - 47.128.255.255 IP 대역)
Bytespider (by bytedance)라는 악성 크롤러도 악명이 높은 것 같습니다. What to do about Bytespider?이라는 제목의 Reddit 포럼 게시글에서 이와 관련하여 차단하는 방법에 대한 토론을 확인할 수 있습니다.
bytedance에서 만든 Bytespider는 최악의 크롤러 중 하나라 생각합니다. 최근 방화벽을 통해 Bytespider의 IP를 차단하기 시작했는데, 매초마다 다른 IP를 사용하는 것 같습니다. 무엇보다 robots.txt를 절대 사용하지 않고, 매일 매초 제 서버를 크롤링하고 있습니다...
47.128.0.0 - 47.128.255.255 범위의 IP 주소를 차단하려면 다음과 같은 라인을 추가할 수 있습니다.
Deny from 47.128.0.0/16
47.128.0.0/24 지시문은 47.128.0.0부터 47.128.0.255까지 256개의 IP 주소를 차단하고, 47.128.0.0/16 지시문은 47.128.0.0부터 47.128.255.255까지 총 65,536개의 IP 주소를 차단한다고 합니다.
222.239.104.* IP 대역과 함께 Bytespider IP 대역을 차단하려면 다음과 같은 코드를 .htaccess 파일에 추가할 수 있습니다.
<Limit GET POST>
Order Allow,Deny
Deny from 222.239.104.0/24
Deny from 47.128.0.0/16
Allow from all
</Limit>
부록: 챗GPT 봇 차단하기
유입은 매우 적지만 챗GPT를 통해서도 유입이 이루어질 수 있습니다(참고). 그런 경우 챗GPT가 내 블로그의 문서들을 학습에 활용한 것이 아닌가 의심이 됩니다.
OpenAI는 웹 크롤러인 GPTBot을 공개하였습니다. 내 사이트의 문서들을 OpenAI에서 크롤링하지 못하도록 차단하고 싶은 경우 다음 문서를 참고하여 설정할 수 있습니다.
마치며
이상으로 222.239.104.*로 시작하는 IP 대역을 차단하는 방법에 대하여 살펴보았습니다. 티스토리에서 간혹 크롤링 시도가 이루어지는 것 같습니다. 워드프레스 사이트의 경우 웹호스팅에서 차단할 수도 있겠지만, 차단하지 못하는 경우 서버 부하가 발생하게 될 것입니다. 무엇보다 내 콘텐츠를 크롤링하여 어떤 용도로 악용될지 모르므로 미리 이 IP 대역을 차단하는 것도 고려해볼 수 있을 것입니다.
저는 이 워드프레스 사이트를 비롯하여 몇 개의 사이트에 이 글에 소개한 코드를 추가했습니다. 그러면 222.239.104.로 시작하는 IP 주소에서의 크롤링 시도를 무력화할 수 있으리라 생각됩니다.
댓글 남기기