
log4j शमन कार्य
यह Ansible Role प्रभावित Log4j JAR फ़ाइलों से कमजोर JndiLookup क्लास को हटाकर Log4Shell भेद्यता (CVE-2021-44228) को प्रोग्रामेटिक रूप से कम करने के लिए एक Python-आधारित स्क्रिप्ट तैनात करता है।
इसे Ansible के माध्यम से चलाने के लिए डिज़ाइन किया गया है, लेकिन यदि आप चाहें तो स्क्रिप्ट को मैन्युअल रूप से भी चला सकते हैं।
Log4Shell भेद्यता के बारे में यहाँ और पढ़ें:
JndiLookup.class मौजूद हैJndiLookup.class हटाता हैzip और zipinfo स्थापित होना चाहिएPyYAML स्थापित होना चाहिए (pip install pyyaml)स्क्रिप्ट को YAML फ़ाइल के माध्यम से कॉन्फ़िगर किया जाता है, जिसे Role द्वारा स्वचालित रूप से टेम्पलेट किया जाता है।
Example config.yaml:
app_directories:
- /opt/apps
backup_directory: /opt/backups
log_file: /var/log/log4j_mitigation.log
app_directories: JAR फ़ाइलों को स्कैन करने के लिए निर्देशिकाओं की सूचीbackup_directory: मूल JAR बैकअप संग्रहीत करने का स्थानlog_file: संचालन ट्रैकिंग के लिए लॉग फ़ाइल का पथइस Role को अपने playbook में जोड़ें:
- name: Mitigate Log4Shell CVE-2021-44228
hosts: all
become: true
roles:
- log4shell_mitigation
यदि आप स्क्रिप्ट को मैन्युअल रूप से चलाना चाहते हैं, तो आप ऐसा कर सकते हैं:
स्क्रिप्ट को अपनी लक्ष्य मशीन पर कॉपी करें:
files/log4shell_mitigator.py
उसी निर्देशिका में अपनी खुद की config.yaml बनाएँ।
इसे चलाएँ:
python3 log4shell_mitigator.py
/var/log/log4j_mitigation.log) जाँचेंMIT
PR और सुधारों का स्वागत है -> कृपया fork करें और मर्ज अनुरोध सबमिट करें।
यह सॉफ़्टवेयर और साथ में दिया गया Ansible Role “जैसा है” प्रदान किया जाता है और किसी भी प्रकार की वारंटी, स्पष्ट या निहित, के बिना। किसी भी वातावरण में लागू करने से पहले इस कोड की उपयुक्तता, सुरक्षा और प्रभावशीलता का मूल्यांकन और परीक्षण करने की पूरी जिम्मेदारी आप पर है। AxisOps Ltd (GB08681761) इस कोड के उपयोग या दुरुपयोग के परिणामस्वरूप होने वाली क्षति, डेटा हानि, सेवा व्यवधान या अन्य हानि के लिए किसी भी दायित्व को स्पष्ट रूप से अस्वीकार करता है।
अपने जोखिम पर उपयोग करें। प्रोडक्शन में परिनियोजन से पहले हमेशा नियंत्रित वातावरण में कोड का ऑडिट, परीक्षण और सत्यापन करें।
SysOps Team @ AxisOps