Déploiement centralisé de Crowdsec

Comme le temps passe vite… cela fait deux ans que nous avons parlé de Crowdsec pour la première fois… Je compte faire quelques documents actualisés sur les possibilités de son déploiement, car il s’agit d’un produit très intéressant pour protéger nos organisations contre les menaces et nous offre de nombreuses possibilités intéressantes.

Dans des articles précédents, peut-être plus détaillés, nous avons déjà décrit les possibilités de Crowdsec, mais pour faire une présentation pour ceux qui ne le connaissent pas, Il s’agit d’un logiciel qui peut être installé sur différents types de machines, avec système d’exploitation Windows, Linux… Et l’objectif est de protéger cette machine (ou votre réseau), En lisant les journaux de la machine, vous prendrez des décisions, comme l’interdiction de l’IP qui a été créée par une tentative d’attaque, ou quelqu’un s’est mal validé, etc…

Il y a plusieurs composantes, dispose d’un agent qui traite les journaux de la machine, des services qu’il gère, tels que l’observateur d’événements, d’un IIS, Nginx, Apache, MariaDB, Échanger, Suivantcloud, SMB, RDP… compare les journaux avec les différents scénarios et envoie les alertes au service LAPI (API locale); qui reçoit les alertes et les transforme en décisions (sur la base des protections que nous avons mises en place). Et puis nous avons le videur (o Volet remédiation), qui consulte les décisions du LAPI et les met en œuvre; par exemple le videur de pare-feu, qui créera des règles dans le micrologiciel du système d’exploitation refusant l’accès à l’adresse IP qui a généré une attaque.

En principe, bien que cela puisse sembler le contraire, c’est très simple, tous les composants sont installés ensemble lors de l’installation de l’agent Crowdsec (o Moteur). Lorsque Crowdsec est installé sur un Windows ou Linux, il détectera les services que la machine exécute, et donc ils seront déjà protégés, s’il s’agit d’un Linux et qu’il a (Par exemple) un Nginx va déjà lire et traiter les journaux du système d’exploitation, ainsi que celles de Nginx lui-même, Recherche de modèles permettant de détecter les tentatives d’abus par les vulnérabilités, Scans, Accès inapproprié… De plus, d’autres types de collections peuvent s’ajouter’ Pour lire d’autres types de journaux, juste au cas où un Nextcloud s’exécuterait dans ce Nginx, et nous voulons que Crowdsec traite également les journaux Nextcloud…

Ce que j’ai dit, C’est simple, C’est nouveau si vous ne le savez pas, mais c’est très bien planifié, si nous l’installons sur un serveur Windows, idem, il détectera si nous avons, par exemple, un IIS installé, ou un serveur SQL Server… et lorsque nous installons l’agent Crowdsec, il détecte des modèles dans les journaux de l’observateur d’événements pour nous protéger. Et ce que j’ai dit, si IIS exécute un service particulier, Eh bien, nous pouvons aussi le protéger, qu’il s’agisse par exemple d’une plateforme d’échange (OWA et SMTP) être capable de lire leurs journaux spécifiques.

Ce qu’il nous resterait, c’est de pouvoir appliquer les actions, que s’il lit quelque chose qu’il n’aime pas dans un journal, Acte. Pour ce faire,, généralement sur Windows et Linux, nous devons installer le videur de pare-feu plus tard, Comme je l’ai dit, afin que ce composant de conversion puisse créer une règle dans le pare-feu du système d’exploitation, Windows ou Linux, Une règle temporaire, de déni, blocage de l’accès à partir de l’adresse IP attaquante.

