HTTP और HTTPS अनुप्रयोगों के लिए वेब अनुप्रयोग फ़ायरवॉल सुरक्षा संरक्षण

श्रेणियाँ देखें

HTTP और HTTPS अनुप्रयोगों के लिए वेब अनुप्रयोग फ़ायरवॉल सुरक्षा संरक्षण

6 मिनट पढ़ा

अवलोकन #

निम्नलिखित लेख में एक आईएसपी या होस्टिंग प्रदाता के लिए एक वास्तविक उपयोग के उदाहरण का वर्णन किया गया है, जहां HTTP/S लोड बैलेंसर रिवर्स प्रॉक्सी सभी सार्वजनिक वेब सेवाओं तक पहुंच का मुख्य बिंदु है। यह कॉन्फ़िगरेशन दिखाता है कि ब्लैकलिस्ट स्रोत आईपी पतों पर आधारित वेब अनुप्रयोगों को सुरक्षित करने के लिए एक उन्नत और शक्तिशाली WAF नियमसेट को कॉन्फ़िगर करना कितना आसान है, जहां प्रत्येक वर्चुअलहोस्ट अपनी ब्लैकलिस्ट को इस तरह से प्रबंधित करता है कि एक सार्वजनिक आईपी को www.company1.com जैसे वेब डोमेन से कनेक्ट करने से प्रतिबंधित किया जा सकता है, लेकिन www.company2.com से कनेक्ट करने की अनुमति दी जा सकती है ।

हम इस लेख को दो भागों में विभाजित करेंगे। पहले भाग में, HTTPS प्रोफ़ाइल कॉन्फ़िगरेशन विभिन्न सेवाओं की सूची के साथ रिवर्स प्रॉक्सी के रूप में कार्य करेगा, और दूसरे भाग में यह बताया जाएगा कि वेब एप्लिकेशन फ़ायरवॉल नियमसेट को कैसे कॉन्फ़िगर किया जाए जो प्रत्येक HTTP/S सेवा के लिए एक अलग ब्लैकलिस्ट का प्रबंधन करेगा।

वातावरण #

निम्नलिखित आरेख वर्णन करता है RELIANOID WAF आंतरिक। जैसा कि दिखाया गया है, पहली परत WAF मॉड्यूल है जिसका लक्ष्य प्रारंभिक चरण में यह सुनिश्चित करना है कि केवल सुरक्षित अनुरोधों को लोड संतुलन मॉड्यूल से गुजरने की अनुमति दी जाए और फिर अनुरोध को बैकएंड पर अग्रेषित किया जाए।

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

यहां आप दिए गए उदाहरण के लिए वेब अनुप्रयोग फ़ायरवॉल आंतरिक की स्कीमा पा सकते हैं।

RELIANOID आईपीडीएस डब्ल्यूएएफ

HTTP वर्चुअल सेवा कॉन्फ़िगरेशन #

नीचे दिखाए अनुसार नेटवर्क > वर्चुअल इंटरफेस > वर्चुअल इंटरफेस बनाएं पर जाकर एक समर्पित वर्चुअल आईपी एड्रेस कॉन्फ़िगर करें , हमारे उदाहरण में 192.168.100.58 :

RELIANOID वीआईपी बनाएं

अब आइए HTTP लोड बैलेंसिंग सेवा को कॉन्फ़िगर करें, LSLB > Farms पर जाएं और फिर Create Farm बटन पर क्लिक करें और नीचे दिखाए अनुसार वर्चुअल सेवा विवरण दर्ज करें:

RELIANOID होस्टिंग HTTP फ़ार्म बनाएँ

फिर क्रिएट बटन दबाएं ।

अब ऊपरी टैब ' सेवाएं' पर क्लिक करें और जितनी अलग-अलग वेबसाइटें आप प्रबंधित करते हैं, उतनी ही सेवाएं बनाएं। 'नई सेवा' बटन पर क्लिक करें। हमारे मामले में, हम दो अलग-अलग सेवाएं बनाएंगे, एक www.mycompany1.com के लिए सेवा प्रबंधित करने के लिए और दूसरी www.mycompany2.com के लिए ।

