S
supercordobes
Hola amigos, leyendo una web de seguridad me encontré con un buen post explicando un poco de la configuración de Better WP Security para mejorar la seguridad de WP. Lo traigo para acá porque seguramente alguno le encuentra utilidad.
Este es el post original y de acá pueden bajar el plugin.
Esta este es el copy & paste de la nota, si entran en el sitio van a poder ver imagenes:
Este es el post original y de acá pueden bajar el plugin.
Esta este es el copy & paste de la nota, si entran en el sitio van a poder ver imagenes:
A la hora de diseñar un sitio web o un blog, frameworks como Joomla, Drupal o Wordpress ayudan a tener un punto de partida o base, que permite añadir páginas, con diverso contenido y con la posibilidad que los usuarios interactúen dejando comentarios.
Sin embargo, cuando se trata de colgar una página web a Internet, cualquier medida de seguridad que se tome es poca. Son incontables las amenazas existentes, tanto de forma intencionada, como por bots automáticos que, incansablemente acechan la red, en busca de vulnerabilidades o malas configuraciones en direccionamiento público.
En Security By Default ya hemos analizado, en vidas pasadas, diferentes formas de ayudar a proteger Wordpress. Incluso, para evitar el acceso "de raíz" al panel de administración pusimos a vuestra disposición un módulo Apache para permitir, en modo "lista blanca", accesos desde direcciones IP dinámicas, listadas en un registro DynDNS, a URIs como la del panel de administración de Wordpress.
Sin embargo, buscando herramientas existentes que aporten seguridad a la instalación, dí con un plugin que me ha parecido de lo más completo y he querido compartir con vosotros.
Se trata de Better WP Security, un plugin que permite gestionar diferentes parámetros que mejoran la seguridad. La forma de visualizar y configurar cada parte es mediante pestañas, en el panel de administración de Wordpress, en una sección llamada Seguridad.
La primera de las pestañas es un Dashboard, un resumen donde podemos ver el estado actual de la seguridad de Wordpress, en base a una "auditoría" que nos muestra la herramienta, destacando cada uno de los puntos por colores, dependiendo de "lo bien o mal" que estén, así como la criticidad de los mismos. Además, si queremos modificar un punto en concreto, para arreglar el problema señalado, hay un acceso directo desde la misma línea.
En cada una de las pestañas, nos da un pequeño resumen de ayuda sobre los parámetros que podemos modificar desde la misma.
La pestaña User nos permite cambiar el nombre del usuario admin y el ID (que por defecto es el 1 para dicho usuario)
En la pestaña Away, podemos "cerrar con llave" el acceso a la pantalla de administración de una forma programada, es decir,... No queremos que se pueda acceder al panel, en determinado horario. Esto es útil en caso que tengamos claro que no tendremos que acceder para nada, pero puede derivar en un Auto-DoS si no podemos acceder al panel de administración y por una emergencia, se necesita
La pestaña Ban, nos permite añadir direcciones IP o User-Agents que, directamente, no queremos permitir que accedan al framework Wordpress. Si no tenemos una lista de IPs actualizada con la que podamos alimentar manualmente una lista negra, se puede confiar automáticamente en la que provee Hackrepair.com, que se integra de forma automática con el plugin.
La ruta por defecto donde se almacena mucho contenido que se utilizará en el blog o sitio web, está tras el directorio /wp-content. Si, por una configuración relajada, Apache permitese el Directory Listing, se podría acceder directamente a todos los ficheros contenidos en él. Desde aquí se permite modificar el directorio, tanto a nivel de sistema de ficheros, como las referencias que haya desde cualquier parte de Wordpress.
En la pestaña Backup, existe la posibilidad de ejecutar backups periódicos que se enviarán por correo a una cuenta especificada o que se almacenarán en la propia aplicación. Es algo recomendable disponer de backups para poder recurrir a ellos en caso de catástrofe.
Al igual que ocurría con el directorio wp_content, las tablas de base de datos que utiliza Wordpress, por defecto, empiezan por "wp_". Esto, en caso de descubrirse un SQL Injection para Wordpress, permitiría a un atacante, hacer operaciones sobre las tablas, o al menos tener un punto de entrada conocido. Por aquello de ponerlo más complicado, esta herramienta nos permite cambiar el prefijo por lo que nosotros queramos, diferente de "wp_"
Para la administración de Wordpress, se accede a /admin. En el post en el que liberamos el módulo mod_dynip, un lector preguntaba, en los comentarios, si existía forma de modificar el /admin por un valor arbitrario. Pues, por lo visto, Better WP Security, permite en la pestaña Hide, cambiar el valor de /login, /register y /admin.
La sección Detect permite identificar y correlar aquellas direcciones IP que escaneen el servidor web haciendo pruebas de diccionario o fuerza bruta, en base a los errores HTTP 404 Not Found, devueltos por el servidor. La herramienta nos permite definir umbrales de hits fallidos por unidad de tiempo. En base a esto el plugin añadirá en la lista negra a las direcciones IP atacantes durante un tiempo predefinido.
Asimismo, en esta misma pestaña podemos configurar la detección de modificaciones de la integridad de los ficheros Wordpress. Si algún fichero cambia, y no hemos añadido/modificado nada, y nos llega un coreo con modificaciones, puede que tengamos alguna visita en el servidor. En mi caso, no lo tengo habilitado, puesto que ya utilizo AFICK a nivel de servidor completo, por lo que me resulta redundante e innecesario hacerlo también a nivel Wordpress.
Igual que hacíamos anteriormente a la hora de detectar ataques de enumeración de directorios o ficheros en base a monitorizar las respuestas HTTP 404 Not found, en la pestaña Login, podemos indicar los parámetros de configuración para detectar ataques de fuerza bruta/diccionario ante la autenticación de usuarios.
Si permitimos acceso HTTPS y HTTP, a nivel de servidor, puede ser útil forzar el uso de SSL para los accesos, así como pantallas en las que haya que introducir credenciales. En la sección SSL, podemos forzar que esto así sea.
La sección Tweaks, permite habilitar otras medidas de seguridad que no encajan en otras pestañas. Por ejemplo, es muy típico identificar la versión de Wordpress utilizada por un servidor en base a recuperar el fichero readme.html, donde ésta viene mencionada. Este fichero se añade, cada vez que se hace una actualización de Wordpress, aunque lo hayas borrado de la instalación anterior. Para evitar que nos puedan pedir según qué tipo de ficheros, podemos habilitar el check correspondiente.
Tened cuidado si ya tomáis ciertas medidas sobre el propio Apache o si utilizáis algún plugin que haga labores de WAF, puesto que puede dar más de un problema habilitar el último check aquí.
La pestaña Logs, nos permite ver un sumario de la actividad de detección/protección llevada a cabo por el módulo Better WP Security. Asimismo, podemos desbloquear direcciones IP que puedan ser falsos positivos por ejemplo.
En resumen, una herramienta imprescindible. Si administras un wordpress y quieres tener una mayor tranquilidad, incrementando la seguridad en diferentes aspectos, este es un buen plugin. Quizá me gustaría mencionar que la traducción al español no es completa o no es todo lo buena que debería, pero se entiende todo correctamente y como aplicación funciona bastante bien.