Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DShield-SIEM — DShield Sensor Log Collection with ELK | Kitploit
أدوات/GitHubGitHub/bruneaug/dshield-siem
Defensive ToolsThreat Feeds & AggregatorsNetwork SecurityThreat IntelligenceIntrusion DetectionIncident ResponseLog Analysis
GitHubbruneaug/dshield-siem

DShield-SIEM

DShield Sensor Log Collection with ELK

عرض المستودع
509منذ 6 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

جمع سجلات مستشعر DShield مع Elasticsearch

مقدمة

هذا فرع (fork) وتحديث كبير من الإصدار الأولي المنشور على موقع ISC Storm Center بواسطة Scott Jensen كبحث BACS والبرامج النصية المنشورة على Github.
https://github.com/fkadriver/Dshield-ELK
https://isc.sans.edu/diary/DShield+Sensor+Monitoring+with+a+Docker+ELK+Stack+Guest+Diary/30118

هذا مرجع جيد حول كيفية استخدام DShield-SIEM للتحليل: https://isc.sans.edu/diary/30962/

تدفق شبكة DShield SIEM

يوفر هذا نظرة عامة حول كيفية جمع السجلات باستخدام مستشعر DShield.
https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/DShield-SIEM-Flow.png

لماذا استخدامه؟

هذا الحاوية docker مبنية خصيصًا لاستخدامها مع DShield Honeypot لجمع السجلات وتحليلها وتجميع البيانات لتسهيل البحث لأغراض البحث العلمي. التثبيت المقترح هو تثبيت مستشعر DShield على Rasperry باستخدام PI Raspbian OS أو على نظام يعمل بنظام Ubuntu 24.04 LTS سواء في شبكتك أو على السحابة التي تختارها.

ملاحظة: يجب تثبيت هذا على خادم منفصل حسب التعليمات أدناه.

  • تم اختبار ذلك على Ubuntu 24.04 & 26.04 LTS أو حاوية Proxmox LXC
  • الخطوة 1: بناء Ubuntu
  • الخطوة 2: تثبيت docker وELK
  • الخطوة 3: تثبيت وتهيئة Filebeat على مستشعر(ات) DShield

إعداد Ubuntu

كما هو الحال في المؤسسات، يجب تثبيت النظام الذي يجمع سجلات الأمان ويراقب شبكة مثل DShield SIEM على خادم منفصل وليس مع مستشعر DShield.

  • Ubuntu 24.04 LTS Live Server 64-Bit
  • الحد الأدنى 10+ جيجابايت - الموصى به 12 جيجابايت RAM
    • إذا كانت كمية الذاكرة المخصصة لكل حاوية (انظر أدناه) أكثر من 2 جيجابايت، ففكر في زيادة سعة ذاكرة الخادم.
  • 4-8 أنوية
  • أضف قسمين: واحد لنظام التشغيل والآخر لـ docker
  • قسم بحد أدنى 300 جيجابايت مخصص لـ /var/lib/docker
  • بعد إعادة تشغيل Ubuntu، قم بإعداد قسم docker
  • إضافة قسم 300 جيجابايت إلى VM

حزم Elastic المثبتة

إصدار ELK الحالي: 8.19.15 (مُحدَّث في 30 أبريل 2026)

  • Kibana
  • Elasticsearch
  • Logstash
  • Elastic-Agent
  • Filebeat
  • Heartbeat
  • Metricbeat

برامج إضافية

  • CyberChef
  • Mitre ATT&CK - Attack Navigator

ملاحظة: لتحديث مكونات خادم ELK، اتبع هذه الخطوات:
https://github.com/bruneaug/DShield-SIEM/blob/main/README.md#download-github-update

تثبيت docker

قم بتثبيت docker بحساب المستخدم ($):```` sudo apt-get install ca-certificates curl gnupg network-manager txt2html sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg Note: You may need to take the next line, remove the backlash () and put everythin in a single line in Notepad to run this echo. echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update && sudo apt upgrade sudo reboot (if update were applied) sudo apt-get install -y jq docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin pip sudo systemctl enable docker sudo systemctl start docker.service

root@kitploit:~
تأكد من أن خدمة docker قيد التشغيل<br>````
sudo systemctl status docker.service

