Diferència entre revisions de la pàgina «Grup 3 - Elecció versió Wordpress»

De Wiket
Salta a la navegació Salta a la cerca
 
(Hi ha 36 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 +
Tornar a [[Projecte IETI Cloud - Grup 3]].
 +
 
== Tasca ==
 
== Tasca ==
Elecció d'una versió de WordPress per al site d'higiene postural amb vulnerabilitats mínimes.
+
15. Elecció d'una versió de WordPress per al site d'higiene postural amb vulnerabilitats mínimes.
  
 
== Informe ==
 
== Informe ==
 
=== Elecció d'una versió de WordPress ===
 
=== Elecció d'una versió de WordPress ===
Hem escollit la versió 5.9.2, ja que és l'última actualització més recent de seguretat per WordPress. A més les versions 5.9 corresponen a l'actual cicle llarg de manteniment.
+
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 línia actual de suport per WordPress i, per tant, concentra totes les mesures de seguretat disponibles a data 11 de maig de 2022. Per altra banda, la imatge oficial de Docker per WordPress únicament suporta 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.
+
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 ===
 
=== Desplegament en local ===
Per tal de securitzar correctament la nostre aplicació utilitzarem variables d'entorn i Docker Secrets. Per aquest desplegament en local, únicament protegirem la contrasenya de la base de dades dins el <code>docker-compose.yml</code>. Per tant primer hem de registrar la contrasenya:
+
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 <code>docker-compose.yml</code> on introduirem la contrasenya desitjada:
 +
<syntaxhighlight lang="bash">echo "P@SSw0rD1" > mysql_db_password.txt</syntaxhighlight>
 +
<syntaxhighlight lang="bash">echo "P@SSw0rD2" > mysql_root_password.txt</syntaxhighlight>
 +
Un cop dins del <code>docker-compose.yml</code>, podem definir un apartat de <code>secrets</code> on especifiquem els arxius des dels quals es carregaran les contrasenyes:
 +
<syntaxhighlight lang="yaml" line>
 +
version: "3.3"
  
Hem desplegat la versió escollida en local mitjançant Docker emprant el seguent fitxer <code>docker-compose.yml</code>, que ja utilitza
+
services:
<pre>
+
  db:
version: '3.1'
+
    image: mysql:5.7
 +
    volumes:
 +
      - db_data:/var/lib/mysql
 +
    environment:
 +
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root_password
 +
      MYSQL_DATABASE: wordpress
 +
      MYSQL_USER: wpadmin
 +
      MYSQL_PASSWORD_FILE: /run/secrets/mysql_db_password
 +
    secrets:
 +
      - mysql_root_password
 +
      - mysql_db_password
  
services:
+
  wordpress:
 +
    depends_on:
 +
      - db
 +
    image: wordpress:5.9.2
 +
    volumes:
 +
      - wordpress_data:/var/www/html
 +
    ports:
 +
      - "8000:80"
 +
    environment:
 +
      WORDPRESS_DB_HOST: db:3306
 +
      WORDPRESS_DB_USER: wpadmin
 +
      WORDPRESS_DB_NAME: wordpress
 +
      WORDPRESS_DB_PASSWORD_FILE: /run/secrets/mysql_db_password
 +
    secrets:
 +
      - mysql_db_password
  
  wordpress:
 
    image: wordpress:5.9.2
 
    restart: always
 
    ports:
 
      - 8080:80
 
    environment:
 
      WORDPRESS_DB_HOST: db
 
      WORDPRESS_DB_USER: wpadmin
 
      WORDPRESS_DB_PASSWORD: 123456
 
      WORDPRESS_DB_NAME: wp-higiene-postural
 
    volumes:
 
      - wordpress:/var/www/html
 
  
  db:
+
secrets:
    image: mysql:5.7
+
  mysql_db_password:
    restart: always
+
    file: mysql_db_password.txt
    environment:
+
  mysql_root_password:
      MYSQL_DATABASE: wp-higiene-postural
+
    file: mysql_root_password.txt
      MYSQL_USER: wpadmin
 
      MYSQL_PASSWORD: 123456
 
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
 
    volumes:
 
      - db:/var/lib/mysql
 
  
 
volumes:
 
volumes:
  wordpress:
+
    db_data:
  db:
+
    wordpress_data:
 +
</syntaxhighlight>
 +
Un cop tinguem tots els arxius necessaris, el directori final queda doncs de la següent manera:
 +
<pre>
 +
.
 +
├── docker-compose.yml
 +
├── mysql_db_password.txt
 +
└── mysql_root_password.txt
 
</pre>
 
</pre>
  
 +
=== Instal·lació i configuració inicial de WordPress ===
 +
[[Fitxer:G3-wp-install.png|border|550px|thumb|left|Menú d'instal·lació de Wordpress]]
 +
<br clear=all>
 
== Referències ==
 
== Referències ==
 
* [https://wordpress.org/news/2022/03/wordpress-5-9-2-security-maintenance-release/ Wordpress 5.9.2 - security & maintenance release]
 
* [https://wordpress.org/news/2022/03/wordpress-5-9-2-security-maintenance-release/ Wordpress 5.9.2 - security & maintenance release]
 +
* [https://codex.wordpress.org/Supported_Versions Wordpress Supported Versions]
 
* [https://hub.docker.com/_/wordpress dockerhub - Wordpress Official Image]
 
* [https://hub.docker.com/_/wordpress dockerhub - Wordpress Official Image]
 +
* [https://docs.docker.com/engine/swarm/secrets/ Manage sensitive data with Docker Secrets]

Revisió de 17:48, 24 març 2022

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

Menú d'instal·lació de Wordpress


Referències