
एक उदाहरण पहचान और सुधार नीति।
#+Title: CVE-2016-2118 इन्वेंटरी और रेमेडिएशन #+SETUPFILE: ~/src/org-html-themes/setup/theme-readtheorg.setup
[[file:./media/badlock.png]]
यह पॉलिसी [[https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2118][CVE-2016-2118]] (जिसे आमतौर पर [[http://badlock.org][Badlock]] के रूप में जाना जाता है) के प्रति संवेदनशील होस्ट्स का पता लगाती है, यह जाँच करके कि वर्तमान में कोई ज्ञात संवेदनशील पैकेज संस्करण इंस्टॉल है या नहीं। रेमेडिएशन पॉलिसी =samba= को उपलब्ध =latest= संस्करण पर रखती है।
नोट: यह पॉलिसी वर्तमान में centos 5 और 6 को कवर करती है। कृपया अधिक प्लेटफ़ॉर्म के लिए समर्थन जोड़ने में योगदान देने पर विचार करें।
यह पॉलिसी पारंपरिक (लेकिन बहुत खराब तरीके से लिखे गए) [[file:Makefile][Makefile]] का उपयोग करके इंस्टॉल होती है। इंस्टॉल करने के लिए बस इस रिपॉजिटरी को क्लोन करें, और फिर make install MASTERFILES=</path/to/policy_root> चलाएँ।
उदाहरण के लिए: #+BEGIN_SRC sh :results raw :wrap EXAMPLE make install MASTERFILES=/tmp/example-a10042 #+END_SRC
#+RESULTS: #+BEGIN_EXAMPLE mkdir -p /tmp/example-a10042/services/cfengine-CVE-2016-2118/cfengine-CVE-2016-2118 rsync -avz --exclude /home/nickanderson/vagrant/tmp/eia/CVE/masterfiles/services/cfengine-CVE-2016-2118/* /tmp/example-a10042/services/cfengine-CVE-2016-2118/ sending incremental file list Makefile README.org main.cf data/ data/centos_5.json data/centos_6.json media/ media/badlock.png
sent 19,776 bytes received 165 bytes 39,882.00 bytes/sec total size is 29,079 speedup is 1.46 find /tmp/example-a10042/services/cfengine-CVE-2016-2118/ -type f | xargs chmod 600 find /tmp/example-a10042/services/cfengine-CVE-2016-2118/ -type d | xargs chmod 700 #+END_EXAMPLE
पॉलिसी को अपने पॉलिसी सेट में इंस्टॉल करने के बाद आपको इसे inputs में जोड़ना होगा ताकि इसे पार्स किया जा सके।
यदि आप CFEngine =3.7.3=, =3.8.1= या उससे अधिक संस्करण चला रहे हैं, तो आप इसे inputs में जोड़ने के लिए [[https://docs.cfengine.com/docs/master/reference-language-concepts-augments.html][augments फ़ाइल]] का उपयोग कर सकते हैं।
उदाहरण के लिए: #+BEGIN_SRC json { "inputs": [ "services/cfengine-CVE-2016-2118/main.cf" ] } #+END_SRC
** =inventory_CVE_2016_2118= यह बंडल जाँचता है कि इंस्टॉल किया गया samba संस्करण =data/$(sys.flavor).json= में परिभाषित किसी ज्ञात संवेदनशील संस्करण से मेल खाता है या नहीं, उदाहरण के लिए: =data/centos_6.json=। संवेदनशील संस्करणों की तलाश के लिए निश्चित रूप से अन्य तरीके भी हैं, जैसे स्वयं पैकेज मैनेजर का उपयोग।
यह एक autorun बंडल है, इसलिए यदि आप [[https://github.com/cfengine/masterfiles/][Masterfiles Policy Framework]] (डिफ़ॉल्ट पॉलिसी जो CFEngine के साथ आती है) चला रहे हैं, तो आप केवल =services_autorun= क्लास को परिभाषित कर सकते हैं।
#+BEGIN_SRC json { "inputs": [ "services/cfengine-CVE-2016-2118/main.cf" ], "classes": { "services_autorun": [ "any" ] } } #+END_SRC
नोट: जब पॉलिसी चलती है और किसी संवेदनशील होस्ट का पता लगाती है, तो यह एक रिपोर्ट जारी करती है और =CVE_2016_2118= क्लास को परिभाषित करती है।
उदाहरण के लिए:
#+BEGIN_EXAMPLE R: Detected Vulnerability: CVE-2016-2118 #+END_EXAMPLE
CFEngine Enterprise उपयोगकर्ता Mission Portal में Inventory Reporting इंटरफ़ेस को एक नए =Vulnerable CVE(s)= एट्रिब्यूट के साथ संवर्धित देखेंगे।
उदाहरण के लिए:
[[file:./media/vulnerable_cves_inventory_attribute.png]]
[[file:./media/inventory_report_vulnerable_cves.png]]
[[file:./media/inventory_report_vulnerable_cves_chart.png]]
[[file:./media/define_alert.png]]
[[file:./media/alert_status_vulnerable_hosts.png]]
** =remediate_CVE_2016_2118= =remediate_CVE_2016_2118= भी एक autorun बंडल है, लेकिन केवल तब जब =remediate_CVE_2016_2118= क्लास परिभाषित हो।
ऐसे कई तरीके हैं जिनसे आप लचीले ढंग से यह बता सकते हैं कि किन होस्ट्स पर और किन समयावधियों के दौरान स्वचालित रेमेडिएशन की अनुमति है।
यदि आप =3.7.3=, =3.8.1= या उससे अधिक संस्करण चला रहे हैं, तो आप इसे [[https://docs.cfengine.com/docs/master/reference-language-concepts-augments.html][augments फ़ाइल]] में जोड़कर अपने पूरे इंफ्रास्ट्रक्चर के लिए सक्षम कर सकते हैं।
#+BEGIN_SRC json { "inputs": [ "services/cfengine-CVE-2016-2118/main.cf" ], "classes": { "services_autorun": [ "any" ], "remediate_CVE_2016_2118": [ "any" ] } } #+END_SRC
पॉलिसी उन पैकेजों की सूची खोजती है जो =$(sys.flavor)= द्वारा पहचाने गए सिस्टम फ्लेवर के नाम पर रखी गई एक json डेटा फ़ाइल में संवेदनशील के रूप में ज्ञात हैं, उदाहरण के लिए [[file:data/centos_6.json][=centos_6=]]।