RELIANOID सेवा HTTP बनाएँ

सर्विस बन जाने के बाद, नीचे दी गई इमेज में दिखाए अनुसार वर्चुअल होस्ट फ़िल्टर और बैकएंड जोड़ें।

RELIANOID HTTP सेवा कॉन्फ़िगरेशन

यदि आपके पास कई वेबसाइट हैं, तो आपको प्रत्येक वेबसाइट को एक ही आईपी पते से प्रबंधित करने के लिए एक समर्पित सेवा निर्धारित करने हेतु अधिक सेवाएं जोड़नी होंगी।

अब लोड बैलेंसिंग कॉन्फ़िगरेशन हो गया है, आइए IPDS वेब एप्लिकेशन फ़ायरवॉल मॉड्यूल को कॉन्फ़िगर करें।

ब्लैकलिस्ट कॉन्फ़िगरेशन #

हम प्रत्येक वेब सेवा के लिए एक ब्लैकलिस्ट बनाएंगे ताकि प्रत्येक ब्लैकलिस्ट में उन आईपी पतों को दर्ज किया जा सके जिनके एक्सेस को ब्लॉक करना है। हमारे उदाहरण में, हम ब्लैकलिस्टमाईकंपनी1 और ब्लैकलिस्टमाईकंपनी2 नाम से दो अलग-अलग ब्लैकलिस्ट बनाएंगे , प्रत्येक सेवा के लिए एक।

RELIANOID आईपीडीएस ब्लैकलिस्ट1

यह ब्लैकलिस्ट /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany1.txt नामक पथ में सहेजी जाएगी ।

हमने परीक्षण के लिए 2 आईपी पते शामिल किए हैं, कृपया आवश्यकतानुसार जितने चाहें उतने आईपी पते जोड़ें। साथ ही, आईपीडीएस मॉड्यूल में पहले से मौजूद ब्लैकलिस्ट का भी उपयोग किया जा सकता है।

RELIANOID IPDS ब्लैकलिस्ट बनाएं2

यह दूसरी ब्लैकलिस्ट /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany2.txt नामक पथ में सहेजी जाएगी ।

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

वेब अनुप्रयोग फ़ायरवॉल नियम सेट कॉन्फ़िगरेशन #

इस कॉन्फ़िगरेशन का उद्देश्य प्रत्येक वेबसाइट के लिए अलग-अलग IP ब्लैकलिस्ट बनाए रखना है, ताकि पूरे फ़ार्म एक्सेस पॉइंट के लिए एक ही ब्लैकलिस्ट रखने से बचा जा सके।

हम होस्टिंग ब्लैकलिस्टिंग नाम से नियमों का एक समूह कॉन्फ़िगर करने जा रहे हैं। इस समूह में दो सरल नियम होंगे (हमारे उदाहरण में नियम आईडी 1000 और नियम आईडी 1001)। प्रत्येक नियम में एक मिलान और एक क्रिया परिभाषित की गई है, जहाँ शर्त पूरी होने पर क्रिया निष्पादित होती है। हमारे उदाहरण में, हम दोनों नियमों में एक ही क्रिया का उपयोग करेंगे। शर्त पूरी होने पर, 403 एक्सेस अस्वीकृत प्रतिक्रिया के साथ एक अस्वीकृति क्रिया निष्पादित होगी ।

IPDS > WAF पर जाएं , फिर Create WAF ruleset पर क्लिक करें और एक वर्णनात्मक नियमसेट नाम सेट करें, हमारे उदाहरण में HostingBlacklisting

डिफ़ॉल्ट चरण फ़ील्ड को "अनुरोध हेडर प्राप्त होते हैं" पर सेट करें । इस फ़ील्ड का अर्थ है कि WAF मॉड्यूल क्लाइंट से आने वाले अनुरोध हेडर का विश्लेषण करेगा।

