
بحيرة بيانات أمنية مفتوحة المصدر لصيد التهديدات والكشف والاستجابة والتحليلات الأمنية السيبرانية على نطاق بيتابايت على AWS
Matano هي بحيرة بيانات أمنية مفتوحة المصدر محلية للسحابة (cloud-native)، تم بناؤها لفرق الأمن على AWS.
[!NOTE] تقدم Matano خدمة Cloud SIEM مدارة تجارية لمنصة عمليات أمنية متكاملة للمؤسسات. اعرف المزيد.
قم بتثبيت واجهة سطر الأوامر matano لنشر Matano في حساب AWS الخاص بك، وإدارة النشر الخاص بك.
Linux```bash curl -OL https://github.com/matanolabs/matano/releases/download/nightly/matano-linux-x64.sh chmod +x matano-linux-x64.sh sudo ./matano-linux-x64.sh
**macOS**```bash
curl -OL https://github.com/matanolabs/matano/releases/download/nightly/matano-macos-x64.sh
chmod +x matano-macos-x64.sh
sudo ./matano-macos-x64.sh
اقرأ الوثائق الكاملة حول البدء
للبدء، قم بتشغيل الأمر matano init.
بمجرد التهيئة، يتم استخدام دليل Matano الخاص بك للتحكم في جميع الموارد في مشروعك وإدارتها، مثل مصادر السجلات والكشف والتكوينات الأخرى. وهو منظم على النحو التالي:```bash ➜ example-matano-dir git:(main) tree ├── detections │ └── aws_root_credentials │ ├── detect.py │ └── detection.yml ├── log_sources │ ├── cloudtrail │ │ ├── log_source.yml │ │ └── tables │ │ └── default.yml │ └── zeek │ ├── log_source.yml │ └── tables │ └── dns.yml ├── matano.config.yml └── matano.context.json
عند إدراج مصدر سجل جديد أو تأليف كشف، قم بتشغيل `matano deploy` من أي مكان في مشروعك لنشر التغييرات إلى حسابك.
## 🔧 Log Transformation & Data Normalization
[**اقرأ الوثائق الكاملة حول تكوين مصادر السجلات المخصصة**](https://www.matano.dev/docs/log-sources/configuration)
[Vector Remap Language (VRL)](https://vector.dev/docs/reference/vrl/)، يسمح لك بإدراج مصادر السجلات المخصصة بسهولة ويشجعك على تطبيع الحقول وفقًا لـ [Elastic Common Schema (ECS)](https://www.elastic.co/guide/en/ecs/current/ecs-reference.html) لتمكين التنقل المحسّن والبحث الجماعي عن IOCs عبر بحيرة بيانات الأمان الخاصة بك.
يمكن للمستخدمين تعريف برامج VRL مخصصة لتحليل وتحويل السجلات غير المهيكلة أثناء استيعابها عبر إحدى الآليات المدعومة لمصدر السجل (مثل S3, SQS).
VRL هي لغة موجهة بالتعبيرات مصممة لتحويل بيانات المراقبة (مثل السجلات) بطريقة آمنة وفعالة. تتميز بصياغة بسيطة ومجموعة غنية من الوظائف المدمجة المصممة خصيصًا لحالات استخدام المراقبة.
### مثال: parsing JSON
دعنا نلقي نظرة على مثال بسيط. تخيل أنك تعمل مع أحداث سجل HTTP تبدو هكذا:```json
{
"line": "{\"status\":200,\"srcIpAddress\":\"1.1.1.1\",\"message\":\"SUCCESS\",\"username\":\"ub40fan4life\"}"
}
تريد تطبيق هذه التغييرات على كل حدث:
line الخام إلى JSON، وفتح الحقول إلى المستوى الأعلىsrcIpAddress إلى حقل source.ip في ECSusernamemessage إلى أحرف صغيرةستؤدي إضافة برنامج VRL هذا إلى مصدر السجل الخاص بك كخطوة transform إلى تحقيق كل ذلك:
transform: | . = object!(parse_json!(string!(.json.line))) .source.ip = del(.srcIpAddress) del(.username) .message = downcase(string!(.message))
schema: ecs_field_names: - source.ip - http.status
الحدث الناتج 🎉:```json
{
"message": "success",
"status": 200,
"source": {
"ip": "1.1.1.1"
}
}
اقرأ الوثائق الكاملة حول قواعد الكشف
استخدم قواعد الكشف لتحديد قواعد يمكنها التنبيه على التهديدات في سجلات الأمان الخاصة بك. قاعدة الكشف هي برنامج Python يتم استدعاؤه مع بيانات من مصدر سجل في الوقت الفعلي ويمكنه إنشاء تنبيه.
def detect(record): return ( record.deepget("event.action") == "CreateInstanceExportTask" and record.deepget("event.provider") == "ec2.amazonaws.com" and record.deepget("event.outcome") == "failure" )
#### كشف تسجيلات الدخول بالقوة المفرطة حسب IP عبر جميع مصادر السجلات المكونة (مثل Okta، AWS، GWorkspace)
###### detect.py```python
def detect(r):
return (
"authentication" in r.deepget("event.category", [])
and r.deepget("event.outcome") == "failure"
)
def title(r):
return f"Multiple failed logins from {r.deepget('user.full_name')} - {r.deepget('source.ip')}"
def dedupe(r):
return r.deepget("source.ip")
tables:
#### كشف تسجيل دخول ناجح من عنوان IP لم يُشاهد من قبل للمستخدم```python
from detection import remotecache
# a cache of user -> ip[]
user_to_ips = remotecache("user_ip")
def detect(record):
if (
record.deepget("event.action") == "ConsoleLogin" and
record.deepget("event.outcome") == "success"
):
# A unique key on the user name
user = record.deepget("user.name")
existing_ips = user_to_ips[user] or []
updated_ips = user_to_ips.add_to_string_set(
user,
record.deepget("source.ip")
)
# Alert on new IPs
new_ips = set(updated_ips) - set(existing_ips)
if existing_ips and new_ips:
return True
اقرأ الوثائق الكاملة حول التنبيهات
يتم تخزين جميع التنبيهات تلقائيًا في جدول Matano باسم matano_alerts. يتم تطبيع التنبيهات ومطابقات القواعد إلى ECS وتحتوي على سياق حول الحدث الأصلي الذي أدى إلى إطلاق مطابقة القاعدة، بالإضافة إلى بيانات التنبيه والقاعدة.
استعلامات نموذجية
تلخيص التنبيهات خلال الأسبوع الماضي التي تم تفعيلها (تجاوزت الحد الأدنى)```sql select matano.alert.id as alert_id, matano.alert.rule.name as rule_name, max(matano.alert.title) as title, count(*) as match_count, min(matano.alert.first_matched_at) as first_matched_at, max(ts) as last_matched_at, array_distinct(flatten(array_agg(related.ip))) as related_ip, array_distinct(flatten(array_agg(related.user))) as related_user, array_distinct(flatten(array_agg(related.hosts))) as related_hosts, array_distinct(flatten(array_agg(related.hash))) as related_hash from matano_alerts where matano.alert.first_matched_at > (current_timestamp - interval '7' day) and matano.alert.activated = true group by matano.alert.rule.name, matano.alert.id order by last_matched_at desc
#### تسليم التنبيهات
يمكنك تسليم التنبيهات إلى الأنظمة الخارجية. يمكنك استخدام موضوع SNS للتنبيه لتسليم التنبيهات إلى البريد الإلكتروني و Slack وخدمات أخرى.
<div align="center">
<br>
<img src="https://assets.kitploit.com/production/public/readmes/5606/979ffa3a7d4505421e1206b39e30e6e2cd96d47949ae953cdb755f00b64ac86e.png" width="600">
<br>
<i>تنبيه متوسط الخطورة تم تسليمه إلى Slack</i>
</div>
## ❤️ الدعم المجتمعي
للمساعدة العامة حول الاستخدام، يرجى الرجوع إلى [التوثيق](https://matano.dev/docs) الرسمي. للحصول على مساعدة إضافية، لا تتردد في استخدام إحدى هذه القنوات لطرح سؤال:
- [Discord](https://discord.gg/YSYfHMbfZQ) \(تعال وانضم إلى العائلة، وتحدث مع الفريق والمجتمع\)
- [Forum](https://github.com/matanolabs/matano/discussions) \(لمناقشات أعمق حول الميزات، المشروع، أو المشكلات\)
- [GitHub](https://github.com/matanolabs/matano) \(تقارير الأخطاء، المساهمات\)
- [Twitter](https://twitter.com/matanolabs) \(احصل على الأخبار الساخنة\)
## 👷 المساهمون
الشكر لهؤلاء الأشخاص الرائعين ([مفتاح الرموز التعبيرية](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/shaeqahmed"><img src="https://assets.kitploit.com/production/public/readmes/5606/da6af7bd665b48461fc19bf8cb33b49258aa7060fc2cb4d3dc143889596acfd0.jpg" width="100px;" alt="Shaeq Ahmed"/><br /><sub><b>Shaeq Ahmed</b></sub></a><br /><a href="#maintenance-shaeqahmed" title="صيانة">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.matano.dev/"><img src="https://assets.kitploit.com/production/public/readmes/5606/837b51975f416f31c504d2fe6f14d3a1b1ba787578f6363d666892d745d5d7fc.jpg" width="100px;" alt="Samrose"/><br /><sub><b>Samrose</b></sub></a><br /><a href="#maintenance-Samrose-Ahmed" title="صيانة">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kai-ten"><img src="https://assets.kitploit.com/production/public/readmes/5606/a0825103807e9a55e29f2208f6a4b1820214b1ca7000b602bf4895bbeaa50908.jpg" width="100px;" alt="Kai Herrera"/><br /><sub><b>Kai Herrera</b></sub></a><br /><a href="https://github.com/matanolabs/matano/commits?author=kai-ten" title="كود">💻</a> <a href="#ideas-kai-ten" title="أفكار، تخطيط، وملاحظات">🤔</a> <a href="#infra-kai-ten" title="البنية التحتية (الاستضافة، أدوات البناء، إلخ)">🚇</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rams3sh"><img src="https://assets.kitploit.com/production/public/readmes/5606/75ea8a3a8b768a26e69217f4700efeea7e56ee99d4273ece2fb757d7d3fd3842.jpg" width="100px;" alt="Ram"/><br /><sub><b>Ram</b></sub></a><br /><a href="https://github.com/matanolabs/matano/issues?q=author%3Arams3sh" title="تقارير الأخطاء">🐛</a> <a href="#ideas-rams3sh" title="أفكار، تخطيط، وملاحظات">🤔</a> <a href="#userTesting-rams3sh" title="اختبار المستخدم">📓</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://zbmowrey.com/"><img src="https://assets.kitploit.com/production/public/readmes/5606/3cf4d1cd4dac53a82628dacff2ea9b99505aef82723f4ee6fd4506fd1b63ed48.png" width="100px;" alt="Zach Mowrey"/><br /><sub><b>Zach Mowrey</b></sub></a><br /><a href="#ideas-zbmowrey" title="أفكار، تخطيط، وملاحظات">🤔</a> <a href="https://github.com/matanolabs/matano/issues?q=author%3Azbmowrey" title="تقارير الأخطاء">🐛</a> <a href="#userTesting-zbmowrey" title="اختبار المستخدم">📓</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/marcin-kwasnicki"><img src="https://assets.kitploit.com/production/public/readmes/5606/8c89eb3f4824adbc668f7e8e8d4714ba6ed7f3e08a9dcdb392335d42d0c5ff3b.png" width="100px;" alt="marcin-kwasnicki"/><br /><sub><b>marcin-kwasnicki</b></sub></a><br /><a href="#userTesting-marcin-kwasnicki" title="اختبار المستخدم">📓</a> <a href="https://github.com/matanolabs/matano/issues?q=author%3Amarcin-kwasnicki" title="تقارير الأخطاء">🐛</a> <a href="#ideas-marcin-kwasnicki" title="أفكار، تخطيط، وملاحظات">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gdrapp"><img src="https://assets.kitploit.com/production/public/readmes/5606/efef1d590d1f113b3e2f0a59de8d7a5cb67534b61b25f20089688a7ee7533488.png" width="100px;" alt="Greg Rapp"/><br /><sub><b>Greg Rapp</b></sub></a><br /><a href="https://github.com/matanolabs/matano/issues?q=author%3Agdrapp" title="تقارير الأخطاء">🐛</a> <a href="#ideas-gdrapp" title="أفكار، تخطيط، وملاحظات">🤔</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/niheconomoum"><img src="https://assets.kitploit.com/production/public/readmes/5606/2fbec725261340b771febb64341a3cf224757dec4b630ad3dc264dd2f06b004d.png" width="100px;" alt="Matthew X. Economou"/><br /><sub><b>Matthew X. Economou</b></sub></a><br /><a href="https://github.com/matanolabs/matano/issues?q=author%3Aniheconomoum" title="تقارير الأخطاء">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jarretraim"><img src="https://assets.kitploit.com/production/public/readmes/5606/caa7cc87b6164d0f803772fab5bac40a3d997437b6c383919a5e077a466ac334.jpg" width="100px;" alt="Jarret Raim"/><br /><sub><b>Jarret Raim</b></sub></a><br /><a href="https://github.com/matanolabs/matano/issues?q=author%3Ajarretraim" title="تقارير الأخطاء">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://mdfranz.dev/"><img src="https://assets.kitploit.com/production/public/readmes/5606/65c31a803bb41772596c3e2daadd6d9a74a678fc1043321ed77883b03a4d7930.jpg" width="100px;" alt="Matt Franz"/><br /><sub><b>Matt Franz</b></sub></a><br /><a href="https://github.com/matanolabs/matano/issues?q=author%3Amdfranz" title="تقارير الأخطاء">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/francescofaenzi/"><img src="https://assets.kitploit.com/production/public/readmes/5606/c46cb3d9f09d191e8a3da1732159dd75187435993d87d7c9655e02df9feeb239.jpg" width="100px;" alt="Francesco Faenzi"/><br /><sub><b>Francesco Faenzi</b></sub></a><br /><a href="#ideas-FrancescoFaenzi" title="أفكار، تخطيط، وملاحظات">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://nishant.daspatnaik.com/"><img src="https://assets.kitploit.com/production/public/readmes/5606/b35b7582c587503707d73914779acb8592fe5eb95535e0c7d823e4cc50e6b097.jpg" width="100px;" alt="Nishant Das Patnaik"/><br /><sub><b>Nishant Das Patnaik</b></sub></a><br /><a href="#ideas-dpnishant" title="أفكار، تخطيط، وملاحظات">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/timoguin"><img src="https://assets.kitploit.com/production/public/readmes/5606/c4c413260019be4943b6c577c46a587862f553ceda7ef70a8adf3f92c003f523.png" width="100px;" alt="Tim O'Guin"/><br /><sub><b>Tim O'Guin</b></sub></a><br /><a href="#ideas-timoguin" title="أفكار، تخطيط، وملاحظات">🤔</a> <a href="https://github.com/matanolabs/matano/issues?q=author%3Atimoguin" title="تقارير الأخطاء">🐛</a> <a href="https://github.com/matanolabs/matano/commits?author=timoguin" title="كود">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/francescor"><img src="https://assets.kitploit.com/production/public/readmes/5606/7174ae423e954ecd8be9849969348acd29fc7b8f8ce3d539398669d564d0ee92.jpg" width="100px;" alt="Francesco R."/><br /><sub><b>Francesco R.</b></sub></a><br /><a href="https://github.com/matanolabs/matano/issues?q=author%3Afrancescor" title="تقارير الأخطاء">🐛</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="http://grue.io"><img src="https://assets.kitploit.com/production/public/readmes/5606/1d375cb6024264e2e8116b4114d4537734bcca383526d32754e0d8e335641bd3.jpg" width="100px;" alt="Joshua Sorenson"/><br /><sub><b>Joshua Sorenson</b></sub></a><br /><a href="https://github.com/matanolabs/matano/commits?author=grue" title="كود">💻</a> <a href="https://github.com/matanolabs/matano/commits?author=grue" title="توثيق">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.nevermind.co.nz"><img src="https://assets.kitploit.com/production/public/readmes/5606/6afd9108528633598c724be40eae37abdde5ea9c89fd498d35c398f98bc4f765.jpg" width="100px;" alt="Chris Smith"/><br /><sub><b>Chris Smith</b></sub></a><br /><a href="https://github.com/matanolabs/matano/commits?author=chrismsnz" title="كود">💻</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
هذا المشروع يتبع مواصفات [all-contributors](https://allcontributors.org).
المساهمات من أي نوع مرحب بها!
## الترخيص
- [رخصة Apache-2.0](https://github.com/matanolabs/matano/blob/HEAD/LICENSE)
<img referrerpolicy="no-referrer-when-downgrade" src="https://assets.kitploit.com/production/public/readmes/5606/93ae7d494fad0fb30cbf3ae746a39c4bc7a0f8bbf87fbb587a3f3c01f3c5ce20.png"/>