Graphique d'intégration Swimlane et Elastic Stack mettant en évidence l'orchestration des données SOAR et SIEM pour une détection et une réponse avancées aux menaces.

Swimlane publie elk-tls-docker pour simplifier les tests et le déploiement d'Elastic Stack.

4 Lecture en une minute

 

Chez Swimlane, nous adorons automatiser, mais aussi créer et partager des logiciels libres pour aider les équipes de sécurité. Nous sommes fiers d'annoncer la publication d'un nouveau projet open source, elk-tls-docker, qui simplifie le test et le déploiement d'Elastic Stack en automatisant la création de plusieurs solutions logicielles open source Elastic.

Elk-tls-docker facilite la configuration et la création d'une pile Elastic utilisant des certificats auto-signés ou des certificats Let's Encrypt (via SWAG). Ce projet a été conçu pour vous permettre de tester et d'utiliser les fonctionnalités intégrées d'Elastic Security, telles que les détections, les signaux, les cas, Elastic Endpoint et d'autres fonctionnalités.

Ce projet docker-compose créera les conteneurs Elastic suivants basés sur la version 7.9.2 :

  • Elasticsearch
  • Logstash
  • Kibana
  • Packetbeat
  • Filebeat

Il existe deux modes d'exécution pour elk-tls-docker. Le premier, et le plus courant, est le mode de développement standard. Le second est un environnement de pseudo-production. La principale différence entre ces deux modes réside dans le fait que le mode de développement génère des certificats auto-signés, tandis que le mode de production utilise Let's Encrypt.

Environnement de développement

Par défaut, elk-tls-docker vous aidera à configurer un environnement de développement pour tester certaines des fonctionnalités exceptionnelles de Sécurité élastique. La première chose à faire est de cloner ou de copier le dépôt sur votre système local :

git clone https://github.com/swimlane/elk-tls-docker.git elk-tls-docker cd elk-tls-docker

Vous aurez besoin de l'intégralité du dépôt pour utiliser elk-tls-docker car tous les fichiers sont requis.

En plus du dépôt, vous devrez vous assurer d'avoir installé Docker et Docker Compose. Vous pouvez les installer à l'aide de la commande apt-get et en suivant les instructions. ces directions.

Vous devrez également copier le document fourni .exemple-environnement fichier et en créer un nouveau .env déposer.

Une fois cette configuration effectuée (ou les paramètres par défaut), exécutez la commande suivante pour générer des certificats auto-signés :

 docker-compose -f docker-compose.setup.yml run --rm certs

Ensuite, exécutez la commande suivante pour configurer votre environnement de développement :

 docker-compose up -d

Une fois que docker-compose a téléchargé toutes les images requises et construit les conteneurs, vous pouvez accéder à Kibana en allant à :

https://0.0.0.0:5601

Notez que cela peut prendre quelques minutes, mais une fois Kibana démarré, vous serez redirigé vers la page de connexion où vous devrez saisir votre nom d'utilisateur et votre mot de passe. .env déposer

Et voilà, vous disposez maintenant d'un environnement de développement pour Elastic Security !

Let's Encrypt et environnement de pseudo-production

Vous pouvez également utiliser Let's Encrypt Des certificats sont nécessaires pour un environnement de type production et pour accéder à Kibana, Elasticsearch ou à d'autres services externes, mais il existe quelques exigences supplémentaires :

  • Un nom de domaine enregistré
  • Les enregistrements DNS sont correctement configurés et pointent vers l'adresse IP de votre hôte.
    • Serveurs de noms pointant vers votre environnement d'hébergement
    • Un enregistrement pointant vers l'adresse IP de votre système
    • Enregistrement CNAME créé pour la configuration du sous-domaine
  • Un système hôte Ubuntu ou autre capable d'exécuter Docker et Docker Compose

Les éléments essentiels restent les mêmes, mais des étapes supplémentaires sont nécessaires. Heureusement, j'ai documenté ces processus dans un document. niveau élevé ici et a fourni un exemple Guide ici. Les étapes de base sont les suivantes :

  1. Configurez les enregistrements DNS pour qu'ils pointent vers l'adresse IP de votre hôte.
    1. Serveurs de noms pointant vers votre environnement d'hébergement
    2. Un enregistrement pointant vers l'adresse IP de votre système
    3. Enregistrement CNAME créé pour la configuration du sous-domaine
  2. Modifiez votre .env par:
    1. Spécifiez votre nom de domaine
    2. Spécifier la valeur du SOUS-DOMAINE ou du SOUS-DOSSIER
    3. Définir STAGING sur faux
  3. Exécutez les commandes suivantes dans l'ordre :
docker-compose -f docker-compose.setup.yml run --rm certs docker-compose -f docker-compose.production.yml up docker-compose down ou appuyez sur ctrl + x/c docker-compose -f docker-compose.setup.yml run --rm certs # oui à nouveau docker-compose -f docker-compose.production.yml up -d # oui à nouveau

Voilà ! Vous devriez maintenant pouvoir accéder à votre instance Kibana depuis l'extérieur à l'adresse https://{subdomain}.{domain.com}.

Configuration supplémentaire

Une fois votre environnement configuré et opérationnel, vous pouvez effectuer quelques configurations supplémentaires facultatives pour exploiter pleinement certaines des excellentes fonctionnalités d'Elastic Security :

  • Création d'un nouvel superutilisateur : Par défaut, elk-tls-docker utilise l'utilisateur intégré élastique et le mot de passe que vous avez défini dans votre fichier .env. Si vous souhaitez créer un compte Superutilisateur supplémentaire ou différent, vous pouvez utiliser… script Python fourni pour ce faire, vous devez vous assurer que le _HÔTE et _MOT DE PASSE sont correctement configurés et des informations supplémentaires dans le _CORPS est configuré selon vos besoins.

  • Modifier le mappage d'index : Lors de l'utilisation d'Elastic Security dans Kibana, les rapports intégrés sont mappés aux champs de données Elastic Common Schema, mais il peut être nécessaire de modifier les mappages des clés d'index des détections intégrées. D'après les tests et autres recherches, vous pouvez modifier les champs mappés dans l'index à l'aide de… script fourni.

  • Envoyer les données de test à Elasticsearch : Si vous souhaitez commencer immédiatement à tester elk-tls-docker, vous pouvez utiliser le script fourni envoyer des données à Elasticsearch en utilisant un autre de nos projets open-source appelé faux joueur de football. Vous pouvez diffuser autant de fois que vous le souhaitez. faux Utilisez les documents Elastic Common Schema comme vous le souhaitez ; il vous suffit de modifier le script en indiquant le nombre de documents à envoyer ainsi que vos identifiants pour Elasticsearch.

  • Envoyer les données de test à Filebeat : Enfin, vous pouvez également vérifier que Elastic Filebeat est correctement configuré en envoyant des données textuelles (ou un fichier) via des sockets directement à Filebeat. Ces données seront traitées par Logstash, puis par Elasticsearch. Consultez la documentation. script fourni ici.

Merci d'avoir testé elk-tls-docker ! Nous espérons que cela vous aidera à configurer et à tester Elastic Stack en un rien de temps !

GIF animé illustrant l'interface du playbook Swimlane Turbine avec filtrage avancé des panneaux et recherche logique automatisée.

Découvrez la turbine Swimlane en action

Réservez une démonstration en direct de Swimlane Turbine avec nos experts ! Découvrez comment notre plateforme d’automatisation de la sécurité basée sur l’IA peut vous aider à résoudre les problèmes les plus complexes au sein de votre organisation de sécurité.

Demander une démo

Demander une démo en direct