Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nginx-ultimate-bad-bot-blocker — Nginx 악성 봇 차단, 스팸 리퍼러 차단기, 취약점 스캐너, 사용자 에이전트, 악성코드, 애드웨어, 랜섬웨어, 악성 사이트 차단, anti-DDOS, WordPress 테마 탐지기 차단 및 반복 위반자용 Fail2Ban Jail | Kitploit
도구/GitHubGitHub/mitchellkrogza/nginx-ultimate-bad-bot-blocker
Defensive ToolsWeb SecurityNetwork SecurityAnti-BotAnti-Bot #6위
GitHubmitchellkrogza/nginx-ultimate-bad-bot-blocker

nginx-ultimate-bad-bot-blocker

Nginx 악성 봇 차단, 스팸 리퍼러 차단기, 취약점 스캐너, 사용자 에이전트, 악성코드, 애드웨어, 랜섬웨어, 악성 사이트 차단, anti-DDOS, WordPress 테마 탐지기 차단 및 반복 위반자용 Fail2Ban Jail

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
4.8k525756시간 34분 전Kitploit 검토 완료
Nginx Ultimate Bad Bot Spam Referrer Blocker - Nginx Block Bad Bots, Vulnerability Scanners, Malware and Adware, Malicious Sites, Spam Referrers, Bad Referrers, Spam Blocker with DDOS, Wordpress Theme Detector Blocking and Fail2Ban Jail for Repeat Offenders
REPOBECOME A SPONSOR
DUB스폰서가 되시면 귀하의 로고와 도메인 링크가 이곳에 표시됩니다. Github 후원 프로그램이 아직 남아프리카공화국을 지원하지 않으므로, 이 프로젝트를 후원하고 싶으시면 [email protected]으로 이메일을 보내주세요.
Follow @ArchIsTheBesthttps://ko-fi.com/mitchellkrog 에서 저를 지원해 주세요

Nginx Bad Bot 및 User-Agent 차단기, 스팸 Referrer 차단기, Anti DDOS, Bad IP 차단기 및 Wordpress 테마 탐지 차단기

악성 봇, User-Agent, 스팸 Referrer, 애드웨어, 멀웨어 및 랜섬웨어 차단, 클릭재킹 차단, 클릭 리다이렉션 차단, SEO 업체 및 악성 IP 차단에 Anti DDOS 시스템, Nginx Rate Limiting 및 Wordpress 테마 탐지 차단 기능을 갖춘 궁극의 Nginx 차단기입니다. 가짜 Googlebot을 포함한 모든 종류의 악성 인터넷 트래픽이 귀하의 웹사이트에 도달하는 것을 완전히 차단하세요. 악성 봇의 정의 보기

버전: V4.2026.08.6121

차단된 악성 Referrer: 7116

차단된 악성 User-Agent(봇): 700

차단된 가짜 Googlebot: 218


이 프로젝트 지원하기

Buy me Coffee


  • 제작자: Mitchell Krog - Nginx 웹 서버용으로 제작
  • 저작권 Mitchell Krog [email protected]

테스트 환경:
nginx 버전: nginx/1.10.x -> 메인스트림 ✔️

Nginx를 사용하지 않으시나요? APACHE ULTIMATE BAD BOT BLOCKER 받기를 확인하세요.

차단기가 업데이트되거나 중요하거나 치명적인(잠재적으로 중단을 일으킬 수 있는) 변경 사항이 발생할 때 알림을 받으려면 Github 알림을 구독하시기 바랍니다.


NGINX BAD BOT BLOCKER 간편 자동 설정 안내

아래 지침을 단계별로 따라주세요 ❗

  • 이는 이제 이 저장소에 기여한 Alpine Linux 패키지 관리자 중 한 명인 Stuart Cardall @itoffshore가 유지 관리하는 일련의 셸 스크립트를 통해 수행되는 새로운 선호 설치 방법입니다.

  • 아래 지침은 차단기에 필요한 모든 파일을 다운로드하고, 스크립트가 nginx.conf 및 nginx .vhost 파일에 필요한 include를 추가하는 빠르고 간편한 설치 과정을 위한 것입니다. 설정 스크립트는 vhost 설정 파일이 /etc/nginx/sites-available/에 있으며 각 vhost 설정 파일의 확장자가 .vhost라고 가정합니다.

  • 수동 설치 지침은 다음을 참조하세요 - https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/blob/master/MANUAL-CONFIGURATION.md

  • setup-ngxblocker, install-ngxblocker 및 update-ngxblocker는 모두 명령줄에서 사용자 지정 설치/업데이트 위치로 구성할 수 있습니다. (이 스크립트와 비표준 Nginx 위치를 사용하는 방법은 지침의 11단계를 참조하세요)

  • 옵션을 보려면 setup, install 또는 update 스크립트를 --help 또는 -h와 함께 실행하세요.

참고: Let's Encrypt SSL 인증서를 사용하는 경우 권장되며 100% 작동하는 방법은 Webroot Authenticator Method를 사용하는 것입니다. http challenge 방식을 사용하는 일부 사용자에게 문제가 있는 것으로 보이지만 webroot 방식은 완벽하게 작동함을 확인했습니다. http-01 challenge 방식이 certbot 버그인지 nginx 버그인지는 현재 불확실합니다.

[WARN] NGINX의 중복 네트워크 메시지

꼭 읽어주세요

Nginx의 중복 네트워크 보고는 버그가 아니며 수정할 수도 없습니다. 이는 차단기의 의도된 동작입니다. IP 블랙리스트의 일일 업데이트로 인해 일부 잘 알려진 IP 및 범위가 블랙리스트에 등록됩니다 old value "1" 그런 다음 로딩 순서상 globalblocklist의 맨 끝에서 화이트리스트로 처리되어 우리가 양호하다고 아는 IP를 새 value "0" 으로 설정하여 화이트리스트에 등록합니다. 차단기 출시 첫날부터 이렇게 되어 왔으며 앞으로도 계속 이렇게 유지됩니다. 이는 단순한 [WARN] 메시지이지 [EMERG] 메시지가 아니며 Nginx 작동에 어떠한 영향도 미치지 않습니다.