C’est ainsi que nous protégeons nos machines Windows ou Linux, Mais ils ne se parlent pas, Et ce serait intéressant s’ils pouvaient communiquer entre eux. Cette étape est donc facultative, peut-être pour les petits environnements, mais bien sûr totalement recommandé pour toute organisation. Nous pouvons facilement créer un serveur Crowdsec dans un conteneur Docker, Pour avoir dit, ce serveur partagera une base de données centralisée avec toutes les décisions via LAPI, Pour quoi? Au cas où cela nous intéresserait si une machine reçoit une attaque, le reste des machines Crowdsec le découvre et passe à l’action, cependant, pour protéger et bannir une adresse IP particulière, Tout à la fois. Et un autre des merveilleux conteneurs que nous allons déployer est le miroir de liste de blocage Crowdsec, De la pure magie, ce conteneur publiera dans une URL la liste noire que toutes les machines Crowdsec partagent. Pour quoi? Pour pouvoir y accéder depuis nos pare-feu internes ou périmétriques tels que Fortigate, Point de contrôle, pfSense… et établir des règles de déni, Entre les réseaux, depuis le WAN… et isoler directement les attaquants à un autre niveau.

Puits, Après cette diatribe, Et déjà être la braise, Le document d’aujourd’hui est basé sur la façon de dérouler cette dernière partie dont nous avons parlé, Nous allons déployer l’infrastructure de base, nous allons déployer ces conteneurs et dans d’autres documents nous verrons comment installer Crowdsec sur un Windows et le protéger, centralisé ou non; ainsi qu’un.

Déploiement Crowdsec pour un environnement multi-serveurs

Mkdir Crowdsec CD Crowdsec

On commence par exemple sur un serveur Ubuntu, avec son FQDN, une adresse IP statique, avec NTP correctement configuré, mis à jour et avec Docker installé. Voyons à quelle vitesse ces deux conteneurs se déploient. Nous créons un répertoire, Marché, et nous commençons. Nous allons créer le fichier docker-compose.yml avec le contenu suivant:

Version: '3'

services:
  crowdsec:
    image: Redémarrage de CrowdSecurity/Crowdsec: Toujours des ports:
      - '8080:8080'
      - '6060:6060'
    volumes:
      - ./crowdsec-db:/var/lib/crowdsec/data/
      - ./crowdsec-config:/etc/crowdsec/ crowdsec-blocklist-mirror:
    container_name: crowdsec-blocklist-image miroir: crowdsecurity/blocklist-mirror depends_on:
      - "crowdsec"
    Ports:
      - 41412:41412
    Volumes:
      - ./cfg.yaml:/etc/crowdsec/bouncers/crowdsec-blocklist-mirror.yaml volumes:
  crowdsec-db:
  crowdsec-config:

Ce que j’ai dit, déploiera deux conteneurs, un Crowdsec qui agira en principe comme un serveur LAPI dans le 8080 et dans le 6060 S’il est intéressé, il crachera des mesures, Sur le port 41412TCP, nous aurons le conteneur qui publie la liste de blocage, Un miroir.

Nous déchargeons et démarrons les conteneurs avec:

sudo docker compose up -d

La première fois, le conteneur Blocklist-Mirror ne se lève pas car il a besoin d’un accès avec sa clé API, Nous avons donc créé le premier Bouncer, pour les listes de blocage:

sudo docker exec -it crowdsec-crowdsec-1 cscli bouncers ajouter BlocklistMirror

Pas mal, arrêtez le conteneur Crowdsec et supprimez le fichier de configuration pour le recréer ci-dessous.

Sudo Docker Stop CrowdSEC-CrowdSEC-1 RM -rf cfg.yaml/

Et nous créons avec 'nano cfg.yaml’ le fichier de configuration, Que ça doit être quelque chose comme ça, gardez à l’esprit que vous devez indiquer la clé API que nous avons demandée à Crowdsec et indiquer l’adresse IP par laquelle nous publierons le service LAPI. Ainsi que dans la liste de blocage, ajoutez l’adresse IP qui se connectera et aurez accès à l’URL de la liste de blocage, par exemple notre pare-feu de périmètre.

config_version: v1.0 crowdsec_config:
  lapi_key: xxxxxxxxxxxxxxx lapi_url: HTTP://DIRECCION_IP_MAQUINA:8080
  update_frequency: 10include_scenarios_containing: []
  exclude_scenarios_containing: []
  only_include_decisions_from: []
  insecure_skip_verify: fausses listes de blocage:
  - format: plain_text # Les formats pris en charge sont les suivants "plain_text"
    Extrémité: /Authentification de sécurité/liste de blocage:
      type: aucun # Les types pris en charge sont l’un des suivants "aucun", "ip_based", "Basique"
      utilisateur:
      mot de passe:
      trusted_ips: # Plages d’adresses IP, or IPs which don't require auth to access this blocklist
        - 127.0.0.1
        - ::1
        - 192.168.1.1