تحديث /etc/hosts

أضف اسم خادم ELK التالي es01 kibana fleet-server heartbeat logstash filebeat filebeat01
إلى /etc/hosts بعد عنوان IP واسم الخادم:
```` sudo vi /etc/hosts

root@kitploit:~
أضف هذا إلى /etc/hosts بعد عناوين IP الخاصة بخادم ELK<br>
127.0.0.1 sensor es01 ...<br>
192.168.25.80 sensor es01 ...<br>````
es01 kibana fleet-server heartbeat logstash filebeat filebeat01

إضافة إلى sysctl vm.max_map_count

عدّل ملف sysctl.conf:
```` sudo vi /etc/sysctl.conf

root@kitploit:~
أضف ما يلي في أسفل الملف:<br>````
vm.max_map_count=262144

أضفه واحفظه. هذا خاص بـ Elasticsearch عند استخدام Docker.

تأكد من إيقاف تشغيل جدار الحماية````

sudo iptables -nL

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/50066/61adc10f495abf67cd0f3a004a0fde2497402c3bafa0db0bc07a9464e21804d9.png)

# إعداد وتثبيت DShield ELK
باستخدام حساب المستخدم ($)، قم بتشغيل الأوامر التالية:<br>````
git clone https://github.com/bruneaug/DShield-SIEM.git
mkdir scripts
mv DShield-SIEM/AddOnScripts/*.sh scripts
chmod 754 scripts/*.sh
cd ~/DShield-SIEM

ملاحظة: قبل التثبيت، يمكنك تعديل ملف .env (ls -la لرؤيته) لإجراء أي تغييرات مرغوبة.
- كلمة المرور الافتراضية الحالية لـ elastic هي student
حدود الذاكرة في .env هي الحد الأقصى للذاكرة التي سيخصصها docker لكل حاوية من حاويات ELK.
الافتراضي هو 3GB لـ Elasticsearch ولكن يمكن توسيعه إذا كانت لديك الموارد الكافية
قم بتحرير ملف .env وقم بإعداده ليناسب ELK Stack الخاص بك
```` vi .env

root@kitploit:~
- قم بتحديث المتغيرات التالية في ملف **.env** ليتوافق مع معلومات DNS لخادم ELK، واسم المضيف، وعنوان IP، وكلمة مرور Elastic الافتراضية إذا كنت ترغب في تغييرها: <br>
  - HOSTNAME="ubuntu"
  - DNS_SERVER="9.9.9.9"
  - IPADDRESS="192.168.25.231"
  - ELASTIC_PASSWORD=student
  - ES_MEM = Elasticsearch -> 4g, KB_MEM = Kibana -> 2g
- إذا كنت تريد تغيير معلومات خادم الأسماء الافتراضي (خوادم الأسماء) وموقع شبكتك الخاصة المحلية لعنوان الوجهة (أي تعيين مستشعر DShield - مضبوط حاليًا على **أوتاوا، كندا**)، فقم بتعديل الدليل التالي للملفات قبل تحميل docker:<br>````
  cd logstash/pipeline
  • logstash-200-filter-cowrie.conf
    • logstash-201-filter-iptables.conf
    • logstash-202-filter-cowrie-webhoneypot.conf
      يمكنك الاحتفاظ بهذه الإعدادات الافتراضية أو تعديل كل ملف وتغييره.

تكوين مراقبة البنية التحتية لـ ELK

قم بتحرير heartbeat.yml لتغيير عنوان IP الخاص بالمستشعر (المسمى PI) إلى عنوان IP الخاص بالمستشعر لديك. يتحقق Kibana heartbeat من حالة خدماتك ويحدد ما إذا كانت متاحة.
قم بتحديث عنوان IP واسم المضيف ليعكسا المستشعر الخاص بك. ملاحظة: يمكنك نسخ وإضافة نفس الأسطر الخمسة إذا كان لديك أكثر من مستشعر تريد مراقبته

يمكن عرض ذلك من خلال Observability -> Uptime Monitors
image

هذا السطر هو عنوان IP الخاص بالمستشعر. إذا لم يتلقَّ استجابة أثناء الاتصال عبر TCP 12222، فسيتم اعتباره معطلاً في الواجهة.
يتم ذلك من جانب خادم ELK للتحقق من استجابة المستشعر.
قم بتحديث هذا السطر: hosts: ["192.168.25.165"]
```` vi ~/DShield-SIEM/heartbeat/heartbeat.yml

root@kitploit:~
سيقوم السكربت **change_perms.sh** بتهيئة بعض الملفات قبل بدء تثبيت مكونات docker.<br>
سيقوم السكربت أيضًا بتحديث عنوان IP المستخدم في استعلام لوحة المعلومات إلى عنوان IP الخاص بمكدس ELK الخاص بك.<br>````
~/scripts/change_perms.sh
~/scripts/get_researchers.sh

الآن قم بتنفيذ docker compose لبناء تطبيقات خادم ELK.
سيؤدي هذا إلى بناء: Kibana وElasticsearch وelastic-agent وLogstash وتحميل محللات Cowrie وملفات التكوين ولوحة المعلومات.
```` sudo docker compose up -d

root@kitploit:~
اكتمل التثبيت

<img width="375" height="354" alt="image" src="https://assets.kitploit.com/production/public/readmes/50066/b192e2cc430ca7eaa43934ebde637400b29d23212dce39e81f521b0806df1bc0.png" />

# إضافة ca.crt إلى الشهادة الموثوقة للخادم
- أضف ca.crt إلى قائمة الشهادات الموثوقة للخادم```
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /usr/local/share/ca-certificates/dshield.crt
```
- تحديث الشهادات الموثوقة ```
 sudo update-ca-certificates
```
### إضافة لوحات المعلومات وتوقيعات SIEM إلى Kibana
يقوم هذا بتحميل لوحات معلومات DShield SIEM وتوقيعات SIEM إلى Kibana.<br>```
~/scripts/dashboard-setup.sh
```
### قائمة أدلة Docker
يعرض هذا الأمر قائمة أدلة Docker المستخدمة بعد تثبيت جميع مكونات Elasticsearch.<br>
عند إضافة البيانات إلى Elasticsearch، يمكنك أيضًا مراقبة مقدار مساحة القرص المتاحة للتخزين إما باستخدام الأمر أدناه أو داخل ELK.<br>````
sudo du --human-readable --max-depth 1 --no-dereference --one-file-system /var/lib/docker

image

تم إعداد خدمات ELK التالية

باستخدام netstat، يجب أن تكون هذه الخدمات الأربع في حالة استماع الآن.
``` netstat -an | grep '80|9200|9300|8220|5601|5044|5066|5067|5068|9600'

root@kitploit:~
يجب أن يكون الناتج الذي تراه كما يلي:<br>
<pre>
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN  ---> Local CyberChef
tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN  ---> Kibana Web Access
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN  ---> Local Attack Navigator
tcp        0      0 0.0.0.0:8220            0.0.0.0:*               LISTEN  ---> elastic-agent Service
tcp        0      0 0.0.0.0:9200            0.0.0.0:*               LISTEN  ---> Elasticsearch Service
tcp        0      0 0.0.0.0:9300            0.0.0.0:*               LISTEN  ---> Elasticsearch Cluster Service
tcp        0      0 0.0.0.0:5044            0.0.0.0:*               LISTEN  ---> Logstash Data Collection
tcp        0      0 0.0.0.0:5066            0.0.0.0:*               LISTEN  ---> Metricbeat Stack Node Information
tcp        0      0 0.0.0.0:5067            0.0.0.0:*               LISTEN  ---> Filebeat Stack Node Information
tcp        0      0 0.0.0.0:5068            0.0.0.0:*               LISTEN  ---> Filebeat Stack Node Information (Process ISC Threat Intel to Logstash)  
tcp        0      0 0.0.0.0:9600            0.0.0.0:*               LISTEN  ---> Logstash Stack Node and Pipeline Information
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::5601                 :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN
tcp6       0      0 :::8220                 :::*                    LISTEN
tcp6       0      0 :::9200                 :::*                    LISTEN
tcp6       0      0 :::9300                 :::*                    LISTEN
tcp6       0      0 :::5044                 :::*                    LISTEN
tcp6       0      0 :::5066                 :::*                    LISTEN
tcp6       0      0 :::5067                 :::*                    LISTEN
tcp6       0      0 :::5068                 :::*                    LISTEN
tcp6       0      0 :::9600                 :::*                    LISTEN
</pre>

# تحميل قوالب Filebeat الافتراضية في Kibana
سيؤدي هذا إلى تثبيت القوالب الافتراضية ولوحات المعلومات التي يمكن استخدامها لتخزين بيانات netflow من أجهزة استشعار DShield البعيدة.<br>
لكي يبدأ Logstash في تخزين البيانات، يجب تنفيذ الأوامر التالية. الخطوة الأولى هي تسجيل الدخول إلى filebeat:````
sudo docker exec -ti filebeat bash

بعد ذلك، قم بتشغيل أمر Filebeat هذا لتحميل القوالب إلى Kibana:
```` ./filebeat setup -e

root@kitploit:~
# الوصول إلى واجهة Kibana
بعد انتهاء docker من تثبيت جميع مكونات ELK الخاصة بـ docker، حان الوقت الآن لتسجيل الدخول إلى حزمة ELK باستخدام عنوان IP لخادم Ubuntu الخاص بك.<br>
- سجّل الدخول إلى Kibana باستخدام اسم المستخدم: **elastic** وكلمة المرور الافتراضية _إذا لم يتم تغييرها_: **student**<br>
الوصول عبر الويب: https://serverIP

![image](https://assets.kitploit.com/production/public/readmes/50066/fba7fa8349e3d5e1fffc81bcb15fc9188c48505874b45ca14452d3db9b8a7940.png)

# تكوين إدارة ELK Stack
من أجل رؤية حالة صحة حزمة ELK، من الضروري تكوين مراقبة الحزمة عن طريق الانتقال إلى: Management -> Stack Monitoring<br>

- هذه الخطوة ضرورية فقط إذا لم يقم التثبيت بإعداد Stack Monitoring تلقائياً<br>
- اختر "_Or, set up with self monitoring_"<br>
- المراقبة متوقفة حالياً -> اختر: _Turn on monitoring_<br>
![image](https://assets.kitploit.com/production/public/readmes/50066/8f3c95494efb450e7ffad8f1fc2b8ccef595c2328eab8a3ea8d0d5913eb78e62.png)


![image](https://assets.kitploit.com/production/public/readmes/50066/937bc942f103644cb8d2dc1e934e82f34b02203c8acde2a9c1f3db8553684e82.png)

# تكوين fleet-agent
سيتم استخدام fleet-agent (وهو elastic-agent يعمل على حزمة ELK) لاستيعاب استخبارات التهديدات.<br>

- من القائمة المنسدلة، اختر Management → Fleet →Settings → Edit Outputs (Actions)<br>
- سجّل الدخول إلى الخادم عبر SSH<br>
- انسخ شهادة ca.crt إلى /tmp<br>````
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /tmp
  • احصل على نسخة من بصمة CA الموثوقة الخاصة بـ Elasticsearch
    ```` sudo openssl x509 -fingerprint -sha256 -noout -in /tmp/ca.crt | awk -F"=" {' print $2 '} | sed s/://g
root@kitploit:~
- سيبدو الناتج هكذا:<br>
673FB617E15CCCE73F9B647EF99449642A19CFC1D75BF5772047DA99DB950844

- احصل على محتوى شهادة CA الخاصة بـ Elasticsearch لتطبيقها على إعدادات YAML المتقدمة. اكتب الأمر لأنه لا يُنسخ بشكل جيد<br>````
sudo cat /tmp/ca.crt | sed -r 's/(.*)/    \1/g'

اتبع المثال من دليل استكشاف الأخطاء وإصلاحها fleet-server-examples في الرابط أعلاه للحصول على التنسيق الصحيح.
ستضيف sed المسافات الأربعة مع الأمر السابق الخاص بشهادة CA

  • غيّر Hosts إلى: https://es01:9200

بعد إضافة معلومات الشهادة، احفظ هذه الإعدادات وطبّقها.
ثم احفظ وانشر

image image

ضمن الإعدادات، قم بتكوين مضيفات Fleet Server إما عن طريق التحرير أو إضافة Fleet Server كما يلي:

image

المرحلة التالية هي تحديد Agent Policy ← إضافة Agent ← التسجيل في Fleet ← إضافة Fleet Server

  • وفّر اسمًا: es01
  • وفّر عنوان URL: https://fleet-server:8220
  • أخيرًا: إنشاء سياسة Fleet Server
  • تحديد: RPM راجع هذه الصفحة للحصول على مثال حول إعداد SSL لـ Fleet Server:
    https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/fleet-server-examples.txt

image

سنحتاج إلى هذه المعلومات لإعداد خادم Fleet الخاص بنا.
سجّل الدخول عبر SSH إلى fleet-server وتأكد من أن fleet-server يعمل قبل إعداد الوكيل الخاص بنا:
```` sudo docker exec -ti fleet-server bash ./elastic-agent status (check it is running) ./elastic-agent restart (if it doesn't appear to be running, force a restart, and recheck the status)

root@kitploit:~
هذا مثال لما يجب نسخه إلى fleet server. تأكد من أن es الخاص بـ fleet server هو: https://es01:9200<br>
أضف القسم الغامق بعد port=8220 لأن الشهادات مولّدة ذاتيًا. سيضمن هذا أن الوكيل يطبّق التحديث.<br>

سيكون الرمز المميز وبصمة الإصبع مختلفين عن هذا المثال<br>

انسخ وكيل elastic-enrol أدناه واستبدل هذين السطرين المأخوذين من خادمك الخاص، وسيبقى كل شيء آخر كما هو.<br>
<pre>
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
</pre>

أثناء تسجيل الدخول إلى fleet-agent، قم بتسجيل elastic-agent في fleet-agent الخاص بك:

استخدم هذا القالب لتثبيت شهادتك وتأكد من استبدالها بقيمك الخاصة:<br>
fleet-server-service-token & fleet-server-es-ca-trusted-fingerprint<br>````
elastic-agent enroll \
--url=https://fleet-server:8220 \
--fleet-server-es=https://es01:9200 \
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca=/certs/es01/es01.crt \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
--fleet-server-port=8220 \
--certificate-authorities=/certs/ca/ca.crt \
--fleet-server-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-cert-key=/certs/fleet-server/fleet-server.key \
--elastic-agent-cert=/certs/fleet-server/fleet-server.crt \
--elastic-agent-cert-key=/certs/fleet-server/fleet-server.key \
--fleet-server-es-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-es-cert-key=/certs/fleet-server/fleet-server.key

سيؤدي هذا إلى استبدال إعداداتك الحالية. هل تريد المتابعة؟ [Y/n]: Y

image

تم تسجيل Elastic Agent بنجاح.

من موقعك الحالي، تحقق من تثبيته بشكل صحيح
```` ./elastic-agent status ./elastic-agent restart (if you got what appears to be errors, force a restart and check the status)

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/50066/dacf9f3a4c64b99fcf619a308cdf9bd69ef1500a3c40abed39a93d6955a5c446.png)

الآن بعد أن تم توصيل خادم Fleet، أغلق هذه النافذة ودعنا ننتقل إلى الخطوة التالية.

![image](https://assets.kitploit.com/production/public/readmes/50066/287c7f66c75928f875105276583e36ba5b0a13b623afbf135a4beabe95ff521f.png)


في Elastic Management ← Fleet، حدّث الوكلاء (Agents) وهذا ما سيظهر:

![image](https://assets.kitploit.com/production/public/readmes/50066/94397f8eb1e423477efc100fd4b6c83a3bd2e3376a6a2f06c32639128a6c912a.png)

الخادم الآن جاهز لتثبيت وكلاء Threat Intel لاستخدامها في قسم الأمان (جزء SIEM) ضد سجلات honeypot.<br>
الخطوة التالية هي تحديد Agent policies ← Fleet Server Policy ← Add integration:<br>
استخدم لوحة المعلومات هذه لعرض المقاييس التي يجمعها elastic-agent:<br>
![image](https://assets.kitploit.com/production/public/readmes/50066/2b066c97de7a12d11b9b6c154541e0b8ab01991b7b5d9f1d4d1b3b4211768223.png)


- حدد وأضف AlienVault OTX (تحتاج إلى مفتاح API)<br>
- حدد AbuseCH (تحتاج إلى مفتاح API)<br>
- حدد Threat Intelligence Utilities<br>
- Elasticsearch<br>
- حدد Kibana<br>
- حدد Docker<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/175377a7a348b449a3afa4bdd3bd6cb6a46c2e8c2672a8f36a0ef310ed4b0eb6.png)

# مثال على سياسة Fleet Server

![image](https://assets.kitploit.com/production/public/readmes/50066/4e3c594d3f064864b2521306c0cf45da93cb11d1f6a91e1b327d7dcfa379b96e.png)

- في Elastic Management ← Installed Integration<br>
- حدد كل تكامل مثبت، ثم اختر Settings وقم بتمكين التبويب _keep the policy up to date_:<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/32c207719c11a7b2edf5e006ea97ed8c1557530d0826f002517484d56172d0c8.png)

## تكوين الأمان ← القواعد

- حدد Rules ← Detection rules (SIEM) ← Add Elastic rules
- ضمن Search Tags: Rule Type: Threat Intel (أضف على الأقل هذه القواعد الأربعة)
- قم بتثبيت وتمكين هذه القواعد الأربعة
  - Threat Intel Indicator Match - Cowrie (قاعدة مخصصة يتم تحميلها وتمكينها عند تحميل docker لجميع مكونات ELK stack)
  - Threat Intel Windows Registry Indicator Match
  - Threat Intel Hash Indicator Match
  - Threat Intel URL Indicator Match
- يمكنك تصفح القواعد وتمكين القواعد الأخرى التي تريد تجربتها على بيانات honeypot الخاصة بك.<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/c01aa5fadf403fd7ca026a9a25c93e0f838e1ef66b39e3a58007063b8cd3ae4b.png)


## مراجعة النشاط الذي تلتقطه القواعد في اتجاه التنبيهات (Alert trend)
إذا تمت إضافة بعض Threat Intel أعلاه إلى elastic-agent، وتمت إضافة cowrie* إلى Management ← Advanced Settings أثناء التثبيت الأولي، يمكنه الآن تتبع القواعد المطابقة في اتجاهات التنبيهات في جزء SIEM من ELK stack.<br>
هذا هو المخرجات من Management ← Stack Management ← Advanced Settings<br>
 ![image](https://assets.kitploit.com/production/public/readmes/50066/f4c587e5a62c5dc6b6358a059e80b320211d6aece01ea23f1c2afa60beaa54e0.png)

 إذا حدث أي تطابق لـ threat intel، سيعرض SIEM النشاط التالي الذي يمكن التحقيق فيه الآن:<br>
 
![image](https://assets.kitploit.com/production/public/readmes/50066/e73e300695e54d4cb7c55ada132886e262711a232dbde73acb817ad16a0b457f.png)
![image](https://assets.kitploit.com/production/public/readmes/50066/20c192551974a78bc2fce7200629a8e03421a85ac2c768a11b185fa51ab1d6a1.png)


# إعداد Filebeat على DShield Sensor - السجلات إلى ELK

الخطوة التالية هي إضافة حزمة Filebeat إلى DShield Sensor لإرسال السجلات إلى Elasticsearch.<br>

استخدم الخطوات التالية لتثبيت Filebeat باستخدام الأوامر التالية المأخوذة من هذا المرجع [3]: <br>````
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
echo "deb https://artifacts.elastic.co/packages/oss-8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt-get update 

ثبّت الإصدار المطابق لبنية جهازك

بعد التثبيت، نضع hold على filebeat حتى تتمكن من تحديث المستشعر دون تغيير إصدار filebeat. يجب أن يتطابق إصدار filebeat
دائمًا مع إصدار Elasticsearc/Kibana الخاص بـ docker.
Linux - X86_64``` wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-amd64.deb sudo apt install ./filebeat-8.19.15-amd64.deb sudo apt-mark hold filebeat

root@kitploit:~
<ins>PI - aarch64</ins>```
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-arm64.deb
sudo apt install ./filebeat-8.19.15-arm64.deb
sudo apt-mark hold filebeat

من أجل تحديث filebeat، عندما يحين الوقت، ستحتاج إلى إزالة التعليق. تحقق أولاً من وجود تعليق على filebeat قبل إزالته
``` sudo apt-mark showhold sudo apt-mark unhold filebeat

root@kitploit:~
إذا كنت ترغب في استخدام Zeek على مستشعر DShield الخاص بك، فراجع خطوات التثبيت هذه [steps](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Configure_Zeek_DShield_Sensor.md)

### إعداد مستشعر السحابة - Filebeat -> الراوتر المنزلي -> Logstash
للاتصال من مستشعر سحابي إلى حزمة ELK Stack المحلية لديك، تحتاج إلى القيام بما يلي:
- قم بتكوين الراوتر المنزلي ليعمل NAT إلى عنوان IP المحلي لحزمة ELK Stack لديك<br>
- استخدم عنوان IP الخاص بالراوتر (أنصح بإضافة اسم مضيف إلى عنوان IP المنزلي في حال تغيّر) من مستشعرك للاتصال بالراوتر المنزلي لديك<br>
- يجب أن يبدو الاتصال النهائي كما يلي: المستشعر -> عنوان IP لراوتر NAT -> حزمة ELK Stack

### نقل جميع ملفات المستشعر إلى مستشعر DShield
اتبع عنوان URL هذا لتنزيل جميع الملفات المتعلقة بمستشعر DShield<br>
https://github.com/bruneaug/DShield-Sensor````
git clone https://github.com/bruneaug/DShield-Sensor.git
sudo cp ~/DShield-Sensor/filebeat/filebeat.yml /etc/filebeat/filebeat.yml
  • قم بتحرير ملف filebeat.yml وقم بتغيير عنوان IP أو اسم المضيف إلى محلل logstash (192.168.25.23) لمطابقة عنوان IP المستخدم بواسطة Logstash.
  • يمكن أن يكون عنوان IP هذا عنوان IP محليًا أو عنوان IP الخاص بموجه مزود خدمة الإنترنت (ISP) إذا كنت تستخدم مستشعرًا سحابيًا (أي OVH أو AWS أو Azure أو ما إلى ذلك)
  • إذا كان المستشعر سحابيًا، فيجب إعادة توجيه المنفذ (5044) في الموجه من عنوان IP الخاص بموجه مزود خدمة الإنترنت إلى DShield SIEM.
    ```` sudo vi /etc/filebeat/filebeat.yml
root@kitploit:~
output.logstash:<br>
  hosts: ["192.168.25.23:5044"]<br>
  #hosts: ["logstash.com:5044"]<br>

### استكشاف أخطاء Filebeat وإصلاحها````
sudo su -
filebeat test config

الإخراج المتوقع: Config OK
```` filebeat test output

root@kitploit:~
<pre>
logstash: 192.168.25.231:5044...
  connection...
    parse host... OK
    dns lookup... OK
    addresses: 192.168.25.231
    dial up... OK
  TLS... WARN secure connection disabled
  talk to server... OK
</pre>

## بدء Filebeat````
sudo systemctl enable filebeat
sudo systemctl start filebeat
sudo systemctl status filebeat

ملف تتبع Filebeat

يتتبع Filebeat الأحداث التي قام بمعالجتها باستخدام ملف يُسمى log.json، وإذا تم حذفه، فسيتم إعادة معالجة جميع الأحداث التي تم إرسالها سابقًا إلى Elasticsearch عند إعادة تشغيل filebeat.
موقع هذا الملف:
sudo su -```` cd /var/lib/filebeat/registry/filebeat

root@kitploit:~
إذا كنت تخطط لإعادة إرسال جميع السجلات لأن خادم ELK الخاص بك أعيد بناؤه، _أوقف filebeat، واحذف log.json، وأعد تشغيل filebeat_.
عادةً ما يستغرق هذا بعض الوقت حتى تلتقط لوحة معلومات ELK Stack البيانات. إذا كنت تبحث عن طريقة لمعرفة ما إذا كان يرسل السجلات إلى ELK Stack، يمكنك<br>
- tail -f log.json
- ابحث عن آخر 30 يومًا في لوحة المعلومات أثناء اللحاق بالبيانات

# الواجهة - نظرة عامة على Logs DShield Sensor
للوصول إلى لوحة المعلومات، حدد Analytics -> Dashboard -> **[نظرة عامة على Logs DShield Sensor]**<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/3780acfd85837ddc01d1dc8fd4f56de873a09416d7b488959bee52c1c1155c51.png)

## إضافة ca.crt إلى متصفح محطة العمل
اتبع الخطوات الواردة في هذه [الصفحة](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Workstation_Browser_CA_Certificate.md) لإضافة ca.crt المستخدم من قبل خادم ELK إلى Kibana.<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/75b1b24c5a0e625a5827bf8b75697228550f8c270a5fec1f96b91524a4b82cb0.png)

# أوامر Docker المفيدة
راجع هذه الصفحة للحصول على قائمة بأوامر docker المفيدة.<br>
https://github.com/bruneaug/DShield-SIEM/edit/main/Troubleshooting/docker_useful_commands..md

# معلومات حول Elastic مع وحدة التحكم
تُنفَّذ هذه الأوامر من Dev Tool -> Console<br>

GET _nodes/http?pretty	(الحصول على قائمة ومعلومات بجميع العقد)<br>
GET _security/_authenticate<br>
GET /_cat/nodes?v=true<br>

# نصوص وأكواد تحليل DShield من إعداد الطلاب
هذه قائمة بالنصوص والأكواد التي كتبها طلاب برنامج BACS للمساعدة في تحليل السجلات.<br>

Jesse La Grew [cowrieprocessor](https://github.com/jslagrew/cowrieprocessor)<br>
jrjobe [DShield-Cowrie-json-Parser](https://github.com/jrjobe/DShield-Cowrie-json-Parser)<br>
ham-sauce [vt_cowrie](https://github.com/ham-sauce/vt_cowrie)<br>
NickTheSecurityDude [dshield-honeypot-scripts](https://github.com/NickTheSecurityDude/dshield-honeypot-scripts/tree/main) و[منشور LinkedIn](https://www.linkedin.com/pulse/how-i-used-honeypot-track-analyze-cyberattacks-nicholas-gilbert-jcste)<br>
Josh Gilman [DShieldKickStarter](https://github.com/iamjoshgilman/DShieldKickStarter)<br>
kcustom11 [dshield-azure](https://github.com/kcustom11/dshield-azure) Azure Terraform<br>
Boggby [ec2-honeypot-template](https://github.com/Boggby/ec2-honeypot-template)<br>
amelete11235
 [homelab](https://github.com/amelete11235/homelab/blob/main/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM.md) DShield SIEM على Raspberry 5<br>
William Constantino [تحقيق ملف سجل Cowrie باستخدام Python](https://github.com/JJWCons/log-scripts/blob/main/logfile_investigation.py)<br>
William Constantino [Cowrie single_multi_IP باستخدام Python](https://github.com/JJWCons/log-scripts/blob/main/single_multi_IP.py)<br>
Steven C. Peterson [DShield Model Context Protocol](https://github.com/datagen24/dsheild-mcp)<br>
Nathan Smisson [dshield-tooling](https://github.com/neurohypophysis/dshield-tooling)<br>

# المراجع
[1] https://isc.sans.edu/tools/honeypot/<br>
[2] https://www.elastic.co/downloads/beats/filebeat<br>
[3] https://www.elastic.co/guide/en/beats/filebeat/8.8/setup-repositories.html#_apt<br>
[4] https://isc.sans.edu/diary/DShield+Honeypot+Activity+for+May+2023/29932<br>
[5] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+to+Elasticsearch/29458<br>
[6] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+Analysis/29412<br>
[7] https://github.com/jslagrew/cowrieprocessor/blob/main/submit_vtfiles.py<br>
[8] https://handlers.sans.edu/gbruneau/elastic.htm<br>
[9] https://www.elastic.co/guide/en/fleet/current/secure-connections.html<br>
[10] https://www.docker.elastic.co/<br>
[11] https://github.com/gchq/CyberChef<br>
[12] https://github.com/mitre-attack/attack-navigator/pkgs/container/attack-navigator
تنزيل الأداة