Linux

install-ngxblocker를 /usr/local/sbin/ 디렉토리에 다운로드하고 스크립트를 실행 가능하게 만드세요.```sh sudo wget https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -O /usr/local/sbin/install-ngxblocker sudo chmod +x /usr/local/sbin/install-ngxblocker

root@kitploit:~
Linux 배포판에 wget이 없다면 위의 wget 명령어를 다음과 같이 curl로 대체할 수 있습니다:```sh
curl -sL https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -o /usr/local/sbin/install-ngxblocker
FreeBSD

패키지를 설치합니다.```sh pkg install www/nginx-ultimate-bad-bot-blocker

root@kitploit:~
또는 portmaster를 통해 설치하세요:```sh
portmaster www/nginx-ultimate-bad-bot-blocker

이제 DRY-MODE로 install-ngxblocker 스크립트를 실행하면, 스크립트가 어떤 변경을 수행하고 어떤 파일을 다운로드할지 보여줍니다. 이는 DRY-RUN일 뿐이므로 아직 변경 사항은 적용되지 않습니다.

install-ngxblocker는 setup 및 update 스크립트를 포함한 모든 필수 파일을 다운로드합니다.```sh cd /usr/local/sbin sudo ./install-ngxblocker

root@kitploit:~
이렇게 하면 적용될 변경 사항의 출력이 다음과 같이 표시됩니다
**(참고: 이는 DRY-RUN일 뿐이며 아무런 변경도 이루어지지 않았습니다)**```text
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run  as 'install-ngxblocker -x' to install files.

Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker

setup-ngxblocker, install-ngxblocker 및 update-ngxblocker는 모두 명령줄에서 사용자 지정 설치/업데이트 위치로 구성할 수 있습니다.

setup, install 또는 update 스크립트를 --help 또는 -h와 함께 실행하여 옵션을 확인하세요.


이제 -x 매개변수와 함께 install 스크립트를 실행하여 저장소에서 필요한 모든 파일을 다운로드하세요:```sh cd /usr/local/sbin/ sudo ./install-ngxblocker -x

root@kitploit:~
This will give you the following output:```text
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf...OK
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker...OK
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker...OK

필요한 모든 파일이 이제 저장소에서 직접 Nginx의 올바른 폴더로 다운로드되었습니다.

계속 진행하기 전에 다음 두 명령을 실행하여 설정 및 업데이트 스크립트를 실행 가능하게 설정했는지 확인하세요. 이는 4단계 이후로 진행하기 전에 중요합니다.```sh sudo chmod +x /usr/local/sbin/setup-ngxblocker sudo chmod +x /usr/local/sbin/update-ngxblocker

root@kitploit:~
**setup-ngxblocker, install-ngxblocker 및 update-ngxblocker는 모두 명령줄에서 사용자 지정 설치/업데이트 위치로 구성할 수 있습니다.**

**setup, install 또는 update 스크립트 중 하나를 --help 또는 -h 옵션과 함께 실행하여 옵션을 확인하세요.**

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-4.png"/>

이제 setup-ngxblocker 스크립트를 DRY-MODE로 실행하면 어떤 변경 사항이 적용되고 어떤 파일이 다운로드될지 확인할 수 있습니다. 이는 DRY-RUN일 뿐이므로 아직 변경 사항은 적용되지 않습니다.```sh
cd /usr/local/sbin/
sudo ./setup-ngxblocker

