Skip to content

Commit

Permalink
docs(secu): add http headers recos (#359)
Browse files Browse the repository at this point in the history
* docs(secu): add http headers recos

* Update securite.md

* Update securite.md
  • Loading branch information
Julien Bouquillon authored Feb 7, 2023
1 parent baa97cc commit 65e532b
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions docs/standards/securite.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,38 @@ Côté base de données, un audit log peut être nécessaire. Ex: https://github
- Utiliser l'en-tête `Content-Type` avec la valeur émise lors de l'upload
- Utiliser l'en-tête `X-Content-Type-Options: nosniff` afin d'empêcher le navigateur d'inférer le type du fichier et de lui demander de respecter le Content-Type que l'on aura positionné.

## FAQ

### Mettre à jour les headers HTTP de mes applications

Inspectez les headers HTTP de votre frontend avec [Mozilla HTTP Obervatory](https://observatory.mozilla.org/). Vous pouvez également les retrouver sur [DashLord](https://dashlord-full.fabrique.social.gouv.fr/).

Plusieurs possibilités pour corriger vos headers :

#### Directement via l'Ingress

Il est possible d'ajouter des annotations pour forcer les headers directement sur la route de votre application.

Exemple avec kontinuous ou kube-workflow, dans le `values.yaml` de votre application :

```yaml
app:
ingress:
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "Content-Security-Policy: default-src 'none'; connect-src 'self' https://*.gouv.fr; font-src 'self'; img-src 'self'; prefetch-src 'self' https://*.gouv.fr; script-src 'self' https://*.gouv.fr; frame-src 'self' https://*.gouv.fr; style-src 'self' 'unsafe-inline'";
more_set_headers "X-Frame-Options: deny";
more_set_headers "X-XSS-Protection: 1; mode=block";
more_set_headers "X-Content-Type-Options: nosniff";
```
Le repo [template](https://github.com/SocialGouv/template) présente l'intégration dans un Next.js statique (branche `main`) ou avec un serveur (branche `hasura`).

#### Côté applicatif

Il est possible d'ajouter les headers côté applicatif, par exemple avec [helmet](https://github.com/helmetjs/helmet).


## Références

### Général
Expand Down

0 comments on commit 65e532b

Please sign in to comment.