किसी विशिष्ट देश से सभी ट्रैफ़िक को अवरुद्ध करने का अपेक्षाकृत आसान तरीका?


16

मेरे पास एक ऐसा वेब ऐप है, जिसका फिलीपींस में कोई उपयोगकर्ता नहीं है, लेकिन वहां लगातार स्पैमर्स, कार्डर्स टेस्टिंग कार्ड और अन्य अवांछनीय गतिविधियों द्वारा बमबारी की जाती है। मैं लॉग इन में देख सकता हूं कि उनके पास फिलीपींस में आईपी हैं और शुरू में google.ph या अन्य .phसाइटों के माध्यम से मेरी साइट ढूंढ रहे हैं ।

मेरे पास बहुत अच्छे फिल्टर और सुरक्षा जांच हैं, इसलिए वे वास्तव में बहुत नुकसान नहीं पहुंचाते हैं, लेकिन फिर भी, मैं वास्तव में इससे थक गया हूं। वे बैंडविड्थ का उपयोग करते हैं, मेरे डेटाबेस को भरते हैं, दुरुपयोग लॉग और बकवास के साथ सुरक्षा लॉग, मेरा समय समाप्त करने वाले खातों आदि को बर्बाद करते हैं।

जबकि फिलीपीन के अधिकांश नागरिक स्पैमर नहीं हैं, और मैं हर उस देश को ब्लॉक नहीं कर सकता जो मुझे परेशान करता है, इस बिंदु पर, मुझे लगता है कि समाधान बस फिलीपींस से मेरे वेब पर सभी ट्रैफ़िक को ब्लॉक करने के लिए है। (मैं जानता हूं कि पूरे देशों के आईपी ब्लॉक को रोकना एक महान अभ्यास नहीं है, और इसमें कई समस्याएं हैं, लेकिन इस देश के लिए, मैं एक अपवाद बनाना चाहता हूं।)

(मुझे पता है कि वे अपने आईपी पते को खराब कर सकते हैं, लेकिन कम से कम मैं उन्हें इसके लिए थोड़ा काम कर सकता हूं।)

मुझे पता है कि वहाँ कुछ जियोइप सेवाएं हैं। किसी को भी किसी भी मुफ्त या सस्ती सेवाओं का पता है? या किसी विशिष्ट देश से ट्रैफ़िक को फ़िल्टर करने का कोई अन्य तरीका?

मैं Apache 2 पर PHP चला रहा हूँ, अगर यह मायने रखता है।



crashmstr: मुझे ऐसा लगता है। पूरे देशों को बंद करने के लिए इस प्रकार की कार्रवाई करना और केवल संभावित उपयोगकर्ताओं को काटने की तुलना में आपको अधिक संभावित उपयोगकर्ताओं को काटने का कारण बनने जा रहा है। और जब स्पैमर उन क्षेत्रों से आने लगते हैं जिन्हें आप (अपने देश की तरह) ब्लॉक नहीं करना चाहते हैं, तो आप गहरे डूडू में रहने वाले हैं क्योंकि आपके पिछले सभी तरीके बेकार हो चुके हैं।
TheTXI

शायद कुछ भी नहीं - मेरा वर्तमान सुरक्षा सिर्फ ठीक संभालती है। जवाब देने से पहले सवाल जरूर पढ़ें।

<p> तो आप क्या करेंगे जब स्पैमर दूसरे देशों से आने लगेंगे (या बेहतर अभी तक यूएस के माध्यम से अपने ट्रैफ़िक को रूट करना शुरू कर देंगे?) </ p>
TheTXI

1
फिलीपींस अमेरिका, ब्रिटेन, कनाडा और ऑस्ट्रेलिया के बाद दुनिया में प्रमुख अंग्रेजी बोलने वाले देशों में से एक है। मैं दृढ़ता से उन्हें प्रतिबंध लगाने का सुझाव नहीं दूंगा, जितना आप ऑस्ट्रेलिया पर प्रतिबंध लगाएंगे। जब तक निश्चित रूप से, आपकी साइट देश-विशिष्ट है। लेकिन अगर यह है, तो इसमें डॉट-कॉम के बजाय एक देश-विशिष्ट TLD होना चाहिए, तो लोगों को पता होगा कि आप उनके साथ सौदा नहीं करते हैं, और ऐसा ही कर सकते हैं।
ली बी

जवाबों:


8

आप IPInfoDB http://ipinfodb.com/index.php जैसे निशुल्क आईपी लोकेटिन एपीआई का उपयोग करके आईपी पते के आधार पर ऐसा कर सकते हैं।


28

