Por si has leído la última entrada en el blog sobre como auditar WordPress sin herramientas, hoy os dejo algunas soluciones para los problemas comentados en dicha entrada.
Uno de los consejos que más se suele dar a la hora de realizar instalaciones o modificaciones en WordPress es dejar de usar el usuario "admin" que se crea con la instalación por defecto. Para ello tenemos dos opciones.
- La primera y más sencilla es crear otro usuario con permisos de administración y eliminar la cuenta "admin".
- La segunda sería accediendo a la parte de administración del hosting, acceder al "phpMyAdmin" y en la tabla de "wp_users" reemplazar "admin" por el nombre que queramos. (Esta no la he probado desde hace tiempo, pero debería de seguir funcionando).
Siguiendo el hilo anterior, para que no puedan (o al menos cueste más) hacer fuerza bruta al login, debemos usar contraseñas fuertes. De esto ya se habló aquí, aquí e incluso aquí.
También se puede usar algún plugin de seguridad de WordPress como:
Hay una larga lista de plugins de seguridad para WordPress que puedes buscar y probar.
Con WP-Secure puedes restringir el acceso al "wp-admin" por IP o por tipo de usuario.
Quizá si sabes algo de programación puedas hacerlo de manera manual modificando el fichero ".htaccess" o el "functions.php" del tema que estés usando.
Aunque no hablamos de las inyecciones SQL en la entrada anterior, es requisito imprescindible realizar algunos cambios básicos como son:
- Cambiar el prefijo de la base de datos (para esto hay que saber lo que se toca).
- Cambiar (como ya hemos dicho) el nombre del usuario "admin".
- Modificar el archivo ".htaccess" para hacer un filtrado de caracteres especiales (=|\[]/%...) o palabras como: LIKE, OR etc.
Otra de las cosas que se recomiendan siempre (y de la que ya hablamos en la entrada anterior) es eliminar el fichero "readme.html" que queda tras la instalación.
También hablábamos de los errores que devuelve el servidor cuando no encuentra lo que le pedimos. Para solventar esto, podemos modificar los ficheros "php.ini" o el ".htaccess" como nos recomienda en su blog Cacería de Spammers el amigo Daniel, el cual os recomiendo leer porque es un máster de WordPress (además deberíais revisar su proyecto WpHardening).
Podemos hacer algo también respecto al prefijo de las tablas que se generan en la base de datos.
Como vemos en la imagen anterior, los prefijos que nos crea la instalación por defecto son "wp_XXXX" lo que haría que los malos supiesen "por defecto" como se llaman las tablas de la base de datos.
Podemos solucionar esto de dos formas.
Podemos hacer algo también respecto al prefijo de las tablas que se generan en la base de datos.
Como vemos en la imagen anterior, los prefijos que nos crea la instalación por defecto son "wp_XXXX" lo que haría que los malos supiesen "por defecto" como se llaman las tablas de la base de datos.
Podemos solucionar esto de dos formas.
- Si aún no has instalado WordPress, solo debes cambiarlo en la pantalla que nos indica el prefijo de la tabla por defecto.
- La segunda, y si ya tienes instalado WordPress, es usando "Ithemes Security", lo cual nos facilita mucho el trabajo. Si le echas un par, puedes hacerlo también de forma manual y sin plugins.
Respecto a la enumeración de usuarios, podemos optar por pedir a los colaboradores que no utilicen su nombre real para redactar los artículos, es mejor que usen un nick.
Como esto tampoco es la panacea, podemos editar el fichero ".htaccess" y añadir lo siguiente:
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ http://tudominio.com/? [L,R=301]
De esta forma cada vez que intenten usar por ejemplo "/?author=1" les redirija a la página de inicio.
Si lo que buscas es la comodidad o no te gusta/sabes tocar código, puedes optar por instalar el plugin "Redirection", esta idea es de webempresa.com.
Por ultimo, pero no menos importante, no olvidéis actualizar. Actualizar WordPress y actualizar los plugins. Ah, y no olvidemos realizar un backup, que en caso de que nos comprometan el sitio web podamos restaurarlo de manera sencilla.
Por ultimo, pero no menos importante, no olvidéis actualizar. Actualizar WordPress y actualizar los plugins. Ah, y no olvidemos realizar un backup, que en caso de que nos comprometan el sitio web podamos restaurarlo de manera sencilla.
Si conocéis alguna forma más de dar seguridad a nuestro WordPress, no dudéis en dejar un comentario.
Roberto García (@1GbDeInfo)