https वेबसाइटों को ब्लॉक करने के लिए iptables


9

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

क्या ऐसा करने के लिए स्क्विड के अलावा कोई विकल्प है? iptablesइस तरह के यातायात को अवरुद्ध करने के लिए कुछ नियम वास्तव में सहायक होंगे।

मुझे मिला

iptables -t filter -I INPUT -m string --string facebook.com -j LOG --algo bm
iptables -t filter -I INPUT -m string --string facebook.com -j REJECT --algo bm

लेकिन https अभी भी स्थानीय मशीन को छोड़कर मशीनों पर काम करता है।


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

क्या मुझे पता है कि आप उन सभी आईपी पते को कैसे प्राप्त करेंगे pls
जगदीश

जवाबों:


12

URL पर आधारित मिलान के बजाय, प्रमाणपत्र की सामग्री के आधार पर मिलान करने का प्रयास करें।

iptables -t nat -I INPUT --sport 443 -m string \
                 --string www.facebook.com --algo bm -j REJECT

आप फिंगरप्रिंट पर मेल भी कर सकते हैं लेकिन यदि गंतव्य अपना प्रमाणपत्र बदलता है या अपडेट करता है, तो यह आपके नियम को अमान्य कर देगा।


यह HTML बॉडी में भी www.facebook.com से मेल खाने वाली किसी भी चीज़ को ब्लॉक कर सकता है, लेकिन यह कमेंट बॉक्स पर इस तरह से वैध है। इसे url स्तर पर अवरुद्ध किया जा सकता है, लेकिन ipaddress के बारे में क्या?
निखिल मुल्ले

@ निखिलमूली: नहीं, यह केवल फेसबुक द्वारा सेव किए गए एसएसएल प्रमाणपत्र से मेल खाएगा। बाकी सब कुछ एन्क्रिप्टेड है और देखा नहीं जा सकता।
बह्मत

2
केवल एक कनेक्शन का पहला पैकेट natतालिका में दर्ज होता है (और नेट तालिका में कोई INPUT श्रृंखला नहीं है), मुझे लगता है कि आप filterवहां थे। इसके अलावा, एक (बहुत) दूरस्थ मौका है कि यह पैकेट से मेल खाता है जहां ग्राहक पोर्ट 443 है
स्टीफन चेज़लस

क्या किसी ने इस समाधान का उपयोग किया है? -p tcpनियम की कमी के अलावा , यह कुछ उपयोगी नहीं लगता है ..
ivanleoncz

10

फ़ायरवॉल नियंत्रित नहीं कर सकता कि कौन से HTTPS URL को क्लाइंट एक्सेस करने की कोशिश कर रहा है, क्योंकि URL एन्क्रिप्टेड है। फ़ायरवॉल केवल नियंत्रित कर सकता है कि आईपी पते का उपयोग करके ग्राहक किन साइटों से जुड़ रहा है, लेकिन यह मदद नहीं करता है यदि साइट के HTTP और HTTPS संस्करण एक ही URL पर हैं (और यदि वे नहीं हैं, तो भी आपके पास होगा) आईपी ​​पते की एक विशाल सूची बनाए रखने के लिए)।

HTTPS को ब्लॉक करने का एकमात्र यथार्थवादी तरीका इसे पूरी तरह से ब्लॉक करना है। जोर देते हैं कि सभी कनेक्शन वैध HTTP (यानी ग्राहक एक HTTPलाइन भेजकर शुरू होता है , और इसी तरह) होना चाहिए। यह केवल IPtables के साथ नहीं किया जा सकता है, आपको स्क्वीड जैसे वास्तविक प्रोटोकॉल-जागरूक प्रॉक्सी की आवश्यकता है। (मुझे पता नहीं है कि अनटंगल लाइट क्या सक्षम है)

आप आउटगोइंग ट्रैफ़िक को पोर्ट 443 पर ब्लॉक करके अधिकांश HTTPS ट्रैफ़िक को ब्लॉक कर सकते हैं, क्योंकि लगभग सभी HTTPS सर्वर उस पोर्ट पर हैं। या, एक श्वेतसूची दृष्टिकोण के बाद, केवल आउटगोइंग ट्रैफ़िक को पोर्ट 80 (सामान्य HTTP पोर्ट) की अनुमति दें।

एक अलग दृष्टिकोण सभी HTTP और HTTPS कनेक्शन को प्रॉक्सी करना होगा। फिर आप URL द्वारा मेल कर सकते हैं। इसके लिए मुवक्किलों पर एक-के-बाद-एक मध्य आक्रमण करने की आवश्यकता है। आप ऐसा कर सकते हैं कि यदि आप सभी ग्राहक मशीनों के लिए अपना प्रमाणीकरण प्राधिकारी तैनात करते हैं और इसे विश्वास की जड़ के रूप में पंजीकृत करते हैं। इसे अनैतिक माना जा सकता है।

कोई फर्क नहीं पड़ता कि आप क्या करते हैं, निर्धारित उपयोगकर्ता आपके वातावरण के बाहर एक प्रॉक्सी सेट करेंगे और HTTP पर आईपी या ऐसा ही कुछ चलाएंगे।