यहाँ अन्य पोस्टरों के विपरीत, मैं आपको यह बताने वाला नहीं हूँ कि यह एक बुरा विचार है, कि आपको यह नहीं करना चाहिए, कि यह आपकी समस्या को हल नहीं करेगा, या कि आपको कुछ और करना चाहिए। यहाँ हमारे साथ क्या हुआ है:

चीन और कोरिया के व्यक्तियों (या चीन और कोरिया में परदे के पीछे का उपयोग करके, वैसे भी) हमें परेशान करते रहे। पोर्ट्सकैनिंग, हमारी वेबसाइट्स को कमजोर करना, कमजोरियों की तलाश करना, लॉगिन प्रयास करना, आदि। मैंने उन्हें नजरअंदाज करने की कोशिश की (फेल 2ब्बन आमतौर पर उनकी देखभाल करता है), लेकिन कुछ बिंदुओं पर वे हमें इतना मुश्किल मार रहे थे कि यह प्रभावी रूप से एक DoS हमले में बदल गया। जब आपके पास अपने वेबसर्वर को प्रॉक्सी के रूप में उपयोग करने की कोशिश कर रहे लोगों से एक बार में सैकड़ों कनेक्शन होते हैं, तो अपने मशीन में SSH की कोशिश करते हुए, यादृच्छिक उपयोगकर्ता नाम और पासवर्ड की कोशिश करते हुए, यह साइट पर तौलना शुरू कर देता है। मैं आखिरकार तंग आ गया।

हमें चीन या कोरिया से कोई वैध यातायात नहीं मिलता है; हमारी कंपनी वहाँ नहीं बेचती है (हम ई-कॉमर्स हैं) इसलिए वैध ट्रैफ़िक खोने का कोई जोखिम नहीं था, इसलिए मुझे लगा कि उन्हें डिक्स होने की प्रतीक्षा करने के बजाय समय से पहले ब्लॉक करना आसान था।

  1. देखा गया http://ip.ludost.net/ और उनके आईपी डाउनलोड किया <-> देश डेटाबेस।
  2. सभी चीनी और कोरियाई आईपी पता पर्वतमाला।
  3. नेटफिल्टर के लिए ipset मॉड्यूल स्थापित किया
  4. चीन और कोरिया के लिए निर्मित ipset डंप (नीचे देखें)
  5. उन सेटों से किसी भी ट्रैफ़िक को चुपचाप हटाने के लिए iptables में नियम जोड़े गए।

और बस। हमारी समस्या उपयोगकर्ताओं को दूर चली गई, नेटवर्क और सर्वर पर लोड कम हो गया, और हमने बिना किसी कठिनाई के क्रिसमस का मौसम बनाया।

नोट 1 : आप इसे नियमित रूप से iptables (यानी बिना ipset) के साथ कर सकते हैं, लेकिन यह ipset का उपयोग करने की तुलना में अधिक कम्प्यूटेशनल रूप से महंगा है।

नोट 2 : यह है कि डंप कैसे दिखते हैं (यदि आप चाहते हैं तो आपके लिए ipset उत्पन्न होगा):

# Generated by ipset 2.3.3 on Sat Oct  4 18:02:57 2008
-N china nethash --hashsize 5184 --probes 4 --resize 50
-A china 203.207.128.0/17
-A china 221.176.0.0/13
-A china 58.154.0.0/15
-A china 114.54.0.0/15
...etc...

नोट 3 : हम एक nethash का उपयोग करते हैं क्योंकि हमारी सभी श्रेणियां CIDR ब्लॉक के रूप में संग्रहीत हैं। यदि आप उन्हें CIDR में परिवर्तित नहीं करना चाहते हैं, तो आप इसके बजाय एक iptreemap का उपयोग कर सकते हैं, लेकिन मुझे लगता है कि यदि आप बहुत अधिक ट्रैफ़िक प्राप्त कर रहे हैं तो कम कुशल हो सकता है।


2
मैं जो बात करना चाहता हूं वह यह है कि चीन या कोरिया जैसे देश या कहीं भी इस मामले को रोकने का विचार सिर्फ उन लोगों का एक समूह नहीं है जो आपसे अलग भाषा बोलते हैं। मैं एक संयुक्त राज्य का नागरिक हूं और अगर मैं आपकी कंपनी से कुछ खरीदना चाहता हूं तो आपने मुझे ग्राहक के रूप में खो दिया क्योंकि मैं दक्षिण कोरिया में सेवा कर रहा हूं। हाँ तो, वहाँ है वहाँ वैध यातायात।
GNUix

16
ठीक है, सिवाय इसके कि जब तक हम दक्षिण कोरिया में नहीं जाते हैं, हम आपको कुछ भी नहीं बेच सकते हैं, इसलिए हमारी वेबसाइट पर जाने का कोई मतलब नहीं है। हमारे पास कभी भी चीन या कोरिया से कोई भी चीज नहीं खरीदनी चाहिए और इसे अमेरिका में भी भेजना चाहिए, इसलिए खोए गए बिक्री की संख्या संभवतः हमारे विश्लेषण के आधार पर एक वर्ष में दस तक पहुंच सकती है।
डान उडे

