
مستودع لوحدات تكوين sysmon
Sysmon Modular هو مستودع إعدادات لـ Microsoft Sysinternals Sysmon. تسهّل وحدات XML الصغيرة عملية اختيار ومراجعة وصيانة البيانات التليمترية المفيدة لمؤسستك. تبني أداة sysmon-modular المكتوبة بلغة Go الإعدادات من تلك الوحدات، وتساعد في التحقق منها وتحليلها ومقارنتها.
كل إعداد هو نقطة انطلاق. راجعه واضبطه وفقاً لتطبيقاتك وأدوار نقاط النهاية واحتياجات الكشف وميزانية التسجيل لديك قبل نشره على نطاق واسع. استخدم مجموعة قابلة للإدارة من الملفات التعريفية لأجهزة العمل والخوادم ومتحكمات المجال، وقِس سلوكها على أجهزة تمثيلية.
لم يكن هذا المشروع ليكون ممكناً دون إعداد SwiftOnSecurity الأصلي، الذي ألهم Sysmon Modular ولا يزال جزءاً من أساسه.
نزّل إعدادات الانطلاق العادية من أحدث إصدار على GitHub. تُنشأ ملفات XML الموحّدة هذه من الوحدات المصدرية وتُوزَّع كأصول إصدار بدلاً من تخزينها في المستودع.
| الملف التعريفي | التنزيل | هدف الجمع |
|---|---|---|
| Balanced | sysmonconfig.xml | إعداد الانطلاق العادي، دون أرشفة FileDelete. |
| Balanced with FileDelete | sysmonconfig-with-filedelete.xml | يضيف جمع FileDelete وأرشفة الملفات. احسب متطلبات القرص للأرشيف. |
| Excludes only | sysmonconfig-excludes-only.xml | ملف تعريف مفصل للغاية مبني من وحدات الاستبعاد. توقّع حجماً كبيراً من الأحداث واضبطه قبل الاستخدام في بيئة الإنتاج. |
تُنشأ الملفات التعريفية الثلاثة جميعها لـ Sysmon 15.21 و14.16 و13.34 و12.03. تتضمن أسماء الملفات المُصدَّرة بالإصدار الهدف، مثل sysmonconfig-14.16.xml؛ والأسماء غير المُصدَّرة أعلاه هي أسماء بديلة لـ 15.21. اختر الإصدار المثبَّت على نقاط النهاية لديك. لعمليات النشر المُتحكَّم بها، ثبّت إصداراً محدداً بدلاً من نشر latest تلقائياً.
يبقى ملفان تعريفيان كمثالين منفصلين في المستودع:
يتضمن الإصدار أيضًا أدوات مبنية مسبقًا، وطبقة ATT&CK Navigator مشتقة من إعداد 15.21 المتوازن، وملف SHA256SUMS.
واجهة سطر أوامر Go هي المولّد المدعوم. تُشغَّل الأمثلة في هذا README من جذر المستودع وتستخدم ملفًا تنفيذيًا محفوظًا في tooling. ابدأ بنسخة محلية من المستودع إذا كنت تريد توليد الإعدادات من الوحدات المصدرية:
git clone https://github.com/olafhartong/sysmon-modular.git
cd sysmon-modular
قم بتنزيل الملف الثنائي الخاص بنظام التشغيل والبنية المعمارية لديك من إصدارات GitHub. لا تحتاج إلى Go لاستخدام هذه الملفات الثنائية.
| النظام | أصل الإصدار |
|---|---|
| Windows x64 | sysmon-modular-windows-amd64.exe |
| Windows ARM64 | sysmon-modular-windows-arm64.exe |
| Linux x64 | sysmon-modular-linux-amd64 |
| Linux ARM64 | sysmon-modular-linux-arm64 |
| macOS Intel | sysmon-modular-darwin-amd64 |
| macOS Apple silicon | sysmon-modular-darwin-arm64 |
احفظ التنزيل باسم tooling/sysmon-modular، أو tooling/sysmon-modular.exe على Windows. على Linux وmacOS، اجعله قابلاً للتنفيذ مرة واحدة:
chmod +x tooling/sysmon-modular
يتطلب البناء من المصدر Go 1.22 أو أحدث ويستخدم مكتبة Go القياسية فقط.
من جذر المستودع على Linux أو macOS:
go -C tooling build -o "$PWD/tooling/sysmon-modular" ./cmd/sysmon-modular
من PowerShell على Windows:
go -C tooling build -o "$PWD\tooling\sysmon-modular.exe" ./cmd/sysmon-modular
يمكنك أيضًا تشغيل الأوامر مباشرةً باستخدام Go. على سبيل المثال:
go -C tooling run ./cmd/sysmon-modular --version
go -C tooling run يشغّل البرنامج من دليل tooling. استخدم مسارات مطلقة عند تكييف أمثلة جذر المستودع مع هذا الشكل، أو اتبع الأمثلة النسبية إلى tooling في مرجع الأوامر.
تبدأ الأداة عند إصدار البناء 1.0:
./tooling/sysmon-modular --version
./tooling/sysmon-modular help
./tooling/sysmon-modular merge --help
version و --version يطبعان sysmon-modular 1.0. يظهر إصدار البناء أيضًا في المساعدة العامة وفي مساعدة الأوامر المحددة. يحدد هذا الإصدار الأدوات؛ بينما يحدد --sysmon-version ملف Sysmon التنفيذي الهدف بدلاً من ذلك.
يُعرَّف الإعداد الافتراضي في version.go. تتضمنه عمليات البناء المحلية وعمليات بناء الإصدارات تلقائيًا. لتجاوزه لبناء معين:
go -C tooling build -ldflags="-X main.buildVersion=1.1" \
-o "$PWD/tooling/sysmon-modular" ./cmd/sysmon-modular
على Windows، استخدم ./tooling/sysmon-modular.exe في الأوامر أدناه. تتوفر أمثلة PowerShell متعددة الأسطر في دليل التكوين المخصص.
حرّر قائمة التضمين النموذجية وقائمة الاستبعاد النموذجية لتحديد المجموعة التي تحتاجها، ثم أنشئ تكوينًا:
./tooling/sysmon-modular merge \
--base-path "$PWD" \
--template "$PWD/templates/sysmon_template.xml" \
--include-list "$PWD/0_custom_configuration/example_include_rules.txt" \
--exclude-list "$PWD/0_custom_configuration/example_exclude_rules.txt" \
--sysmon-version 15.21 \
--unsupported exclude \
--preserve-comments \
--output "$PWD/0_custom_configuration/sysmonconfig-example.xml"