nginx설정으로 스팸봇 차단하기 > 365ok IT뉴스

365ok IT뉴스

nginx설정으로 스팸봇 차단하기 정보

nginx설정으로 스팸봇 차단하기

본문

지긋지긋한 스팸봇들, 웹상에는 수백, 수천개의 수팸봇이 있고, 오늘도 얼마나 추가되고 있는지 모릅니다.

최대한 구글이나 네이버 봇은 사이트에 도움이 된다고 해도 대부분의 봇은 스팸이라고 생각됩니다.

자신들의 수익이나 마케팅 자료로 이용되지나 않는지...

최근엔 OpenAI같은 AI계열 봇도 많이 늘어나는 것 같습니다.

애써 만든 컨텐츠를 무차별 긁어가는 파싱봇들도 많이 늘어가는 것 같고요.

 

사이트를 운영하는데 하루 방문자가 10만이라고 자랑해도 그 중에 99%가 봇이라면 전혀 유익이 없는 해만 있는 것이 아닐까 싶기도...

 

각설하고,.... 

아래 정책은 모두 직접 서버를 운영한다는 가정입니다. (웹호스팅 제외)

 

1. 봇 목록 관련 파일을 만듭니다. 

파일명 : 예) badbot.rules

일반적으로 /etc/nginx 위치를 권장하지만 상관없습니다.

파일 내용 :

map $http_user_agent $bad_bot {
    default 0;

    # 크롤링 봇 차단
    ~*01h4x.com 1;
    ~*360Spider 1;
    ~*404checker 1;
    ~*404enemy 1;
    ~*80legs 1;
    ~*ADmantX 1;
    ~*AIBOT 1;
    ~*ALittle\ Client 1;
    ~*ASPSeek 1;
    ~*Abonti 1;
    ~*Aboundex 1;
    ~*Aboundexbot 1;
    ~*Acunetix 1;

    ------

}

여기서 크롤링 봇은 구글링하면 나옵니다. 최소 수백개는 목록에 추가할 수 있습니다.

 

2.  nginx.conf 파일내 http문 안에 아래처럼 추가합니다.

http {

        ....기존내용.....
        
        # user agent 블랙리시트 
        include /etc/nginx/badbot.rules;


        server {
                if ($bad_bot) {
                        return 444;  # 응답 없이 연결 종료
                }

                # 빈 User-Agent 차단
                if ($http_user_agent = "") {
                        return 444;
                }
        }
}

3. nginx를 재구동해줍니다.

$ service nginx reload

 

** 이 rules을 벗어나 계속 들어오는 아이피는 아래 명령으로 강제 차단합니다.

$ route add -host (도메인 or ip) reject

 

웹학교 무료강좌 / 웹학교 컨텐츠몰

PHP포탈 / 구인구직 솔루션

By 웹학교

추천
3

댓글 0개

전체 2,765 |RSS
365ok IT뉴스 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT