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

NPM(Nginx Proxy Manager)에서 악성/스팸 봇 차단 방법.

달소 달소 881

5

2

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

 

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

앞서 기본 Nginx에서 스팸봇을 차단하는 방법에 대해 작성했지만 NPM의 경우 UI가 조금 다르기 때문에 새로 작성해봅니다.

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


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

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

 

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

이외에 제가 악성봇이라고 판단하는것들은 AhrefsBot|BLEXBot|DotBot|SemrushBot|Eyeotabot|PetalBot|MJ12bot|brands-bot|bbot|AhrefsBo|MegaIndex|UCBrowser|Mb2345Browser|MicroMessenger|LieBaoFast|Headless|netEstate|newspaper|Adsbot/3.1|WordPress/|ltx71

 

이며 추가적으로 차단하고싶으시다면 코드에도 조금만 수정해주시면 손쉽게 수정가능합니다.

NPM에서 스팸 봇 차단하기

차단전에 미리 curl 명령어로 해당 Semrush bot이 접근가능한지 테스트해보겠습니다.

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

잘접근되네요 이제 차단정책을 넣어보겠습니다.

NPM 관리페이지에 접속 후 Hosts로 가서 셋팅할 대상의 Edit를 눌러줍니다.

그리고 아래 내용을 넣어주세요.

### 공백 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;
}

Save만 해주면 설정값이 자동으로 Reload 되면서 값이 적용됩니다.

다시 테스트를해보면 위처럼 403이 나오는걸 확인할 수 있습니다.

쉽게적용할 수 있는만큼 웹사이트를 운영하신다면 기본 스팸봇들은 꼭 차단해주시기 바랍니다~

신고공유스크랩
2

달소 달소
98Lv. 195799P
다음 레벨까지 221P


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

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 개인 구독 추적기 Wallos 7 달소 2일 전23:26 326 +2
질문 /var/www 폴더가 삭제되었습니다. ㅜ,.ㅜ 2 니속사정 4일 전20:42 290 +1
잡담 jellyfin 자원 진짜 안쓰네요 1 kmw_ 4일 전19:26 445 +1
456 정보
image
툭툭이 24.03.28.11:14 940 +17
455 정보
image
antegral 22.05.07.01:18 3212 +16
454 정보
image
EXP 24.02.06.03:43 1369 +10
453 정보
image
달소 24.02.19.00:58 987 +9
452 정보
image
ExpBox 23.03.08.21:47 678 +6
451 정보
image
뻘짓의초심자 22.04.30.00:03 530 +6
450 정보
image
달소 21.03.09.23:03 691 +6
449 정보
image
theb1ue 22.07.08.13:57 883 +6
448 정보
image
honey720 24.02.28.00:20 249 +6
447 정보
image
달소 22.03.19.15:12 2423 +6
446 정보
image
달소 21.05.20.16:56 2393 +5
445 정보
normal
esk8er 22.10.05.20:32 1959 +5
444 정보
image
달소 22.03.11.23:33 2544 +5
443 정보
image
펜타네스트 22.04.21.13:25 4893 +5
442 정보
normal
dowon 23.07.24.11:05 351 +5
441 정보
image
대왕코끼리 24.01.19.09:31 353 +5
440 정보
image
펜타네스트 22.05.22.00:24 587 +5
정보
image
달소 22.02.10.17:28 881 +5
438 정보
normal
똥쓰똥쓰 23.02.14.16:32 2385 +5
437 정보
image
달소 21.05.06.12:38 2370 +5