आप तकनीकी साधनों के साथ एक सामाजिक समस्या को ठीक करने की कोशिश कर रहे हैं, जो शायद ही कभी काम करता है, या प्रबंधन से एक मूर्खतापूर्ण आवश्यकता को लागू करने के लिए आपकी पूरी कोशिश कर रहा है (जिस स्थिति में, मैं अवरुद्ध पोर्ट 443 के साथ जाऊंगा, शायद केवल के लिए कुछ आईपी, जो आपको रिपोर्ट करने की अनुमति देंगे कि आपने अपना काम किया है, चाहे कितना भी बेकार हो)।


1
चेकपॉइंट की तरह पेशेवर फ़ायरवॉल नवीनतम संस्करण में क्लाइंट सर्टिफिकेट की तैनाती के बिना https फ़िल्टरिंग की अनुमति देता है, मुझे नहीं पता कि वे इसे कैसे प्रबंधित करते हैं, लेकिन यह काम करता है।
कीवी

4

मुझे एक विकल्प का पता है।

यदि आपके पास उपयोग के लिए आंतरिक DNS सर्वर हैं, तो अपने TLD ज़ोन डेटा में कुछ स्थिर संदर्भ डालें जो डोमेन को हल करते हैं (जो कि आप बाहरी कनेक्शन स्थापित करने की इच्छा नहीं रखते हैं) केवल 127.0.0.1 पर। इस तरह, आपके नेटवर्क के भीतर केंद्रीय DNS का उपयोग करने वाले सभी होस्ट (facebook.com/twitter.com प्रति se) डोमेन को लूपबैक पते में हल करेंगे, जो कहीं नहीं ले जाएगा।

यह आपके नेटवर्क नेटवर्क क्लाइंट रिवाल्वर कॉन्फ़िगरेशन पर कुल आधिकारिक नियंत्रण है, तो यह काम करेगा। यदि वर्कस्टेशन / क्लाइंट के पास / etc / होस्ट्स, या /etc/resolv.conf को बदलने / संपादित करने की अनुमति है तो वे इस विकल्प को दरकिनार कर सकते हैं।


उसके लिए +1। इन संदर्भों को /etc/hostsफ़ाइल में सम्मिलित करके किया जा सकता है । उदाहरण के लिए:127.0.0.1 www.facebook.com

2
या, अधिक सभ्य समाधान के लिए, एक वेबसर्वर के साथ एक इंट्रानेट होस्ट को संदर्भित करने के लिए DNS ए रिकॉर्ड्स (या होस्ट्स / होस्ट्सटैक्स एंट्रीज) सेट करें जो बताता है कि उपयोगकर्ता को फेसबुक पर क्यों नहीं भेजा गया, आदि कृपया ध्यान दें कि यह टूट जाता है HTTPS क्योंकि इच्छित होस्टनाम (जैसे www.facebook.com) प्रमाणपत्र CN से मेल नहीं खाएगा।
एलेक्सिओस

@ एलेक्सियो: ओपनडएनएस इसके लिए एक शानदार उपाय है।
केविन एम

@ केविनम: धन्यवाद, यह जानना उपयोगी है। मैं इसे ध्यान में रखूँगा (हालाँकि हमारे पास काम करने के लिए हमारे अपने छोटे डीएनएस फार्म हैं)
एलेक्सियोस

2

नेटवर्क ब्लॉक पर ब्लैकहोल मार्गों के लिए एक विकल्प है: (सूचीबद्ध एफबी के लिए हैं)

ip route add blackhole 69.171.224.0/19
ip route add blackhole 74.119.76.0/22 
ip route add blackhole 204.15.20.0/22
ip route add blackhole 66.220.144.0/20
ip route add blackhole 69.63.176.0/20
ip route add blackhole 173.252.64.0/18

1
नहीं, यह फेसबुक ट्विटर या यहां तक ​​कि यह संवाद नहीं है जो आईपी के लिए आईपी की एक सूची बनाए रखने के लिए जटिल करने के लिए जिस तरह से यह खुद की आईपी रेंज नहीं है।
कीवी

1

सादे सामग्री फ़िल्टर ssl साइट को ब्लॉक नहीं कर सकता है।

Snort / suricata जैसे घुसपैठ सुरक्षा उपकरणों का उपयोग करें

नमूना IPS नियम : विशिष्ट IP पते के लिए ssl URLS को अवरुद्ध करने के लिए।

drop ip any 443 -> 192.168.3.30 any (content:".facebook.com"; msg:"Simplewall Ssl block for User30 : Urls => .facebook.com " sid:26648513;rev:1;)

drop ip any 443 -> 192.168.3.30 any (content:".fbcdn.net"; msg:"Simplewall Ssl block for User30 : Urls => .fbcdn.net " ;sid:11469443;rev:1;)

drop ip any 443 -> 192.168.3.30 any (content:".youtube.com"; msg:"Simplewall Ssl block for User30 : Urls => .youtube.com " ;sid:13989722;rev:1;)

डाउनलोड Simplewall : स्क्वीड + Suricata IPS द्वारा साझा किए गए सरल नियम नीति नियमों में।


0

आपको इसे फॉरवर्ड चेन पर रखना चाहिए, जैसे

iptables -I FORWARD  -m string --string "facebook.com" \
                     --algo bm --from 1 --to 600 -j REJECT

यह फ़ायरवॉल को छोड़कर, नेटवर्क पर अन्य प्रणालियों को प्रभावित करेगा।

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