2

आप कोड में बग को कैसे ठीक करते हैं?

इस तरह?

बग: जोड़ें (2,2) रिटर्न 0, 4 वापस करना चाहिए।

निश्चित कोड:

int Add(int x, int y)
{
   if (x == 2 && y == 2)
      { return 4; }
   return 0;
}

बेशक नहीं। आप केवल विशेष मामलों की एक तीक्ष्णता नहीं बनाते हैं, जो बहुत ही नाजुक और आपदा के लिए एक नुस्खा है। आप भी अंतर्निहित समस्या का केवल TODAY का लक्षण पैच नहीं करते हैं।

इसके बजाय, मूल कारण का पता लगाएं, और इसे ठीक करें। यह आपके द्वारा लागू किए जा सकने वाले किसी भी विशेष स्पेशल-केस पैच से कहीं अधिक मजबूत है।

आपका वेब ऐप स्पैम की चपेट में क्यों है? क्या विशेषताएँ इसे कमजोर बनाती हैं? क्या विशेषताएँ इसे एक मूल्यवान लक्ष्य बनाती हैं? क्या ऐसे तरीके हैं जिनसे आप अपने ऐप को स्पैम के विरुद्ध अधिक मजबूत बना सकते हैं और एक आकर्षक लक्ष्य से कम कर सकते हैं? लगभग निश्चित रूप से इन सवालों का जवाब हां है। अपने रूपों में सत्यापन श्रृंखलाएं जोड़ें, एक कैप्चा का समझदारी से उपयोग करें, बर्तनों को अनफ्री करने के लिए यूआरएल और / या पैरामीटर नामों को यादृच्छिक करें। इस समस्या से निपटने के लाखों तरीके हैं, मुझे यह कहते हुए खेद है कि आपने कम से कम मूल्यवान, कम से कम उपयोगी और सबसे नाजुक समाधानों में से एक को चुना है।


15
मेरे पास वह सब है, धन्यवाद। क्या आपने अपना जवाब तैयार करने से पहले वास्तव में पोस्ट पढ़ी थी?
एली

1
@ एली, जाहिर है तुम्हारे पास है। इसलिए आप कट्टरपंथी उपायों से पीछे हट रहे हैं। क्योंकि आपके पिछले प्रयास इतने प्रभावी थे।
१०:०१

1

सबसे पहले, मैं दृढ़ता से यह नहीं करने का सुझाव दूंगा।

जैसा कि दूसरों ने अधिक स्पष्ट रूप से कहा है, एक विशिष्ट देश को अवरुद्ध करना समस्या को ठीक नहीं करता है, यह बस इसे थोड़ा कम करता है। इसके अलावा, जब उस देश के उपयोगकर्ता यह देखते हैं कि आपने उन्हें विशेष रूप से अवरुद्ध कर दिया है , तो यह आपको उन्हें और अधिक समस्याएँ उत्पन्न करने के लिए प्रेरित करेगा ।

उस ने कहा, यदि आप वास्तव में ऐसा करना चाहते हैं , तो IPinfoDB एक मुफ्त आईपी जियोलोकेशन डेटाबेस प्रदान करता है,

सबसे पहले, केवल देश द्वारा एक आईपी का पता लगाना होगा।

आप इस तरह से खोज करेंगे:

SELECT * FROM `ip_group_country` where `ip_start` <= INET_ATON('74.125.45.100') order by ip_start desc limit 1;

या

SELECT * FROM `ip_group_country` where `ip_start` <= 1249717504 order by ip_start desc limit 1;

दूसरा, आप iptable, htaccess फ़ाइल या जो भी आप उपयोग करते हैं, उसके साथ एक ब्लॉकलिस्ट बनाने के लिए एक विशिष्ट देश का आईपी प्राप्त करना चाह सकते हैं। यह इस तरह किया जाएगा:

SELECT `ip_cidr` FROM `ip_group_country` WHERE `country_code` = 'AF' order by ip_start;

जो आपको देगा:

63.243.149.0/24
67.212.160.0/24

0

आपके द्वारा अपने वेब एप्लिकेशन में फेंकी गई त्रुटियों को हटाने के लिए आपको असफल 2ब्न जैसे उत्पादों का उपयोग करना चाहिए जो यह संकेत देता है कि एक स्पैमिंग प्रयास चल रहा है। यह आपकी साइट को प्रतिरोधी बनाते हुए, आईपी को कुछ समय के लिए ब्लॉक कर देगा, लेकिन पूरे आईपी ब्लॉक को अवरुद्ध नहीं करेगा।


