4 de enero de 2016

Los 3 principios del Hardening aplicados a tu #WordPress

En estos últimos años me dediqué a estudiar muy de cerca los posibles ataques que sufren los WordPress y desplegué una línea de servicios basado en la recuperación y mejora en la seguridad de estas web creando WPHardening como herramienta de fortificación que en numerosos post comentamos sus lanzamientos.

Figura 1: Los 3 principios del Hardening aplicados a tu WordPress
Hoy les quería dejar los tres principios del hardening que generalmente en las presentaciones siempre damos y que muchas veces parecen obvias pero seguimos sin tenerla en cuenta.

1. Mínimo Punto de Exposición (MPE)


Algo que siempre tienen que tener en cuenta es que WordPress como otros CMS está pensado para usuarios con diferentes niveles técnicos, en otras palabras, la idea es que cualquier persona sin tantos conocimientos técnicos sea capaz de instalar esta plataforma.

En el afán de cumplir con ese requerimientos, siempre incorpora información adicional o componentes que en muchos cosas no deberían estar.

A estos componentes los podemos traducir como archivos que revelan información, plugins innecesarios y que incluyen por defecto y finalmente estilos o themes que también se incluyen y que en muchas oportunidades no lo utilizamos.

Todas estas cosas que parecen detalles un posible atacante puede comenzar a montar un vector de ataque basado en la recopilación y análisis de esa huella que nuestro proyecto está dejando.

Lo primero que podemos hacer es eliminar algo tan simple como:

  • /readme.html
  • /licencia.txt
  • /license.txt
  • /wp-includes/images/crystal/license.txt
  • /wp-includes/js/swfupload/license.txt
  • /wp-includes/js/plupload/license.txt
  • /wp-includes/js/plupload/changelog.txt
  • /wp-includes/js/tinymce/license.txt
  • /wp-includes/js/tinymce/plugins/spellchecker/changelog.txt
  • /wp-includes/js/swfupload/license.txt
  • /wp-includes/ID3/license.txt
  • /wp-includes/ID3/readme.txt
  • /wp-includes/ID3/license.commercial.txt
con respecto a los themes, también puede eliminar aquellos que no utilizas en tu proyecto

  • /wp-content/themes/twentytwelve/
  • /wp-content/themes/twentythirteen/
  • /wp-content/themes/twentyfourteen/
  • /wp-content/themes/twentyfifteen/

Es muy simple verdad, por otro lado, a medida que pasa el tiempo está comprobado que cada WordPress en promedio incorpora de 3 a 6 plugins a lo largo del tiempo, entonces todo aquello que ya no lo utilicemos lo mejor nuevamente es eliminarlo, NO dejarlo allí inactivos sino eliminarlo.

2. Mínimos Privilegios Posibles (MPP)


Tu WordPress, quieras o no, va a tener un administrador y es por ello es que hay que tener en cuenta cuales van a ser los privilegios de administración que van a tener los usuarios dentro de la plataforma.

Esta planificación tiene que ser eje principal para que todos los usuarios que se creen no sean administradores y eventualmente modifiquen la estructura sin autorización de los verdaderos responsable.

Para ello WordPress incorpora los siguientes grupos que va de mayor capacidades a menor.

  • Administrador - Quien tiene acceso a todas las características de administración de un sitio en particular.
  • Editor - Quien puede publicar y editar entradas, propias y de otros usuarios.
  • Autor - Quien puede publicar y editar sus propias entradas.
  • Colaborador - Quien puede escribir y editar sus propias entradas pero no publicarlas.
  • Subscriptor - Quien solamente puede editar su perfil.
Esto es con respecto a la administración de WordPress, pero además tenemos que tener en cuenta otros aspectos esenciales, como los permisos en el sistema de archivos.

Como regla básica y elemental los permisos deberían ser:
  • 0644 - Para los archivos
  • 0755 - Para los directorios

3. Defensa en Profundidad (DP)


Finalmente nos encontramos con Defensa en Profundidad, y no es mas que planificar nuestro proyecto pensando en agregarle varias capas de seguridad, desde mejorar las configuraciones que se encuentran en el archivo wp-config.php hasta la incorporación de Plugins de seguridad.

Existe una gran cantidad de parámetros que podemos setear dentro del archivo de configuración de WordPress que va desde evitar la instalación o eliminación de un nuevo plugins hasta no permitir el acceso a editar el theme una cuenta Administradora, y que en definitiva son esenciales para buscar el detalle al proyecto.

Por otro lado existe una gran cantidad de plugins que podemos incorporar para mejorar la seguridad de nuestro WordPress


Y sin dudas, estos son solo unos pocos pero efectivos plugins que puedes incorporar a tus proyectos y que sin duda van a mejorar la seguridad de WordPress.

Como se puede ver, existe muchos aspectos a tener en cuenta en cada implementación de WordPress incluso más, cada vez que tenemos que actualizar a una nueva versión. Todos estos puntos y más son los necesarios para poder mantener una línea aceptable de seguridad.

El camino a seguir sin duda es la automatización de tareas, por lo cuál fue creado WPHardening para lograr hacer de forma automática ésta y varias tareas más.

Saludos!

No hay comentarios.:

Publicar un comentario

Entradas populares