logo rss

Elastic SIEM 7 Partie I - Installer et configurer Elasticsearch et Kibana sur un serveur Debian Linux

Elasticsearch logo

Un SIEM ou Gestion de l'information des événements de sécurité est une solution de sécurité permettant de centraliser des journaux et des événements de nombreux périphériques différents d'un réseau informatique dans le but de les traiter et de générer des alertes dans le cas ou des événements anormaux se produiraient.

Nous vérons ici comment déployer la solution Elasticsearch. Qui a l'avantage d'être en grande partie gratuite.

L'architecture Elastic SIEM

Elasticsearch est un moteur de recherche et d'analyse distribué pour tout type de données.

Kibana est un outil de visualisation et de gestion des données pour Elasticsearch. Kibana sera utilisé pour rechercher, visualiser, et interagir avec les données stockées dans Elasticsearch.

SIEM | Elasticsearch architecture

Notes

Les liens

Les composants

Principaux

  • Elasticsearch : La recherche et l'analyse RESTful distribuĂ©es. (Le cerveau de la solution).
  • Kibana : Visualisez vos donnĂ©es. Naviguez dans la Suite. (Affichage, reprĂ©sentation graphique).
  • Beats : Collecte, analyse et transfert lĂ©ger.

Autres

  • Logstash : Ingestion, transformation, enrichissement et sortie. (RĂ©cupĂ©rer un flux d'information avec possibilitĂ© de le transformer/filtrer avant de le transmettre Ă  Elasticsearch).
  • Filebeat : RĂ©cupĂ©rer les informations des fichiers journaux. (Transmettre des fichiers journaux d'une machine vers Elasticsearch.)

Les ports par défaut

  • ElastiSearch : http://IP_ADDRESS:9200
  • Kibana web access : http://IP_ADDRESS:5601
  • Logstash : 9600

Installation de la suite Elasticsearch

Depuis un système Debian nous avons le choix de l'installer depuis les paquets ou via le gestionnaire de paquets apt. Nous verrons ici les deux méthodes.

Installation depuis les paquets (dpkg)

Elasticsearch

  • TĂ©lĂ©charger le paquet Elasticsearch et son fichier de hashage sha512 associĂ© dans /tmp/ :
root@host:~# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-amd64.deb https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-amd64.deb.sha512 -P /tmp/
  • Installer le service Elasticsearch :
root@host:~# dpkg -i /tmp/elasticsearch-7.12.0-amd64.deb

Kibana

  • TĂ©lĂ©charger le paquet Kibana et son fichier de hashage sha512 associĂ© dans /tmp/ :
root@host:~# wget https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-amd64.deb https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-amd64.deb.sha512 -P /tmp/
  • Installer le service Kibana :
root@host:~# dpkg -i /tmp/kibana-7.12.0-amd64.deb

Installation depuis le gestionnaire de paquets (apt)

Prérequis

  • Importer la clĂ© PGP Elasticsearch :
root@host:~# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
  • Installer apt-transport-https :
root@host:~# apt update && apt-get install apt-transport-https
  • Ajouter le dĂ©pot elastic :
root@host:~# echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list

Elasticsearch

  • Installer Elasticsearch :
root@host:~# apt update && apt-get install elasticsearch

Kibana

  • Installer Kibana :
root@host:~# apt update && apt-get install kibana

Configuration

Elasticsearch

  • Éditer le fichier /etc/elasticsearch/elasticsearch.yml to :
    • ParamĂ©trer l'adresse d'Ă©coute sur «toutes» les adresses : 0.0.0.0
    • DĂ©clarĂ© une architecture Ă  un nĹ“ud : single-node
    • Liste des hĂ´tes : ["0.0.0.0"]
network.host: 0.0.0.0
discovery.type: single-node
discovery.seed_hosts: ["0.0.0.0"]
  • Toujours dans le mĂŞme fichier de configuration on peut aussi donner un nom Ă  notre nĹ“ud :
node.name: std
  • DĂ©marrer le service :
root@host:~# systemctl start elasticsearch.service
  • VĂ©rifier que le service elastic fonctionne :
root@host:~# curl http://127.0.0.1:9200
{
  "name" : "std",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "StdgreaTBanDKphU4S0ceg",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "ff17057114c2199c9c1bbecc727003a907c0db7a",
    "build_date" : "2021-02-15T13:44:09.394032Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Kibana

  • Éditer le fichier /etc/kibana/kibana.yml pour :
    • ParamĂ©trer l'adresse d'Ă©coute sur «toutes» les adresses : 0.0.0.0
server.host: "0.0.0.0"
  • DĂ©marrer le service :
root@host:~# systemctl start kibana.service
  • VĂ©rifier le bon fonctionnement :
root@host:~# curl -XGET 'http://localhost:9200/_cluster/health'
{"cluster_name":"elasticsearch","status":"yellow","timed_out":false,"number_of_nodes":1,"number_of_data_nodes":1,"active_primary_shards":18,"active_shards":18,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":4,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":81.81818181818183}
  • Ouvrir Firefox et entrer l'adresse http://IP_SERVER:5601/, après quelques secondes la page suivante devrait apparaitre :
ElasticSearch | Kibana : welcome to elastic

AutoStart

Pour que les services Elasticsearch et Kibana se lancent automatiquement au démarrage, nous avons besoin de procéder à quelques paramétrages supplémentaires.

Elasticsearch

  • Parce qu'Elasticsearch est lent Ă  dĂ©marrer, Ă©diter le fichier /usr/lib/systemd/system/elasticsearch.service, et modifier la valeur TimeoutStartSec :
TimeoutStartSec=300
  • Activer le dĂ©marrage automatique du service Elasticsearch :
root@host:~# systemctl enable elasticsearch.service

Kibana

  • Activer le dĂ©marrage automatique du service Kibana :
root@host:~# systemctl enable kibana.service

Fichiers de Log

  • Elasticsearch :
root@host:~# tail /var/log/elasticsearch/elasticsearch.log
  • Kibana :
root@host:~# tail /var/log/kibana/kibana.log
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

adresse mail de contact