
Nginx बैड बॉट्स, स्पैम रेफरर ब्लॉकर, भेद्यता स्कैनर, यूज़र-एजेंट, मैलवेयर, एडवेयर, रैंसमवेयर और दुर्भावनापूर्ण साइटों को ब्लॉक करता है, साथ ही एंटी-DDOS, वर्डप्रेस थीम डिटेक्टर ब्लॉकिंग और बार-बार अपराध करने वालों के लिए Fail2Ban जेल।
| रिपॉजिटरी | प्रायोजक बनें |
|---|---|
| यदि आप प्रायोजक बनते हैं तो आपका लोगो और आपके डोमेन का लिंक यहाँ दिखाई देगा। यदि आप इस प्रोजेक्ट को प्रायोजित करना चाहते हैं तो बस मुझे [email protected] पर ईमेल करें, क्योंकि Github प्रायोजक कार्यक्रम के अंतर्गत दक्षिण अफ्रीका अभी तक समर्थित नहीं है। | |
| https://ko-fi.com/mitchellkrog पर मुझे समर्थन करें |
Nginx उपयोग नहीं कर रहे? देखें
कृपया सुनिश्चित करें कि आप Github सूचनाओं की सदस्यता लिए हुए हैं, ताकि ब्लॉकर अपडेट होने पर या कोई महत्वपूर्ण या मिशन-क्रिटिकल (संभावित रूप से ब्रेकिंग) परिवर्तन होने पर आपको सूचित किया जा सके।
यह हमारी नई पसंदीदा इंस्टॉलेशन विधि है, जो अब shell स्क्रिप्ट्स के एक सेट के माध्यम से की जाती है, जो इस 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 सभी को कमांड लाइन से कस्टम इंस्टॉलेशन / अपडेट स्थानों के साथ कॉन्फ़िगर किया जा सकता है। (इन स्क्रिप्ट्स और गैर-मानक Nginx स्थानों का उपयोग कैसे करें, यह जानने के लिए निर्देशों का चरण 11 देखें)
विकल्प देखने के लिए setup, install या update स्क्रिप्ट्स में से किसी को भी --help या -h के साथ चलाएँ।
कृपया ध्यान दें: Let's Encrypt SSL प्रमाणपत्रों का उपयोग करने वालों के लिए पसंदीदा और 100% कार्यशील विधि Webroot Authenticator Method का उपयोग करना है। http challenge विधि का उपयोग करने वाले लोगों के साथ कुछ समस्याएँ प्रतीत होती हैं, लेकिन पुष्टि कर सकते हैं कि webroot निर्बाध रूप से कार्य करता है। हमें इस बिंदु पर अनिश्चितता है कि http-01 challenge विधि certbot या nginx बग है।
Nginx से आने वाली डुप्लिकेट नेटवर्क रिपोर्टें कोई बग नहीं हैं और न ही इसे ठीक किया जा सकता है, यह ब्लॉकर का अपेक्षित व्यवहार है। IP ब्लैकलिस्ट के दैनिक अपडेट के कारण कुछ जाने-माने IP और रेंज ब्लैकलिस्ट हो जाते हैं old value "1" फिर globalblocklist के बिल्कुल अंत में इन्हें व्हाइटलिस्ट किया जाता है, जो लोडिंग का क्रम है, जो फिर उन IP को जिन्हें हम अच्छे मानते हैं, उनके नए value "0" पर सेट करता है, जिससे वे व्हाइटलिस्ट हो जाते हैं। ब्लॉकर के पहले दिन से यह इसी तरह रहा है और आगे भी ऐसा ही रहेगा। ये केवल सरल [WARN] संदेश हैं, [EMERG] संदेश नहीं, और ये किसी भी तरह से Nginx के संचालन को प्रभावित नहीं करते हैं।
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
यदि आपके 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
वैकल्पिक रूप से portmaster के माध्यम से इंस्टॉल करें:```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 सभी को कमांड लाइन से कस्टम इंस्टॉलेशन / अपडेट स्थानों के साथ कॉन्फ़िगर किया जा सकता है।
विकल्प देखने के लिए --help या -h के साथ किसी भी setup, install या update स्क्रिप्ट को चलाएँ।
अब रिपॉजिटरी से सभी आवश्यक फ़ाइलें डाउनलोड करने के लिए 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 पर सही फ़ोल्डरों में डाउनलोड कर दी गई हैं।
सुनिश्चित करें कि आप निम्नलिखित दो कमांड चलाकर अपनी सेटअप और अपडेट स्क्रिप्ट को executable बनाते हैं। चरण 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 रेंज आपकी अनुकूलन योग्य whitelits-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"/>
अब सेटअप स्क्रिप्ट को -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`
तो अब चलिए सेटअप स्क्रिप्ट चलाते हैं और इसे वे सभी परिवर्तन करने देते हैं जो हमें आपकी सभी साइटों पर 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 भी कर दिया है। आपके अनुकूलन योग्य whitelits-ips.conf फ़ाइल में आगे के IP या IP रेंज जोड़े जा सकते हैं, जो /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"/>
अब क्रॉन सेट करें ताकि ब्लॉकर हर दिन स्वचालित रूप से अपडेट होता रहे और आपके पास हमेशा नवीनतम सुरक्षा उपलब्ध रहे।
`sudo crontab -e`
अपनी crontab फ़ाइल के अंत में निम्न पंक्ति जोड़ें। ध्यान दें कि `-e` कमांड लाइन पैरामीटर जोड़ने से वह ईमेल पता निर्दिष्ट होता है जहाँ अपडेट रिपोर्ट भेजी जाती है। जाहिर है, `[email protected]` की जगह अपना असली ईमेल पता डालें, अन्यथा स्क्रिप्ट अपडेट होने पर आपको ईमेल नहीं मिलेगा।
`00 22 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]`
यह हर रात रात 10 बजे ब्लॉकर को अपडेट करेगा।
यदि आप इसे अधिक बार अपडेट करना चाहते हैं (क्योंकि कभी-कभी मैं दिन में 3-4 अपडेट भेजता हूँ) तो आप क्रॉन को हर 8 घंटे में चलाने के लिए निम्नानुसार सेट कर सकते हैं, हालाँकि दिन में एक बार भी काफी है।
`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]`
यदि आप अपडेट के बाद कोई ईमेल सूचना नहीं चाहते हैं (यह सलाह नहीं दी जाती क्योंकि रीलोड करते समय Nginx में कभी भी EMERG आ सकता है), तो बस अपना क्रॉन निम्नानुसार चलाएँ।
`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -n`
यदि आप <a href="https://www.mailgun.com/">mailgun</a> के माध्यम से ईमेल भेजना पसंद करते हैं, तो अपना क्रॉन इस प्रकार चलाएँ:
`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 / कैशिंग सिस्टम का उपयोग कर रहे हैं, तो आपको हमेशा Cloudflare CDN (ग्रे क्लाउड सेट करें) को अक्षम करना चाहिए।
परीक्षण के दौरान आपको सही प्रतिक्रिया कोड परिणाम मिलेंगे जैसा कि नीचे दिया गया है:
यह डिज़ाइन द्वारा है। CDN अपना काम कर रहा है, अर्थात, आपके सर्वर से पहली प्रतिक्रिया ने बॉट से कहा, "दूर जाओ" उसे 444 या 443 प्रतिक्रियाएँ जारी करके।
Cloudflare उस प्रतिक्रिया को कैश करता है और इसलिए दूसरी बार परीक्षण करने पर आपको 520 Origin Error मूल त्रुटि संदेश मिलेगा।
ब्लॉकर का परीक्षण करते समय, CDN / कैशिंग सिस्टम को अक्षम कर दें और एक बार जब आप अपने परीक्षणों से संतुष्ट हो जाएँ, तो अपने लाइव वातावरण में CDN/Cache को फिर से सक्षम करें क्योंकि आप चाहते हैं कि बॉट्स को Cloudflare से वह प्रतिक्रिया मिले।
अधिकांश अन्य CDN सिस्टम शायद वही व्यवहार दिखाएँगे, इसलिए परीक्षण के दौरान हमेशा किसी भी CDN को अक्षम करें ताकि जो भी चीज़ आपके परीक्षण में हस्तक्षेप कर सके उसे नियंत्रित किया जा सके। परीक्षण पूरा होने पर CDN को दोबारा सक्षम करना सुनिश्चित करें !!
एक बार जब आप Cloudflare CDN सक्षम कर लें, फिर से परीक्षण करें।
परीक्षण के दौरान, आपको मिलता है
इसका मतलब है कि CDN काम कर रहा है।
ब्लॉकर को गैर-मानक NGINX फ़ोल्डर स्थानों में स्थापित करना
कुछ लोग Nginx खुद बनाते हैं और उनके पास मानक nginx फ़ोल्डर स्थान /etc/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 में include करेगा और जब 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's, पोर्न, जुआ और क्लिकजैकिंग साइटें, लाभकारी seo कंपनियाँ, wordpress थीम डिटेक्टर और अभी भी बढ़ रहे हैं)
इस परियोजना में हज़ारों घंटे की प्रोग्रामिंग और परीक्षण लगे हैं, कुछ प्यार दिखाएं
बॉट अपने user agent को छिपाकर खुद को अन्य सॉफ्टवेयर या वेबसाइटों जैसा दिखाने की कोशिश करते हैं। उनके user agent नाम हानिरहित, पूरी तरह से वैध भी लग सकते हैं।
उदाहरण के लिए, "^Java" लेकिन Project Honeypot के अनुसार, यह वास्तव में सबसे खतरनाक में से एक है लेकिन बहुत सारे वैध बॉट्स के user agent स्ट्रिंग में "Java" होता है, इसलिए "Java" को ब्लॉक करने के लिए कई लोगों द्वारा अपनाया गया दृष्टिकोण न केवल अज्ञानतापूर्ण है, बल्कि बहुत ही वैध क्रॉलरों को भी ब्लॉक करता है जिनमें Google और Bing के कुछ क्रॉलर शामिल हैं, और यह मुझे स्पष्ट करता है कि जो लोग बॉट ब्लॉकिंग स्क्रिप्ट लिखते हैं वे शायद ही कभी उनका परीक्षण करते हैं।
स्पैम रेफरर और स्पैम डोमेन नाम बहुत चतुर तकनीकों का उपयोग करके आपकी साइटों से कूदकर बहुत लाभदायक क्लिक-जैकिंग और क्लिक-रिडायरेक्टिंग अभियान चलाते हैं जो वेब ब्राउज़ करने वाले अनजान लोगों को विज्ञापन दिखाते हैं या उनके ब्राउज़रों में मैलवेयर, एडवेयर या रैंसमवेयर भी डाल देते हैं जो फिर उनके लाभदायक बॉट नेटवर्क का हिस्सा बन जाते हैं।
इस Bot Blocker में सैकड़ों डोमेन नाम और IP पते शामिल हैं जिन्हें अधिकांश लोग अपने Nginx लॉग में भी नहीं देखेंगे। यह मेरी सभी साइटों के SSL पर चलने और Content-Security-Policy (CSP) का उपयोग करने का परिणाम है जो चीज़ों को Nginx तक पहुँचने से पहले ही ब्लॉक कर देता है, और मैंने कुछ सबसे खराब डोमेन और बॉट्स को पकड़ा है और पकड़ता रहा हूँ।
भारी मात्रा में पोर्न, जुआ और फर्जी समाचार वेबसाइटें भी इस ब्लॉकर स्क्रिप्ट में ब्लॉक हैं जो तेजी से बढ़ती रहती है।
दुर्भाग्य से, अधिकांश बॉट ब्लॉकर स्क्रिप्ट बस अन्य लोगों की स्क्रिप्ट से कॉपी और पेस्ट की जाती हैं और उन्हें अपने काम जैसा दिखाया जाता है। यह एक https://github.com/mariusv द्वारा बनाई गई स्क्रिप्ट से प्रेरित थी और मैंने उस परियोजना में योगदान दिया लेकिन पूरी तरह से नए लेआउट में चला गया, इसे काफी साफ किया और शुरू से शुरू किया। यह अब पूरी तरह से स्वतंत्र परियोजना है। यह साफ है, यह काम करता है और इसका अच्छी तरह से परीक्षण किया गया है।
यह nginx bad bot blocker सूची एक वैश्विक 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 नए जोड़ होते हैं।
लॉग फ़ाइलों के महीनों के निरंतर और नियमित परीक्षण और निगरानी का उपयोग करके झूठी सकारात्मकताओं के लिए भी इसका अच्छी तरह से परीक्षण किया गया है।
बुरे रेफरर में सूचीबद्ध सभी वेबसाइटों को जोड़ने से पहले एक-एक करके जाँचा जाता है। अपने लॉग फ़ाइल में संदिग्ध दिखने वाली किसी भी चीज़ को आँख बंद करके कॉपी करना और पहले यह देखे बिना कि वह क्या है, इस तरह के ब्लॉकर में जोड़ना .... कम से कम कहना मूर्खता है।
Nginx के पास 444 नामक एक प्यारी त्रुटि है जो सचमुच कनेक्शन को ड्रॉप कर देती है। ये सभी नियम 444 प्रतिक्रिया जारी करते हैं, इसलिए यदि कोई नियम मेल खाता है, तो अनुरोध करने वाले IP को कोई प्रतिक्रिया नहीं मिलती है और ऐसा प्रतीत होगा कि आपका सर्वर उनके लिए मौजूद नहीं है या ऑफ़लाइन दिखता है।
curl के साथ एक परीक्षण जो /conf.d/globalblacklist.conf फ़ाइल में प्रलेखित परीक्षण कमांड लाइनों में से एक का उपयोग करता है, एक साधारण "curl: (52) Empty reply from server" देगा और बुरे रेफरर और बॉट्स को यही उत्तर मिलता है।
उन बॉट्स या स्पाइडर के लिए जिन्हें आप अभी भी अनुमति देना चाहते हैं लेकिन उनकी विज़िट दर सीमित करना चाहते हैं, आप मेरे द्वारा शामिल किए गए बिल्ट-इन रेट लिमिटिंग फ़ंक्शंस का उपयोग कर सकते हैं। फ़ाइल में हर जगह व्यापक टिप्पणियाँ हैं इसलिए आप इसे समझ जाएँगे, अन्यथा समस्या होने पर बस मुझे संदेश दें।
या अपने स्वयं के बुरे रेफरर, बॉट्स का योगदान करने या किसी भी गलत तरीके से ब्लॉक किए गए बॉट्स या डोमेन में सुधार करने के लिए, कृपया इस रिपॉजिटरी की एक प्रति फोर्क करें और यहाँ स्थित अलग-अलग फ़ाइलों पर पुल रिक्वेस्ट भेजें और फिर एक पुल रिक्वेस्ट (PR) भेजें।
गलत सूचीबद्धता या issues सिस्टम पर किसी भी अन्य समस्या के संबंध में, उनकी जाँच की जाएगी और यदि आवश्यक हो तो हटा दिया जाएगा। मैं उपयोगकर्ता समस्याओं का बहुत जल्दी जवाब देता हूँ और अनगिनत उपयोगकर्ताओं को उनके बॉट ब्लॉकर को काम करने में दिनों तक मदद की है। आप कह सकते हैं कि मैं पागल हूँ (विवादास्पद) लेकिन मुझे लोगों की मदद करना पसंद है और मैं समस्याओं या इसे काम करने में समस्या वाले लोगों को अनदेखा नहीं करता।
वहाँ बहुत सारी सूचियाँ अपनी hosts फ़ाइल में अजीब डोमेन डालती हैं। आपकी hosts फ़ाइल और DNS इसे नहीं समझेंगे। यह सूची परिवर्तित डोमेन का उपयोग करती है जो किसी भी ऑपरेटिंग सिस्टम द्वारा समझे जाने योग्य सही DNS प्रारूप में हैं। उन सूचियों का उपयोग करने से बचें जो अपनी सूचियों में सही ढंग से स्वरूपित डोमेन संरचना नहीं डालती हैं।
उदाहरण के लिए डोमेन:
lifehacĸer.com (note the 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 positive के लिए निगरानी करें।
शुतुरमुर्ग की तरह अपना सिर रेत में छिपाकर न बैठें; एक जिम्मेदार सर्वर ऑपरेटर और वेब साइट मालिक होने का मतलब है कि आपको अपने लॉग की नियमित रूप से निगरानी करनी चाहिए। आपमें से कई लोग शुरुआत में यहाँ इसलिए पहुँचे क्योंकि आपने अपनी Nginx लॉग फ़ाइलों में गंदी दिखने वाली चीज़ें देखीं।
नए खराब referers और user-agent स्ट्रिंग्स के लिए भी अपने लॉग की रोज़ाना निगरानी करें जिन्हें आप ब्लॉक करना चाहते हैं। इस सूची में जोड़ने का आपका सबसे अच्छा स्रोत आपके अपने सर्वर लॉग हैं, मेरे नहीं।
अपने स्वयं के लॉग से खराब referers को Pull Request (PR) भेजकर इस प्रोजेक्ट में योगदान करने में संकोच न करें। हालाँकि, आप 99% बुरे तत्वों को बाहर रखने के लिए इस सूची पर भरोसा कर सकते हैं।
************************************************
## अपने लॉग की रोज़ाना निगरानी कैसे करें (आसान तरीका):
**बहुत धन्यवाद और आभार के साथ**
https://blog.nexcess.net/2011/01/21/one-liners-for-apache-log-files/
किसी वेब साइट की लॉग फ़ाइलों से रोज़ाना अपने शीर्ष referers की निगरानी करने के लिए निम्नलिखित सरल cron jobs का उपयोग करें, जो हर सुबह किसी विशेष वेब साइट की लॉग फ़ाइलों से शीर्ष referers / user agents की एक सूची आपको ईमेल करेंगे। यह केवल एक साइट के लिए एक cron job का उदाहरण है। जिन साइटों की आप निगरानी करना चाहते हैं उनमें से प्रत्येक के लिए कई jobs सेट करें। यहाँ एक cron है जो हर सुबह 8 बजे चलता है और मुझे referers का फ़िल्टर किया हुआ लॉग ईमेल करता है। जब मैं फ़िल्टर किया हुआ कहता हूँ, तो साइट का डोमेन और Google तथा Bing जैसे अन्य referers परिणामों से हटा दिए जाते हैं। बेशक, आपको नीचे दिए गए उदाहरणों में लॉग फ़ाइल का नाम, डोमेन नाम और अपना ईमेल पता बदलना होगा। User agents एकत्र करने वाला दूसरा cron किसी भी referer को नहीं छाँटता, लेकिन यदि आप चाहें तो पहले उदाहरण से awk स्टेटमेंट !~ की नकल करके यह सुविधा जोड़ सकते हैं।
##### Nginx पर दैनिक Referers की निगरानी के लिए 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 कमांड का उपयोग करके आपको referrers की एक दैनिक सूची ईमेल करता है।
##### Nginx पर दैनिक User Agents की निगरानी के लिए 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 घंटों में आपकी साइट पर आए शीर्ष User-Agents की एक सूची ईमेल करता है, जो किसी भी दुष्ट या संदिग्ध दिखने वाली User-Agents स्ट्रिंग्स को पहचानने में सहायक है।
************************************************
## FAIL2BAN का उपयोग करके फ़ायरवॉल स्तर पर आक्रामक बॉट्स को ब्लॉक करें:
मैंने एक कस्टम Fail2Ban फ़िल्टर और action जोड़ा है जो मैंने लिखा है, जो बड़ी संख्या में 444 errors उत्पन्न करने वाले बॉट्स के लिए आपके Nginx लॉग की निगरानी करता है। Fail2Ban के लिए यह कस्टम jail 1 सप्ताह की अवधि के लॉग को स्कैन करेगा और अपराधी को 24 घंटे के लिए प्रतिबंधित करेगा।
यह कुछ बार-बार आने वाले अपराधियों को बाहर रखने और उन्हें आपकी लॉग फ़ाइलों को 444 errors से भरने से रोकने में काफी मदद करता है।
Nginx Bad Bot Blocker के लिए इस शानदार ऐड-ऑन को कॉन्फ़िगर करने के निर्देशों के लिए Fail2Ban फ़ोल्डर देखें।
************************************************
## GOOGLE ANALYTICS "GHOST" SPAM को रोकना:
केवल Nginx ब्लॉकर का उपयोग करने से Google Analytics ghost referral spam नहीं रुकता, क्योंकि वे सीधे Analytics को हिट करते हैं और जरूरी नहीं कि वे हमेशा आपकी वेबसाइट को छूएँ।
Ghost referral spam को रोकने के लिए आपको Analytics में regex फ़िल्टर का उपयोग करना चाहिए।
इसके लिए कई google-exclude-0*.txt फ़ाइलें बनाई गई हैं जो आपके लिए तैयार की गई हैं, और जब Nginx Blocker अपडेट होता है तो उन्हें उसी समय अपडेट किया जाता है। जैसे-जैसे सूची बढ़ती है, और अधिक exclude फ़ाइलें बनाई जाएँगी।
************************************************
## GOOGLE ANALYTICS पर "GHOST" SPAM रोकने के लिए नीचे दी गई सरल विज़ुअल गाइड का पालन करें
इन google-exclude फ़ाइलों को अपनी वेब साइट में segments के रूप में जोड़ने के लिए नीचे दिए गए चरण-दर-चरण विज़ुअल निर्देशों का पालन करें।
<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 - Ghost Spam रोकने के लिए Segments जोड़ना"/></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 - Ghost Spam रोकने के लिए Segments जोड़ना"/></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 - Ghost Spam रोकने के लिए Segments जोड़ना"/></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 - Ghost Spam रोकने के लिए Segments जोड़ना"/></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 - Ghost Spam रोकने के लिए Segments जोड़ना"/></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 - Ghost Spam रोकने के लिए Segments जोड़ना"/></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 - Ghost Spam रोकने के लिए Segments जोड़ना"/></td>
</tr>
</table>
************************************************
## GOOGLE SEARCH CONSOLE / WEBMASTER TOOLS का उपयोग करके SPAM डोमेन ब्लॉक करना
(google-disavow.txt फ़ाइल का उपयोग कैसे करें)
मैंने google-disavow.txt नामक एक Google Disavow टेक्स्ट फ़ाइल का निर्माण जोड़ा है। इस फ़ाइल का उपयोग Google के Webmaster Tools में इन सभी डोमेन को स्पैमी या खराब लिंक के रूप में ब्लॉक करने के लिए किया जा सकता है। सावधानी से उपयोग करें।
************************************************
## उन लोगों के लिए ROBOTS.txt संस्करण जो इस पूर्ण ब्लॉकर का उपयोग नहीं कर सकते?
बहुत से लोग अपनी होस्टिंग कंपनी की दया पर निर्भर हैं और उनके पास उनकी वेब साइट के पीछे चल रहे सर्वर का root access नहीं है। यदि यह आपकी स्थिति है, तो स्वचालित रूप से उत्पन्न robots.txt फ़ाइल देखें जो कुछ हद तक आपकी साइटों से बहुत सारे Bad Bots और User-Agents को बाहर रखने में आपकी मदद करेगी।
************************************************
## उन लोगों के लिए .htaccess संस्करण जो इस पूर्ण ब्लॉकर का उपयोग नहीं कर सकते?
बहुत से लोग अपनी होस्टिंग कंपनी की दया पर निर्भर हैं और उनके पास उनकी वेब साइट के पीछे चल रहे सर्वर का root access नहीं है।
यदि यह आपकी स्थिति है, तो Spam Referrer Blocker के स्वचालित रूप से उत्पन्न .htaccess संस्करण देखें जो <a href="https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/tree/master/.htaccess">इस रिपॉज़िटरी</a> में पाए जा सकते हैं। यह .htaccess विधि (केवल APACHE साइटों के लिए) आपको इस ब्लॉकर में शामिल सभी Spam Referrers को अपनी साइट से बाहर रखने में मदद करेगी।
यह यहाँ केवल इसलिए उल्लेख किया गया है क्योंकि CPanel सिस्टम का उपयोग करने वाले बहुत से लोग सोचते हैं कि वे एक Nginx सर्वर के पीछे हैं, लेकिन वास्तव में वे एक Nginx Proxy Server के पीछे स्थित Apache Server पर चल रहे होते हैं। .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="मुझे कॉफ़ी खरीदें" 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
************************************************
### हैक किए गए MALWARE और WORDPRESS वेब साइटों की नई BIG LIST भी देखें
इस रिपॉज़िटरी में उन सभी वेब साइटों की एक सूची है जो मुझे मिलती हैं और जो malware से हैक की गई हैं।
अधिकांश साइट मालिकों को पता नहीं होता कि उनकी साइटें हैक कर ली गई हैं और उनका उपयोग malware फैलाने के लिए किया जा रहा है।
इसे यहाँ देखें: 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 Filter पर बेहतर Regex)
- Stuart Cardall - https://github.com/itoffshore (Install, Update और Setup Scripts तथा Alpine Linux Package Maintainer)
- 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="मुझे कॉफ़ी खरीदें" 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
इसके द्वारा, इस सॉफ़्टवेयर और संबंधित दस्तावेज़ फ़ाइलों ("सॉफ़्टवेयर") की एक प्रति प्राप्त करने वाले किसी भी व्यक्ति को, बिना किसी प्रतिबंध के सॉफ़्टवेयर से निपटने की अनुमति निःशुल्क दी जाती है, जिसमें बिना किसी सीमा के सॉफ़्टवेयर की प्रतियों का उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशन, वितरण, उपलाइसेंस और/या बेचने के अधिकार शामिल हैं, और जिन व्यक्तियों को सॉफ़्टवेयर प्रदान किया जाता है उन्हें निम्नलिखित शर्तों के अधीन ऐसा करने की अनुमति दी जाती है:
उपरोक्त कॉपीराइट सूचना और यह अनुमति सूचना सॉफ़्टवेयर की सभी प्रतियों या महत्वपूर्ण भागों में शामिल की जाएगी।
सॉफ़्टवेयर "जैसा है" प्रदान किया जाता है, किसी भी प्रकार की वारंटी के बिना, व्यक्त या निहित, जिसमें व्यापारिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और अनधिकार उल्लंघन की वारंटियाँ शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य दायित्व के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध की कार्रवाई, अपकृत्य या अन्यथा में हो, जो सॉफ़्टवेयर से या सॉफ़्टवेयर के उपयोग या अन्य कार्यों से उत्पन्न होता है।