Newer
Older
Infrastructure de Gestion des Certificats SSH, server side
## Prérequis
- Disposer de `python3` et des environnements virtuels `python3-venv`
- Disposer de `vault`: procédure d'installation https://www.vaultproject.io/downloads
## Règles de développement
Voir [CONTRIBUTING.md](CONTRIBUTING.md)
## Installation
1. Créer un virtual env python : `python3 -m venv /path/to/new/virtual/environment`
2. Activer l'environnement
Sous Windows `\path\to\new\virtual\environment\Script\activate`<br>
Sous Linux `source /path/to/new/virtual/environment/bin/activate`
3. Si un proxy est nécessaire pour télécharger les librairies, définir les variables d'environnement nécessaire
Sous Linux `export HTTP_PROXY=... && export HTTPS_PROXY= ...
4. Installer et/ou mettre à jour les dépendances
(env) python -m pip install --upgrade -r requirements.txt
```
## Configuration
### Application
1. Configurer le fichier `config.py` au besoin (optionnel, copie à partir de config.py.sample)
2. Configurer le fichier `ssham/vault/ssham.hcl` - a minima la clé `path` ou `/etc/vault.d/vault.hcl` si installation depuis RPM
### Rôles
Il est possible de configurer des rôles supplémentaires à l'initalisation de l'application :
2. Configurer le rôle dans la variable `VAULT_ROLES` du `config.py`
## Initialisation
1. Lors de la première installation il est nécessaire de lancer le service vault : <br>
Si installation via RPM, lancer la commande `systemctl start vault`<br>
Si installation à partir des sources lancer la commande `vault server -config=/path/to/ssham/vault/ssham.hcl`.
2. Ensuite configurer l'application : <br>
ATTENTION : si vous avez des variables d'environnement pour l'utilisation de proxy, il est nécessaire de les supprimer avant, sinon les connexions aux APIs du vault ne seront pas possible.<br>
Dans l'environnement python configuré et dans le répertoire racine de SSHAM :
```
(env) set FLASK_APP=run.py # Windows
(env) export FLASK_APP=run.py # Linux
(env) flask run
```
3. Procéder au sequestre de ces clés qui seront demandées au démarrage de l'application.
4. Stopper le service vault à présent configuré
## Lancement de SSHAM Server
1. Lancer le service vault : `vault server -config=/path/to/ssham/vault/ssham.hcl`
2. Lancer SSHAM Server :
```
(env) set FLASK_APP=run.py
(env) flask run
.....
Provide an unseal key (hidden) : XXXXXXXXXXXXXXXXXXXX (obtenues à l'étape d'initalisation)
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
```