
Best Practice Auditd Configuration
___ ___ __ __
/ | __ ______/ (_) /_____/ /
/ /| |/ / / / __ / / __/ __ /
/ ___ / /_/ / /_/ / / /_/ /_/ /
/_/ |_\__,_/\__,_/_/\__/\__,_/
सर्वोत्तम अभ्यास Auditd कॉन्फ़िगरेशन
इस auditd कॉन्फ़िगरेशन का विचार एक सर्वोत्तम-अभ्यास आधाररेखा प्रदान करना है जो
सरलीकृत नियमसेट जानबूझकर कुछ उच्च-मूल्य लेकिन संभावित रूप से उच्च-मात्रा वाली टेलीमेट्री रखता है, विशेष रूप से प्रक्रिया निर्माण, सॉकेट निर्माण, और फ़ाइल एक्सेस विफलता घटनाएँ। यदि आवश्यक हो तो इन अनुभागों को अपने वातावरण के अनुसार समायोजित करें।
वर्तमान कॉन्फ़िगरेशन निम्नलिखित कवरेज क्षेत्रों पर केंद्रित है:
ptrace, memfd_create, bpf, नेमस्पेस, io_uring, और userfaultfdexecve, execveat, सॉकेट निर्माण, फ़ाइल विलोपन, और 32-bit ABI उपयोगयह नियमसेट डाउनस्ट्रीम डिटेक्शन लॉजिक से अज्ञेय रहने का इरादा रखता है। यह व्यापक रूप से उपयोगी ऑडिट टेलीमेट्री एकत्र करने पर ध्यान केंद्रित करता है जिसे बाद में विभिन्न तरीकों से विश्लेषित किया जा सकता है, उदाहरण के लिए Sigma-आधारित टूलिंग या SIEM क्वेरी के साथ।
एक ओपन सोर्स प्रोजेक्ट जो इस ऑडिट डेटा का उपयोग कर सकता है, वह है Aurora Linux, जो Linux के लिए एक हल्का और अनुकूलन योग्य Sigma-आधारित एजेंट है, जो eBPF-आधारित टेलीमेट्री को उपयोगकर्ता-स्थान संवर्धन और Sigma नियम मिलान के साथ जोड़ता है।
यह नियमसेट जानबूझकर -i शामिल करता है ताकि वैकल्पिक डिस्ट्रो-विशिष्ट पथ उन सिस्टमों पर लोडिंग को निरस्त न करें जहाँ कुछ बाइनरी या निर्देशिकाएँ अनुपस्थित हैं। यह डिफ़ॉल्ट डिप्लॉयमेंट को सरल रखता है, लेकिन इसका मतलब यह भी है कि नियम लोड त्रुटियों को अनदेखा कर दिया जाता है।
यदि आप सख्त प्री-डिप्लॉयमेंट सत्यापन चाहते हैं, तो -i लाइन को हटाकर एक अस्थायी प्रतिलिपि का परीक्षण करें, उदाहरण के लिए:
grep -v '^-i$' audit.rules > /tmp/audit.rules.strict
auditctl -R /tmp/audit.rules.strict
रिपॉजिटरी में GitHub Actions जाँच भी शामिल हैं जो नियमों को लिंट करते हैं और सत्यापित करते हैं कि एक पोर्टेबल CI प्रतिलिपि और एक सख्त प्रतिलिपि दोनों Ubuntu पर लोड हो सकते हैं।
audit.rules में कई नियम auid>=1000 -F auid!=unset का उपयोग करते हैं ताकि इंटरैक्टिव उपयोगकर्ता गतिविधि पर ध्यान केंद्रित किया जा सके और अनसेट लॉगिन सत्रों को बाहर रखा जा सके।
1000 कई Linux वितरणों पर सामान्य UID_MIN है, लेकिन यह सार्वभौमिक नहीं है। यदि आपका होस्ट एक भिन्न UID_MIN का उपयोग करता है, तो /etc/login.defs जाँचें और डिप्लॉयमेंट से पहले audit.rules में 1000 को बदलें:
awk '$1=="UID_MIN" { print $2 }' /etc/login.defs
29 अप्रैल, 2026 को, Xint ने Copy Fail (CVE-2026-31431) प्रकाशित किया, जो एक स्थानीय विशेषाधिकार-वृद्धि तकनीक है जो कर्नेल क्रिप्टो उपयोगकर्तास्थान इंटरफ़ेस (AF_ALG) का splice() के साथ दुरुपयोग करके मेमोरी में पेज-कैश-बैक्ड फ़ाइलों को भ्रष्ट करती है।
इस नियमसेट में एक छोटा af_alg ब्लॉक शामिल है ताकि उस सेटअप के स्थिर, कम-शोर वाले हिस्सों को जिम्मेदार उपयोगकर्ता सत्रों से एकत्र किया जा सके:
socket(AF_ALG, ...)struct sockaddr_alg का उपयोग करके bind()setsockopt(..., SOL_ALG, ...)यह जानबूझकर authencesn(hmac(sha256),cbc(aes)) के लिए एक बार के सिग्नेचर की तुलना में अधिक सामान्य है क्योंकि ऑडिट syscall फ़िल्टर स्ट्रिंग तर्कों का मिलान नहीं कर सकते। व्यवहार में, एल्गोरिदम नाम bind() द्वारा उत्सर्जित SOCKADDR रिकॉर्ड में रहता है, इसलिए अनुशंसित डाउनस्ट्रीम डिटेक्शन है:
key=af_alg पर फ़िल्टर करेंSOCKADDR.saddr / SADDR={ saddr_fam=alg ... } का निरीक्षण करेंsalg_type=aead को salg_name में authencesn( समाहित करने के साथ फ़्लैग करेंpid, exe, या auid कम समय में ऐसे कई बाइंड उत्सर्जित करता है तो गंभीरता बढ़ाएँXint द्वारा वर्णित प्रूफ-ऑफ-कॉन्सेप्ट बार-बार splice() ऑपरेशनों पर भी निर्भर करता है। वे syscalls कई सिस्टमों पर डिफ़ॉल्ट नियमसेट के लिए बहुत शोरगुल वाले हैं, इसलिए रिपॉजिटरी audit.rules में केवल एक टिप्पणी-आउट splice_user ओवरले भेजती है। इसे केवल तभी सक्षम करें यदि आपके वातावरण में splice / vmsplice असामान्य हैं और इसे उसी प्रक्रिया या उपयोगकर्ता सत्र से हाल की af_alg गतिविधि से सहसंबंधित करें।
यह कॉन्फ़िगरेशन निम्नलिखित स्रोतों और डिफ़ॉल्ट नियमसेट में वर्षों के विलय सुधारों पर आधारित है:
Gov.uk auditd नियम https://github.com/gds-operations/puppet-auditd/pull/1
CentOS 7 हार्डनिंग https://highon.coffee/blog/security-harden-centos-7/#auditd---audit-daemon
Linux ऑडिट रिपो https://github.com/linux-audit/audit-userspace/tree/master/rules
Auditd उच्च प्रदर्शन Linux ऑडिटिंग https://linux-audit.com/tuning-auditd-high-performance-linux-auditing/
Copy Fail: प्रत्येक प्रमुख Linux वितरण पर रूट तक 732 बाइट्स। https://xint.io/blog/copy-fail-linux-distributions
Linux कर्नेल क्रिप्टो उपयोगकर्तास्थान इंटरफ़ेस (AF_ALG) https://docs.kernel.org/crypto/userspace-if.html
ये सभी नियम शामिल नहीं किए गए हैं।
PCI DSS अनुपालन के लिए देखें: https://github.com/linux-audit/audit-userspace/blob/master/rules/30-pci-dss-v31.rules
NISPOM अनुपालन के लिए देखें: https://github.com/linux-audit/audit-userspace/blob/master/rules/30-nispom.rules
IppSec ने एक वीडियो कैप्चर किया जो बताता है कि OMIGOD भेद्यता के शोषण का पता लगाने के लिए auditd का उपयोग कैसे करें। उस वीडियो में मुख्य auditd अवधारणाएँ अभी भी उपयोगी हैं, लेकिन इस रिपॉजिटरी में नियमसेट को तब से काफी सरल बना दिया गया है। वीडियो को ऐतिहासिक पृष्ठभूमि और auditd-आधारित डिटेक्शन विचारों के परिचय के रूप में मानें, न कि वर्तमान audit.rules की पंक्ति-दर-पंक्ति दस्तावेज़ीकरण के रूप में।
https://www.youtube.com/watch?v=lc1i9h1GyMA
कृपया अपने परिवर्तन पुल अनुरोधों के रूप में योगदान करें