De seguridad en WordPress. plugins recomendados, configuraciones de Apache y nmap

# 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 ;).

dabo

Work: @apache_ctl | Edu: Hacker (and free) Culture & @debianhackers, @daboweb | Life: @verticalplaneta | ¿Hacktivista? (legítima defensa) GPG Key 0xBC695F37

dabo escribió 1255 entradas

Navegación de la entrada


Comentarios

  • Liamngls

    Bueno, que te voy a decir que no sepas además de que mola leerte cosas de estas, aunque te lo has currado poco, bandido ;)

    Coñas aparte lo que más resulta más interesante es el tema de los usuarios. Lo cierto es que a día de hoy con lo poco que se comenta en los blogs lo veo como una preocupación innecesaria, el poco control que puedes ejercer sobre estos no compensa los dolores de cabeza que te pueden dar los diferentes bugs de escaladas de privilegios teniendo que desactivarlos/activarlos cada dos por tres.

    Incluir una opción de comentarios tipos disqus puede resultar interesante ya que los usuarios no son completamente anónimos porque responden con una cuenta de otro sitio (twitter, facebook, etc …) y como digo se comenta más bien poco, en realidad usuarios de verdad ¿cuántos se pueden tener? Porque salvo que tengas un blog con muchísimas visitas lo normal es tener pocos usuarios registrados y mucho menos usuarios que tengan una actividad relativamente fuerte.

  • Pingback:

    Bitacoras.com
  • dabo

    Liamngls, sobre lo que comentas de los usuarios registrados, ya sabes que desde que inicié el blog así ha estado, ciertamente te puede quitar algún dolor de cabeza pero también evitas mucho spam y cuando escribe Liamngls, «sé que es Liamngls». A lo que sumo que en ¿5 años aquí? no he borrado un sólo comentario.

    La verdad es que según los post, (acabo de ver la portada) y teniendo en cuenta que la conversación ahora se lleva mucho a Twitter / G+ o FB, hay un nivel de comentarios aceptable y quizás para muchos sea más fácil registrarse aquí que usar otro servicio, no lo sé, ahora sinceramente vería raro llevarlo de otra forma aunque los tiempos están cambiando y nunca se sabe.

    Saludos bro !

  • Liamngls

    Es una idea más orientada a los que empiezan ahora con un blog, no te digo de dónde me viene que tendríamos para millones de horas de conversación xD

  • dabo

    Ya, casi daría para un podcast ;D

  • Rastreador

    Yo añadiría un plugin a la lista:
    Automatic WordPress Backup
    Este plugin realiza backups periódicos de tu instalación de WordPress contra un servidor S3 de amazon.

  • dabo

    Gracias campeón ;) Lo añadiré a la lista

    Saludos !

  • dabo

    Añadidos los dos a la lista, gracias Raúl también por la sugerencia ;) Ya son 20

  • jeros1712

    genial WP Security Scan, hace una mini auditoria de tu WP, me enseño mucho x) …

    voy a seguir probando los demas pero con cuidado..supongo que esto no es cuestion de meterle y meterle..alfinal cuando lo haces asi terminas generando mas problemas que otra cosa x)

  • dabo

    Hola Jeros, nada, tú prueba que lo más que te puede pasar (no serías el primero -;P) es que te banee a ti mismo o que alguno realice un bloqueo a algún servicio externo (tipo wp-stats) como el Sentinel por ej.

    Saludos ;)

  • jeros1712

    mmm eso de que me banee me suena a pura revolucion de las maquinas xD .. la verdad dabo es genial esto.. cuando uno quiere empezar en este mundo de la seguridad es muy dificil arrancar de abajo y post/blogs como este dan una mano terrible… Muy agradecido!!!!!

    saludos!

  • dabo

    Nada hombre, todos aprendemos de todos y luego serás tú el que intente echar un cable a los demás, un saludo ;)

  • jeros1712

    lo que agregaría seria recordar, si es un servidor nuevo y estan arrancando como yo en la configuracion de servidores web, tirar un dpkg-reconfigure exim4-config para poder configurar la salida de correos para que todos nuestros plugins, monitoreos o formularios por correo salgan de nuestro server al mundo exterior : )

    abrazos!

  • jeros1712

    Dabo, estoy probando una mas y me va muuuy bien que es WP SUPER CACHE … muy bueno y muy intuitivo!! ;)

  • Villaveiran

    Excelente Dabo, ademas muy completo, tengo que revisar todos esos enlaces que pones para hacerme una idea de como va todo el conjunto, no uso WordPress pero siempre esta bien saber, gracias por la informacion Dabo!!! Un Saludo ;D

  • dabo

    Así me gusta Jeros ;) hay que probar y probar para ir viendo cómo va todo que es la forma de aprender.

    Villaveiran, gracias, lo cierto es que no está de más conocer los diferentes CMS y las opciones que tenemos disponibles aunque no lo usemos , un abrazo !!

  • Henry

    Hola Dabo, soy novato en esto de manejar wordpress, y como ya lo han comentado cuando aprendes te enfocas más en como instalar y personalizar dejando de lado la seguridad hasta que tu sitio aparece en la lista negra del navegador y desatando múltiples alertas de los antivirus, he tratado de seguir las recomendaciones de este artículo pero existe alguna secuencia en la activación de los plugins, todos son compatibles entre si? si pudieses recomendar una guía o sugerir la secuencia de instalación y activación para una wp seguro seguro muchos te lo agradecerán de antemano excelente blog

  • dabo

    Hola Henry, te agradezco la sugerencia, ando mal de tiempo pero ojo con Mutex, que tira de PhpIds ya que he visto que con sólo editar el tema lo considera un ataque…

    Una secuencia…uhm login lockdown, secure WordPress, block Bad Queries, WP Security Scan y antivir además de darte de alta en websitedefender y asociar ahí tu WP, con eso vas bien ;)

    Saludos (luego el wp-sentinel con cuidado ya que da muchos falsos positivos)

  • InKiLiNo

    Yo había borrado el upgrade.php de mis blogs por seguridad y ahora al instalar el «login dockdown» me dice que necesita ese archivo…

    Warning: require_once(/…./wp-admin/includes/upgrade.php): failed to open stream: No such file or directory in /…./wp-admin/upgrade-functions.php on line 12 Fatal error: require_once(): Failed opening required ‘/…/upgrade.php’ (include_path=’.:/usr/share/php:/usr/share/pear’) in /…/wp-admin/upgrade-functions.php on line 12

    Que me recomiendas, el plugin o el archivo ???

  • dabo

    Hola ;) Hoy he andado loco, lo cierto es que es extraño, yo lo tengo sin él, pero vaya, lo subiría sin duda y luego a investigarlo un poco y recuerda que en el foro de webmasters de Daboweb (www.daboweb.com/foros) estamos para darle una vuelta entre todos.

    Es extraño la verdad, no sé si dependerá de algún cambio de rama (que no versión menor) de WP, si das con algo comenta please, un abrazo ;)

Comentarios cerrados.