111 lines
2.7 KiB
Markdown
111 lines
2.7 KiB
Markdown
|
<style>pre, table { font-size: 0.6em !important; }</style>
|
||
|
|
||
|
# Sécurité des applications Web
|
||
|
## William Petit - S.C.O.P. Cadoles
|
||
|
|
||
|
---
|
||
|
|
||
|
## Métrologie appliquée à la sécurité
|
||
|
|
||
|
### Méthodologie générale
|
||
|
### Les facteurs d'une bonne métrique
|
||
|
### Exemple d'outil: Prometheus
|
||
|
|
||
|
---
|
||
|
|
||
|
|
||
|
## Méthodologie générale
|
||
|
|
||
|
1. Définir le modèle de menace
|
||
|
2. Identifier et isoler les scénarios d'attaque pour les différentes menaces
|
||
|
3. Trouver les indicateurs "clés" pour ces scénarios i.e. identifier les métriques pertinentes pour la détection des comportements suspects
|
||
|
4. Mettre en place les sondes pour les métriques
|
||
|
5. Définir les seuils d'alerte et les réponses à apporter
|
||
|
|
||
|
---
|
||
|
|
||
|
## Les facteurs d'une bonne métrique
|
||
|
|
||
|
- **Concision** _Le domaine de mesure est il correctement défini ? La métrique n'essaye t-elle pas de mesurer trop de choses ?_
|
||
|
- **Fidélité** _La mesure est elle reproductible ? Mesure t-elle toujours la même chose ?_
|
||
|
- **Intégrité** _Le processus de mesure est il vulnérable à la falsification ?_
|
||
|
- **Utilité** _La métrique apporte elle une information utile au processus décisionnel ?_
|
||
|
|
||
|
---
|
||
|
|
||
|
## Exemple d'outil: Prometheus
|
||
|
|
||
|
---
|
||
|
|
||
|
## Configuration générale
|
||
|
|
||
|
---
|
||
|
|
||
|
## Instrumentation de l'application
|
||
|
|
||
|
### Modèle de données
|
||
|
### Les différents types de métriques
|
||
|
### Visualiser les métriques
|
||
|
### Effectuer des requêtes sur les métriques
|
||
|
|
||
|
---
|
||
|
|
||
|
## Modèle de données
|
||
|
|
||
|
Prometheus stocke des échantillons (mesures) sous la forme de **séries temporelles**. Il créait une nouvelle série pour chaque association **(nom_métrique, label1=value, label2=value, ...)**.
|
||
|
|
||
|
Chaque couple **(label, valeur)** est appelée **dimension** de la métrique.
|
||
|
|
||
|
|
||
|
**Représentation**
|
||
|
```
|
||
|
http_total_requests{ method="POST", path="/test" }
|
||
|
| name | labels |
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
---
|
||
|
|
||
|
## Les différents types de métriques (1)
|
||
|
|
||
|
### Compteur
|
||
|
|
||
|
Un compteur est une métrique dont la valeur ne peut faire qu'augmenter au cours du temps.
|
||
|
|
||
|
> **Exemple** Nombre total de connexions d'un compte sur un site
|
||
|
|
||
|
---
|
||
|
|
||
|
## Les différents types de métriques (2)
|
||
|
|
||
|
### Jauge
|
||
|
|
||
|
Une jauge est une métrique dont la valeur peut augmenter ou diminuer au cours du temps.
|
||
|
|
||
|
![center 50%](../img/jauge.jpg)
|
||
|
|
||
|
> **Exemple** La température d'une pièce
|
||
|
|
||
|
---
|
||
|
|
||
|
## Les différents types de métriques (3)
|
||
|
|
||
|
### Histogramme
|
||
|
|
||
|
Un histogramme est une métrique répartissant les données dans des "paquets" (ou "buckets" en anglais) configurables et comptant le nombre total et par "paquet" d'échantillons ainsi que leur somme.
|
||
|
|
||
|
![center 70%](../img/histogram.png)
|
||
|
|
||
|
> **Exemple** Le temps de réponse des requêtes HTTP
|
||
|
|
||
|
---
|
||
|
|
||
|
## Configuration de l'`alertmanager`
|
||
|
|
||
|
---
|
||
|
|
||
|
## Écriture de règles d'alertes
|
||
|
|
||
|
---
|