क्या अमेरिका के बाहर सभी कनेक्शनों को ब्लॉक करने से पोर्ट 80 के पार एक उच्च सर्वर लोड होगा?


16

अधिकांश सर्वरों की तरह (मुझे लगता है), हमारे पास 24/7 हमारी सेवाओं को बल देने की कोशिश करने वाले लोग हैं। मेरे पास उनके आईपी को ब्लैकलिस्ट करने का cpHulk है, लेकिन ऐसा लगता है कि अगर वे पहले स्थान पर नहीं होते तो बेहतर होता। मेरे और मेरे मेजबान केवल वही हैं जो 80 के अलावा बंदरगाहों पर सर्वर से जुड़ते हैं, इसलिए मैं यूएस के बाहर सभी देशों से कनेक्शन को ब्लॉक करने के लिए चाहूंगा, पोर्ट 80 को छोड़कर। मैंने इसे स्थापित करने के लिए अपने मेजबान से संपर्क किया, लेकिन उन्होंने वे संकोच कर रहे थे क्योंकि उन्होंने कहा कि यह एक असाधारण उच्च सर्वर भार पैदा करेगा। यह एक समर्पित Xeon 1230 सर्वर है जिसमें 32GB RAM CentOS 6.6 और iptables चल रहा है।

पहला, ऐसा न करने का कोई कारण? दूसरा, मेरे मेजबान ने मुझे क्या कहा है? तीसरा, क्या उच्च प्रदर्शन प्रभाव के बिना इसे पूरा करने का कोई तरीका है?


12
यह दुर्भाग्यपूर्ण है कि आपके होस्टिंग संपर्क का उल्लेख नहीं किया गया "लेकिन वहाँ एक उद्योग मानक तरीका है जो आप कम रखरखाव, बेहतर सुरक्षा और कम सर्वर लोड के साथ एक ही काम करना चाहते हैं, जिसे स्पष्ट अस्वीकृत सभी कहा जाता है। मुझे उन आईपी की सूची प्राप्त करें जिनकी आपको श्वेत सूची की आवश्यकता है। और मैं इसे 20 मिनट में आपके लिए स्थापित कर दूंगा। " - यही कारण है कि मैं जिस कुर्सी पर बैठता हूं उसके लायक किसी भी
सासद

बस उन्हें ब्लॉक करें जब वे दुरुपयोग करते हैं ... रखरखाव इस तरह से कम से कम है ... एक पूर्ण तालिका के साथ आपको इसे अद्यतन रखना होगा
स्केपरन

जवाबों:


33

प्रत्येक IP श्रेणी (प्रत्येक श्रेणी को सूचीबद्ध करके) को अवरोधित करने के लिए विशिष्ट नियम सेट करना गलत दृष्टिकोण है।

अपने प्रबंधन पोर्ट के सभी ट्रैफ़िक को छोड़ने के लिए iptables में डिफ़ॉल्ट नियम सेट करें। फिर अपने विश्वसनीय आईपी (आपकी और आपकी मेज़बान) तक पहुँच की अनुमति देने के लिए नियम जोड़ें।

डिफ़ॉल्ट रूप से सब कुछ अवरुद्ध करना, और केवल स्वीकृत ट्रैफ़िक की अनुमति देना आमतौर पर "स्पष्ट इनकार सभी" कहा जाता है, और इसे एक सर्वोत्तम-अभ्यास माना जाता है। इस मामले में भी अपने मेजबान के बारे में चिंतित प्रदर्शन प्रभाव से बचने में मदद करता है।


क्यों, यदि आप जानते हैं, तो जब आप फ़ायरवॉल के माध्यम से केवल कुछ आईपी की अनुमति देकर स्पष्ट रूप से सभी को मना कर रहे हैं, तो क्या यह एक स्पष्ट इनकार है?
बेन

इसके बारे में वास्तव में कुछ भी निहित नहीं है ...
mr-sk

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

9

ऐसा करने के लिए, आपको हजारों फ़ायरवॉल नियमों को जोड़ना होगा , प्रत्येक नेटब्लॉक के लिए एक, जहां एक देश में एक से कई हजार नेटब्लॉक हो सकते हैं।

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

एक महत्वपूर्ण प्रदर्शन प्रभाव के बिना ऐसा करने का तरीका वह है जो आप पहले से कर रहे हैं: केवल उन विशिष्ट पतों को अवरुद्ध करना जो समस्याग्रस्त हो रहे हैं।


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

2
@BigIron बेशक नहीं। अमेरिका में दसियों हज़ार नेटब्लॉक भी हैं। आप किसी भी तरह से हार जाते हैं।
माइकल हैम्पटन

1
@SamuelEdwinWard नहीं, यह नहीं है। उन्हें पूरे स्थान पर फैलाने के बावजूद, आमतौर पर ऐसे ब्लॉकलिस्ट कुछ सौ प्रविष्टियों से अधिक नहीं होते हैं।
माइकल हैम्पटन

