Extra Form
PHP PHP 7.2
CMS Rhymix

nginx 서버에서 운영중인 사이트에서 과다하게 접속하는 ip 대역을 발견하고 차단을 하려고 시도 중입니다.


https://erulabo.com/post/deny-specific-ip-on-nginx

 

111.JPEG

 

저는 위 팁에서 특정 ip 대역 전체 ( ex: 185.191.171로 시작하는 전체 아이피 )를 적용하려고 합니다.

CDR 계산기 ( https://www.ipaddressguide.com/cidr )에서 나온 아래 값 모두를 넣어주는게 맞는건지 문의드립니다.

11111.JPEG

 

 

[ 질문2 ]

185.191.171.3 - - [09/Nov/2020:09:31:00 +0900] "GET /faq HTTP/1.1" 200 7383 "-" "Mozilla/5.0 (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)" "-"
185.191.171.3 - - [09/Nov/2020:09:31:00 +0900] "GET /faq HTTP/1.1" 200 7383 "-" "Mozilla/5.0 (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)"

 

185.191.171.### 으로 시작하는 위 봇이 어떤 봇인지 혹시 아시는 분 계신까요?

  • profile

    1부터 시작하시는 바람에 결과가 복잡하게 나왔네요.

    0부터 시작하면 아주 간단하게 185.191.171.0/24 라고 나올 겁니다.

    다른 대역도 마찬가지로, 맨 뒷자리를 0으로 바꾸고 /24를 붙이기만 하면 됩니다.

    이걸 통째로 넣으시면 됩니다.

     

    conf.d 폴더의 파일들은 대부분 자동으로 로딩되니 include 명령을 따로 써주실 필요가 없을 것입니다.

    (자동으로 로딩되는데 또 include하면 중복로딩 오류가 발생할 수 있습니다.)

  • profile ?
    얼마전에 셋팅해 주신 서버 관련된 문제는 아니구요. ( 아주 빠릿빠릿하게 잘 돌아가고 있습니다. ^^)
    예전 저렴한 맛에 세팅한 사이트에서 발생되는 문제를 해결하려고 하고 있습니다.

    아무생각없이 1을 넣었는데 0으로 시작되는걸로 적용해보겠습니다.
    답변 감사합니다.^^
  • profile
    https://www.semrush.com/bot/

    UA에 적힌 주소로 가시면 봇 관련 안내메세지가 있습니다. robots.txt 파일에
    User-agent: SemrushBot
    Disallow: /
    기재로 크롤링을 막을수 있다고 합니다.

    참고로 안내 페이지 가시면 연속적인 IP 대역을 사용하지 않으므로 IP 차단을 하면 안된다고도 나와 있습니다.
  • profile ?
    네 알려주신 robots.txt 처리로 차단을 해보겠습니다.
    답변감사합니다. ^^
  • profile profile

    아, SemrushBot이었군요. 크고 작은 커뮤니티 사이트에 수시로 과부하 및 트래픽 초과를 일으키는 못된 크롤러입니다. 도무지 적당히라는 것을 모르더군요. 그 밖에도 연구 운운하면서 디도스에 가까운 짓거리를 하는 녀석들이 널렸습니다.

     

    제가 서버 세팅할 때는 SemrushBot을 비롯해서 비슷한 크롤러들 user-agent를 기본으로 차단해놓고 시작합니다. 첫인상이 전혀 예의가 없었기 때문에 robots.txt를 준수한다는 말을 신뢰하지 않습니다.

     

    마트몬님도 제가 예전의 세팅해 드린 서버의 /etc/nginx/snippets 폴더에 들어가 보시면 user-agent 차단하는 소스가 있을 테니 참고하시기 바랍니다. 아무래도 IP보다는 이쪽이 더 정확하지요.

  • profile ?
    네 알려주신 내용 적용해보겠습니다.
    감사합니다.
  • ? profile
    nginx 에서 막으세요. robots.txt 의 룰을 따르지 않는 봇들은 nginx 에서 아예 막는게 좋습니다.

    https://rxtip.kr/free/2236

    저는 제가 직접 찾아서 문제가 될 만한 녀석들 차단해 놓았는데 내역이 많지는 않지만 지금 말씀하신 봇은 예전에 차단해 놓았네요.
  • profile ?
    답변감사합니다.
  • profile
    https://sir.kr/pg_tip/16465

    이렇게 작업하고 추가해주면 되겠네요.
  • profile ?
    답변감사합니다.
  • profile

    그리고 구글,bing,네이버,다음 등 필수적으로 열어줘야 하는 봇들이 아주 가끔 하루 수십기가를 왕창 긁어가는 경우가 생길 수 있습니다.

    적절히 문서,페이지 대표 url 이외 너무 많은 것을 긁지 못하다록 너가 굳이 크롤링 할 필요가 없는 주소의 패턴은 이거야 라고 알려주면 좋습니다. robots.tx에서요.

    User-agent: *
    Disallow: /*act=IS&
    Disallow: /*act=IS$
    Disallow: /*search_keyword
    Disallow: /*search_target
    Disallow: /*listStyle=viewer
    Disallow: /*sort_index


    위 패턴은 트래픽 좀 과하게 나올때 access.log 를 확인해 보시면 불필요한 여러 주소 형태로 긁어가는 것을 확인하고 추가해 주면 될 것 같습니다.

    뜬금없이 긁어가는건 아니고 사용하는 스킨 등에서 제공하는 여러 주소의 형태를 검출해서 크롤링을 하기 때문에 사용하는 스킨에 따라 필요한 주소 패턴이 다양할 겁니다.

    저런 것들을 두면 하나의 문서를 수십 수백 수천번 반복해서 크롤링 하는 결과가 나올 수 있습니다.

    https://rxtip.kr/free/2240

  • profile profile
    검색 구문들은 필요없이 정말 좋네요.
  • profile ?
    유용한 팁 감사합니다. 적용해보겠습니다.^^