[Tutoriel] Installer VultureOS (Vulture 3) et configurer sa première application

Posted by

Installer pas à pas VultureOS et faire une configuration minimale

Une fois n’est pas coutume, même si je suis habituellement assez peu « tutoriel pas à pas avec des screenshots dans tous les sens », je vous propose aujourd’hui de plonger dans l’installation du VultureOS de Vulture WebSSO 3 qui vient de sortir (1er juin) jusqu’à la redirection de votre première application.

Prérequis

Pour ceux qui ne le savent pas, je vous propose de relire mon article où je rappelle brièvement ce qu’est Vulture 3.

Voici les prérequis de VultureOS pour fonctionner dans de bonnes conditions :

  • VultureOS doit être installé sur une machine virtuelle ou un serveur physique ayant 2 Go de RAM et 30 Go d’espace disque
  • avoir une ou plusieurs adresses IP pour recevoir des connexions Web
  • pouvoir contacter les applications Web qu’il protège sur leurs ports habituels (80 et 443 en général)
  • disposer d’une résolution de noms fonctionnelle (soit par serveur DNS soit via /etc/hosts sur l’OS Vulture) et avoir accès à un serveur NTP
  • avoir un accès HTTPS vers dl.vultureproject.org pour s’enregistrer et télécharger les mises à jour

Démarrage de l’installation

Comme je l’ai déjà dis, Vulture s’appuie maintenant sur une distribution FreeBSD modifiée et est donc livré clé en main. Pour peu que vous ayez accès à Internet et respecté les prérequis énoncé juste au dessus, tout s’installe donc tout seul.

Next next next

vultureOS1
Classiquement, le disque dur va être formaté par le bootstraping de FreeBSD
Lors du test de la keymap, je n'ai pas trouvé de clavier FR correspondant. Peut être un bug entre FreeBSD et KVM ?
Lors du test de la keymap, je n’ai pas trouvé de clavier FR correspondant. Peut être un bug entre FreeBSD et KVM ?

J’ai volontairement sauté toute la partie configuration du hostname et des cartes réseaux car cela dépend fortement de vous mais rappelez vous surtout que l’aspect DNS doit être particulièrement soigné pour que VultureOS fonctionne correctement !

vultureOS3

VultureOS_1
Attention, contrairement à la bêta où nous étions « prompté » pour un mot de passe, le mot de passe de vlt-adm pour l’accès SSH est ici prégénéré (peut être pour éviter les erreurs de saisies clavier?)

Une fois le bootstraping FreeBSD terminé et les prérequis installés, l’OS reboote et vous affiche le message suivant

vultureOS8_bootstraping

Connectez vous en SSH avec le login vlt-adm (ou en console, peu importe) et exécuter la commande demandée ci dessus et gentiment recopiée à la main ci dessous pour vos copier coller ;-) :

sudo /home/vlt-gui/env/bin/python2.7 /var/bootstrap/bootstrap.py
VultureOS_3
yes !

L’installation de Vulture (en tant qu’application) commence réellement. On vous demande ensuite si vous voulez joindre un cluster existant ou en créer un puis de renseigner un email pour recevoir la clé d’activation de votre Vulture WebSSO.

vultureOS11

Une fois la clé reçue, on l’applique (attention aux spams, gmail ne me l’a pas flaggé en bêta pas pour la V1 si).

VultureOS_4

Le processus de génération de certificat est maintenant inclus dans l'installation
Le processus de génération de certificat est maintenant inclus dans l’installation.

Une fois terminé, un login/mdp sera demandé pour la connexion à la GUI et les services de WebSSO seront démarrés.

vultureOS14

Ouverture de l’interface graphique

A partir de là on peut donc se connecter en HTTP sur l’URL fournie.

vultureOS15

Une fois la mire passée, on arrive sur un Dashboard avec quelques métriques sympathiques sur l’état de la machine.

VultureOS_5

Le menu est accessible sur la gauche en haut, au niveau des 3 tirets horizontaux

VultureOS_6
On y retrouve, bien que dans un ordre un peu modifié, les menus que l’on connait des précédentes versions.

La gestion des interfaces réseaux se fait dans Network/Listeners. La gestion de l’HTTPS se fait dans Configuration Profiles/TLS.

VultureOS_7
Entre la bêta et la version 1, le menu a été renommé de de SSL profiles à TLS, mais on voit encore SSL Profile en titre dans cette capture.

La documentation de Vulture donne des indications complémentaires pour la configuration TLS dans des cas où l’on souhaite être compatible HTTP/2.

Des menus qui vous intéresserons sûrement assez rapidement :

  • Vulture Management/PKI si vous voulez importer de nouveaux certificats
  • Configuration Profiles/Logs pour gérer vos logs comme vous l’entendez

