Présentation
Le moyen le plus simple de sécuriser votre tableau de bord Kibana contre les intrus malveillants consiste à configurer un proxy inverse Nginx. Ce faisant, vous vous assurez que seuls les utilisateurs autorisés et protégés par un mot de passe peuvent accéder à Kibana (et aux données dans Elasticsearch).
Dans ce didacticiel, vous apprendrez à configurer le proxy inverse Nginx pour Kibana.
Prérequis
- Une pile ELK fonctionnelle installée sur votre système
- Un compte utilisateur avec sudo privilèges
- Accès à une fenêtre de terminal/ligne de commande
Configurer le proxy inverse Nginx pour Kibana
Étape 1 :Configurer Kibana
Avant de commencer à configurer Nginx, assurez-vous de modifier les fichiers de configuration de Kibana et Elasticsearch.
1. Commencez par ouvrir le fichier de configuration de Kibana en exécutant :
sudo vim /etc/kibana/kibana.yml
Si vous avez suivi les étapes décrites dans l'installation de Kibana, le fichier devrait être similaire à celui affiché ci-dessous.
2. Modifiez le port du serveur par défaut et l'hôte du serveur adresse aux valeurs suivantes :
server.host:"localhost"
server.port:5601
3. Ensuite, enregistrez et quitter le fichier.
4. Redémarrez le service Kibana avec la commande :
sudo service kibana restart
Étape 2 :Configurer Elasticsearch
1. Répétez le même processus pour Elasticsearch. Ouvrez son fichier de configuration :
sudo vim /etc/elasticsearch/elasticsearch.yml
2. Ensuite, recherchez les lignes suivantes et modifiez le port et l'hôte par défaut :
http.port: 9200
network.host: localhost
3. Enregistrez le fichier et redémarrez le service :
sudo service elasticsearch restart
4. Enfin, vérifiez que vous pouvez accéder à Kibana en accédant à l'URL suivante dans un navigateur :
http://localhost:5601
Étape 3 :Installer et configurer Nginx
L'étape suivante consiste à configurer Nginx.
1. Si vous n'avez pas encore installé Nginx, exécutez la commande :
sudo apt-get install nginx
2. Une fois que vous avez configuré Nginx, installez les apache2-utils , un utilitaire pour créer des comptes protégés par mot de passe :
sudo apt-get install apache2-utils
3. Ensuite, créez un compte utilisateur que vous souhaitez utiliser pour accéder à Kibana. Remplacez user_account
dans la commande avec le nom d'utilisateur que vous souhaitez utiliser :
sudo htpasswd -c /etc/nginx/htpasswd.users user_account
4. La sortie vous demande ensuite de fournir et de retaper un mot de passe pour cet utilisateur :
New password:
Re-type new password:
Adding password for user user_account
5. Ensuite, créez un fichier de configuration pour Nginx :
sudo vim /etc/nginx/conf.d/kibana.conf
6. Ajoutez le contenu suivant une fois dans l'éditeur de texte :
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream elasticsearch {
server 127.0.0.1:9200;
keepalive 15;
}
upstream kibana {
server 127.0.0.1:5601;
keepalive 15;
}
server {
listen 8881;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://elasticsearch;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
server {
listen 8882;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://kibana;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
}
7. Enregistrez et quittez le fichier.
Étape 4 :Redémarrez les services
Vous devez redémarrer les services pour qu'ils reconnaissent la nouvelle configuration.
1. Redémarrez Nginx en exécutant :
sudo service nginx restart
2. Ensuite, redémarrez le service Kibana avec la commande :
sudo service kibana restart
Étape 5 :Confirmer que l'authentification fonctionne correctement
1. Ouvrez un navigateur Web et accédez à l'adresse IP que vous avez attribuée à Kibana.
2. Une fenêtre d'authentification apparaît vous demandant de fournir un nom d'utilisateur et Mot de passe .
3. Saisissez les informations d'identification configurées lors de la configuration de Nginx et sélectionnez Connexion . Si vous avez fourni les informations correctes, le navigateur ouvre la page d'accueil de Kibana.