
DShield Sensor Log Collection with ELK
Ceci est un fork et une mise à jour importante de la publication initiale sur le site Web ISC Storm Center par Scott Jensen en tant que document BACS et des scripts publiés sur Github.
https://github.com/fkadriver/Dshield-ELK
https://isc.sans.edu/diary/DShield+Sensor+Monitoring+with+a+Docker+ELK+Stack+Guest+Diary/30118
Ceci est une bonne référence sur la façon d'utiliser DShield-SIEM pour l'analyse : https://isc.sans.edu/diary/30962/
Ceci donne un aperçu de la façon dont la collecte des journaux est effectuée avec le capteur DShield.
https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/DShield-SIEM-Flow.png
Ce docker est construit sur mesure pour être utilisé avec le DShield Honeypot afin de collecter et d'analyser les journaux et de rassembler les données pour faciliter la recherche à des fins de recherche. L'installation suggérée consiste à installer le capteur DShield sur un Raspberry utilisant le système d'exploitation Raspbian Pi ou un système exécutant Ubuntu 24.04 LTS, que ce soit sur votre réseau ou dans le cloud de votre choix.
Remarque : Ceci doit être installé sur un serveur séparé conformément aux instructions ci-dessous.
Remarque : Pour mettre à jour les composants du serveur ELK, suivez ces étapes :
https://github.com/bruneaug/DShield-SIEM/blob/main/README.md#download-github-update
Installez Docker avec le compte utilisateur ($) :````
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
Confirmez que le service docker est en cours d'exécution<br>````
sudo systemctl status docker.service
Ajoutez le nom de serveur ELK suivant es01 kibana fleet-server heartbeat logstash filebeat filebeat01
dans /etc/hosts après l'adresse IP et le nom du serveur :
````
sudo vi /etc/hosts
Ajoutez ceci à /etc/hosts après les adresses IP du serveur ELK<br>
127.0.0.1 sensor es01 ...<br>
192.168.25.80 sensor es01 ...<br>````
es01 kibana fleet-server heartbeat logstash filebeat filebeat01
Modifiez le fichier sysctl.conf :
````
sudo vi /etc/sysctl.conf
Ajoutez ce qui suit en bas du fichier :<br>````
vm.max_map_count=262144
Ajoutez-le et enregistrez-le. Ceci est pour Elasticsearch lors de l'utilisation de Docker.
sudo iptables -nL

# Configurer et installer DShield ELK
En utilisant le compte utilisateur ($), exécutez les commandes suivantes:<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
Note : Avant l'installation, vous pouvez modifier le fichier .env (ls -la pour le voir) pour apporter les modifications souhaitées.
- Le mot de passe par défaut actuel pour elastic est student
Les limites de mémoire dans .env sont la quantité maximale de mémoire que docker allouera à chacun des conteneurs ELK.
Par défaut, 3GB pour Elasticsearch, mais cela peut être étendu si vous avez les ressources nécessaires
Modifiez le fichier .env et configurez-le pour votre propre stack ELK
````
vi .env
- Mettez à jour les variables suivantes dans le fichier **.env** pour qu'elles correspondent aux informations DNS, au nom d'hôte, à l'adresse IP de votre serveur ELK et au mot de passe Elastic par défaut si vous souhaitez le modifier : <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
- Si vous souhaitez modifier les informations du ou des serveurs de noms par défaut ainsi que l'emplacement de votre réseau privé local pour l'adresse de destination (c'est-à-dire le mappage du capteur DShield - actuellement configuré pour **Ottawa, Canada**), modifiez le répertoire suivant pour les fichiers avant de charger docker :<br>````
cd logstash/pipeline
Modifiez heartbeat.yml pour remplacer l'IP du capteur (nommée PI) par votre propre IP de capteur. Le heartbeat de Kibana vérifie l'état de vos services et détermine s'ils sont disponibles.
Mettez à jour cette IP et ce nom d'hôte pour refléter votre capteur.
Remarque : Vous pouvez copier et ajouter les mêmes 5 lignes si vous avez plusieurs capteurs à surveiller.
Cela peut être consulté dans Observability -> Uptime Monitors
