Grup 3 - Elecció versió Wordpress
Tornar a Projecte IETI Cloud - Grup 3.
Tasca
15. Elecció d'una versió de WordPress per al site d'higiene postural amb vulnerabilitats mínimes.
Informe
Elecció d'una versió de WordPress
Hem escollit la versió 5.9.2, ja que és l'última actualització de seguretat per WordPress.
Ens hem decidit per aquesta versió, perquè encara que és una de les últimes disponibles i això pot portar noves vulnerabilitats, és en essència una actualització de seguretat de la serie actual de suport per WordPress i, per tant, concentra totes les mesures de seguretat disponibles a dia 11 de maig de 2022. Per altra banda, la imatge oficial de Docker per WordPress únicament actualitza les versions de la línia 5.9, per tant, no es podrien emprar versions anteriors sense haver de crear un contenidor personalitzat, cosa que pot conduir a més vulnerabilitats.
Desplegament en local
A l'hora de protegir correctament la nostra aplicació utilitzarem variables d'entorn i Docker Secrets. En aquest desplegament en local, protegirem tant la contrasenya de la base de dades com la contrasenya del usuari root de MySQL dins l'arxiu de configuració. Crearem un arxiu de text dins del mateix directori del docker-compose.yml
on introduirem la contrasenya desitjada:
echo "P@SSw0rD1" > mysql_db_password.txt
echo "P@SSw0rD2" > mysql_root_password.txt
Un cop dins del docker-compose.yml
, podem definir un apartat de secrets
on especifiquem els arxius des dels quals es carregaran les contrasenyes:
1 version: "3.3"
2
3 services:
4 db:
5 image: mysql:5.7
6 volumes:
7 - db_data:/var/lib/mysql
8 environment:
9 MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root_password
10 MYSQL_DATABASE: wordpress
11 MYSQL_USER: wpadmin
12 MYSQL_PASSWORD_FILE: /run/secrets/mysql_db_password
13 secrets:
14 - mysql_root_password
15 - mysql_db_password
16
17 wordpress:
18 depends_on:
19 - db
20 image: wordpress:5.9.2
21 volumes:
22 - wordpress_data:/var/www/html
23 ports:
24 - "8000:80"
25 environment:
26 WORDPRESS_DB_HOST: db:3306
27 WORDPRESS_DB_USER: wpadmin
28 WORDPRESS_DB_NAME: wordpress
29 WORDPRESS_DB_PASSWORD_FILE: /run/secrets/mysql_db_password
30 secrets:
31 - mysql_db_password
32
33
34 secrets:
35 mysql_db_password:
36 file: mysql_db_password.txt
37 mysql_root_password:
38 file: mysql_root_password.txt
39
40 volumes:
41 db_data:
42 wordpress_data:
Un cop tinguem tots els arxius necessaris, el directori final queda doncs de la següent manera:
. ├── docker-compose.yml ├── mysql_db_password.txt └── mysql_root_password.txt
Instal·lació i configuració inicial de WordPress