Work on tuto 2
This commit is contained in:
parent
1ca35a1d57
commit
bc179806db
19 changed files with 545 additions and 145 deletions
|
|
@ -20,8 +20,8 @@ Il est donc primordial de ne pas laisser ses conteneurs à l'abandon une fois
|
|||
leur image créée et envoyée en production. Nos conteneurs doivent être
|
||||
regénérés sitôt que leur image de base est mise à jour (une mise à jour d'une
|
||||
image telle que Debian, Ubuntu ou Redhat n'apparaît que pour cela) ou bien
|
||||
lorsqu'un des programmes ou l'une des bibliothèques que l'on a installées
|
||||
ensuite est mise à jour.
|
||||
lorsqu'un des programmes ou l'une des bibliothèques que l'on a installées est
|
||||
mise à jour.
|
||||
|
||||
Convaincu ? Cela sonne encore comme des bonnes pratiques difficiles à mettre en
|
||||
œuvre, pouvant mettre en péril tout un système d'information. Pour s'en
|
||||
|
|
@ -38,13 +38,13 @@ propager à cause de l'usage d'une image parente pas à jour.
|
|||
[^dockerhubvulnerability]: <https://www.enck.org/pubs/shu-codaspy17.pdf>
|
||||
|
||||
Une mesure efficace consiste à reconstruire régulièrement (et surtout
|
||||
automatiquement) les images que l'on publie sur un registre public, sans
|
||||
oublier de mettre à jour l'image de base.
|
||||
automatiquement) les images que l'on publie sur un registre, sans oublier de
|
||||
mettre à jour l'image de base.
|
||||
|
||||
D'ailleurs, avez-vous vérifié qu'une mise à jour de l'image `nemunaire/youp0m`
|
||||
n'était pas disponible depuis que vous avez commencé à l'utiliser ? Docker ne
|
||||
vérifie jamais si une mise à jour des images que vous avez précédemment
|
||||
téléchargées. Pensez donc régulièrement à appeler :
|
||||
D'ailleurs, avez-vous vérifié qu'une mise à jour de l'image
|
||||
`registry.nemunai.re/youp0m` n'était pas disponible depuis que vous avez
|
||||
commencé à l'utiliser ? Docker ne vérifie jamais si une mise à jour des images
|
||||
que vous avez précédemment téléchargées. Pensez donc régulièrement à appeler :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
|
|
@ -67,7 +67,7 @@ intermédiaire.
|
|||
|
||||
::::: {.warning}
|
||||
|
||||
Par cette méthode, vous êtes limité à 10 scans par mois.
|
||||
Par cette méthode, vous êtes limité à 10 scans par mois avec un compte gratuit.
|
||||
|
||||
:::::
|
||||
|
||||
|
|
@ -102,17 +102,17 @@ commencer notre analyse :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker scan nemunaire/fic-admin
|
||||
42sh$ docker scan nemunaire/youp0m
|
||||
|
||||
Testing nemunaire/fic-admin...
|
||||
Testing nemunaire/youp0m...
|
||||
|
||||
Package manager: apk
|
||||
Project name: docker-image|nemunaire/fic-admin
|
||||
Docker image: nemunaire/fic-admin
|
||||
Project name: docker-image|nemunaire/youp0m
|
||||
Docker image: nemunaire/youp0m
|
||||
Platform: linux/amd64
|
||||
Base image: alpine:3.14.2
|
||||
Base image: alpine:3.16.2
|
||||
|
||||
✓ Tested 16 dependencies for known vulnerabilities, no vulnerable paths found.
|
||||
✓ Tested 15 dependencies for known vulnerabilities, no vulnerable paths found.
|
||||
|
||||
According to our scan, you are currently using the most secure version of
|
||||
the selected base image
|
||||
|
|
@ -142,9 +142,9 @@ Package manager: deb
|
|||
Project name: docker-image|mysql
|
||||
Docker image: mysql
|
||||
Platform: linux/amd64
|
||||
Base image: mysql:8.0.26
|
||||
Base image: mysql:8.0.30
|
||||
|
||||
Tested 135 dependencies for known vulnerabilities, found 79 vulnerabilities
|
||||
Tested 119 dependencies for known vulnerabilities, found 24 vulnerabilities
|
||||
|
||||
According to our scan, you are currently using the most secure version of
|
||||
the selected base image
|
||||
|
|
@ -152,8 +152,8 @@ the selected base image
|
|||
</div>
|
||||
|
||||
Ce dernier exemple est sans appel : `mysql` est une image officielle, et sa
|
||||
dernière version à l'écriture de ses lignes contient pas moins de 79
|
||||
vulnérabilités dont 11 *high*.
|
||||
dernière version à l'écriture de ses lignes contient pas moins de 24
|
||||
vulnérabilités dont 9 *high* (pourtant corrigées dans des versions suivantes).
|
||||
|
||||
|
||||
## Trivy
|
||||
|
|
@ -176,16 +176,16 @@ Tentons à nouveau d'analyser l'image `mysql` :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker run --rm aquasec/trivy mysql
|
||||
2021-09-22T10:27:46.509Z INFO Need to update DB
|
||||
2021-09-22T10:27:46.509Z INFO Downloading DB... 100.00% 14.41 MiB p/s 2s
|
||||
2021-09-22T10:27:56.556Z INFO Detected OS: debian
|
||||
2021-09-22T10:27:56.556Z INFO Detecting Debian vulnerabilities...
|
||||
2021-09-22T10:27:56.579Z INFO Number of language-specific files: 0
|
||||
42sh$ docker run --rm aquasec/trivy image mysql
|
||||
INFO Need to update DB
|
||||
INFO Downloading DB... 100.00% 14.41 MiB p/s 2s
|
||||
INFO Detected OS: oracle
|
||||
INFO Detecting Oracle vulnerabilities...
|
||||
INFO Number of language-specific files: 0
|
||||
|
||||
mysql (debian 10.10)
|
||||
====================
|
||||
Total: 158 (UNKNOWN: 5, LOW: 19, MEDIUM: 64, HIGH: 61, CRITICAL: 9)
|
||||
mysql (oracle 8.6)
|
||||
==================
|
||||
Total: 5 (UNKNOWN: 0, LOW: 0, MEDIUM: 4, HIGH: 1, CRITICAL: 0)
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
@ -193,24 +193,24 @@ Les résultats sont un peu différents qu'avec `docker scan`, mais on constate
|
|||
que l'image `mysql` contient vraiment de nombreuses vulnérabilités. Même si
|
||||
elles ne sont heureusement pas forcément exploitables directement.
|
||||
|
||||
Voyons maintenant s'il y a des différentes avec l'image `nemunaire/fic-admin` :
|
||||
Voyons maintenant s'il y a des différentes avec l'image `nemunaire/youp0m` :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker run --rm aquasec/trivy nemunaire/fic-admin
|
||||
2021-09-22T10:29:48.091Z INFO Need to update DB
|
||||
2021-09-22T10:29:48.091Z INFO Downloading DB... 100.00% 15.98 MiB p/s 1s
|
||||
2021-09-22T10:29:51.902Z INFO Detected OS: alpine
|
||||
2021-09-22T10:29:51.902Z INFO Detecting Alpine vulnerabilities...
|
||||
2021-09-22T10:29:51.903Z INFO Number of language-specific files: 1
|
||||
2021-09-22T10:29:51.903Z INFO Detecting gobinary vulnerabilities...
|
||||
42sh$ docker run --rm aquasec/trivy image nemunaire/youp0m
|
||||
INFO Need to update DB
|
||||
INFO Downloading DB... 100.00% 15.98 MiB p/s 1s
|
||||
INFO Detected OS: alpine
|
||||
INFO Detecting Alpine vulnerabilities...
|
||||
INFO Number of language-specific files: 1
|
||||
INFO Detecting gobinary vulnerabilities...
|
||||
|
||||
nemunaire/fic-admin (alpine 3.14.2)
|
||||
nemunaire/youp0m (alpine 3.16.2)
|
||||
===================================
|
||||
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
|
||||
|
||||
|
||||
srv/admin (gobinary)
|
||||
srv/youp0m (gobinary)
|
||||
====================
|
||||
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
|
||||
```
|
||||
|
|
@ -218,7 +218,7 @@ Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
|
|||
|
||||
Nous pouvons remarque que Trivy, en plus de faire l'analyse statique des
|
||||
vulnérabilités de l'image, a aussi fait une analyse des dépendances du binaire
|
||||
`/srv/admin`.
|
||||
`/srv/youp0m`.
|
||||
|
||||
Trivy est en effet capable de rechercher des vulnérabilités par rapport aux
|
||||
dépendances connues de certains langages : Python, PHP, Node.js, .NET, Java,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue