
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" />
# 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
```
### Kibana में डैशबोर्ड और SIEM सिग्नेचर जोड़ना
यह DShield SIEM डैशबोर्ड और SIEM सिग्नेचर को Kibana में लोड करता है।<br>```
~/scripts/dashboard-setup.sh
```
### Docker डायरेक्टरी सूची
यह कमांड Elasticsearch के सभी घटकों के स्थापित होने के बाद उपयोग में आने वाली docker डायरेक्टरियों की सूची दिखाता है।<br>
जैसे-जैसे Elasticsearch में डेटा जोड़ा जाता है, आप नीचे दिए गए कमांड से या ELK के भीतर भंडारण के लिए उपलब्ध डिस्क की मात्रा की निगरानी भी कर सकते हैं।<br>````
sudo du --human-readable --max-depth 1 --no-dereference --one-file-system /var/lib/docker

netstat का उपयोग करने पर, ये 4 सेवाएँ अब listening करती हुई दिखनी चाहिए।
```
netstat -an | grep '80|9200|9300|8220|5601|5044|5066|5067|5068|9600'
This should be the output you should see:<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>
# Kibana में डिफ़ॉल्ट Filebeat टेम्पलेट लोड करना
यह डिफ़ॉल्ट टेम्पलेट और डैशबोर्ड स्थापित करेगा जिनका उपयोग दूरस्थ DShield सेंसर से नेटफ्लो डेटा संग्रहीत करने के लिए किया जा सकता है।<br>
Logstash द्वारा डेटा संग्रहीत करना शुरू करने के लिए, निम्नलिखित कमांड निष्पादित किए जाने चाहिए। पहला चरण filebeat में लॉगिन करना है:<br>````
sudo docker exec -ti filebeat bash
इसके बाद, Kibana में टेम्प्लेट लोड करने के लिए यह Filebeat कमांड चलाएँ:
````
./filebeat setup -e
# किबाना इंटरफ़ेस तक पहुंचें
Docker सभी ELK docker घटकों को स्थापित करना समाप्त करने के बाद, अब आपके Ubuntu सर्वर IP का उपयोग करके ELK स्टैक में लॉगिन करने का समय है।<br>
- उपयोगकर्ता नाम: **elastic** और डिफ़ॉल्ट पासवर्ड _यदि इसे बदला नहीं गया है_: **student** के साथ Kibana में लॉगिन करें।<br>
वेब एक्सेस: https://serverIP

# ELK स्टैक प्रबंधन कॉन्फ़िगर करना
ELK स्टैक की स्वास्थ्य स्थिति देखने के लिए, निम्न पर नेविगेट करके स्टैक मॉनिटरिंग को कॉन्फ़िगर करना आवश्यक है: Management -> Stack Monitoring<br>
- यह चरण केवल तभी आवश्यक है यदि इंस्टॉलेशन ने Stack Monitoring को स्वचालित रूप से सेटअप नहीं किया हो।<br>
- "_या, स्वयं निगरानी के साथ सेटअप करें_" चुनें<br>
- Monitoring वर्तमान में बंद है -> चुनें: _मॉनिटरिंग चालू करें_<br>


# fleet-agent कॉन्फ़िगर करना
fleet-agent (यह ELK स्टैक पर चलने वाला एक elastic-agent है) का उपयोग खतरे की खुफिया जानकारी इन्जेस्ट करने के लिए किया जाएगा।<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
Elasticsearch CA विश्वसनीय फिंगरप्रिंट की एक प्रति प्राप्त करें
````
sudo openssl x509 -fingerprint -sha256 -noout -in /tmp/ca.crt | awk -F"=" {' print $2 '} | sed s/://g
- आउटपुट इस तरह दिखेगा:<br>
673FB617E15CCCE73F9B647EF99449642A19CFC1D75BF5772047DA99DB950844
- Advanced YAML कॉन्फ़िगरेशन में लागू करने के लिए Elasticsearch CA प्रमाणपत्र की सामग्री प्राप्त करें। कमांड टाइप करें क्योंकि यह अच्छी तरह कॉपी नहीं होता है<br>````
sudo cat /tmp/ca.crt | sed -r 's/(.*)/ \1/g'
सही प्रारूप के लिए ऊपर दिए गए Troubleshooting fleet-server-examples गाइड URL के उदाहरण का अनुसरण करें।
sed पिछले कमांड के साथ CA प्रमाणपत्र में 4 स्पेस जोड़ देगा।
प्रमाणपत्र जानकारी जोड़ने के बाद, इन सेटिंग्स को सहेजें और लागू करें।
इसके बाद Save और deploy करें।

Settings के अंतर्गत, Fleet server hosts को या तो edit करके या Add Fleet Server के माध्यम से निम्नानुसार कॉन्फ़िगर करें:

अगला चरण है Select Agent Policy → Add Agent → Enroll in Fleet → Add Fleet Server

हमें अपने fleet server को सेटअप करने के लिए इस जानकारी की आवश्यकता होगी।
SSH के माध्यम से fleet-server में लॉगिन करें और अपने agent को सेटअप करने से पहले सुनिश्चित करें कि 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)
यह एक उदाहरण है जिसे फ्लीट सर्वर पर कॉपी करने की आवश्यकता है। सुनिश्चित करें कि फ्लीट सर्वर es है: https://es01:9200<br>
port=8220 के बाद बोल्ड अनुभाग जोड़ें क्योंकि प्रमाणपत्र स्व-जनित हैं। यह सुनिश्चित करेगा कि एजेंट अपडेट लेता है।<br>
टोकन और फिंगरप्रिंट इस उदाहरण से भिन्न होंगे<br>
नीचे elastic-enrol एजेंट की प्रतिलिपि बनाएँ और अपने स्वयं के सर्वर से ली गई इन 2 पंक्तियों को बदलें और बाकी सब कुछ समान रखें।<br>
<pre>
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
</pre>
फ्लीट-एजेंट में लॉग इन करते समय, अपने फ्लीट-एजेंट में elastic-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

Elastic Agent सफलतापूर्वक नामांकित किया गया।
अपने वर्तमान स्थान से, जाँचें कि यह सही ढंग से स्थापित हुआ है
````
./elastic-agent status
./elastic-agent restart (if you got what appears to be errors, force a restart and check the status)

अब जब Fleet Server कनेक्ट हो गया है, तो इस विंडो को बंद करें और अगले चरण पर आगे बढ़ते हैं।

Elastic Management → Fleet में, Agents रिफ्रेश करें और यह दिखाई देता है:

सर्वर अब हनीपॉट लॉग्स के विरुद्ध Security (SIEM भाग) में उपयोग के लिए Threat Intel Agents इंस्टॉल करने के लिए तैयार है।<br>
अगला कदम Agent policies → Fleet Server Policy → Add integration चुनना है:<br>
elastic-agent द्वारा एकत्रित मेट्रिक्स देखने के लिए इस Dashboard का उपयोग करें:<br>

- AlienVault OTX चुनें और जोड़ें (API कुंजी की आवश्यकता है)<br>
- AbuseCH चुनें (API कुंजी की आवश्यकता है)<br>
- Threat Intelligence Utilities चुनें<br>
- Elasticsearch<br>
- Kibana चुनें<br>
- Docker चुनें<br>

# Fleet Server Policy उदाहरण

- Elastic Management → Installed Integration में<br>
- प्रत्येक इंस्टॉल किए गए integration का चयन करें, फिर Settings चुनें और _पॉलिसी को अद्यतन रखें_ टैब सक्षम करें:<br>

## Security → Rules कॉन्फ़िगर करना
- Rules → Detection rules (SIEM) → Add Elastic rules चुनें
- Search Tags के अंतर्गत: Rule Type: Threat Intel (न्यूनतम उन 4 नियमों को जोड़ें)
- उन 4 नियमों को इंस्टॉल और सक्षम करें
- Threat Intel Indicator Match - Cowrie (कस्टम नियम तब लोड और सक्षम होता है जब docker सभी ELK स्टैक घटकों को लोड करता है)
- Threat Intel Windows Registry Indicator Match
- Threat Intel Hash Indicator Match
- Threat Intel URL Indicator Match
- आप नियमों को देख सकते हैं और उन अन्य नियमों को सक्षम कर सकते हैं जिन्हें आप अपने हनीपॉट डेटा के विरुद्ध आज़माना चाहते हैं।<br>

## Alert trend में नियमों द्वारा कैप्चर की गई गतिविधि की समीक्षा करें
यदि उपरोक्त में से कुछ threat intel को elastic-agent में जोड़ा गया था, और प्रारंभिक इंस्टॉलेशन के दौरान Management -> Advanced Settings में cowrie* जोड़ा गया था, तो यह अब ELK स्टैक के SIEM भाग के alert trends में मेल खाने वाले नियमों को ट्रैक कर सकता है।<br>
यह Management → Stack Management → Advanced Settings से आउटपुट है:<br>

यदि कोई threat intel मेल खाता है, तो SIEM निम्नलिखित गतिविधि प्रदर्शित करेगा जिसकी अब जांच की जा सकती है:<br>


# DShield Sensor पर Filebeat सेटअप करें - ELK को लॉग्स
अगला कदम DShield Sensor में Filebeat पैकेज जोड़ना है ताकि लॉग्स Elasticsearch को भेजे जा सकें।<br>
इस संदर्भ [3] से लिए गए निम्नलिखित कमांड का उपयोग करके Filebeat इंस्टॉल करने के लिए निम्न चरणों का उपयोग करें: <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
स्थापना के बाद, हम filebeat पर होल्ड लगाते हैं ताकि आप filebeat संस्करण बदले बिना सेंसर को अपडेट कर सकें। filebeat
संस्करण हमेशा Elasticsearc/Kibana डॉकर संस्करण से मेल खाना चाहिए।
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
<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
यदि आप अपने DShield सेंसर पर Zeek का उपयोग करना चाहते हैं, तो इन इंस्टॉलेशन [चरणों](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Configure_Zeek_DShield_Sensor.md) की समीक्षा करें
### क्लाउड सेंसर सेटअप - Filebeat -> होम राउटर -> Logstash
क्लाउड सेंसर से अपने स्थानीय ELK Stack से कनेक्ट करने के लिए, आपको निम्न कार्य करने होंगे:
- अपने ELK Stack स्थानीय IP पते पर NAT करने के लिए होम राउटर को कॉन्फ़िगर करें<br>
- अपने सेंसर से अपने होम राउटर से कनेक्ट करने के लिए राउटर IP पते का उपयोग करें (मैं अनुशंसा करूंगा कि आप अपने होम IP में एक होस्टनाम जोड़ें, यदि यह बदलता है)<br>
- अंतिम कनेक्शन इस प्रकार दिखना चाहिए: sensor -> NAT Router IP -> ELK Stack
### सभी सेंसर फ़ाइलों को DShield सेंसर में स्थानांतरित करें
DShield सेंसर से संबंधित सभी फ़ाइलों को डाउनलोड करने के लिए इस URL का अनुसरण करें<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
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
<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 अपने द्वारा संसाधित की गई घटनाओं को log.json नामक फ़ाइल के माध्यम से ट्रैक करता है, यदि इसे हटा दिया जाता है, तो filebeat को पुनः आरंभ करने पर पहले Elasticsearch को भेजी गई सभी घटनाएँ फिर से संसाधित की जाएँगी।
इस फ़ाइल का स्थान:
sudo su -````
cd /var/lib/filebeat/registry/filebeat
यदि आप अपने ELK सर्वर के पुनर्निर्माण के कारण सभी लॉग फिर से भेजने की योजना बना रहे हैं, तो _filebeat को रोकें, log.json को हटाएँ और filebeat को पुनः प्रारंभ करें_।
ELK Stack डैशबोर्ड में इसे पकड़ने में आमतौर पर कुछ समय लगेगा। यदि आप यह देखना चाहते हैं कि यह ELK Stack को लॉग भेज रहा है या नहीं, तो आप यह कर सकते हैं<br>
- tail -f log.json
- जब यह पकड़ रहा हो, तो डैशबोर्ड में पिछले 30 दिनों को देखें
# इंटरफ़ेस - Logs DShield Sensor Overview
डैशबोर्ड तक पहुँचने के लिए Analytics -> Dashboard -> **[Logs DShield Sensor] Overview** चुनें<br>

## वर्कस्टेशन ब्राउज़र में ca.crt जोड़ना
ELK सर्वर द्वारा उपयोग किए जाने वाले ca.crt को Kibana में जोड़ने के लिए इस [पृष्ठ](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Workstation_Browser_CA_Certificate.md) के चरणों का पालन करें।<br>

# उपयोगी Docker कमांड
उपयोगी docker कमांड की सूची के लिए इस पृष्ठ को देखें।<br>
https://github.com/bruneaug/DShield-SIEM/edit/main/Troubleshooting/docker_useful_commands..md
# Console के साथ 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) DShiel SIEM Raspberry 5<br>
William Constantino [Cowrie logfile_investigation with Python](https://github.com/JJWCons/log-scripts/blob/main/logfile_investigation.py)<br>
William Constantino [Cowrie single_multi_IP with 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