1
क्या आपके पास एक संदर्भ है कि मंदी कितनी महत्वपूर्ण है? एक रेखीय खोज हालांकि सभी नियम बहुत ही अकुशल लग रहे हैं, बहुत कम से कम एक द्विआधारी खोज का मतलब होगा कि खोज 60,000 नियम तालिका केवल 16 जांच तालिका में ले जाएगी, और यह ट्रैफ़िक को वेबसर्वर से गुजरने की तुलना में तेज़ हो सकता है अनुरोध को पूरा करने के लिए डिस्क I / O निष्पादित करना होगा। मैं iptables में बड़े नियमों पर कोई मैट्रिक्स नहीं ढूंढ सका।
जॉनी

1
@ जॉनी नेटफिल्टर (iptables) प्रक्रियाएं यह नियम है कि यह दुर्भाग्य से नियम है: serverfault.com/questions/334885/…
रॉस रिज

5

आपको जो चाहिए वह है ipsets नामक उपकरण

आईपी ​​सेट लिनक्स कर्नेल के अंदर एक रूपरेखा है, जिसे ipset उपयोगिता द्वारा प्रशासित किया जा सकता है। प्रकार के आधार पर, वर्तमान में एक आईपी सेट आईपी पते, (टीसीपी / यूडीपी) पोर्ट नंबर या आईपी पते को मैक पतों के साथ स्टोर कर सकता है, जो एक सेट के खिलाफ प्रविष्टि का मिलान करते समय बिजली की गति सुनिश्चित करता है।

यहाँ ध्यान देने वाली बात यह है कि यह बहुत तेज़ है! ऐसा इसलिए है क्योंकि iptables नियमों की सैकड़ों या हजारों लाइनों के बजाय एक ही हैश द्वारा बड़ी संख्या में आईपी नेटवर्क का प्रतिनिधित्व किया जा सकता है।

अवरुद्ध देशों के लिए यह उदाहरण देखें :


1

इस तरह से या नहीं करने के बारे में बिट को अनदेखा करना एक अच्छा विचार है, आप वही कर सकते हैं जो आपने ipipables के लिए जियोआईपी मॉड्यूल के साथ किया था

मॉड्यूल बनाने और स्थापित करने के बाद (और अपनी आईपी सूचियों को मासिक रूप से अपडेट करके रखा जाता है), आप व्यक्तिगत देशों को अवरुद्ध करने के लिए इस तरह से सामान कर सकते हैं:

iptables -I INPUT -m geoip --src-cc CN -j DROP

या उपयोग --src-cc US -j ACCEPTऔर इतने पर यदि आप उन देशों को निर्दिष्ट करना पसंद करते हैं जिन्हें आप रखना चाहते हैं।


यदि "स्पष्ट इनकार सभी" का उपयोग करके और केवल एक ही देश को अनुमति देने पर भी प्रदर्शन की आपदा नहीं होगी?

@ AndréDaniel, मैं स्वीकार करता हूं कि मैंने खुद जियोआईपी कोड को नहीं देखा है, लेकिन यह मानते हुए कि वे एक गैर-भोले कार्यान्वयन का उपयोग करते हैं जो क्रमिक रूप से नेटब्लॉक्स के एक समूह (जैसे एक ट्राइ) की तुलना में होशियार है, इसकी आवश्यकता नहीं है।
स्कॉट डडले

और अगर आप IPv4 के बारे में बात कर रहे हैं और आपके पास प्रति नियम को छोड़ने के लिए 512 एमबी है, तो लुकअप टेबल का उपयोग करके एक सैद्धांतिक कार्यान्वयन ओ (1) में काम कर सकता है।
स्कॉट डडले

1

यदि आप भू-स्थान ब्लैकलिस्ट / श्वेतसूची बनाए बिना कहीं से भी कनेक्ट करने की क्षमता बनाए रखना चाहते हैं, तो आप पोर्ट-नॉकिंग को लागू कर सकते हैं । यह किसी भी पते से कनेक्ट करने की अनुमति देते समय अधिकांश स्वचालित प्रयासों को रोक देगा।

नोट: पोर्ट को खोलने के लिए बंदरगाह से सटे खटखटाने के लिए न रखें, अन्यथा एक अनुक्रमिक पोर्ट स्कैन आपके नियम को सक्रिय करेगा।


0

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

https://ripe68.ripe.net/presentations/176-RIPE68_JSnijders_DDoS_Damage_Control.pdf

http://mailman.nanog.org/pipermail/nanog/2014-February/064381.html

http://www.internetsociety.org/deploy360/blog/2014/07/video-selective-blackholing-at-ripe-68/

जैसा कि यह विधि मार्गों के हेरफेर पर काम करती है, यह किसी भी सर्वर लोड मुद्दों को बायपास करती है।

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