ASIX/M17/UF3/PT1/26
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/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.
Per a aplicar aquestes restriccions tenim 2 opcions:
- Mitjançant arxius .htaccess en els directoris.
- Ideal si no tenim accés a la configuració del servidor, com en el cas d'haver contractat un servidor privat virtual compartit (VPS).
- Mitjançant directives
<Directory>
en l'arxiu de configuració del servidor web.
- Millor si tenim accés al servidor com a administradors i podem editar els arxius de configuració de l'Apache. És més segur que el primer mètode ja que l'arxiu de configuració no es troba en directoris accessibles des de la web, de manera que és immune a vulnerabilitats relacionades amb fallades de seguretat del servidor web.
La directiva necessària en el primer cas serà
<Files *.php> deny from all </Files>
i la situarem al directori a partir d'on volem aplicar la norma (és recursiu en els directoris fills a partir del directori que conté l'arxiu).
En l'altre cas, afegirem la mateixa directiva però entre tags <Directory>
<Directory "/srv/www/htdocs/wp-content/uploads" <Files *.php> deny from all </Files> </Directory>
Limitar intents d’inici de sessió
Podem trobar diversos plugins que afegeixin aquesta funcionalitat; però el mateix Wordfence Security té aquesta opció a l'apartat All options del seu menú:
Veiem que a l'apartat de Brute force protection podem definir un límit de fallades en l'usuari/contrasenya (per defecte 20 vegades en 4 hores). També hi ha una opció interessant que és bloquejar intents d'inici de sessió des d'adreces IP en funció de noms d'usuari que nosaltres definim; per exemple, si no fem servir admin o similar per a l'administrador, podem definir-lo perquè un atacant quan provi d'iniciar sessió amb usuari admin, es bloquegi automàticament i no tingui possibilitat de llançar cap altre atac o intent.