이렇게 하면 다음과 같은 출력이 나옵니다(아래 출력은 nginx.conf 파일에 이미 /etc/nginx/conf.d/* 의 기본 include가 있다고 가정합니다). 제가 아는 모든 Nginx 설치본에는 모든 버전에 배포되는 nginx.conf 파일에 이 기본 include가 있습니다.```text Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run as 'setup-ngxblocker -x' to setup files.

INFO: /etc/nginx/conf.d/* detected => /etc/nginx/nginx.conf inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain1.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain1.com.vhost

Whitelisting ip: x.x.x.x => /etc/nginx/bots.d/whitelist-ips.conf

root@kitploit:~
이 스크립트는 또한 whitelist-ips.conf 파일에 사용자의 IP를 자동으로 화이트리스트에 추가합니다.
추가 IP 또는 IP 범위는 /etc/nginx/bots.d/whitelist-ips.conf에 위치한 사용자 지정 가능한 whitelist-ips.conf 파일에 추가할 수 있습니다.

**setup-ngxblocker, install-ngxblocker 및 update-ngxblocker는 모두 명령줄에서 사용자 지정 설치/업데이트 위치로 구성할 수 있습니다.**

**setup, install 또는 update 스크립트 중 하나를 --help 또는 -h와 함께 실행하여 옵션을 확인하세요.**


************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-5.png"/>

이제 -x 매개변수와 함께 setup 스크립트를 실행하여 nginx.conf에 필요한 모든 변경 사항을 적용하고(필요한 경우) 모든 vhost 파일에 필요한 include 항목을 추가하세요.

이 setup-ngxblocker 스크립트는 /etc/nginx/sites-available에 있는 모든 vhost 파일이 .vhost 확장자로 끝난다고 가정합니다. 모든 vhost 구성 파일을 .vhost 확장자로 끝내는 것이 좋은 관행이지만, 기존에 사용 중인 확장자(예: .conf)를 유지하려면 setup-ngxblocker를 실행할 때 `-e` 매개변수를 사용하여 vhost 파일에 사용하는 확장자를 지정하면 됩니다.

예를 들어 vhost 파일이 .conf로 끝나는 경우 다음과 같이 추가 명령줄 매개변수를 사용하여 setup-ngxblocker를 실행해야 합니다:

`sudo ./setup-ngxblocker -x -e conf`

이제 setup 스크립트를 실행하여 Bot Blocker가 모든 사이트에서 활성화되도록 필요한 모든 변경 사항을 적용하도록 합시다.```sh
cd /usr/local/sbin/
sudo ./setup-ngxblocker -x

이 도구는 다음 출력을 표시합니다:```text Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

INFO: /etc/nginx/conf.d/* detected => /etc/nginx/nginx.conf inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain1.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain1.com.vhost

Whitelisting ip: x.x.x.x => /etc/nginx/bots.d/whitelist-ips.conf

root@kitploit:~
이 설정 스크립트가 수행한 작업은 단순히 다음 include 문을 .vhost 파일에 추가한 것이며, nginx.conf의 include에 /etc/nginx/conf.d/*도 추가합니다(아직 nginx.conf에 없다면). 그렇지 않으면 전체 스크립트가 실패합니다.

테스트 베드 서버의 모든 .vhost 파일에 include가 적용된 것을 확인할 수 있을 것이며, 또한 whitelist-ips.conf 파일에 사용자의 IP 주소가 자동으로 화이트리스트에 추가되었습니다. 추가 IP 또는 IP 범위는 /etc/nginx/bots.d/whitelist-ips.conf에 위치한 사용자 정의 가능한 whitelist-ips.conf 파일에 추가할 수 있습니다.```nginx
# Bad Bot Blocker
include /etc/nginx/bots.d/ddos.conf;
include /etc/nginx/bots.d/blockbots.conf;

setup-ngxblocker, install-ngxblocker 및 update-ngxblocker는 모두 명령줄에서 사용자 지정 설치/업데이트 위치로 구성할 수 있습니다.

setup, install 또는 update 스크립트를 --help 또는 -h와 함께 실행하여 옵션을 확인하세요.


이제 nginx 구성을 테스트합니다

sudo nginx -t

그러면 다음과 같은 결과가 표시됩니다```text nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

root@kitploit:~
************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-7.png"/>

이제 Nginx를 리로드/재시작하기만 하면 Bot Blocker가 즉시 활성화되어 모든 웹사이트를 보호합니다.

`sudo nginx -t && sudo nginx -s reload`

또는

`sudo service nginx restart`

이것으로 끝입니다. 이제 차단기가 활성화되어 수천 개의 악성 봇과 도메인으로부터 사이트를 보호합니다.

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-8.png"/>

이제 cron을 설정하여 차단기가 매일 자동으로 업데이트되도록 하여 항상 최신 보호 기능을 유지하세요.

`sudo crontab -e`

crontab 파일 끝에 다음 줄을 추가하세요. 업데이트 보고서가 전송될 이메일 주소를 지정하려면 `-e` 명령줄 매개변수를 추가해야 합니다. 당연히 `[email protected]`을 실제 이메일 주소로 바꾸지 않으면 스크립트가 업데이트되었을 때 이메일을 받을 수 없습니다.

`00 22 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]` 

이렇게 하면 매일 밤 10시에 차단기가 자동으로 업데이트됩니다.

더 자주 업데이트하려면(때때로 하루에 3~4회 업데이트를 배포하기도 합니다) 다음과 같이 cron을 8시간마다 실행하도록 설정할 수 있습니다. 다만 하루에 한 번이면 충분합니다.

`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]`       

업데이트 후 이메일 알림을 원하지 않는다면(Nginx가 리로드 중 EMERG 오류가 발생할 수 있으므로 권장하지 않음) 다음과 같이 cron을 실행하면 됩니다.

`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -n`       

<a href="https://www.mailgun.com/">mailgun</a>을 통해 이메일을 보내려면 다음과 같이 cron을 실행하세요:

`00 22 * * * sudo /usr/local/sbin/update-ngxblocker -g [email protected] -d yourdomain.com -a mailgun api key -f [email protected]`

이것으로 끝입니다. 차단기는 자동으로 최신 상태를 유지하며 globalblacklist.conf 파일의 최신 버전을 다운로드한 후 Nginx를 리로드합니다.

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-9.png"/>

이제 아래 파일 중 원하는 파일을 환경이나 요구 사항에 맞게 사용자 지정할 수 있습니다. 이러한 파일은 위의 자동 업데이트 스크립트를 사용한 업데이트 중에도 수정되지 않으므로, 여기서 수행한 사용자 지정은 업데이트 중에 덮어쓰이지 않습니다.```text
/etc/nginx/bots.d/whitelist-ips.conf
/etc/nginx/bots.d/whitelist-domains.conf
/etc/nginx/bots.d/blockbots.conf
/etc/nginx/bots.d/blacklist-domains.conf
/etc/nginx/bots.d/blacklist-user-agents.conf
/etc/nginx/bots.d/blacklist-ips.conf
/etc/nginx/bots.d/bad-referrer-words.conf
/etc/nginx/bots.d/custom-bad-referrers.conf
/etc/nginx/bots.d/ddos.conf

어떤 "모호한" 이유로 실제로 GoogleBot이 귀하의 사이트에 접근하는 것을 차단하고 싶다고 가정해 봅시다. 간단히 /etc/nginx/bots.d/blacklist-user-agents.conf 파일에 추가하면 기본 GoogleBot 화이트리스트를 재정의하게 됩니다. 기본적으로 화이트리스트에 등록된 다른 모든 봇에도 동일하게 적용됩니다.

모든 include 파일은 사용자의 편의를 위해 주석 처리되어 있습니다.


이 프로젝트가 도움이 되었다면, 지원해 주세요

Buy me Coffee


(작동 여부 테스트)

테스트

다른 Linux 머신의 터미널에서 귀하의 도메인 이름을 대상으로 다음 명령을 하나씩 실행하십시오.

❗ 아래 예시의 http:// yourdomain.com ❗ 을(를) 귀하의 실제 도메인 이름으로 대체하십시오 ❗

curl -A "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" -I http://yourdomain.com

curl -A "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" -I http://yourdomain.com

200 OK로 응답해야 합니다

curl -A "Xenu Link Sleuth/1.3.8" -I http://yourdomain.com

curl -A "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)" -I http://yourdomain.com

다음 오류 메시지 중 하나로 응답해야 합니다:

  • curl: (52) Empty reply from server
  • curl: (56) TCP connection reset by peer
  • curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

curl -I http://yourdomain.com -e http://100dollars-seo.com

curl -I http://yourdomain.com -e http://zx6.ru

다음 오류 메시지 중 하나로 응답해야 합니다:

  • curl: (52) Empty reply from server
  • curl: (56) TCP connection reset by peer
  • curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

Nginx Ultimate Bot Blocker가 이제 작동하여 귀하의 웹 사이트를 보호하고 있습니다!!!

❗ 아래 예시의 http:// yourdomain.com ❗ 을(를) 귀하의 실제 도메인 이름으로 대체하십시오 ❗

Cloudflare 사용자를 위한 참고 사항!!!

Cloudflare CDN / 캐싱 시스템을 사용하는 Cloudflare 사용자라면 항상 Cloudflare CDN을 비활성화(회색 구름 설정)해야 합니다.

테스트하는 동안 아래와 같은 올바른 응답 코드 결과를 얻을 수 있습니다:

  • curl: (52) Empty reply from server
  • curl: (56) TCP connection reset by peer
  • curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

이는 의도된 설계입니다. CDN이 제 역할을 하고 있다는 뜻입니다. 즉, 서버의 첫 번째 응답이 봇에게 444 또는 443 응답을 발행하여 "가라"고 말한 것입니다.

Cloudflare는 해당 응답을 캐시하므로 두 번째 테스트 시 520 Origin Error 원본 오류 메시지가 표시됩니다.

블로커를 테스트하는 동안 CDN / 캐싱 시스템을 비활성화하고 테스트 결과에 만족하면 라이브 환경에서 CDN/캐시를 다시 활성화하십시오. 봇이 Cloudflare로부터 해당 응답을 받기를 원하기 때문입니다.

대부분의 다른 CDN 시스템도 동일한 동작을 보일 수 있으므로 테스트 중에는 항상 CDN을 비활성화하여 테스트를 방해할 수 있는 요소를 배제하십시오. 테스트가 끝나면 반드시 CDN을 다시 활성화하십시오!!

Cloudflare CDN을 활성화한 후 다시 테스트하십시오.

테스트 중에 다음이 표시되면

  • curl: 520 Origin Error

이는 CDN이 작동 중임을 의미합니다.


선택 사항

비표준 NGINX 폴더 위치에 블로커 설치

일부 사용자는 Nginx를 직접 빌드하여 /etc/nginx에 표준 nginx 폴더 위치가 없는 경우가 있습니다.

이러한 사용자를 위해 install-ngxblocker, setup-ngxblocker 및 update-ngxblocker를 실행할 때 명령줄에서 폴더 위치를 지정할 수 있습니다.

sudo ./install-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d

sudo ./setup-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d

sudo ./update-ngxblocker -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d -e [email protected]

이렇게 하면 지정한 위치에 파일이 자동으로 배치되고, 사용자 지정 위치를 사용하여 vhost에 include가 자동으로 추가됩니다. 또한 update-ngxblocker가 새 업데이트를 가져올 때 globalblacklist.conf 파일 내부의 "Include" 섹션을 사용자 지정 위치로 자동 재작성합니다. 이 훌륭한 스크립트를 기여해 주신 Stuart Cardall @itoffshore에게 다시 한번 감사드립니다.


[WARN] NGINX의 중복 네트워크 메시지

꼭 읽어주세요

Nginx의 중복 네트워크 보고는 버그가 아니며 수정할 수도 없습니다. 이는 블로커의 의도된 동작입니다. IP 블랙리스트의 일일 업데이트로 인해 일부 잘 알려진 IP 및 범위가 블랙리스트에 등록되고 old value "1" 그런 다음 로딩 순서상 globalblocklist의 맨 끝에서 화이트리스트에 등록되어 우리가 알고 있는 양호한 IP를 새 value "0" 으로 설정하여 화이트리스트에 등록합니다. 블로커의 첫날부터 이렇게 되어 왔으며 앞으로도 계속 그럴 것입니다. 이는 단순한 [WARN] 메시지이지 [EMERG] 메시지가 아니며 Nginx 작동에 어떠한 방식으로도 영향을 미치지 않습니다.


왜 나쁜 봇을 차단해야 하나요?

나쁜 봇의 정의

나쁜 봇은 다음과 같습니다:
  • 나쁜 리퍼러(Bad Referrers)
  • 나쁜 사용자 에이전트 문자열
  • 스팸 리퍼러
  • 스팸 봇 및 악성 봇
  • 성가신 또는 원치 않는 봇
  • 수익성 높은 멀웨어, 애드웨어 및 랜섬웨어 클릭재킹 캠페인에 연결된 사이트
  • 취약점 스캐너
  • 도박 및 성인 웹 사이트
  • 이메일 수집기
  • 콘텐츠 스크레이퍼
  • 링크 순위 봇
  • 콘텐츠를 스크랩하는 공격적인 봇
  • 이미지 핫링킹 사이트 및 이미지 도용자
  • 바이러스 또는 멀웨어와 연결된 봇 또는 서버
  • 정부 감시 봇
  • 봇넷 공격 네트워크 (Mirai)
  • 알려진 Wordpress 테마 탐지기 (정기 업데이트)
  • 경쟁업체가 SEO를 개선하기 위해 사용하는 SEO 회사
  • 링크 리서치 및 백링크 테스트 도구
  • Google Analytics 고스트 스팸 차단
  • 브라우저 애드웨어 및 멀웨어 (Yontoo 등)

(4000개 이상의 나쁜 리퍼러, 스팸 리퍼러, 사용자 에이전트, 나쁜 봇, 나쁜 IP, 성인, 도박 및 클릭재킹 사이트, 수익성 높은 SEO 회사, wordpress 테마 탐지기 및 계속 증가 중)

  • Google Analytics에서 필터 / 세그먼트를 만들기 위한 google-exclude.txt 파일 생성 포함 (아래 지침 참조)
  • Google Webmaster Tools에서 사용하기 위한 google-disavow.txt 파일 생성 포함 (아래 지침 참조)
  • 샘플 Nginx SSL Vhost 구성 참조: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/blob/master/NGINX-SSL-Site-Config-Example.md

이 프로젝트 지원하기

수천 시간의 프로그래밍과 테스트가 이 프로젝트에 투입되었습니다. 약간의 성원을 보내주세요

Buy me Coffee


Ultimate Nginx Bad Bot, User-Agent, Spam Referrer Blocker, Adware, Malware and Ransomware Blocker, Click-Jacking Blocker, Click-Redirect Blocker and Bad IP Blocker with Anti DDOS System, Nginx Rate Limiting and Wordpress Theme Detector Blocking에 오신 것을 환영합니다.

봇은 사용자 에이전트를 위장하여 다른 소프트웨어나 웹 사이트처럼 보이게 하려고 시도합니다. 그들의 사용자 에이전트 이름은 무해해 보이고, 완전히 합법적으로 보일 수도 있습니다.

예를 들어, "^Java"는 Project Honeypot에 따르면 실제로 가장 위험한 것 중 하나이지만, 많은 합법적인 봇이 사용자 에이전트 문자열에 "Java"를 포함하고 있습니다. 따라서 많은 사람들이 "Java"를 차단하는 접근 방식은 무지할 뿐만 아니라 Google과 Bing의 일부를 포함한 매우 합법적인 크롤러까지 차단하는 것이며, 이는 봇 차단 스크립트를 작성하는 사람들이 거의 테스트를 하지 않는다는 것을 분명히 보여줍니다.

스팸 리퍼러와 스팸 도메인 이름은 매우 교묘한 기술을 사용하여 귀하의 사이트에서 이탈하여 웹을 탐색하는 무고한 사람들에게 광고를 게재하거나 브라우저에 멀웨어, 애드웨어 또는 랜섬웨어를 심어 수익성 높은 봇 네트워크의 일부가 되게 하는 매우 수익성 높은 클릭재킹 및 클릭 리디렉션 캠페인을 실행합니다.

이 봇 블로커에는 대부분의 사람들이 Nginx 로그에서조차 볼 수 없는 수백 개의 도메인 이름과 IP 주소가 포함되어 있습니다. 이는 제 모든 사이트가 SSL로 실행되고 Content-Security-Policy (CSP)를 사용하여 Nginx에 도달하기 전에 차단하기 때문이며, 저는 최악의 도메인과 봇 중 일부를 발견했고 계속 발견하고 있습니다.

방대한 양의 성인, 도박 및 가짜 뉴스 웹 사이트도 빠르게 증가하는 이 블로커 스크립트에서 차단됩니다.

안타깝게도 대부분의 봇 차단 스크립트는 단순히 다른 사람의 스크립트를 복사하여 붙여넣고 자신의 작업처럼 보이게 만든 것입니다. 이 스크립트는 https://github.com/mariusv 가 만든 것에서 영감을 받았으며 저는 그 프로젝트에 기여했지만 완전히 새로운 레이아웃으로 전환하여 대대적으로 정리하고 처음부터 다시 시작했습니다. 이제 완전히 독립적인 프로젝트입니다. 깔끔하고 작동하며 철저히 테스트되었습니다.


기본 사항

이 nginx 나쁜 봇 차단 목록은 전역 Nginx include 파일로 설계되었으며 Nginx map $http_user_agent, map $http_referer 및 geo $validate_client 지시문을 사용합니다.

이렇게 하면 .conf 파일이 Nginx에 의해 메모리에 한 번 로드되어 운영하는 모든 웹 사이트에서 사용할 수 있습니다. Nginx vhost conf 파일에서 Include 문을 사용하기만 하면 됩니다.


중앙 집중식:

이것의 장점은 모든 웹 사이트에서 사용하는 하나의 중앙 파일이라는 것입니다. 즉, 로그 파일에서 발견한 새 봇을 추가하는 등 수정할 수 있는 곳이 한 곳뿐입니다. 간단한 "sudo service nginx reload" 후 모든 변경 사항이 모든 사이트에 즉시 적용됩니다. 그러나 물론 reload 전에 항상 sudo nginx -t를 실행하여 구성 변경 사항을 테스트하십시오.


작고 가벼움

파일 크기가 매우 작습니다. 이 글을 작성하고 첫 공개 커밋을 할 당시 "nginx가 무시하는" 모든 주석을 포함한 파일 크기는 단 185 kb이며 이미 5000개 이상의 나쁜 도메인, 나쁜 봇 및 나쁜 IP 주소를 포함하고 있습니다. 너무 가벼워서 Nginx가 존재조차 인식하지 못합니다. 이미 수천 개의 항목을 포함하고 있습니다 - 총 업데이트 수는 이 README 상단에 있습니다.


정확하며 오탐(false positive)이 없음

Nginx 및 Apache용 다른 많은 나쁜 봇 차단기와 달리 사람들이 단순히 다른 사람의 목록을 복사하여 붙여넣는 경우가 많은데, 이 목록은 처음부터 구축되었고 10개월 넘게 철저히 테스트되었습니다. 매일 모니터링되는 실제 서버 로그에서 비롯되었으며 거의 매일 이 파일에 최소 3-10개의 새 항목이 추가됩니다.

또한 수개월간의 지속적이고 정기적인 테스트와 로그 파일 모니터링을 통해 오탐(false positive)에 대해 철저히 테스트되었습니다.

나쁜 리퍼러에 나열된 모든 웹 사이트는 추가되기 전에 하나씩 확인됩니다. 로그 파일에서 의심스러워 보이는 것을 복사하여 먼저 실제로 무엇인지 확인하지 않고 이와 같은 차단기에 추가하는 것은... 최소한 어리석은 일입니다.


연결 끊기, 그게 전부입니다

Nginx에는 말 그대로 연결을 끊는 444라는 훌륭한 오류가 있습니다. 모든 규칙은 444 응답을 발행하므로 규칙이 일치하면 요청하는 IP는 응답을 받지 못하며 서버가 존재하지 않거나 오프라인 상태인 것처럼 보입니다.

/conf.d/globalblacklist.conf 파일에 문서화된 테스트 명령줄 중 하나를 사용한 curl 테스트는 간단한 "curl: (52) Empty reply from server"를 제공하며 이것이 나쁜 리퍼러와 봇이 받는 응답입니다.


내장된 속도 제한 기능

계속 허용하고 싶지만 방문 속도를 제한하려는 봇이나 스파이더의 경우, 제가 포함한 내장 속도 제한 기능을 사용할 수 있습니다. 파일 전체에 광범위한 주석이 있으므로 이해할 수 있을 것입니다. 문제가 있으면 저에게 메시지를 보내십시오.


풀 리퀘스트 / 수정 / 오탐(false positive):

Log an Issue 또는 자신이 발견한 나쁜 리퍼러, 봇을 기여하거나 잘못 차단된 봇이나 도메인을 수정하려면 이 저장소를 포크하여 여기에 있는 개별 파일에 대한 풀 리퀘스트(PR)를 보내십시오.

모든 추가, 제거 및 수정 사항은 기본 블로커에 병합되기 전에 정확성을 검증합니다.

이슈:

Log an Issue 잘못된 목록이나 기타 문제에 대해 이슈 시스템에 등록하면 조사 후 필요한 경우 제거됩니다. 저는 사용자 문제에 매우 빠르게 응답하며 수많은 사용자가 봇 차단기를 작동시키도록 며칠씩 도와왔습니다. 제가 미쳤다고 말할 수도 있지만(논란의 여지가 있음) 저는 사람들을 돕는 것을 좋아하며 이슈나 작동에 문제가 있는 사람들을 무시하지 않습니다.


NGINX BAD BOT BLOCKER의 기능:

  • 나쁜 봇 및 알려진 나쁜 봇과 스크레이퍼의 광범위한 목록 (거의 매일 업데이트)
  • 스팸 리퍼러 도메인 및 웹 사이트 차단
  • Semalt.com, Builtwith.com, WooRank.com 등과 같은 SEO 데이터 수집 회사 차단 (정기 업데이트)
  • 애드웨어, 멀웨어 및 랜섬웨어와 연결된 클릭재킹 사이트 차단
  • 귀하의 도메인 이름과 웹 사이트에서 이탈하여 광고 게재를 통해 수익을 창출하는 수익성 높은 방법을 사용하는 성인 및 도박 웹 사이트 차단
  • Nginx 로그에서조차 볼 수 없는 나쁜 도메인 및 IP 차단. 모든 SSL 사이트의 Content Security Policy (CSP) 덕분에 Nginx에 도달하기 전에 내 사이트에서 리소스를 가져오려는 것을 볼 수 있으며 CSP에 의해 차단됩니다.
  • 공격적인 봇에 대한 Anti DDOS 필터 및 속도 제한
  • 유지 관리를 쉽게 하기 위해 알파벳순 정렬 (풀 리퀘스트 환영)
  • 차단 전에 확인해야 할 특정 중요 봇에 대한 주석 섹션
  • robots.txt 규칙을 무시하고 인터넷 전체를 샅샅이 뒤지는 것으로 알려진 Cyveillance의 IP 범위 포함
  • Google, Bing 및 Cloudflare IP 범위 화이트리스트
  • 실수로 차단하지 않도록 원하는 자체 IP 범위 화이트리스트
  • 차단하려는 다른 IP 범위 및 IP 블록을 추가하는 기능
  • 존재하고 나쁜 것이 있다면 이미 여기에 포함되어 차단됩니다!!

PUNYCODE / IDN 도메인 이름 이해

많은 목록이 호스트 파일에 이상한 도메인을 넣습니다. 호스트 파일과 DNS는 이를 이해하지 못합니다. 이 목록은 모든 운영 체제에서 이해할 수 있는 올바른 DNS 형식으로 변환된 도메인을 사용합니다. 올바른 형식의 도메인 구조를 목록에 넣지 않는 목록은 사용하지 마십시오.

예를 들어 도메인:

lifehacĸer.com (K에 주목)

실제로는 다음과 같이 변환됩니다:

xn--lifehacer-1rb.com

모든 운영 체제에서 nslookup을 수행하면 올바르게 해석됩니다.

`nslookup xn--lifehacer-1rb.com````xn--lifehacer-1rb.com origin = dns1.yandex.net mail addr = iskalko.yandex.ru serial = 2016120703 refresh = 14400 retry = 900 expire = 1209600 minimum = 14400 xn--lifehacer-1rb.com mail exchanger = 10 mx.yandex.net. Name: xn--lifehacer-1rb.com Address: 78.110.60.230 xn--lifehacer-1rb.com nameserver = dns2.yandex.net. xn--lifehacer-1rb.com text = "v=spf1 redirect=_spf.yandex.net" xn--lifehacer-1rb.com nameserver = dns1.yandex.net.

root@kitploit:~
- 참고: https://www.charset.org/punycode 에서 자세한 정보를 확인하세요.

************************************************
## 항상 자신이 무엇을 하고 있는지 모니터링하세요:

**이 기능을 구현한 후에는 웹 사이트 로그를 모니터링**하세요. 먼저 한 사이트에 이 기능을 적용한 후, 모든 웹 사이트에 프로덕션으로 적용하기 전에 오탐(false positive) 가능성이 없는지 모니터링할 것을 권장합니다.

머리를 모래에 묻고 타조처럼 행동하지 마세요. 책임 있는 서버 운영자이자 웹 사이트 소유자라면 로그를 자주 모니터링해야 합니다. 처음에 이곳에 오게 된 많은 이유가 Nginx 로그 파일에서 지저분한 내용을 보았기 때문일 것입니다.

또한 차단하려는 새로운 악성 리퍼러(referer)와 사용자 에이전트 문자열이 있는지 매일 로그를 모니터링하세요. 이 목록에 추가할 수 있는 가장 좋은 소스는 제 목록이 아니라 여러분 자신의 서버 로그입니다.

자신의 로그에서 발견한 악성 리퍼러를 Pull Request(PR)를 보내 이 프로젝트에 자유롭게 기여해 주세요. 하지만 이 목록만으로도 대부분의 악성 봇을 차단할 수 있다고 믿어도 좋습니다.

************************************************
## 매일 로그를 모니터링하는 방법 (간편한 방법):

**다음에 깊은 감사와 존경을 표합니다**

https://blog.nexcess.net/2011/01/21/one-liners-for-apache-log-files/

특정 웹 사이트의 로그 파일에서 상위 리퍼러를 매일 모니터링하려면 다음의 간단한 cron 작업을 사용하세요. 매일 아침 특정 웹 사이트의 로그 파일에서 상위 리퍼러/사용자 에이전트 목록을 이메일로 보내줍니다. 다음은 한 사이트에 대한 하나의 cron 작업 예시입니다. 모니터링하려는 각 사이트마다 여러 개를 설정하세요. 다음은 매일 아침 8시에 실행되어 리퍼러의 축약된 로그를 이메일로 보내는 cron입니다. "축약된"이라는 말은 사이트 도메인과 Google, Bing 같은 리퍼러가 결과에서 제외된다는 뜻입니다. 물론 아래 예시에서 로그 파일 이름, 도메인 이름, 이메일 주소를 변경해야 합니다. 사용자 에이전트를 수집하는 두 번째 cron은 리퍼러를 전혀 제외하지 않지만, 첫 번째 예시의 awk 문 `!~`를 복사하여 해당 기능을 추가할 수 있습니다.

##### Nginx에서 일일 리퍼러 모니터링을 위한 Cron

`00 08 * * * tail -10000 /var/log/nginx/mydomain-access.log | awk '$11 !~ /google|bing|yahoo|yandex|mywebsite.com/' | awk '{print $11}' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s "Top 1000 Referers for Mydomain.com" [email protected]`

이 명령은 google, bing 및 자신의 도메인 이름과 같은 도메인을 제외하는 awk 명령을 사용하여 일일 리퍼러 목록을 이메일로 보냅니다.

##### Nginx에서 일일 사용자 에이전트 모니터링을 위한 Cron

`00 08 * * * tail -50000 /var/log/nginx/mydomain-access.log | awk '{print $12}' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s "Top 1000 Agents for Mydomain.com" [email protected]`

이 명령은 지난 24시간 동안 사이트를 방문한 상위 사용자 에이전트 목록을 이메일로 보내며, 악의적이거나 의심스러운 사용자 에이전트 문자열을 발견하는 데 유용합니다.

************************************************
## FAIL2BAN을 사용하여 방화벽 수준에서 공격적인 봇 차단:

대량의 444 오류를 생성하는 봇에 대해 Nginx 로그를 모니터링하는 맞춤형 Fail2Ban 필터와 액션을 추가했습니다. 이 맞춤형 Fail2Ban 감옥(jail)은 1주일 기간 동안 로그를 스캔하고 위반자를 24시간 동안 차단합니다.
이는 일부 상습 위반자를 차단하고 444 오류로 로그 파일을 가득 채우는 것을 방지하는 데 큰 도움이 됩니다.
이 훌륭한 Nginx Bad Bot Blocker 애드온을 구성하는 방법은 Fail2Ban 폴더를 참조하세요.

************************************************
## GOOGLE ANALYTICS "GHOST" 스팸 중지:

Nginx 차단기를 사용하는 것만으로는 Google Analytics 고스트 리퍼러 스팸을 막을 수 없습니다. 해당 스팸은 Analytics를 직접 공격하며 반드시 웹 사이트를 거치지 않기 때문입니다.

고스트 리퍼러 스팸을 방지하려면 Analytics에서 정규식 필터를 사용해야 합니다.

이를 위해 여러분을 위해 생성된 google-exclude-0*.txt 파일이 여러 개 있으며, Nginx 차단기가 업데이트될 때 동시에 업데이트됩니다. 목록이 커짐에 따라 더 많은 제외 파일이 생성될 것입니다.

************************************************
## GOOGLE ANALYTICS의 "GHOST" 스팸을 중지하려면 아래의 간단한 시각적 가이드를 따르세요

아래의 단계별 시각적 지침에 따라 이 google-exclude 파일을 웹 사이트에 세그먼트로 추가하세요.

<table style="width:100%;margin:0;">
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-01.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-02.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-03.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-04.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-05.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-06.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-07.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
</table>

************************************************
## GOOGLE SEARCH CONSOLE / WEBMASTER TOOLS를 사용하여 스팸 도메인 차단
(google-disavow.txt 파일 사용 방법)

Google Disavow 텍스트 파일인 google-disavow.txt 생성을 추가했습니다. 이 파일은 Google 웹마스터 도구에서 이러한 모든 도메인을 스팸성 또는 유해한 링크로 차단하는 데 사용할 수 있습니다. 주의해서 사용하세요.

************************************************
## 이 전체 차단기를 사용할 수 없는 사람들을 위한 ROBOTS.txt 버전?

많은 사람들이 호스팅 회사의 제약을 받아 웹 사이트 뒤에서 실행되는 서버에 대한 루트 액세스 권한이 없습니다. 이러한 상황이라면 자동 생성된 robots.txt 파일을 확인하세요. 이 파일은 많은 악성 봇과 사용자 에이전트를 사이트에서 차단하는 데 어느 정도 도움이 될 것입니다.

************************************************
## 이 전체 차단기를 사용할 수 없는 사람들을 위한 .htaccess 버전?

많은 사람들이 호스팅 회사의 제약을 받아 웹 사이트 뒤에서 실행되는 서버에 대한 루트 액세스 권한이 없습니다.

이러한 상황이라면 <a href="https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/tree/master/.htaccess">이 저장소</a>에서 찾을 수 있는 자동 생성된 .htaccess 버전의 스팸 리퍼러 차단기를 확인하세요. 이 .htaccess 방법(APACHE 사이트 전용)은 이 차단기에 포함된 모든 스팸 리퍼러를 사이트에서 차단하는 데 도움이 될 것입니다.

CPanel 시스템을 사용하는 많은 사람들이 Nginx 서버 뒤에 있다고 생각하지만 실제로는 Nginx 프록시 서버 뒤에 있는 Apache 서버에서 실행되고 있기 때문에 여기서 언급합니다. .htaccess는 Nginx 사이트에서는 작동하지 않습니다.

Nginx 웹 서버를 사용하지 않나요? [![Get the APACHE ULTIMATE BAD BOT BLOCKER](https://img.shields.io/badge/APACHE%20-%20ULTIMATE%20BAD%20BOT%20BLOCKER%20%E2%9B%94-blue.svg)](https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker)를 확인하세요.

************************************************
# 정말 잘 작동합니다!!!
************************************************
## 이제 Nginx Bad Bot Blocker가 여러분과 여러분의 웹 사이트를 위해 할 수 있는 일을 즐기세요.
### 그리고 이 프로젝트를 지원해 주세요

이 프로젝트에는 수천 시간의 프로그래밍과 테스트가 투자되었습니다. 사랑을 보여주세요

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="Buy me Coffee" width="300"/>](https://ko-fi.com/mitchellkrog)

************************************************
# 웹 사이트가 해킹당하셨나요?

[![Contact me for help](https://img.shields.io/badge/Contact%20-%20me%20for%20help%20%F0%9F%9A%91-blue.svg)](mailto:[email protected]) 웹 사이트를 정리하고 보안을 강화하는 데 도움을 드리겠습니다.

************************************************
### 다른 훌륭한 무료 프로젝트들

- https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker
- https://github.com/mitchellkrogza/Badd-Boyz-Hosts
- https://github.com/mitchellkrogza/Ultimate.Hosts.Blacklist
- https://github.com/mitchellkrogza/Stop.Google.Analytics.Ghost.Spam.HOWTO
- https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites
- https://github.com/mitchellkrogza/fail2ban-useful-scripts
- https://github.com/mitchellkrogza/linux-server-administration-scripts
- https://github.com/mitchellkrogza/Travis-CI-Nginx-for-Testing-Nginx-Configuration
- https://github.com/mitchellkrogza/Travis-CI-for-Apache-For-Testing-Apache-and-PHP-Configurations
- https://github.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning
- https://github.com/funilrys/PyFunceble
- https://github.com/funilrys/dead-hosts
- https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites
- https://github.com/mitchellkrogza/Suspicious.Snooping.Sniffing.Hacking.IP.Addresses
- https://github.com/mitchellkrogza/Fail2Ban.WebExploits

************************************************
### 해킹된 멀웨어 및 WORDPRESS 웹 사이트의 새로운 대규모 목록도 확인하세요

이 저장소에는 제가 발견한 멀웨어에 감염된 모든 웹 사이트 목록이 포함되어 있습니다.
대부분의 사이트 소유자는 자신의 사이트가 해킹되어 멀웨어를 유포하는 데 사용되고 있다는 사실을 인지하지 못합니다.

확인하기: https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites

************************************************
### 사진에 관심이 있으신가요?

[mitchellkrog.com](https://mitchellkrog.com) 또는 [Facebook](https://www.facebook.com/MitchellKrogPhotography)에서 저를 방문하거나 Twitter에서 팔로우하세요 <a href='https://twitter.com/MitchellKrog'><img src="https://img.shields.io/twitter/follow/MitchellKrog.svg?style=social&amp;label=Follow" alt='Follow @MitchellKrog'></a>

************************************************
### 감사의 말 및 기여자:

이 프로젝트에 기여해 주신 모든 분들께 감사드립니다.

이 프로젝트 뒤에서 실행되는 생성기 스크립트와 코드의 많은 부분은 수백 개의 소스에서 얻은 스니펫을 각색한 것입니다.
사실 모든 분을 언급하기는 어렵지만, 새로운 기능을 지속적으로 도입하는 데 도움을 준 몇 가지 핵심 코드 스니펫을 제공한 주요 인물들을 소개합니다. 그들에게 사랑을 보여주고 그들의 프로젝트도 확인해 보세요.

- Konstantin Goretzki @konstantingoretzki https://github.com/konstantingoretzki (Fail2Ban 필터의 정규식 개선)
- Stuart Cardall - https://github.com/itoffshore (설치, 업데이트 및 설정 스크립트 & Alpine Linux 패키지 관리자)
- Mike van Eckendonk  - https://github.com/Eckybrazzz
- Nissar Chababy @funilrys - https://github.com/funilrys/PyFunceble (ACTIVE, INACTIVE 및 EXPIRED 도메인 이름 확인을 위한 훌륭한 스크립트)
- Marius Voila https://github.com/mariusv
- Cătălin Mariș https://github.com/alrra
- deformhead https://github.com/deformhead
- bluedragonz https://github.com/bluedragonz
- Alexander https://github.com/shoonois
- Steven Black https://github.com/StevenBlack
- Fail2Ban - https://github.com/fail2ban
- Stevie-Ray Hartog https://github.com/Stevie-Ray
- Sir Athos from StackOverFlow - http://stackoverflow.com/users/2245910/sir-athos (Travis 빌드 태깅 및 커밋 지원)
- StackOverflow - http://stackoverflow.com/ (수백 개의 질문과 답변에서 얻은 bash 스크립트)
- SuperUser - http://superuser.com/ (다양한 질문과 답변에서 얻은 스니펫)

여기에 이름이 포함되어야 한다고 생각되면 연락 주세요.

************************************************
### 이런 코드를 작성하는 데는 많은 시간이 걸립니다!!

이 프로젝트에는 수천 시간의 프로그래밍과 테스트가 투자되었습니다. 사랑을 보여주세요

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="Buy me Coffee" width="300"/>](https://ko-fi.com/mitchellkrog)

<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/zuko.png"/>

************************************************
# MIT 라이선스

## Copyright (c) 2017 Mitchell Krog - [email protected]
## https://github.com/mitchellkrogza

본 소프트웨어 및 관련 문서 파일(이하 "소프트웨어")의 사본을 얻은 모든 사람에게는 제한 없이 소프트웨어를 다룰 수 있는 권한이 무료로 부여됩니다. 여기에는 사용, 복사, 수정, 병합, 게시, 배포, 재라이선스 및/또는 소프트웨어 사본 판매 권한과 소프트웨어가 제공되는 사람에게 다음 조건에 따라 이를 허용할 권리가 포함됩니다:

위의 저작권 고지 및 본 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함되어야 합니다.

소프트웨어는 상품성, 특정 목적 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 어떠한 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타 행위에 관계없이 소프트웨어 또는 소프트웨어 사용 또는 기타 거래와 관련하여 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.
도구 다운로드