# Introducción y enlaces recomendados para su lectura.
Rel: Febrero 2014 –> Webcast y vídeo con Oreixa. Ataques e (IN) Seguridad en WordPress.
Ya he hablado antes en DaboBlog de seguridad y WordPress. No hace mucho, publiqué en mi cuenta de Twitter un enlace con el título «Hardening WordPress» (la guía oficial de WordPress para fortificar instalaciones de WordPress). El amigo Jordi Prats de «System Admin», escribió un artículo «Configuración segura de Apache para WordPress«, con el fin de evitar el listado de plugins frente a una auditoría realizada con nuestro querido Nmap (vía el script http-wp-plugins para nmap). (Añado) En Security Art Work también están con una interesante entrega.
En el caso de Jordi, fue a raíz de un post muy interesante de Chema Alonso (de «El lado del mal») en el que realizaba un ataque de este tipo, con algún tip más (por ejemplo el típico error del listado de directorios en Apache y entrar «hasta la cocina»). También añado esta entrada de Samuel Aguilera sobre WordPress y Mod Security.
Pero tenía pendiente esta entrada sobre este tema y está dedicada especialmente a Dani de «El Arca de la alianza» ya que en alguna ocasión me lo había comentado, y era algo en «pendiente» desde que grabé con él un podcast sobre «Iniciación a la seguridad informática». (y a ver si retomas la publicación bandido;).
Sobre todo esto se ha escrito por supuesto mucho y muy bien en otros blogs, pero destaco y recomiendo leer los enlaces a las entradas de WordPress.org, Jordi , Chema, Security By Default y Oreixa (con esos seis enlaces ya tenéis una buena hoja de ruta para empezar) ya que me parece que todo puede ser complementario. También citaré alguno útil en el caso de que tengáis el registro de usuarios activado en vuestro blog.
Además de cuestiones como proteger la cuenta de admin (o cambiar el nombre), tener passwords potentes (y cambiarlos), habilitar incluso el acceso por SSL al área de administración (Oscar Reixa habló de ello y publicó una entrada de la parte que tocó de WordPress junto a mi en el FIMP 2010) o una configuración de PHP para que en el caso de que haya algún fallo en la ejecución de una función o un plugin (display errors «off») para que no revele el «path» o ruta de la instalación de WordPress (un tema publicado no hace mucho en Security By Default, recomendable su lectura). Sobre cuestiones de seguridad, servidores web y Apache (que está todo relacionado), quizás os sirva también de ayuda el resumen de mi participación en el FIMP de Gijón (2010).
# 25 Plugins para dotar a WordPress de más seguridad.
#Actualizado, al final están los nuevos, gracias por vuestras sugerencias ;)
Vamos a pensar que no todo el mundo tiene acceso vía SSH para controlar su servidor, puede estar en un hosting compartido y creo que sobra decir que si no tenéis vuestra instalación, temas en algún caso y plugins actualizados, de poco servirán muchas de las medidas de prevención comentadas.
Akismet; Todo un clásico, poco hay que hablar de él, salvo que conviene mirar de vez en cuando los comentarios o «trackbacks» ya que no es muy difícil ver «falsos positivos» y más cuando alguien en un comentario alguien mete más de 3 enlaces como se puede configurar en «Ajustes-Comentarios»). Web del plugin
Automatic Updater: Muy interesante, podéis olvidaros de darle al botón de «actualizar» tanto a nuevas versiones de WordPress como a temas y plugins. Eso sí, ojo con las personalizaciones de plugins y temas. Web del plugin
Comment Timeout; Como complemento a Akismet es perfecto. Permite cerrar los comentarios en entradas antiguas, tanto a nivel global, como en cada entrada individualmente. También funciona con los «pingbacks» o «trackbacks». Web del plugin.
WordPress Backup (BTE); Realizar una copia de seguridad de vuestro tema actual, uploads, imágenes, el tema actual, etc en un directorio (formato .zip) también hay una opción para enviarlo todo por e-mail. Web del plugin.
WordPress Database Backup; Como complemento al anterior, realizar backups de vuestra base de datos (incrementales) y además, tiene la opción de poder enviarlos por e-mail. Web del plugin.
Automatic WordPress Backup; Según nos sugiere e informa en los comentarios Rastreador «Este plugin realiza backups periódicos de tu instalación de WordPress contra un servidor S3 de amazon». Web del plugin.
WP-DBManager; al igual que si desde vía SSH ejecutáis comandos MySQL como mysqlcheck -o (optimize) – c (check) -r (repair), este plugin hará lo mismo, ayudando a que vuestra base de datos esté siempre a punto. Web del plugin.
Stop Spammer Registrations Plugin; Aquí ya entramos en el tema de los blogs con registro de usuarios habilitado, previene y puede dejar en «cola» de aprobación, a los usuarios con correos o IPs que puedan estar marcados como «spammers» por StopForumSpam.com, Project Honeypot, DNSBL o BotScout. Web del plugin.
Además del comentado «Stop Spammer Registrations», que ayuda con el Spam y usuarios potencialmente peligrosos puede estar bien usarlo junto a;
Cimy User Extra Fields; Posibilita la opción de reforzar el área de registro del blog, con campos personalizables, sistemas de verificación del registro, puedes ver en una lista de los usuarios pendientes de activar su cuenta, etc (ejemplo en Daboblog con otro parecido, Register Plus Redux). Web del plugin.
Wp Contact Form 7 + Really Simple CAPTCHA; Una buena opción de formulario de contacto junto a la función de Captcha del «Really Simple» para evitar Spam en el envío de correos. Web de WP Contact Form 7 | Web de Really Simple Captcha.
WP Hide Dashboard; También útil para blogs con registro de usuarios, remueve los campos innecesarios del perfil de usuario para que no pueda acceder a otras áreas administrativas. Web del plugin.
Login LockDown; Plugin para prevenir ataques de fuerza bruta contra el usuario / password. Por citar un ejemplo, puedes definir que con 3 intentos fallidos de «login», se realice un bloqueo contra la IP durante 600 seg. Luego verás una lista de las IPs bloqueadas (pudiendo sacar alguna de esa «lista negra». Web del plugin.
AskApache Password Protect; Un gran plugin que no estaba añadido, permite autenticación «HTTP Basic» o una más segura «HTTP Digest Authentication». Te puede ayudar a bloquear Spam y conservar recursos de CPU, memoria, base de datos, etc. Puedes elegir un usuario y password para proteger además del login, directorios como wp-admin, wp-includes, wp-content, plugins, etc. Web del plugin.
Exploit Scanner; Puede ser útil en el caso de que vuestra instalación haya sido comprometida, para buscar en la base de datos, o ficheros, rastros de y huellas de un ataque (también busca en el CSS, HTML, etc). Ojo a los 128 mb de memoria. Web del plugin.
Secure WordPress; Múltiples funciones como pueden ser; remover la versión de WordPress, crear un archivo «index.php» en /themes o /plugins para evitar el listado de directorios, proteger vuestro WordPress contra peticiones de URL maliciosas, evitar que tanto WP a nivel de Core o sus plugins no se actualice salvo por administradores, remover de wp_head opciones como «Windows Live Writer» o «»Really Simple Discovery»» o remover informaciones de error en el login. Web del plugin. (Actualizado, ahora de Acunetix, nuevas funciones e interesante la opción «Live Traffic», sustituido por «Acunetix WP Security«)
Block Bad Queries (BBQ); Ayuda como el anterior a proteger WordPress de peticiones de webs o IPs maliciosas, realiza un chequeo de cadenas excesivamente largas (por ej mayores de 255 caracteres) , también controla peticiones URI / «Base 64», etc. Web del plugin
WP-Sentinel; Además de un sistema de bloqueo de IP, alertas al usuario en caso de ataque, etc, protege la instalación de algunos ataques tan comunes como; «Cross Site Scriptings, HTML Injections, Remote File Inclusions, Local File Inclusions, SQL Injections, Cross Site Request Forgery, Login bruteforcing, Flooding«. Web del plugin.
WP Security Scan; Realiza un chequeo de tu WordPress buscando posibles vulnerabilidades y sugiere acciones correctivas en campos como; passwords, permisos de ficheros, seguridad de tu base de datos, oculta la versión de WP, protección para la zona de administración y remueve la etiqueta » WP Generator META» del «core» de WP. Web del plugin.
AntiVirus for WordPress; Su función es realizar búsquedas diarias con reportes vía mail de en vuestro WP por si hay algún script o llamada maliciosa, protege de ciertos exploits e inyecciones de spam. Otra protección contra el malware en vuestro blog. Web del plugin.
Mutex; (tal y como publican en Security By Default) «Es un plugin para WordPress que incorpora PhpIds y además, lo integra perfectamente en WordPress permitiendo su administración desde el panel de gestión». Web del plugin.
WordPress Firewall 2; Otro de esos que no pueden faltar y que bloquea múltiples peticiones potencialmente peligrosas para tu blog. Web del plugin.
Añado:
Wordfence: Todo lo que he visto me ha gustado, el monitor para ver el tipo de tráfico, ataques de fuerza bruta, el escaneo y comparación de versiones de ficheros de WordPress, etc. Web del plugin.
Better WP Security: Un todo terreno y gran post en Security By Default sobre él.
Sucuri Security. Otro más con interesantes funcionalidades tanto para bloquear ciertos ataques y prevenirlos, además de tener un mayor control sobre tu instalación. Web del plugin.
Stop XML-RPC Attack: Como su nombre indica, más que útil para mitigar ataques a través de estos protocolos con denegaciones de servicio o picos puntuales de tráfico muy altos. Web del plugin.
Además de todo esto, os recomiendo dar un vistazo a esta entrada del mes pasado en DaboBlog sobre «Web Site Defender«, un servicio muy interesante para controlar instalaciones de WordPress. Y recordad borrar el readme.html que da la versión !
Espero que os sea de utilidad, partiendo de la base que siempre se podrán encontrar brechas de seguridad en un sistema remoto y, que ese concepto de la «seguridad total» es sólo eso, un concepto, estas acciones os ayudarán a estar «un poco más tranquilos», saludos ;).