Procédure d'installation¶
Dépendances système
Avant d'exécuter ces étapes, assurez-vous d'avoir complété les étapes d'installation pour les dépendances backend.
L'exécution du serveur Howler, une fois les dépendances installées, est assez simple. Tout d'abord, nous démarrons les dépendances. Celles-ci incluent :
- Elasticsearch 8
- Une instance Redis
- Une instance Minio
- Keycloak (pour l'authentification OAuth)
cd ~/repos/howler/api/dev
docker compose up
Maintenant, nous installons les packages Python dont Howler dépend en utilisant Poetry :
cd ~/repos/howler/api
# Installer poetry si vous ne l'avez pas
python3 -m pip install poetry
# Configurer poetry pour créer le virtualenv dans le répertoire du projet
poetry config virtualenvs.in-project true
# Installer les dépendances (incluant les dépendances de test)
poetry install --with test
Nous devons configurer quelques dossiers sur le système que Howler utilisera :
sudo mkdir -p /etc/howler/conf
sudo mkdir -p /etc/howler/lookups
sudo mkdir -p /var/log/howler
sudo chown -R $USER /etc/howler
sudo chown -R $USER /var/log/howler
Ensuite, nous initialisons les configurations :
# Copier les fichiers de configuration
cp build_scripts/classification.yml /etc/howler/conf/classification.yml
cp build_scripts/mappings.yml /etc/howler/conf/mappings.yml
cp test/unit/config.yml /etc/howler/conf/config.yml
# Générer les lookups MITRE ATT&CK
poetry run mitre /etc/howler/lookups
# Générer les règles Sigma
poetry run sigma
Créer des utilisateurs par défaut pour les tests :
poetry run python howler/odm/random_data.py users
Finalement, nous pouvons exécuter Howler !
poetry run server
# Ou alternativement : poetry run python howler/app.py
Le serveur API démarrera sur http://localhost:5000 par défaut.