2009-04-03 20 views
5

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

लेकिन क्या पोर्ट 80 पर आउटबाउंड HTTP ट्रैफिक को अवरुद्ध करना आवश्यक है? यदि हां, तो क्यों? इन दिनों बहुत से वेब एप्लिकेशन बाहरी वेब सेवाओं और एपीआई से डेटा भेजने/पुनर्प्राप्त करने पर भरोसा करते हैं, इसलिए पोर्ट 80 पर आउटबाउंड ट्रैफिक को अवरुद्ध करने से यह क्षमता रोका जा सकेगा। क्या कोई सुरक्षा चिंता है जो इसे उचित ठहराने के लिए पर्याप्त है?

उत्तर

7

एकमात्र कारण मैं सोच सकता हूं कि अगर आपकी मशीन किसी तरह से समझौता किया गया है तो यह पोर्ट 80 पर डीडीओएस की दूसरी वेबसाइट नहीं कर पाएगा। ऐसा कुछ नहीं है जो मैं सामान्य रूप से करता हूं।

-2

क्या आप पोर्ट 80

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

या आप आमतौर पर स्थापित कनेक्शन को एक दूसरे के साथ संवाद करने और बाहर जाने की अनुमति देते हैं।

यदि आप आम तौर पर पोर्ट 80 पर सभी आउटबाउंड ट्रैफिक को अवरुद्ध करते हैं तो आपका वेबसर्वर किसी भी ग्राहक को जवाब नहीं दे सका।

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

आपका वेबसर्वर आमतौर पर पोर्ट> 1024 का चयन करेगा और दूरस्थ सर्वर से API प्राप्त करने के अनुरोध के लिए इसका उपयोग करेगा।

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

+0

मैं वेब सर्वर आउटबाउंड HTTP कनेक्शन (पोर्ट 80) इंटरनेट पर अन्य सर्वरों के लिए शुरू करने के लिए अनुमति देता है के बारे में बात कर रहा हूँ। उदाहरण के लिए, आपके पास एक PHP पृष्ठ हो सकता है जिसमें उस पर मौसम विजेट हो। उस स्क्रिप्ट को बाहरी वेब सेवा से मौसम डेटा का अनुरोध करने की आवश्यकता होगी। –

+0

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

+0

देखने का एक अन्य बिंदु से, यदि आपके सर्वर को हैक कर लिया और हो जाता है आप ब्लॉक कि यातायात यह नहीं कर सकते अन्य साइटों से abituary कोड को लोड। लेकिन जो garantees कि हैकर/रोबोट/जो कुछ भी उनके अनुरोध के लिए पोर्ट 80 उपयोग कर रहा है :) – evildead

0

इसके बजाय इसे अवरुद्ध करना, इसे थ्रॉटल करना। Iptables -m सीमा का प्रयोग करें।

0

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

+0

एक श्वेत सूची एक अच्छा सुझाव है, लेकिन यह OpenID, जो कि वेब सर्वर के रूप में इस्तेमाल किसी भी URL का अनुरोध करने में सक्षम हो की आवश्यकता है साथ काम नहीं करेंगे एक ओपनआईडी –

+0

इतना ही नहीं, यह किसी भी वेबसाइट के साथ काम नहीं करेगा जो कभी भी आईपी पता बदलता है। आईपी ​​स्तर पर, न कि डोमेन स्तर (? मैं ले यह इस दक्षता उद्देश्यों के लिए है) यह एक वास्तविक दर्द है, क्योंकि कुछ आईपी एक बहुत बदल - कि कैसे फ़ायरवॉल है कि मैं काम करता है के लिए परिवर्तन का अनुरोध करने की जरूरत है। –

+0

इसके अलावा, वहाँ हमेशा कुछ सेवा है कि, क़यास, एक और मेजबान डीडीओ के लिए इस्तेमाल किया जा सकता है नहीं होगा? उदाहरण के लिए, मेरे आउटबाउंड-HTTP-लॉक-डाउन होस्ट पर, पिंग अभी भी किसी भी होस्ट से संपर्क कर सकता है। –

0

अपने एसक्यूएल संस्करण के आधार पर आप प्रमाणपत्र प्रमाणीकरण समय बाहर एसक्यूएल सर्वर के साथ मुद्दों हो सकता था 2005

0

पहले - मैं थ्रॉटलिंग पर "बल्कि तो यह अवरुद्ध @vartec से सहमत हैं, यह थ्रोटल iptables -m सीमा का उपयोग करें। "समाधान के कम से कम हिस्से के रूप में।

हालांकि मैं हर समय पोर्ट 80 आउटबाउंड को अवरुद्ध नहीं करने का एक और कारण प्रदान कर सकता हूं। यदि आपके पास सुरक्षा अद्यतन शुरू करने के लिए सर्वर 80 पर स्वचालित सुरक्षा अद्यतन पोर्ट 80 पर पीपीए तक नहीं पहुंच सकता है। इस प्रकार यदि आपके पास स्वचालित सुरक्षा अद्यतन सेट अप हैं तो वे नहीं चलेंगे। Ubuntu पर स्वत: सुरक्षा अद्यतन के साथ 14.04 LTS में चालू हैं:

sudo apt-get install unattended-upgrades update-notifier-common && \ 
sudo dpkg-reconfigure -plow unattended-upgrades 
(then select "YES") 

अधिक सुंदर समाधान ansible स्वचालित रूप से पोर्ट खोलने, संभवतः भी iptables के अलावा CLI के माध्यम से एक एडब्ल्यूएस सुरक्षा समूह नियम को संशोधित स्क्रिप्ट हो सकता है अगर आप एडब्ल्यूएस पर हैं। मैं एक चुपके बॉक्स द्वारा शुरू की गई एडब्ल्यूएस सीएलआई के माध्यम से अस्थायी रूप से अपने आउटबाउंड नियमों को संशोधित करना पसंद करता हूं। यह मेरी एडब्ल्यूएस एस 3 लॉग बाल्टी में अपडेट लॉगिंग को मजबूर करता है लेकिन सर्वर पर लॉग में कभी भी दिखाई नहीं देता है।आगे जो सर्वर अद्यतन को शुरू करता है उसे निजी सबनेट एसीएल में भी नहीं होना चाहिए।

हो सकता है कि दोनों करते हैं? आप समय पर एक हमले के अपने सबनेट में एक आंतरिक IP बंद रिले तो वहाँ डबल डाउन जबकि बैकअप और सुरक्षा अद्यतन को स्वचालित करने की क्षमता बनाए रखने के लिए योग्यता है जा रहा है की कल्पना करने की है।

मुझे उम्मीद है कि इससे मदद मिलती है। यदि उत्तर नहीं देते हैं और अधिक विशिष्ट और सटीक होने के लिए अधिक कोड उदाहरण प्रदान करते हैं। #सुरक्षित रहें !

0

मशीन समझौता किया है और पोर्ट 80 पर आउटबाउंड यातायात की अनुमति दी है, तो यह आसान घुसपैठियों खुद को वापस करने के लिए काटा डेटा भेजने के लिए के लिए होगा। आउटबाउंड ट्रैफिक को अनुमति देना मतलब है कि आप अपनी मशीन से बाहरी दुनिया में कनेक्शन शुरू कर सकते हैं। एक बेहतर दृष्टिकोण केवल कुछ वेब साइटों/पतों पर आप विश्वास करते हैं (यानी माइक्रोसॉफ्ट Windows अद्यतन, गूगल reCAPTCHA) के बजाय दुनिया में किसी भी गंतव्य के लिए आउटबाउंड यातायात की इजाजत दी होगी।

संबंधित मुद्दे