• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

Nginx에서 User-agent를 통한 악성/스팸 봇 차단하기.

달소 달소 690

6

0

 

안녕하세요. 달소입니다.

 

오늘은 사이트 운영을 하면서 필수적으로 해야할 설정인 악성/스팸 봇을 차단하는 방법입니다.

 

대계 사이트를 운영하는경우 웹에 노출되기때문에 robot.txt를 통해 크롤링을 허용하고 계실텐데요. 이중에서는 검색에 도움은 되지않고 사이트의 트래픽을 낭비하거나 정보를 긁어가는 크롤링도 빈번하게 일어납니다.

 

그렇기 때문에 관리자로써 불필요하다고 생각되는 봇들은 차단하는게 좋습니다.

 

대표적은 악성봇으로는 SemrushBot이 있는데요. 아마 Nginx의 로그를 보시면 아래처럼 185.191.171.0 대역대를 통해 지속적으로 사이트에 접근하는걸 확인할 수 있습니다.

 

image.png.jpg

 

이외에 제가 악성봇이라고 판단하는것들은 AhrefsBot|BLEXBot|DotBot|SemrushBot|Eyeotabot|PetalBot|MJ12bot|brands-bot|bbot|AhrefsBo|MegaIndex|UCBrowser|Mb2345Browser|MicroMessenger|LieBaoFast|Headless|netEstate|newspaper|Adsbot/3.1|WordPress/|ltx71 이며 추가적으로 차단하고싶으시다면 코드에도 조금만 수정해주시면 손쉽게 수정가능합니다.

 

nginx 설정하기

설정파일은 /etc/nginx/sites-available/[도메인] 의 server { 아래 아래와같은 내용을 추가해주시면 됩니다.

 

  ### 공백 UserAgent 차단
  if ($http_user_agent = "") {
    return 403;
  }
  
  ### 기타 불필요한 스팸,악성 봇 차단
  if ($http_user_agent ~* (AhrefsBot|BLEXBot|DotBot|SemrushBot|Eyeotabot|PetalBot|MJ12bot|brands-bot|bbot|AhrefsBo|MegaIndex|UCBrowser|Mb2345Browser|MicroMessenger|LieBaoFast|Headless|netEstate|newspaper|Adsbot/3.1|WordPress/|ltx71) ) {
    return 403;
  }

 

 

이렇게 설정해준뒤 service nginx restart로 서비스를 재시작 시켜주면 됩니다.

 

테스트

설정전 curl로 user-agent를 변경해서 테스트했습니다.

 

curl -I --user-agent "Mozilla/5.0 (compatible; SemrushBot/7~b|; +http://www.semrush.com/bot.html)" https://blog.dalso.org

 

image.png.jpg

 

SemrushBot 차단 설정 후 다시 테스트 결과입니다.

 

image.png.jpg

 

모두둘 사이트 트래픽을 아껴주세요~ ㅎㅎ

신고공유스크랩
0

달소 달소
98Lv. 193796P
다음 레벨까지 2224P


메인서버 - Ryzen 5700G / Proxmox 7.2 / Ubuntu / Xpenology / 기타 VM 등등
보조서버 - Intel i9-9900ES(QQC0) / H370M / Proxmox 7.1 / 아직개발용서버로 사용중
백업스토리지서버 - DS920+ 
하드웨어,가상화 등등 여러 IT분야에 관심이 두루두루많습니다만 깊게알고있는건 없습니다 하하하

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
가이드 Ubuntu에서 Ubuntu Pro 로 전환하기 2 달소 23시간 전22:22 285 +3
가이드 Gaming Linux OS Garuda Linux 설치해보기. 1 달소 1일 전06:46 149 +1
Proxmox 8 레포 설정 및 패키지 설치방법. (The enterprise repository is enabled, but there is no active subscription!) 1 달소 1일 전05:50 157 +6
3886 정보
image
툭툭이 24.03.28.11:14 901 +17
3885
image
eyeball 23.04.05.21:08 1796 +16
3884 정보
image
antegral 22.05.07.01:18 3193 +16
3883 잡담
image
햇서 23.06.05.05:53 917 +14
3882
image
달소 22.03.17.22:09 19052 +14
3881 정보
image
EXP 24.02.06.03:43 1332 +10
3880
image
달소 22.05.06.15:43 1046 +10
3879
image
달소 22.03.17.22:25 5073 +10
3878 정보
image
달소 24.02.19.00:58 974 +9
3877
image
theb1ue 22.06.14.16:05 4899 +9
3876 가이드
image
opq! 24.04.02.21:25 468 +8
3875 잡담
image
달소 24.01.15.03:22 585 +8
3874
image
달소 23.01.27.14:15 16040 +8
3873
image
달소 22.07.07.16:57 1947 +8
3872
image
달소 22.03.14.17:30 4202 +8
3871
image
달소 22.02.11.13:31 3036 +8
3870 후기
image
cdma2000 24.02.06.13:12 785 +7
3869 가이드
image
달소 23.07.04.20:38 1926 +7
3868
image
앨런임더 23.03.31.21:14 1885 +7
3867 잡담
image
곰삼촌 23.01.25.10:05 1090 +7