
DShield सेंसर लॉग संग्रह ELK के साथ
यह Scott Jensen द्वारा ISC Storm Center वेबसाइट पर BACS पेपर के रूप में प्रारंभिक प्रकाशन और Github में प्रकाशित स्क्रिप्ट्स का एक fork और महत्वपूर्ण अपडेट है।
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 सेंसर के साथ लॉग संग्रह कैसे किया जाता है।
https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/DShield-SIEM-Flow.png
यह docker विशेष रूप से DShield Honeypot के साथ उपयोग के लिए बनाया गया है, ताकि लॉग एकत्र किए जा सकें, उन्हें पार्स किया जा सके और डेटा को शोध उद्देश्यों के लिए खोजना आसान बनाया जा सके। सुझाई गई स्थापना यह है कि DShield सेंसर को PI Raspbian OS का उपयोग करते हुए Rasperry में स्थापित करें, या Ubuntu 24.04 LTS चलाने वाले सिस्टम पर, या तो आपके नेटवर्क में या आपकी पसंद के क्लाउड में।
नोट: इसे नीचे दिए गए निर्देशों के अनुसार एक अलग सर्वर पर स्थापित किया जाना चाहिए।
नोट: ELK सर्वर घटकों को अपडेट करने के लिए, इन चरणों का पालन करें:
https://github.com/bruneaug/DShield-SIEM/blob/main/README.md#download-github-update
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
सुनिश्चित करें कि docker सेवा चल रही है<br>````
sudo systemctl status docker.service
निम्नलिखित ELK सर्वर नाम es01 kibana fleet-server heartbeat logstash filebeat filebeat01 जोड़ें
/etc/hosts में IP पता और सर्वर नाम के बाद:
````
sudo vi /etc/hosts
इसे ELK सर्वर IP पतों के बाद /etc/hosts में जोड़ें<br>
127.0.0.1 sensor es01 ...<br>
192.168.25.80 sensor es01 ...<br>````
es01 kibana fleet-server heartbeat logstash filebeat filebeat01
sysctl.conf फ़ाइल संपादित करें:
````
sudo vi /etc/sysctl.conf
फ़ाइल के नीचे निम्नलिखित जोड़ें:<br>````
vm.max_map_count=262144
इसे जोड़ें और सहेजें। यह Docker का उपयोग करते समय Elasticsearch के लिए है।
sudo iptables -nL

# 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 कंटेनर के लिए आवंटित करेगा।
Elasticsearch के लिए डिफ़ॉल्ट 3GB है, लेकिन यदि आपके पास संसाधन हैं तो इसे बढ़ाया जा सकता है
.env फ़ाइल संपादित करें और अपने ELK स्टैक के लिए कॉन्फ़िगर करें
````
vi .env
- **.env** फ़ाइल में निम्नलिखित चरों को अपडेट करें ताकि वे आपके ELK सर्वर DNS जानकारी, होस्टनाम, IP और डिफ़ॉल्ट इलास्टिक पासवर्ड से मेल खाएँ यदि आप इसे बदलना चाहते हैं: <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
अपने स्वयं के सेंसर IP के साथ सेंसर IP (जिसे PI नाम दिया गया है) को बदलने के लिए heartbeat.yml को संपादित करें। Kibana heartbeat आपकी सेवाओं की स्थिति की जाँच करता है और निर्धारित करता है कि वे उपलब्ध हैं या नहीं।
अपने सेंसर को दर्शाने के लिए इस IP और hostname को अपडेट करें।
नोट: यदि आप एक से अधिक सेंसर की निगरानी करना चाहते हैं तो आप समान 5 पंक्तियों को कॉपी करके जोड़ सकते हैं
इसे Observability -> Uptime Monitors में देखा जा सकता है

यह लाइन सेंसर IP पता है। यदि TCP 12222 से कनेक्ट करते समय उसे कोई प्रतिक्रिया नहीं मिलती है, तो यह इसे इंटरफ़ेस में डाउन के रूप में चिह्नित करेगा।
यह ELK सर्वर द्वारा सेंसर से प्रतिक्रिया की जाँच करने के लिए शुरू किया जाता है।
इस लाइन को अपडेट करें: hosts: ["192.168.25.165"]
````
vi ~/DShield-SIEM/heartbeat/heartbeat.yml
स्क्रिप्ट **change_perms.sh** डॉकर घटकों की स्थापना शुरू करने से पहले कुछ फ़ाइलों को कॉन्फ़िगर करेगी।<br>
स्क्रिप्ट डैशबोर्ड क्वेरी में उपयोग किए गए IP पते को आपके ELK स्टैक के IP में भी अपडेट करेगी।<br>````
~/scripts/change_perms.sh
~/scripts/get_researchers.sh
अब ELK सर्वर अनुप्रयोगों को बनाने के लिए docker compose निष्पादित करें।
यह बनाएगा: Kibana, Elasticsearch, elastic-agent, Logstash और Cowrie पार्सर, कॉन्फ़िगरेशन फ़ाइलें और डैशबोर्ड लोड करेगा।
````
sudo docker compose up -d
स्थापना पूर्ण हुई
<img width="375" height="354" alt="image" src="https://assets.kitploit.com/production/public/readmes/50066/b192e2cc430ca7eaa43934ebde637400b29d23212dce39e81f521b0806df1bc0.png" />