डेबियन/उबंटू पर अपाचे के साथ मॉडसिक्योरिटी कैसे सेट करें?
अपाचे वेब सर्वर अत्यधिक अनुकूलन योग्य है और इसे आपकी आवश्यकताओं के अनुरूप कई तरीकों से कॉन्फ़िगर किया जा सकता है। कई तृतीय-पक्ष मॉड्यूल हैं जिनका उपयोग आप अपनी पसंद के अनुसार अपाचे को कॉन्फ़िगर करने के लिए कर सकते हैं।
ModSecurity एक ओपन-सोर्स WAF (वेब एप्लिकेशन फ़ायरवॉल) है जो Apache वेबसर्वर का मूल निवासी है। यह शुरू में केवल एक अपाचे मॉड्यूल था, लेकिन एक पूर्ण विकसित वेब ऐप फ़ायरवॉल बनने के लिए यह वर्ष के दौरान विकसित हुआ है। यह अब Nginx और यहां तक कि IIS द्वारा समर्थित है।
ModSecurity नियमों के पूर्वनिर्धारित सेट के विरुद्ध वेबसर्वर को आने वाले अनुरोधों का निरीक्षण करता है। आमतौर पर, यह CRS (कोर रूल सेट) के रूप में ज्ञात नियमों का एक सेट प्रदान करता है जो किसी वेबसाइट को SQL इंजेक्शन, XSS, और अन्य कारनामों के बीच सत्र अपहरण जैसे वेब एप्लिकेशन हमलों की एक सरणी से बचाता है।
[आप यह भी पसंद कर सकते हैं: मैलवेयर और रूटकिट्स के लिए लिनक्स सर्वर को स्कैन करने के लिए 5 उपकरण]
ModSecurity एप्लिकेशन फ़ायरवॉल बाहरी हमलों से साइटों को बचाने में PCI DSS अनुपालन का एक अभिन्न अंग बनाता है। जब मॉड्यूल सक्षम होता है तो यह '403 निषिद्ध त्रुटि' को ट्रिगर करता है जिसका सीधा सा अर्थ है कि आपके पास वेबसर्वर पर संसाधन तक पहुंचने के लिए अपर्याप्त अनुमतियां हैं।
इस गाइड में, हम आपको दिखाएंगे कि डेबियन और उबंटू लिनक्स पर अपाचे के साथ काम करने के लिए मॉडसिक्योरिटी को कैसे सेट और कॉन्फ़िगर किया जाए।
चरण 1: Ubuntu पर ModSecurity स्थापित करें
पहला कदम ModSecurity को स्थापित करना है। हम सबसे पहले पैकेज सूचियों को इस प्रकार रीफ्रेश करके शुरू करेंगे:
$ sudo apt update
इसके बाद, अन्य निर्भरता और पुस्तकालयों के साथ ModSecurity पैकेज स्थापित करें।
$ sudo apt install libapache2-mod-security2
बाद में, मॉड्यूल को सक्षम करें।
$ sudo a2enmod security2
फिर परिवर्तनों को लागू करने के लिए अपाचे वेबसर्वर को पुनरारंभ करें।
$ sudo systemctl restart apache2
इस बिंदु पर, ModSecurity सफलतापूर्वक स्थापित हो गई है। आइए अब इसे कॉन्फ़िगर करें।
चरण 2: Ubuntu में ModSecurity को कॉन्फ़िगर करें
डिफ़ॉल्ट रूप से, ModSecurity को केवल संदिग्ध गतिविधि का पता लगाने और लॉग इन करने के लिए कॉन्फ़िगर किया गया है। हमें न केवल पता लगाने के लिए बल्कि संदिग्ध गतिविधि को अवरुद्ध करने के लिए एक अतिरिक्त कदम उठाने और इसे कॉन्फ़िगर करने की आवश्यकता है।
प्रतिलिपि, डिफ़ॉल्ट ModSecurity कॉन्फ़िगरेशन फ़ाइल - modsecurity.conf-अनुशंसित - एक नई फ़ाइल के लिए जैसा कि नीचे दिए गए आदेश में दिया गया है।
$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
अपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके, फ़ाइल खोलें
$ sudo nano /etc/modsecurity/modsecurity.conf
रेखा का पता लगाएँ:
SecRuleEngine DetectionOnly
इसे इस पर सेट करें:
SecRuleEngine On
परिवर्तनों को सहेजें और फ़ाइल से बाहर निकलें।
अपाचे में परिवर्तन लागू करने के लिए, वेबसर्वर को पुनरारंभ करें।
$ sudo systemctl restart apache2
चरण 3: OWASP मोडसिक्योरिटी कोर रूल्ससेट डाउनलोड करें
अगला कदम GitHub पेज से नवीनतम OWASP मोडसिक्योरिटी कोर रूल सेट (CRS) डाउनलोड करना है।
दिखाए गए अनुसार OWASP git रिपॉजिटरी को क्लोन करें।
$ git clone https://github.com/coreruleset/coreruleset.git
निर्देशिका में नेविगेट करें।
$ cd coreruleset/
crs-setup.conf.example फ़ाइल को modsecurity निर्देशिका में ले जाना सुनिश्चित करें और इसे crs-setup.conf नाम दें।
$ sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf
इसके अलावा, नियम निर्देशिका को modsecurity निर्देशिका में भी ले जाएँ।
$ sudo mv rules/ /etc/modsecurity/
इसके बाद, security2.conf फ़ाइल को संपादित करें।
$ sudo nano /etc/apache2/mods-enabled/security2.conf
सुनिश्चित करें कि इसमें निम्नलिखित पंक्तियाँ हैं।
IncludeOptional /etc/modsecurity/*.conf Include /etc/modsecurity/rules/*.conf
फिर परिवर्तनों को जारी रखने के लिए अपाचे को पुनरारंभ करें।
$ sudo systemctl restart apache2
आइए अब हमारे ModSecurity कॉन्फ़िगरेशन का परीक्षण करें।
चरण 4: Ubuntu पर ModSecurity कॉन्फ़िगरेशन का परीक्षण करना
अंत में, हमें यह परीक्षण करने की आवश्यकता है कि ModSecurity संदिग्ध HTTP ट्रैफ़िक का पता लगा सकता है और उसे ब्लॉक कर सकता है। इसे प्राप्त करने के लिए, हमें डिफ़ॉल्ट वर्चुअल होस्ट फ़ाइल को संपादित करने की आवश्यकता है।
$ sudo nano /etc/apache2/sites-available/000-default.conf
इसके बाद, हम एक अवरोधन नियम बनाएंगे जो किसी वेब ब्राउज़र द्वारा एक्सेस किए जाने पर एक निश्चित URL तक पहुंच को अवरुद्ध कर देगा।
इन पंक्तियों को 'वर्चुअलहोस्ट' क्लोजिंग टैग से पहले अंत में जोड़ें।
SecRuleEngine On SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"
बेझिझक 'id' और 'msg' टैग्स को वांछित मान पर सेट करें।
फिर वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल में किए गए परिवर्तनों को लागू करने के लिए अपाचे वेबसर्वर को पुनरारंभ करें।
$ sudo systemctl restart apache2
अपने वेब ब्राउज़र पर, अंत में ?testparam=test
के साथ दिखाए गए URL पर जाने का प्रयास करें।
http://server-ip/?testparam=test
आपको एक '403 निषिद्ध त्रुटि' मिलती है जो दर्शाती है कि आपको संसाधन तक पहुँचने से रोक दिया गया है।
आप निम्न प्रकार से त्रुटि लॉग की जाँच करके पुष्टि कर सकते हैं कि क्लाइंट को ब्लॉक कर दिया गया था।
$ cat /var/log/apache2/error.log | grep “Test Successful”
[आप यह भी पसंद कर सकते हैं: डेबियन/उबंटू पर Nginx के लिए ModSecurity कैसे स्थापित करें]
यह पुष्टि करता है कि हमने अवांछित ट्रैफ़िक का पता लगाने और ब्लॉक करने के लिए सफलतापूर्वक ModSecurity सेट अप किया है। इस गाइड में, हमने आपको डेबियन/उबंटू सिस्टम पर अपाचे के साथ मॉडसिक्योरिटी स्थापित करने की प्रक्रिया के बारे में बताया है।