3
जैसा कि मैंने पोस्ट में कहा था, जो कोई भी नहीं पढ़ता है, मेरे पास स्पैम को रोकने और रोकने की पूरी तरह से ठीक व्यवस्था है। मैं इसे करने के लिए काम का बोझ हल्का करने के लिए देख रहा हूं, और मुझे इसे मॉनिटर करने में खर्च करना होगा।
एलि

यही कारण है कि मैंने विफल 2 अबान का सुझाव दिया। यह स्वचालित रूप से बड़े आईपी ब्लॉकों को अवरुद्ध करने वाली पाशविक बल के बिना आपके लिए समस्या आईपी को प्रतिबंधित करता है।
केविन कुफल

0

समाधान के एक जोड़े:

  • mod_access के साथ Apache कॉन्फ़िगरेशन में कुछ IP को बाहर करें
  • Apache से सीधे जियोआई का उपयोग करें: http://www.maxmind.com/app/mod_geoip
  • लिनक्स iptables से सीधे कुछ आईपी को छोड़ दें । यह अधिक जोखिम भरा है यदि आपके पास केवल रिमोट एक्सेस है, तो आप अपने आप को मशीन के लॉक कर सकते हैं
  • geoip + iptables

ये समाधान बहुत आसान और त्वरित रूप से जगह में रखने के लिए स्वतंत्र हैं।

आपके वेब एप्लिकेशन से स्पैम का पता लगाने के लिए एक लंबी अवधि का समाधान होगा, आईपी लॉग इन करें और अपने iptables को स्वचालित रूप से ब्लॉक करने के लिए फ़ीड करें।


0

क्या आपने यह पता लगाने पर विचार किया कि उन नेटवर्क का संचालन कौन कर रहा है जिनसे आप पर हमला किया जा रहा है? Whois का उपयोग करके "दुरुपयोग" संपर्क का पता लगाएं और उन्हें रिपोर्ट करें। बेशक यह कई नेटवर्क से आ सकता है, लेकिन अगर आप कुछ आवर्ती पते / नेटवर्क ब्लॉक देखते हैं तो यह भी इसके लायक हो सकता है।


4
यदि आपने कभी एशिया (विशेष रूप से चीन, कोरिया, आदि) में आईएसपी से निपटने की कोशिश की है, तो आप पाएंगे कि एक चीज जो वे कभी नहीं करते हैं, वह है कुछ विदेशियों के बारे में शिकायत करना। यह चीजों को ठीक से करने के लिए उनके समय के लायक नहीं है इसलिए वे नहीं करते हैं। दुरुपयोग की रिपोर्ट करना आपके समय की बर्बादी है।
दान उदेय

मैं कोरिया में स्थित हूं और मेरे पास कोरियाई आईएसपी के साथ सुखद अनुभव के अलावा कुछ नहीं है।
GNUix

0

आपके पास आईपी ​​पते को ब्लॉक करने का हर अधिकार है, जिस भी कारण से आप अपने लिए उचित ठहरा सकते हैं। यह आप ही हैं जो एक सेवा प्रदान करते हैं और यह आप ही हैं जो यह तय करते हैं कि यह किसके पास है या नहीं। यदि यह नैतिक है तो शायद यह संदिग्ध है लेकिन यह एक ऐसी चीज है जिसे आप केवल अपने लिए तय कर सकते हैं।

हालाँकि, IP सेगमेंट को ब्लॉक करना क्योंकि इसके कुछ भौगोलिक पहलू हैं, यह मुझे एक पैनिक दृष्टिकोण की तरह कम या ज्यादा लगता है।

मैंने अतीत में जो कुछ किया है वह मेरे सबसे हाल के लॉग से गुजरने वाला क्रॉलर है और उस प्रतिबंध के आधार पर व्यक्तिगत आईपी जो 24 घंटे की अवधि के लिए कष्टप्रद है। यदि वह विशिष्ट आईपी फिर से दुर्व्यवहार कर रहा है, तो उसे 2 दिनों के लिए प्रतिबंधित कर दिया जाता है, फिर 3 दिन, आदि आदि आपको बहाव मिलता है।

आईपी ​​है कि एक सप्ताह के लिए और अधिक प्रतिबंध लगा रहे हैं मुझे मेल किया जाएगा और मैं उस सेवा प्रदाता (जो जानते हैं कि यह भी मदद कर सकते हैं) के लिए एक दुरुपयोग मेल भेजते हैं।


0

मैं एक Snort + OSSEC समाधान का विकल्प चुनूंगा जो इस तरह गतिशील रूप से कुछ बनाए रख सके।


यह वीपीएन के लिए सुरक्षित हैं।
एंड्रयू एनस्ले
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.