RELIANOID IPDS WAF नियम सेट बनाएँ

फिर रूल्स टैब पर जाएं और नीचे दिखाए गए अनुसार एक्शन टाइप का पहला रूल बनाएं।

RELIANOID IPDS WAF नियम सेट बनाएँ

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

RELIANOID आईपीडीएस ब्लैकलिस्ट मिलान

फिर SERVER_NAME वेरिएबल के अनुसार वर्चुअल होस्ट मैच के लिए एक और शर्त इस प्रकार बनाएं:

RELIANOID IPDS SERVER_NAME मिलान

इस समय, पहली होस्टेड वेबसाइट www.mycompany1.com पहले से कॉन्फ़िगर की गई ब्लैकलिस्ट से एक वेब एप्लिकेशन ब्लैकलिस्ट आईपी एड्रेस को प्रबंधित करती है, जिसे Blacklistmycompany1.txt के रूप में संदर्भित किया जाता है ।

आइए दूसरी वेबसाइट www.mycompany2.com के लिए एक और नियम बनाएं और पिछले नियम के समान ही कॉन्फ़िगरेशन दोहराएं, लेकिन इस मामले में, आपको SERVER_NAME को mycompany2.com में बदलना होगा और निम्नलिखित ब्लैकलिस्ट2.txt का संदर्भ लेना होगा ।

मिश्रित WAF नियम-सेट का संपूर्ण कॉन्फ़िगरेशन देखें:

RELIANOID IPDS WAF संपूर्ण नियम सेट कॉन्फ़िगरेशन

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

RELIANOID आईपीडीएस डब्ल्यूएएफ - फार्म असाइनमेंट

अब फार्म के लिए WAF नियमसेट शुरू करें, इस विंडो के ऊपरी बाएँ भाग में 'प्ले' क्रिया पर क्लिक करें , और सिस्टम फार्म होस्टिंग के लिए HTTP ट्रैफ़िक को फ़िल्टर करना शुरू कर देगा ।

वेब एप्लिकेशन फ़ायरवॉल नियम-सेट का परीक्षण करना #

क्लाइंट आईपी 192.168.1.191 वेबसाइट http://www.mycompany1.com और http://www.mycompany2.com का अनुरोध करेगा और, हमारे कॉन्फ़िगरेशन के अनुसार, WAF सिस्टम समान नाम वाली पहली सेवा से कनेक्ट करने की अनुमति देगा लेकिन mycompany2.com से कनेक्शन अस्वीकार कर दिया जाएगा क्योंकि इस आईपी को ब्लैकलिस्ट mycompany2 नाम की ब्लैकलिस्ट में शामिल किया गया है ।

आईपी ​​एड्रेस 192.168.1.191 से वीआईपी तक लोड बैलेंसर के माध्यम से वेबसाइट www.mycompany1.com का अनुरोध:

root@192.168.1.191:# curl -H "होस्ट: www.mycompany1.com" http://192.168.100.58 -v * URL को फिर से बनाया गया: http://192.168.100.58/ * 192.168.100.58 की कोशिश कर रहा है... * TCP_NODELAY सेट * 192.168.100.58 (192.168.100.58) पोर्ट 80 (#0) से कनेक्ट किया गया > GET / HTTP/1.1 > होस्ट: www.mycompany1.com > उपयोगकर्ता-एजेंट: curl/7.52.1 > स्वीकार करें: */* > HTTP / 1.1 200 ठीक
< सर्वर: nginx/1.10.3 < दिनांक: मंगल, 10 सितम्बर 2019 15:36:22 GMT < सामग्री-प्रकार: text/html < सामग्री-लंबाई: 11383 < अंतिम-संशोधित: गुरु, 13 दिसम्बर 2018 11:01:49 GMT < कनेक्शन: keep-alive < ETag: "5c123c1d-2c77" < स्वीकार-श्रेणियाँ: बाइट्स 

आईपी ​​एड्रेस 192.168.1.191 से वीआईपी तक लोड बैलेंसर के माध्यम से वेबसाइट www.mycompany2.com का अनुरोध:

root@192.168.1.191:# curl -H "होस्ट: www.mycompany2.com" http://192.168.100.58 -v * URL को फिर से बनाया गया: http://192.168.100.58/ * 192.168.100.58 की कोशिश कर रहा है... * TCP_NODELAY सेट * 192.168.100.58 (192.168.100.58) पोर्ट 80 (#0) से कनेक्ट किया गया > GET / HTTP/1.1 > होस्ट: www.mycompany2.com > उपयोगकर्ता-एजेंट: curl/7.52.1 > स्वीकार करें: */* > * HTTP 1.0, बॉडी के बाद बंद मान लें HTTP/1.0 403 अनुरोध निषिद्ध
< Content-Type: text/html < Content-Length: 17 < Expires: now < Pragma: no-cache < Cache-control: no-cache,no-store < * Curl_http_done: समय से पहले कॉल किया गया == 0 * कनेक्शन बंद किया जा रहा है 0 ने जवाब दिया forbiddenp

एक बार जब निषिद्ध प्रतिक्रिया उत्पन्न हो जाती है, तो WAF मॉड्यूल लोड बैलेंसर Syslog फ़ाइल में अस्वीकृति की सूचना देता है।

root@zva6000:# tail -f /var/log/syslog सितम्बर 10 15:38:44 zva6000 पाउंड: होस्टिंग, ModSecurity: चेतावनी. पैरामीटर `mycompany2.com' के साथ ऑपरेटर `StrMatch' का मिलान चर `SERVER_NAME' (मान: `www.mycompany2.com' ) से किया गया [फ़ाइल "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [पंक्ति "17"] [id "1001"] [rev ""] [msg "कस्टम मिलान 2"] [डेटा ""] [गंभीरता "0"] [ver ""] [परिपक्वता "0"] [सटीकता "0"] [होस्टनाम "192.168.100.58"] [uri "/"] [unique_id "156812992458.770641"] [ref "v0,13v21,18"] 10 सितंबर 15:38:44 zva6000 पाउंड: होस्टिंग, [WAF, सेवा mycompany2, बैकएंड 192.168.100.22:80,] (7f6cfac3c700) [क्लाइंट 192.168.1.191] ModSecurity: कोड 403 (चरण 1) के साथ एक्सेस अस्वीकृत। "ऑपरेटर `StrMatch' पैरामीटर `mycompany2.com' के साथ चर `SERVER_NAME' (मान: `www.mycompany2.com') के विरुद्ध मिलान किया गया [फ़ाइल "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [पंक्ति "17"] [id "1001"] [rev ""] [msg "कस्टम मैच 2"] [डेटा ""] [गंभीरता "0"] [ver ""] [परिपक्वता "0"] [सटीकता "0"] [होस्टनाम "192.168.100.58"] [uri "/"] [unique_id "156812992458.770641"] [ref "v0,13v21,18"] सितम्बर 10 15:38:44 zva6ktpl1 पाउंड: होस्टिंग, सेवा mycompany2, बैकएंड 192.168.100.25:80, (7f6cfac3c700) WAF ने 192.168.1.191 से अनुरोध अस्वीकार कर दिया

अब आप HTTP/S गहन पैकेट निरीक्षण तकनीकों का उपयोग करके अपने वेब अनुप्रयोगों की सुरक्षा के लिए अपने कस्टम फ़ायरवॉल नियम-सेट बना सकते हैं।

संबंधित लेख #

https://www.relianoid.com/knowledge-base/enterprise-edition/enterprise-edition-v6-0-administration-guide/v6-0-ipds-waf-update/

📄 इस दस्तावेज़ को पीडीएफ प्रारूप में डाउनलोड करें #

    ई - मेल: *

    BetterDocs द्वारा संचालित