A01. Seguretat en WordPress
Contingut
- 1 Enunciat
- 2 Procediment
- 2.1 Comprovar i/o actualitzar a la darrera versió de PHP
- 2.2 Comprovar que tenim Wordpress i plugins actualitzats. Sinó actualitza’ls
- 2.3 Passwords forts i permisos d’usuari. Canviar usuari ADMIN
- 2.4 Instal·lar plugin per fer còpies de seguretat o programar el vostre propi sistema. Instal·lar un WAF (Firewall)
- 2.5 Desactivar l’edició de fitxers
- 2.6 Desactivar execució de PHP a diversos directoris del vostre Wordpress
- 2.7 Limitar intents d’inici de sessió
- 2.8 Instal·lar un CAPTCHA
- 2.9 Canviar prefix de la bases de dades Wordpress
- 2.10 Protegir pàgines wp-admin i wp-login
- 2.11 Protegir l’arxiu wp-config
- 2.12 Deshabilitar el directori de Browsing o Índex
- 2.13 Deshabilitar XML-RPC de Wordpress
- 2.14 Desconnectar usuaris per inactivitat
- 2.15 Ocultar la versió de Wordpress
- 2.16 Canviar permisos d’arxiu
- 2.17 Prevenir hotlinking
Enunciat
En aquesta activitat heu de posar en pràctica cadascuna de les solucions explicades per millorar la seguretat al nostre Wordpress. Heu de fer servir el Wordpress instal·lat al mòdul anterior o tornar a instal·lar una nova màquina amb Wordpress.
Solucions a implantar:
- Comprovar i/o actualitzar a la darrera versió de PHP
- Comprovar que tenim Wordpress i plugins actualitzats. Sinó actualitza’ls.
- Passwords forts i permisos d’usuari. Canviar usuari ADMIN.
- Instal·lar plugin per fer còpies de seguretat o programar el vostre propi sistema. Instal·lar un WAF (Firewall)
- Desactivar l’edició de fitxers
- Desactivar execució de PHP a diversos directoris del vostre Wordpress
- Limitar intents d’inici de sessió
- Instal·lar un CAPTCHA
- Canviar prefix de la bases de dades Wordpress
- Protegir pàgines wp-admin i wp-login
- Protegir l’arxiu wp-config
- Deshabilitar el directori de Browsing o Índex
- Deshabilitar XML-RPC de Wordpress
- Desconnectar usuaris per inactivitat
- Ocultar la versió de Wordpress
- Canviar permisos d’arxiu
- Prevenir HOTLINKING
Procediment
Comprovar i/o actualitzar a la darrera versió de PHP
Per a comprovar la versió:
php -v
wordpressm09:~ # php -v PHP 7.3.1 (cli) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies
Veiem que està instal·lada la versió 7.3.1
Al moment de fer aquesta pràctica, segons la pàgina web de PHP, la versió més recent és la 7.3.2. Podem considerar que és una versió actualitzada i no farem res.
Comprovar que tenim Wordpress i plugins actualitzats. Sinó actualitza’ls
Des de l'apartat de Tauler →Actualitzacions podem veure un resum de l'estat del Wordpress, plugins i temes. Tal com veiem a la captura, estan els 3 apartats updated.
Passwords forts i permisos d’usuari. Canviar usuari ADMIN
Des de l'apartat Usuaris →Tots els usuaris podem veure una llista dels usuaris del Wordpress. En el meu cas, al moment de la instal·lació, ja vaig definir un usuari administrador que no tingués el nom admin i té una contrasenya forta.
Instal·lar plugin per fer còpies de seguretat o programar el vostre propi sistema. Instal·lar un WAF (Firewall)
He aprofitat la instal·lació i la configuració del plugin BackWPUp de M09.
Com a Firewall instal·laré el plugin Wordfence Security
Desactivar l’edició de fitxers
Haurem d'editar l'arxiu de configuració del Wordpress; en el meu cas es troba a /srv/www/htdocs/wp-config.php
. Definirem una variable de PHP nova que farà que Wordpress deshabiliti la pestanya d'edició de fitxers des de la web. Afegirem a l'última línia, per conveniència, la següent definició de constant de PHP.
define('DISALLOW_FILE_EDIT', true);
Desactivar execució de PHP a diversos directoris del vostre Wordpress
Com que fem servir el servidor web Apache, podem tirar d'arxius .htaccess en directoris concrets on volguem definir noves condicions: per exemple, permetre accés des de IPs concretes, permetre o denegar l'accés a diversos arxius en funció de l'extensió, etc.
En aquest cas, se'ns demana prohibir l'execució d'arxius *.php
. No tindria sentit aplicar aquesta restricció a tots els directoris, ja que llavors Wordpress no funcionaria at all. El que tindria sentit seria aplicar-ho en directoris multimèdia com ara wp-content
i/o wp-uploads
ja que allà no tindrien perquè servir-se arxius PHP i podria ser un lloc on algun atacant pogués camuflar-hi codi maliciós.