Documentation

Gestion des entrepôts d’authentification et de données

Généralités sur les entrepôts

Depuis ce menu il est possible d’ajouter / modifier les entrepôts utilisés par Vulture.
Il y a deux types d’entrepôts:

  • Les entrepôts d’authentification, depuis lesquels Vulture peut authentifier les utilisateurs
    • Bases de données SQL (support de MySQL et Postgres)
    • Bases de données MongoDB
    • Annuaires LDAP
    • Serveurs Kerberos
  • Les entrepôts de données dans lesquels Vulture poussera ses logs et ses alertes
    • Cluster ElasticSearch
    • Cluster MongoDB

Il existe un entrepôt spécial: “Vulture Internal Database”. Cet entrepôt contient les comptes d’administration de Vulture et peut également être utilisé pour stocker les logs sur les petites installations.

Attention, sur de grosses installations nous recommandons de ne pas stocker les logs sur Vulture, mais sur un entrepôt séparé (idéalement dans un cluster ElasticSearch, qui offre les meilleures performances en terme de recherche et de détection d’anomalies).

Ceci étant dit, Vulture-OS sur un simple laptop supporte sans problème plusieurs millions de lignes de logs dans sa base interne. La base interne est également utilisée pour stocker les profils SSO chiffrés.

C’est un changement important par rapport à Vulture 2, où les profils SSO pouvaient être stockés sur des bases SQL externes.

repo-list

Entrepôt Kerberos (authentification uniquement)

Les entrepôts Kerberos sont utilisés pour authentifier les utilisateurs de manière transparente sur Vulture ainsi que pour le SSO Forward (création ou transfert de ticket Kerberos vers l’application protégée). Voir la documentation dédiée à Kerberos

Entrepôt MongoDB (authentification et données)

Les entrepôts MongoDB peuvent être utilisés pour authentifier les utilisateurs Vulture ou pour héberger des données.

Paramètres de connexion à l’entrepôt.

admin-gestion-entrepots-donnees-img-1

  • Repository name : Un nom personnalisé à donner à celui-ci.
  • Repository type : Le type « Authentication » permet d’authentifier des utilisateurs et le type « Data » permet d’enregistrer les logs Vulture dans une base de données MongoDB.
  • Database host : L’adresse IP du serveur hébergeant la base de données.
  • Database port : Port sur lequel le service Mongod écoute et accepte les connexions clients, le port par défaut est le port 27017.
  • Client certificate : Certificat utilisé pour se connecter à la base de données. Plus d’infos : Gestion de la PKI interne.
  • Database name : Nom de la base de données contenant les utilisateurs.
  • Username : Login de l’utilisateur autorisé à se connecter à la base de données et à minima à faire des requêtes de sélection sur celle-ci.
  • Password : Mot de passe de cet utilisateur.

Il n’est pas possible de sauvegarder la configuration MongoDB sans cliquer sur « TEST MongoDB Connection ». Cela permet de vérifier que la connexion à l’entrepôt et le bind du compte de services fonctionnent parfaitement. En ca d’erreur Vulture vous affichera la raison technique de l’échec.

Paramètres utilisateurs.

admin-gestion-entrepots-donnees-img-2

  • User collection name : Nom de la collection contenant les utilisateurs.
  • Username field name : Nom du champ contenant les logins des utilisateurs, analogue à une colonne contenant ceux-ci dans une table SQL.
  • Username’s password field name : Nom du champ contenant les mots de passe des utilisateurs, analogue à une colonne contenant ceux-ci dans une table SQL.
  • Password hash algorythm : Algorithme utilisé pour hasher les mots de passe des utilisateurs.
  • Password salt : Valeur de sel utilisée pour hasher les mots de passe, la valeur de sel est concaténée à chaque mot de passe avant hashage.
  • Password salt position : Position de la valeur de sel par rapport au mot de passe.
  • Change pass field : Champ dans la collection qui indique que le mot de passe de l’utilisateur doit être changé s’il contient une valeur spécifique, et donc est invalide.
  • Change pass expected value : Valeur spécifique indiquant que le mot de passe doit être changé, si cette valeur n’est pas trouvée celui-ci sera considéré comme valide.
  • User mobile column name : Champ dans la collection qui contient les mobiles des utilisateurs.
  • User email address name : Champ dans la collection qui contient les adresses email des utilisateurs.

Une fois ces champs remplis, il est conseillé de tester l’authentification en cliquant sur le bouton « Test user authentication settings » et en saisissant les identifiants d’un utilisateur présent dans la collection configurée.

Paramètres OAuth2

A lire avant d’aller plus loin: Principes de fonctionnement du responder OAuth2

ldap-oauth2

Entrepôt Elasticsearch (données uniquement)

Vulture permet de lier un entrepôt ElasticSearch pour le stockage de données.

elasticsearch_list

Dans cet exemple, un entrepôt est créé pour la sauvegarde des logs.

elasticsearch_add_conn_settings

  • Repository name: “Friendly name” de l’entrepôt ElasticSearch
  • Hosts list: Liste des adresses IP de l’hôte ElasticSearch séparée par des virgules. Ex : (http://192.168.0.100:9200, http://192.168.0.101:9200 )
  • Username: Non utilisé dans la version actuelle
  • Password: Non utilisé dans la version actuelle

Vulture ne gère aujourd’hui la connexion à un noeud Elasticsearch via SSL.

elasticsearch_add_data_settings

  • Date format: Format à utiliser pour la date
  • Index name (Access logs): Nom de l’index pour les logs de type “access”
  • Type name (Access logs): Nom du type de l’index access
  • Index name Security logs): Nom de l’index pour les logs de type “security”
  • Type name (Security logs): Nom du type de l’index security

Entrepôt Syslog (données uniquement)

Vulture gère désormais les entrepôts de données de type Syslog:

syslog_connection_settings

  • Repository name: Nom pour désigner l’entrepôt de données
  • Syslog server IP Address: Adresse IPv4 ou IPv6 du serveur syslog
  • Syslog server port number: Numéro de port du serveur syslog
  • Syslog protocol: Le protocole réseau à utiliser (UDP ou TCP)
  • Syslog keepalive: Pour le protocole TCP, il est possible de maintenir active la connexion afin d’améliorer les performances.
  • Syslog facility: La catégorie à utiliser pour transmettre les logs (non utilisé pour le moment)
  • Syslog security level: Le niveau de criticité du message (non utilisé pour le moment)

Le bouton Test Syslog connection permet de vérifier que Vulture sait contacter le serveur Syslog sur le port indiqué. Lors de ce test, Vulture écrit “Vulture test \n” sur le serveur distant.

Attention, le test ne fait qu’envoyer une donnée sur le serveur distant, il ne vérifie pas que le serveur distant a bien traité le message. Ainsi, il est recommandé de vérifier que le message est bien arrivé sur le serveur distant en regardant dans les journaux.

Une fois l’entrepôt syslog créé, il peut être utilisé dans les profils de journalisation de type “File”:

syslog_connection_settings

Il est possible d’utiliser le forward syslog quelque soit le repo utilisé (file, mongo ou ELS).

Le status est affiché dans la liste des profiles de logs:

syslog_connection_settings