listen_uri: 0.0.0.0:41412
TLS:
  cert_file:
  key_file:

Métrique:
  Activé: véritable point de terminaison: /Métriques log_media: stdout log_level: info

Nous pourrons redémarrer le conteneur Crowdsec et enfin le conteneur Blocklist-Mirror, Course:

Sudo Docker Start CrowdSEC-CrowdSEC-1 sudo Docker Restart CrowdSEC-Blocklist-Mirror

Nous testons que nous pouvons accéder à l’URL de la liste de blocage à partir de: HTTP://DIRECCION_IP_MAQUINA:41412/Sécurité/Liste de blocage

S’inscrire à la console CrowdSec

Il sera fortement recommandé de s’inscrire à https://app.crowdsec.net et inscrivez-vous dans notre compte Crowdsec Console. À partir de là, nous pourrons voir l’état de nos agents ou de notre moteur Crowdsec, Nous pouvons les inscrire à d’autres listes noires de la communauté, Gérer les alertes, Historique… Pour enregistrer notre Crowdsec, Nous le ferons à partir du web, “Moteur de sécurité” > “Moteur” > “Ajouter un moteur de sécurité”, nous obtiendrons un menu déroulant que nous copierons et exécuterons sur notre serveur Crowdsec (pour l’appeler quelque chose).

Et nous l’exécutons, dans ce cas, nous modifions un peu la commande puisque nous l’exécuterons via Docker:

Sudo Docker exec -it crowdsec-crowdsec-1 cscli console enroll -e context xxxxxxxxxxxxxxx

Retour à la console Crowdsec (Et si nous ne le voyons pas, F5), Nous constaterons qu’il a détecté notre demande d’inscription, Cliquez sur “Acept s’inscrire”,

Une fois que nous l’aurons en stock, Nous pouvons d’abord modifier le nom pour mieux le reconnaître, À propos d’elle “Modifier le nom ou les balises”,

Nous lui donnons le nom de sa machine et cliquons sur “Mettre à jour”,

Nous pouvons continuer si nous voulons l’abonner à certaines listes de blocage proposées par Crowdsec, La communauté… De cette façon, la machine sera protégée de certains botnets, Mauvais… pour cela, Cliquez sur “Liste de blocage” où l’on voit qu’il est souscrit 0,

Cliquez sur “Parcourir les listes de blocage disponibles”,

Et ici, nous allons dresser une série de listes, Nous pouvons choisir jusqu’à 3 gratuitement avec le compte de type communautaire, On peut choisir le type des listes, ceux qui nous convainquent le plus, Besoin… à propos de chacun d’entre eux, Nous donnerons “Gérer”,

Et dans “Ajouter un moteur de sécurité”,

Ici, nous verrons les machines sur lesquelles l’agent Crowdsec est installé, Sélectionnez la machine à laquelle souscrire et le type d’action, si une interdiction de l’IP ou nécessite un Captcha lors de l’accès. “Confirmer l’abonnement”.

En principe, nous allons laisser le document ici, On peut dire que le scénario central a été minimalement laissé, la machine qui offrira des services LAPI pour le reste des moteurs de Crowdsec ou la liste noire de nos pare-feu de périmètre. Les prochaines étapes consisteront à déployer des agents Crowdsec là où nous en avons besoin, Et si cela nous intéresse, Parce que nous les intégrons dans cette installation et qu’ils peuvent ainsi prendre des décisions communes entre eux.

J’espère qu’il pourra vous apporter quelque chose, Clarifier si quelqu’un avait des doutes ou ne le connaissait pas, ou vous souhaitez l’implémenter dans un LAB et essayer des solutions comme celles-ci, Facile, Simple, pour toute la famille. Et que nous assurons la sécurité et anticipons les frayeurs… Eh bien, cela, Non? Tu sais, Je vais être un vampire, J’espère que ça se passe TRÈS bien pour vous, Câlins!

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!