
Nginx बैड बॉट्स, स्पैम रेफरर ब्लॉकर, भेद्यता स्कैनर, यूज़र-एजेंट, मैलवेयर, एडवेयर, रैंसमवेयर और दुर्भावनापूर्ण साइटों को ब्लॉक करता है, साथ ही एंटी-DDOS, वर्डप्रेस थीम डिटेक्टर ब्लॉकिंग और बार-बार अपराध करने वालों के लिए Fail2Ban जेल।
| REPO | प्रायोजक बनें |
|---|---|
| यदि आप प्रायोजक बनते हैं तो आपका लोगो और आपके डोमेन का लिंक यहाँ दिखाई देगा। यदि आप इस प्रोजेक्ट को प्रायोजित करना चाहते हैं तो कृपया मुझे [email protected] पर ईमेल करें, क्योंकि Github प्रायोजक कार्यक्रम के अंतर्गत दक्षिण अफ्रीका अभी तक समर्थित नहीं है। | |
| मेरी सहायता https://ko-fi.com/mitchellkrog पर करें |
Nginx का उपयोग नहीं कर रहे? देखें
कृपया सुनिश्चित करें कि आप Github Notifications की सदस्यता लिए हुए हैं, ताकि ब्लॉकर अपडेट होने पर या कोई महत्वपूर्ण या मिशन-क्रिटिकल (संभावित रूप से ब्रेकिंग) परिवर्तन होने पर आपको सूचित किया जा सके।
यह हमारी नई पसंदीदा इंस्टॉलेशन विधि है, जो अब शेल स्क्रिप्ट्स के एक सेट के माध्यम से की जाती है, जिन्हें इस repo में योगदान दिया गया है और Stuart Cardall @itoffshore द्वारा बनाए रखा जाता है, जो Alpine Linux पैकेज मेंटेनर्स में से एक हैं।
नीचे दिए गए निर्देश एक त्वरित और परेशानी-मुक्त इंस्टॉलेशन प्रक्रिया के लिए हैं, जो ब्लॉकर के लिए आवश्यक सभी फाइलें डाउनलोड करती है और स्क्रिप्ट्स में आपके nginx.conf और nginx .vhost फाइलों में आवश्यक includes जोड़ना शामिल है। सेटअप स्क्रिप्ट मानती है कि आपकी 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 सभी को कमांड लाइन से कस्टम इंस्टॉलेशन / अपडेट स्थानों के साथ कॉन्फ़िगर किया जा सकता है। (निर्देशों का चरण 11 देखें, यह जानने के लिए कि इन स्क्रिप्ट्स और गैर-मानक Nginx स्थानों का उपयोग कैसे करें)
विकल्प देखने के लिए किसी भी setup, install या update स्क्रिप्ट को --help या -h के साथ चलाएँ।
कृपया ध्यान दें: Let's Encrypt SSL Certificates का उपयोग करने वालों के लिए पसंदीदा और 100% काम करने वाली विधि Webroot Authenticator Method का उपयोग करना है। http challenge विधि का उपयोग करने वाले लोगों के साथ कुछ समस्याएँ प्रतीत होती हैं, लेकिन पुष्टि कर सकते हैं कि webroot बिना किसी त्रुटि के काम करता है। हम इस बिंदु पर अनिश्चित हैं कि http-01 challenge विधि certbot या nginx की बग है।
Nginx से Duplicate network रिपोर्ट कोई बग नहीं है और न ही इसे ठीक किया जा सकता है, यह ब्लॉकर का वांछित व्यवहार है। IP ब्लैकलिस्ट के दैनिक अपडेट के कारण कुछ प्रसिद्ध IP और रेंज ब्लैकलिस्ट हो जाते हैं old value "1" फिर इन्हें globalblocklist के बिल्कुल अंत में whitelist कर दिया जाता है, जो लोडिंग का क्रम है, जो फिर उन IP को सेट करता है जिन्हें हम अच्छे के रूप में जानते हैं उनके नए value "0" पर, जिससे वे whitelist हो जाते हैं। ब्लॉकर के पहले दिन से यह इसी तरह रहा है और यह इसी तरह रहेगा। ये सरल [WARN] संदेश हैं, [EMERG] संदेश नहीं हैं, और ये किसी भी तरह से Nginx के संचालन को प्रभावित नहीं करते हैं।
install-ngxblocker को अपनी /usr/local/sbin/ निर्देशिका में डाउनलोड करें और स्क्रिप्ट को executable बनाएँ।```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
यदि आपके 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
पैकेज इंस्टॉल करें।```sh pkg install www/nginx-ultimate-bad-bot-blocker
वैकल्पिक रूप से पोर्टमास्टर के माध्यम से इंस्टॉल करें:```sh
portmaster www/nginx-ultimate-bad-bot-blocker
अब install-ngxblocker स्क्रिप्ट को DRY-MODE में चलाएँ, जो आपको दिखाएगा कि यह क्या बदलाव करेगी और आपके लिए कौन-सी फ़ाइलें डाउनलोड करेगी। यह केवल एक DRY-RUN है, इसलिए अभी कोई बदलाव नहीं किया जा रहा है।
install-ngxblocker सेटअप और अपडेट स्क्रिप्ट सहित सभी आवश्यक फ़ाइलें डाउनलोड करता है।```sh cd /usr/local/sbin sudo ./install-ngxblocker
यह आपको उन परिवर्तनों का आउटपुट दिखाएगा जो किए जाने वाले हैं
**(नोट: यह केवल एक 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 के साथ चलाएँ।
अब रिपॉजिटरी से सभी आवश्यक फाइलें डाउनलोड करने के लिए install स्क्रिप्ट को -x पैरामीटर के साथ चलाएँ:```sh cd /usr/local/sbin/ sudo ./install-ngxblocker -x
इससे आपको निम्नलिखित आउटपुट मिलेगा:```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 पर सही फ़ोल्डरों में डाउनलोड हो चुकी हैं।
सुनिश्चित करें कि आप अपने setup और update स्क्रिप्ट्स को निम्नलिखित दो कमांड चलाकर executable बनाते हैं। Step 4 और उसके बाद जारी रखने से पहले यह महत्वपूर्ण है।```sh sudo chmod +x /usr/local/sbin/setup-ngxblocker sudo chmod +x /usr/local/sbin/update-ngxblocker
**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
यह स्क्रिप्ट आपके IP को आपके लिए whitelist-ips.conf फ़ाइल में भी व्हाइटलिस्ट करती है।
आगे के IP या IP रेंज आपकी अनुकूलन योग्य whitelist-ips.conf फ़ाइल में जोड़े जा सकते हैं, जो /etc/nginx/bots.d/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"/>
अब setup स्क्रिप्ट को -x पैरामीटर के साथ चलाएँ ताकि आपके nginx.conf में सभी आवश्यक परिवर्तन किए जा सकें (यदि आवश्यक हो) और साथ ही आपकी सभी vhost फ़ाइलों में आवश्यक includes जोड़े जा सकें।
यह setup-ngxblocker स्क्रिप्ट मानती है कि /etc/nginx/sites-available में स्थित आपकी सभी vhost फ़ाइलें .vhost एक्सटेंशन में समाप्त होती हैं। यह अच्छा अभ्यास है कि आपकी सभी vhost कॉन्फ़िग फ़ाइलें .vhost एक्सटेंशन के साथ समाप्त हों, लेकिन यदि आप अपने पास मौजूद एक्सटेंशन जैसे .conf को बनाए रखना पसंद करते हैं, तो आप अपनी vhost फ़ाइलों के लिए उपयोग किए जाने वाले एक्सटेंशन को निर्दिष्ट करने के लिए `-e` पैरामीटर का उपयोग करके setup-ngxblocker को आसानी से संशोधित कर सकते हैं।
उदाहरण के लिए यदि आपकी 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
आप देखेंगे कि इसने मेरे टेस्ट बेड सर्वर पर सभी .vhost फाइलों में includes जोड़ दिए हैं और साथ ही आपके अपने IP पते को whitelist-ips.conf फाइल में आपके लिए whitelist कर दिया है। आगे के IP या IP रेंज आपकी अनुकूलन योग्य whitelist-ips.conf फाइल में जोड़े जा सकते हैं, जो /etc/nginx/bots.d/whitelist-ips.conf पर स्थित है।
इस सेटअप स्क्रिप्ट ने जो किया है वह यह है कि उसने आपके .vhost फाइलों में निम्नलिखित include स्टेटमेंट जोड़ दिए हैं, साथ ही यह nginx.conf में includes में /etc/nginx/conf.d/* को भी जोड़ता है (यदि यह पहले से nginx.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
************************************************
<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 अपडेट भेजता हूँ) तो आप इसे हर 8 घंटे में cron चलाने के लिए निम्नानुसार सेट कर सकते हैं, हालाँकि दिन में एक बार भी पर्याप्त से अधिक है।
`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 फ़ाइलें कमेंटेड हैं।
(जाँचें कि यह काम कर रहा है)
परीक्षण
किसी अन्य linux मशीन के टर्मिनल से अपने डोमेन नाम के विरुद्ध निम्नलिखित कमांड एक-एक करके चलाएँ।
❗ नीचे दिए गए उदाहरणों में http:// yourdomain.com ❗ को अपने वास्तविक REAL डोमेन नाम से बदलें ❗
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 -I http://yourdomain.com -e http://100dollars-seo.com
curl -I http://yourdomain.com -e http://zx6.ru
निम्नलिखित में से किसी भी त्रुटि संदेश के साथ प्रतिक्रिया देनी चाहिए:
Nginx Ultimate Bot Blocker अब काम कर रहा है और आपकी वेब साइटों की सुरक्षा कर रहा है !!!
❗ नीचे दिए गए उदाहरणों में http:// yourdomain.com ❗ को अपने वास्तविक REAL डोमेन नाम से बदलें ❗
यदि आप एक Cloudflare उपयोगकर्ता हैं जो Cloudflare CDN / Caching System का उपयोग कर रहे हैं, तो आपको हमेशा Cloudflare CDN को अक्षम (disable) कर देना चाहिए (gray Cloud सेट करें)
परीक्षण के दौरान आपको नीचे दिए अनुसार सही प्रतिक्रिया कोड परिणाम मिलेंगे:
यह डिज़ाइन द्वारा है। CDN अपना काम कर रहा है, अर्थात, आपके सर्वर से पहली प्रतिक्रिया ने बॉट से कहा, "चले जाओ" इसे 444 या 443 प्रतिक्रियाएँ जारी करके।
Cloudflare उस प्रतिक्रिया को कैश करता है और इसलिए दूसरी बार जब आप परीक्षण करेंगे तो आपको 520 Origin Error मूल त्रुटि संदेश प्राप्त होगा।
ब्लॉकर का परीक्षण करते समय, CDN / cacheing system को अक्षम करें और एक बार जब आप अपने परीक्षणों से संतुष्ट हो जाएँ, तो अपने लाइव वातावरण पर CDN/Cache को फिर से सक्षम करें क्योंकि आप चाहते हैं कि बॉट्स को वह प्रतिक्रिया Cloudflare से मिले।
अधिकांश अन्य CDN सिस्टम शायद वही व्यवहार दिखाएँगे इसलिए परीक्षण के दौरान हमेशा एक CDN को अक्षम करें ताकि किसी भी चीज़ को बाहर रखा जा सके जो आपके परीक्षण में हस्तक्षेप करेगी। परीक्षण समाप्त होने पर हमेशा CDN को फिर से सक्षम करना सुनिश्चित करें !!
एक बार जब आप Cloudflare CDN सक्षम कर लें, तो फिर से परीक्षण करें।
परीक्षण के दौरान, आपको मिलता है
इसका मतलब है कि 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]
यह स्वचालित रूप से फ़ाइलों को आपके द्वारा निर्दिष्ट स्थानों पर रखेगा, यह आपके कस्टम स्थानों का उपयोग करके आपके vhosts में includes करेगा और जब update-ngxblocker एक नया अपडेट खींचता है तो यह अब स्वचालित रूप से globalblacklist.conf फ़ाइल के अंदर "Include" अनुभागों को आपके अपने कस्टम स्थानों के साथ फिर से लिखेगा। इन उत्कृष्ट स्क्रिप्टों के योगदान के लिए फिर से Stuart Cardall @itoffshore को धन्यवाद।
Nginx से डुप्लिकेट नेटवर्क रिपोर्ट एक बग नहीं है और न ही इसे ठीक किया जा सकता है, यह ब्लॉकर का वांछित व्यवहार है। IP ब्लैकलिस्ट के दैनिक अपडेट के कारण कुछ प्रसिद्ध IP और रेंज ब्लैकलिस्टेड हो जाते हैं old value "1" फिर इन्हें globalblocklist के बिल्कुल अंत में व्हाइटलिस्ट किया जाता है जो लोडिंग का क्रम है जो फिर उन IP को सेट करता है जिन्हें हम जानते हैं कि अच्छे हैं उनके नए value "0" पर जिससे उन्हें व्हाइटलिस्ट किया जाता है। यह ब्लॉकर के पहले दिन से ऐसा ही रहा है और ऐसा ही रहेगा। ये सरल [WARN] संदेश हैं न कि [EMERG] संदेश और ये किसी भी तरह से Nginx के संचालन को प्रभावित नहीं करते हैं।
(4000 से अधिक बुरे रेफरर, स्पैम रेफरर, user-agents, बुरे बॉट्स, बुरे IP, पोर्न, जुआ और क्लिकजैकिंग साइटें, लाभदायक seo कंपनियाँ, wordpress थीम डिटेक्टर और गिनती जारी)
इस प्रोजेक्ट में हज़ारों घंटे की प्रोग्रामिंग और परीक्षण किए गए हैं, कुछ प्यार दिखाएँ
बॉट्स अपने user agent को छिपाकर खुद को अन्य सॉफ़्टवेयर या वेब साइटों की तरह दिखाने का प्रयास करते हैं। उनके user agent नाम हानिरहित, पूरी तरह से वैध भी लग सकते हैं।
उदाहरण के लिए, "^Java" लेकिन Project Honeypot के अनुसार, यह वास्तव में सबसे खतरनाक में से एक है लेकिन बहुत सारे वैध बॉट्स के user agent स्ट्रिंग में "Java" होता है इसलिए कई लोगों द्वारा "Java" को ब्लॉक करने का दृष्टिकोण न केवल अज्ञानतापूर्ण है बल्कि Google और Bing के कुछ सहित बहुत ही वैध क्रॉलरों को भी ब्लॉक करता है और यह मुझे बहुत स्पष्ट करता है कि जो लोग बॉट ब्लॉकिंग स्क्रिप्ट लिखते हैं वे शायद ही कभी उनका परीक्षण करते हैं।
स्पैम रेफरर और स्पैम डोमेन नाम आपकी साइटों से कूदकर बहुत ही लाभदायक क्लिक-जैकिंग और क्लिक-रिडायरेक्टिंग अभियान चलाने के लिए बहुत चतुर तकनीकों का उपयोग करते हैं जो वेब ब्राउज़ करने वाले अनजान लोगों को विज्ञापन दिखाते हैं या यहाँ तक कि उनके ब्राउज़र में मैलवेयर, एडवेयर या रैनसमवेयर डालते हैं जो फिर उनके लाभदायक बॉट्स के नेटवर्क का हिस्सा बन जाते हैं।
इस बॉट ब्लॉकर में सैकड़ों डोमेन नाम और IP पते शामिल हैं जिन्हें अधिकांश लोग अपने Nginx लॉग में भी नहीं देख पाएँगे। यह इस तथ्य के परिणामस्वरूप आता है कि मेरी सभी साइटें 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 के शीर्ष पर कुल अपडेट किया गया है।
Nginx और Apache के लिए कई अन्य बैड बॉट ब्लॉकर्स के विपरीत जहाँ लोग केवल दूसरों से सूचियाँ कॉपी और पेस्ट करते हैं, यह सूची जमीन से बनाई गई है और पूरी तरह से परीक्षण की गई है और मेरा मतलब है 10 महीनों से अधिक समय से पूरी तरह से। यह वास्तविक सर्वर लॉग से आती है जिनकी दैनिक निगरानी की जाती है और इस फ़ाइल में लगभग दैनिक रूप से कम से कम 3-10 नए जोड़ होते हैं।
महीनों के निरंतर और नियमित परीक्षण और लॉग फ़ाइलों की निगरानी का उपयोग करके गलत सकारात्मक (false positives) के लिए भी इसका पूरी तरह से परीक्षण किया गया है।
बुरे रेफरर में सूचीबद्ध सभी वेब साइटों को जोड़े जाने से पहले एक-एक करके जाँचा जाता है। अपने लॉग फ़ाइल में संदिग्ध दिखने वाली किसी भी चीज़ को केवल कॉपी करना और पहले यह देखे बिना कि यह वास्तव में क्या है, इसे इस तरह के ब्लॉकर में जोड़ना .... खैर यह कम से कम कहने के लिए मूर्खतापूर्ण है।
Nginx में एक प्यारी त्रुटि है जिसे 444 कहा जाता है जो सचमुच कनेक्शन को ड्रॉप कर देती है। ये सभी नियम एक 444 प्रतिक्रिया जारी करते हैं इसलिए यदि कोई नियम मेल खाता है, तो अनुरोध करने वाले IP को बस कोई प्रतिक्रिया नहीं मिलती है और ऐसा प्रतीत होगा कि आपका सर्वर उनके लिए मौजूद नहीं है या ऑफ़लाइन दिखाई देता है।
/conf.d/globalblacklist.conf फ़ाइल में प्रलेखित परीक्षण कमांड लाइनों में से एक का उपयोग करके curl के साथ एक परीक्षण एक सरल "curl: (52) Empty reply from server" देगा और यही उत्तर बुरे रेफरर और बॉट्स को मिलता है।
उन बॉट्स या स्पाइडर के लिए जिन्हें आप अभी भी अनुमति देना चाहते हैं लेकिन उनकी विज़िट दर को सीमित करना चाहते हैं, आप मेरे द्वारा शामिल की गई निर्मित रेट लिमिटिंग फ़ंक्शन का उपयोग कर सकते हैं। फ़ाइल में हर जगह व्यापक रूप से कमेंट किया गया है इसलिए आपको इसे समझ लेना चाहिए अन्यथा यदि आपको समस्या हो रही है तो बस मुझे संदेश दें।
या अपने स्वयं के बुरे रेफरर, बॉट्स का योगदान करने या किसी भी गलत तरीके से ब्लॉक किए गए बॉट्स या डोमेन में सुधार करने के लिए कृपया इस रिपॉजिटरी की एक कॉपी फोर्क करें और यहाँ स्थित व्यक्तिगत फ़ाइलों पर पुल रिक्वेस्ट भेजें और फिर एक पुल रिक्वेस्ट (PR) भेजें।
गलत सूचियों या किसी अन्य समस्या के बारे में issues सिस्टम पर और यदि आवश्यक हो तो उनकी जाँच की जाएगी और हटा दी जाएगी। मैं उपयोगकर्ता समस्याओं का बहुत जल्दी जवाब देता हूँ और कई उपयोगकर्ताओं को उनका बॉट ब्लॉकर काम करने के लिए दिनों तक मदद की है। आप कह सकते हैं कि मैं पागल हूँ (विवादास्पद) लेकिन मुझे लोगों की मदद करना पसंद है और मुद्दों या इसे काम करने में समस्या वाले लोगों को अनदेखा नहीं करता।
बाहर बहुत सारी सूचियाँ अपनी hosts फ़ाइल में अजीब डोमेन डालती हैं। आपकी hosts फ़ाइल और 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.
- देखें: इस बारे में अधिक जानकारी के लिए https://www.charset.org/punycode पर जाएं।
************************************************
## हमेशा निगरानी रखें कि आप क्या कर रहे हैं:
**इसे लागू करने के बाद अपनी वेब साइट के लॉग की निगरानी अवश्य करें।** मेरा सुझाव है कि आप पहले इसे एक साइट पर लोड करें और इसे अपनी सभी वेब साइटों पर प्रोडक्शन में डालने से पहले किसी भी संभावित गलत सकारात्मकता (false positives) के लिए निगरानी करें।
शुतुरमुर्ग की तरह सिर रेत में छिपाकर न बैठें; एक जिम्मेदार सर्वर ऑपरेटर और वेब साइट मालिक होने का मतलब है कि आपको अपने लॉग की बार-बार निगरानी करनी चाहिए। आप में से कई लोग यहाँ पहली बार इसलिए आए क्योंकि आपने अपनी Nginx लॉग फ़ाइलों में बुरी दिखने वाली चीज़ें देखीं।
साथ ही, उन नए बुरे रेफरर (referers) और यूज़र-एजेंट स्ट्रिंग्स के लिए अपने लॉग की दैनिक निगरानी करें जिन्हें आप ब्लॉक करना चाहते हैं। इस सूची में जोड़ने का आपका सबसे अच्छा स्रोत आपके अपने सर्वर लॉग हैं, मेरे नहीं।
आप अपने स्वयं के लॉग से बुरे रेफरर को इस प्रोजेक्ट में पुल रिक्वेस्ट (PR) भेजकर योगदान दे सकते हैं। हालाँकि, आप इस सूची पर भरोसा कर सकते हैं कि यह 99% बुरे लोगों को बाहर रखेगी।
************************************************
## अपने लॉग की दैनिक निगरानी कैसे करें (आसान तरीका):
**बहुत धन्यवाद और प्रशंसा के साथ**
https://blog.nexcess.net/2011/01/21/one-liners-for-apache-log-files/
किसी वेब साइट की लॉग फ़ाइलों के लिए अपने शीर्ष रेफरर की दैनिक निगरानी करने के लिए निम्नलिखित सरल क्रॉन जॉब का उपयोग करें, जो आपको हर सुबह किसी विशेष वेब साइट की लॉग फ़ाइलों से शीर्ष रेफरर / यूज़र एजेंट की एक सूची ईमेल करेगा। यह एक साइट के लिए केवल एक क्रॉन जॉब का उदाहरण है। जिन साइटों की आप निगरानी करना चाहते हैं, उनमें से प्रत्येक के लिए कई जॉब सेट करें। यहाँ एक क्रॉन है जो हर सुबह 8 बजे चलता है और मुझे रेफरर की छंटी हुई लॉग ईमेल करता है। जब मैं छंटी हुई कहता हूँ, तो साइट का डोमेन और Google और Bing जैसे अन्य रेफरर परिणामों से हटा दिए जाते हैं। बेशक आपको नीचे दिए गए उदाहरणों में लॉग फ़ाइल का नाम, डोमेन नाम और अपना ईमेल पता बदलना होगा। यूज़र एजेंट एकत्र करने के लिए दूसरा क्रॉन किसी भी रेफरर को नहीं हटाता है, लेकिन यदि आप चाहें तो पहले उदाहरण से awk स्टेटमेंट !~ की नकल करके उस कार्यक्षमता को जोड़ सकते हैं।
##### Nginx पर दैनिक रेफरर की निगरानी के लिए क्रॉन
`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]`
यह आपको awk कमांड का उपयोग करके google, bing और आपके अपने डोमेन नाम जैसे डोमेन को बाहर करने के लिए रेफरर की एक दैनिक सूची ईमेल करता है।
##### Nginx पर दैनिक यूज़र एजेंट की निगरानी के लिए क्रॉन
`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 का उपयोग करके फ़ायरवॉल स्तर पर आक्रामक बॉट्स को ब्लॉक करें:
मैंने एक कस्टम Fail2Ban फ़िल्टर और एक्शन जोड़ा है जो मैंने लिखा है और जो बड़ी संख्या में 444 त्रुटियाँ उत्पन्न करने वाले बॉट्स के लिए आपके Nginx लॉग की निगरानी करता है। Fail2Ban के लिए यह कस्टम जेल 1 सप्ताह की अवधि में लॉग स्कैन करेगा और अपराधी को 24 घंटे के लिए प्रतिबंधित करेगा।
यह कुछ बार-बार अपराध करने वालों को बाहर रखने और उन्हें आपकी लॉग फ़ाइलों को 444 त्रुटियों से भरने से रोकने में बहुत मदद करता है।
इस शानदार Nginx Bad Bot Blocker ऐड-ऑन को कॉन्फ़िगर करने के निर्देशों के लिए Fail2Ban फ़ोल्डर देखें।
************************************************
## GOOGLE ANALYTICS "GHOST" स्पैम को रोकना:
केवल Nginx ब्लॉकर का उपयोग करने से Google Analytics घोस्ट रेफरल स्पैम नहीं रुकता क्योंकि वे सीधे Analytics को हिट कर रहे हैं और जरूरी नहीं कि हमेशा आपकी वेबसाइट को छू रहे हों।
आपको घोस्ट रेफरल स्पैम को रोकने के लिए Analytics में regex फ़िल्टर का उपयोग करना चाहिए।
इसके लिए कई google-exclude-0*.txt फ़ाइलें हैं जो आपके लिए बनाई गई हैं और जब Nginx ब्लॉकर अपडेट होता है तो उसी समय अपडेट होती हैं। जैसे-जैसे सूची बढ़ती है, और अधिक exclude फ़ाइलें बनाई जाएंगी।
************************************************
## 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.txt नामक एक Google Disavow टेक्स्ट फ़ाइल का निर्माण जोड़ा है। इस फ़ाइल का उपयोग Google के Webmaster Tools में इन सभी डोमेन को स्पैमी या खराब लिंक के रूप में ब्लॉक करने के लिए किया जा सकता है। सावधानी से उपयोग करें।
************************************************
## उन लोगों के लिए ROBOTS.txt संस्करण जो इस पूर्ण ब्लॉकर का उपयोग नहीं कर सकते?
बहुत से लोग अपनी होस्टिंग कंपनी की दया पर हैं और उनके पास अपनी वेब साइट के पीछे चल रहे सर्वर तक रूट एक्सेस नहीं है। यदि यह आपकी स्थिति है, तो स्वचालित रूप से उत्पन्न robots.txt फ़ाइल देखें जो कुछ हद तक आपकी साइटों से कई बुरे बॉट्स और यूज़र-एजेंट को दूर रखने में मदद करेगी।
************************************************
## उन लोगों के लिए .htaccess संस्करण जो इस पूर्ण ब्लॉकर का उपयोग नहीं कर सकते?
बहुत से लोग अपनी होस्टिंग कंपनी की दया पर हैं और उनके पास अपनी वेब साइट के पीछे चल रहे सर्वर तक रूट एक्सेस नहीं है।
यदि यह आपकी स्थिति है, तो स्पैम रेफरर ब्लॉकर के स्वचालित रूप से उत्पन्न .htaccess संस्करण देखें जो <a href="https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/tree/master/.htaccess">इस रिपॉजिटरी</a> में पाए जा सकते हैं। यह .htaccess विधि (केवल APACHE साइटों के लिए) आपको इस ब्लॉकर के सभी स्पैम रेफरर को अपनी साइट से दूर रखने में मदद करेगी।
इसका उल्लेख यहाँ केवल इसलिए किया गया है क्योंकि CPanel सिस्टम का उपयोग करने वाले बहुत से लोग सोचते हैं कि वे Nginx सर्वर के पीछे हैं, लेकिन वास्तव में वे Nginx प्रॉक्सी सर्वर के पीछे Apache सर्वर पर चल रहे हैं। .htaccess Nginx साइटों पर काम नहीं करता है।
Nginx वेब सर्वर का उपयोग नहीं कर रहे हैं? देखें [](https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker)
************************************************
# यह FORKING काम करता है !!!
************************************************
## अब बस आनंद लें कि 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)
************************************************
# क्या आपकी वेब साइट हैक हो गई है?
[](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&label=Follow" alt='Follow @MitchellKrog'></a>
************************************************
### स्वीकृतियाँ और योगदानकर्ता:
इस प्रोजेक्ट में योगदान देने वालों को बहुत धन्यवाद।
इस प्रोजेक्ट के पीछे चल रहे जनरेटर स्क्रिप्ट और कोड के कई हिस्सों को सैकड़ों स्रोतों के स्निपेट से अनुकूलित किया गया है।
वास्तव में सभी का उल्लेख करना बहुत कठिन है, लेकिन यहाँ कुछ प्रमुख लोग हैं जिनके छोटे कोड स्निपेट ने मुझे हर समय नई सुविधाएँ पेश करने में मदद की है। उन्हें कुछ प्यार दिखाएं और उनके कुछ प्रोजेक्ट भी देखें।
- Konstantin Goretzki @konstantingoretzki https://github.com/konstantingoretzki (Fail2Ban फ़िल्टर पर बेहतर Regex)
- 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 Build Tagging और Committing में मदद)
- 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 License
## Copyright (c) 2017 Mitchell Krog - [email protected]
## https://github.com/mitchellkrogza
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.