- This topic has 0개 답변, 1명 참여, and was last updated 5 years, 4 months 전에 by
태랑. This post has been viewed 3249 times
-
-
유명한 봇 외 과도한 네트웍 트래픽을 사용하는 악성 봇들이 있습니다이런 봇들을 Nginx에 설정하여 한번에 차단을 진행하려 합니다(특히 SemrushBot)
Apache 환경에서 설정을 하는 내용은 예전에 포스팅을 참조하시면 됩니다.
Apache 2.4 - 악성 봇(로봇 SemrushBot) 차단 및 IP차단유명한 봇 외 과도한 네트웍 트래픽을 사용하는 악성 봇들이 있습니다 이런 봇들을 apache conf 파일에 설정하여 한번에 차단을 진행하려 합니다(특히 SemrushBot)Visual Link 정보는 다음 링크 를 참조하시면 됩니다.
1. 파일 생성
먼저 아래 경로에 bad_bot.conf 파일을 생성 후 차단할 agent 내용을 입력 합니다
[root]# vi /etc/nginx/conf.d/bad_bot.conf map $http_user_agent $bad_bot { default 0; ~*360Spider 1; ~*360Spider 1; <.....중략.....> ~*Zyborg 1; ~*ZyBorg 1; }
내용이 많고 매우 긴 관계로 아래 첨부파일을 다운 받아서 사용하시면 됩니다
다운로드2. nginx 적용 및 reload
2-1 다음으로 server 블럭에 아래 코드를 추가합니다.
if ($bad_bot) { return 403; }코드 하이라이트 기능 정보는 다음 링크 를 참조하시면 됩니다.
2-2 그 다음 systemctl reload nginx 명령으로 설정을 적용해 줍니다.
2-3 적용 후 확인 해보니 정상적으로 차단이 이루어 지는 것을 확인 할 수 있습니다.
<...중략...>
403 ( SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
403 ( SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
403 ( SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
403 ( SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
403 ( SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
<...중략...>3. agent bot 항목 관련
참조한 bad bot 리스트에서 아래 4개의 차단 대상은 지금 환경에서 제외 하였습니다.
~*Yandex
~*YandexBot
~*Baiduspider
~*BaiduSpider관련 한 내용으로 저번 포스팅 내용처럼 해당 Robot은 중국 Search Engine 와 러시아의 Search Engine 입니다 보통 차단되는 이유는 수집해가는 크롤링 양이 많아 과도한 트래픽을 사용하기 때문 입니다
차단하게 되면 트래픽이 그만큼 줄어들게 됩니다 하지만 반대로 사이트나 블로그의 목적이나 특성상 많이 노출이 되거나 다양한 검색 엔진에서 검색이 되어야 하는 부분이 더 중요하다면 해당 Search Engine 도 허용을 하는것을 고려해 봐야 합니다.
운영하는 사이트의 정책이나 트래픽 소모량 , 운영하시는 분들의 판단에 따라서 2개의 bot 이외에 차단을 허용하거나 혹은 더 막을 필요가 있는 bot 은 추가하여 사용하시면 될 것 같습니다그래서 지금 환경에서는 Yandex 와 Baiduspider 는 제외 하였으나 같이 차단을 하시려면 아래 4개의 라인을 추가로 더 설정하시면 됩니다.
~*Yandex 1; ~*YandexBot 1; ~*Baiduspider 1; ~*BaiduSpider 1;
감사합니다
Ref link
https://hoing.io/archives/16905오픈소스를 응원합니다 Blog https://hoing.io
Senior Database Administrator(MySQL, Oracle)사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요
- 답변은 로그인 후 가능합니다.