Configuration de votre première application

Ouvrez le menu Applications/Applications, puis cliquez sur ADD AN ENTRY.

vultureOS20
Voici maintenant la liste des champs que nous avons maintenant pour habitude de remplir dans Vulture. Un nom « friendly name » ; « public FQDN » l’URL publique pour accéder à l’application ; « Private URI » l’URL interne que doit utiliser Vulture pour accéder au serveur web qu’il doit protéger.

vultureOS19

vultureOS22
Ajouter un listener (une interface réseau)
vultureOS24
Il est également obligatoirement ajouter un format de log.

Une fois le tout validé, l’application apparaîtra dans la liste. Il faudra recharger la configuration en cliquant sur les flèches en rond (clignotantes) puis sur le triangle pour démarrer l’application.

VultureOS_8

VultureOS_9

VultureOS_10

Et voilà. Pour ceux qui ont des problèmes pour ajouter des applications dans Vulture, les principes restent les mêmes que dans les versions précédentes et que j’ai déjà pas mal traité dans ces articles.

Happy SSOing ;)


Vous aimez ce blog ? Partagez-le avec vos amis !   Twitter Facebook Linkedin email

Vous pouvez également soutenir le blog financièrement :
Tipeee

7 comments

  1. Bonjour, merci pour ce tuto très intéressant.
    Je tente d’installer Vulture dans ma boite et c’est la première fois que j’installe un reverse proxy. Cependant quelque chose a l’air de m’échapper car lorsque je me connecte à mon faux site web créé pour l’occasion, Vulture ne me demande aucune authentification. Ou est ce qu’il ne fonctionne que lors d’une authentification sur une vraie appli web et pas sur un site ? De plus je ne vois rien dans les logs de Vulture (logviewer). Auriez-vous une idée ?

  2. Bonjour,

    Il est effectivement possible d’ajouter de l’authentification sur un site web classique (et notamment s’il n’en a pas) avec Vulture. Il y a deux méthodes pour le faire et ceci peut se gérer différemment (ou pas) sur chaque applications.
    L’idée principale est de créer un portail d’authentification. Tout utilisateur qui tente une première connexion sera redirigée vers ce portail avec un login/mdp. Ensuite quand on est un peu plus aguerri dans l’utilisation de l’outil on peut même mettre en place du SSO pour ne pas avoir à se réauthentifier sur les sites qui eux ont déjà de l’authentification. Je me rend compte que je n’ai pas traité cette partie dans mon blog, voici les liens de la documentation officielle :

    L’autre méthode, plus basique, consiste à simplement ajouter une authentification « basique », qui est simplement un prompt sur l’application avec un login mdp. C’est plus simple à mettre en place mais pas customisable.

  3. Merci beaucoup pour la réponse, très rapide qui plus est.

    J’ai relié vulture à notre AD et je compte effectivement mettre en place le SSO qui évitera de se relogger constamment en jonglant entre les applications.

    Je suis content de savoir que mon test pourra s’effectuer dans les conditions que j’ai mis en place.

    Dans mon cas actuel, je redirige les données qui viennent sur mon Firewall vers l’interface de Vulture, puis Vulture redirige la demande vers mon site web local (enfin c’est le projet en tout cas vu que ça ne fonctionne pas).

    En effet, Vulture redirige bien la demande vers l’adresse ip de mon site local mais c’est comme si la demande provenait d’internet, je pense donc qu’il envoie la demande à nouveau vers la sortie et non pas vers le local.

    En sachant que si je redirige avec l’ipfire directement sur mon site local, j’y ai bien accès, mais Vulture n’est pas sollicité et donc je n’ai pas d’authentification.

  4. Là comme ça, difficile de dire ce qui ne va pas. Nous sommes d’accord, c’est bien en « coupure » que doit être Vulture, sinon il n’agira pas en tant que portail.
    La première chose a faire est bien sûr de vérifier que Vulture redirige bien les requêtes. On peut le faire en regardant les logs de Vulture. Si la requête arrive bien à Vulture, on la trouvera dans les logs de l’application (chacune à le sien, c’est plutôt pratique). Au delà de ça, je crois comprendre qu’il y a aussi le firewall à gérer. Personnellement je tenterai de faire tout marcher à l’intérieur du firewall (donc en attaquant directement Vulture pour atteindre l’appli web) avant de commencer à m’intéresser au FW. C’est déjà assez compliqué comme ça à faire fonctionner, même en procédant par étapes ;-)

  5. J’ai utilisé Vulture, le problème c’est que la carte dans la section reporting n’affiche rien. De plus, les logs firewall « Web application firewall » aussi ne montre rien.
    Si quelqu’un pourrait m’aider svp, merci

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.