# [Debian] ELK

## Introduction

La suite **ELK** pour **Elastic Logstash et Kibana** est un ensemble d'outil de sécurité qui permettent de collecter, indexer, parser et afficher les logs.

Ces outils sont complémentaires et primordiaux pour la **blue team**.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-12/scaled-1680-/lwcimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-12/lwcimage.png)

## Sources

- [Documentation officielle - Installation Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html)
- [Documentation officielle - Installation Logstash](https://www.elastic.co/guide/en/logstash/current/installing-logstash.html)
- [Documentation officielle - Installation Kibana](https://www.elastic.co/guide/en/kibana/current/deb.html)

## Installation

#### Prérequis

Tout d'abord, il faut importer la **clé GPG** pour être en mesure d'installer les outils de la suite ELK :

```bash
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg && apt-get install apt-transport-https && echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list && apt-get update
```

#### Elasticsearch

Voici la commande pour installer **Elasticsearch** :

```bash
apt install -y elasticsearch
```

Démarrez et activez le service elasticsearch :

```bash
systemctl enable --now elasticsearch
```

<p class="callout info">La configuration globale d'elasticsearch se trouve dans le fichier **/etc/elasticsearch/elasticsearch.yml** .</p>

Ensuite, configurez le mot de passe de l'utilisateur **elastic** grâce à cette commande :

```bash
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i
```

<p class="callout success">Le service est désormais disponible depuis le navigateur en vous rendant sur **https://&lt;IP&gt;:9200** .</p>

#### Logstash

Voici la commande pour installer **Logstash** :

```bash
apt install -y logstash
```

<p class="callout info">Logstash peut être configuré à travers le fichier **/etc/logstash/conf.d/beats.conf** .</p>

Démarrez et activez le service logstash :

```bash
systemctl enable --now logstash
```

<p class="callout success">Le service est désormais disponible sur le port **5044** .</p>

#### Filebeat

Voici la commande pour installer **Filebeat** :

```bash
apt install -y filebeat
```

<p class="callout info">Logstash peut être configuré à travers le fichier **/etc/filebeat/filebeat.yml** .</p>

Démarrez et activez le service filebeat :

```bash
systemctl enable --now filebeat
```

#### Kibana

Voici la commande pour installer **Kibana** :

```bash
apt install -y kibana
```

<p class="callout info">Kibana peut être configuré à travers le fichier **/etc/kibana/kibana.yml** .</p>

Démarrez et activez le service kibana :

```bash
systemctl enable --now kibana
```

<p class="callout success">Le service est désormais disponible sur l'url **http://&lt;IP&gt;:5601** .</p>

Pour activer Kibana, il vous sera demandé un token d'enrollement qui peut être généré grâce à la commande suivante :

```bash
/usr/share/kibana/bin/kibana-verification-code
```

Ensuite, un code de vérification vous sera demandé, tapez cette commande pour l'obtenir :

```bash
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
```