Analytics

martes, 12 de junio de 2018

Cómo proteger Wordpress (1/3): Recomendaciones Generales

Wordpress continúa siendo la referencia absoluta en lo que respecta a gestores de contenido para páginas web un año más. Se estima que una de cada tres páginas web en internet es un Wordpress, lo que supone una cifra descomunal. Dada su gran cuota de utilización lleva varios años en el punto de mira de los cibercriminales.

Muchos de nuestros clientes también utilizan Wordpress y pensamos que sería una buena idea ofrecer una serie de recomendaciones con respecto a su configuración. Hemos redactado una serie de tres artículos en la que comenzaremos con aspectos generales a alto nivel, hasta ir profundizando más a nivel técnico en algunos puntos.

En cualquier caso, estos tres artículos pretenden no ser un manual de instalación y configuración estricto y ceñido, sino por el contrario, nos gustaría presentar estos artículos como una guía de buenas prácticas y recomendaciones flexibles a cualquier uso. En un mundo tan cambiante como el de la ciberseguridad, nada ofrece una garantía total ante los cibercriminales, pero esperamos ayudar a mejorar la seguridad de nuestros clientes y de cualquier usuario de Wordpress.

RECOMENDACIONES GENERALES
Los CDN:
Los CDN son una potente medida de seguridad frente a varios tipos de ataques. Sin duda, su principal protección es contra ataques de DDoS (denegación de servicio distribuida). Al ser capaces de distribuir dinámicamente tráfico a lo largo de sus grandes redes, consiguen dispersar de manera efectiva grandes volúmenes de tráfico sin afectar al rendimiento de una aplicación web.

Hemos conocido múltiples casos de clientes y organizaciones que son víctimas de ataques de DDoS por parte de su competencia comercial, por sabotajes corporativos o hacktivismo. En estos casos, contratar un CDN es una medida efectiva para paliar los efectos de estos ataques.

Sin embargo los CDN también ofrecen servicios de WAF (Firewall de Aplicación Web) e IDS (Sistemas de Prevención de Intrusiones) de tal forma que entran a proteger ataques contra la lógica de la aplicación, protegiendo contra hackeos e intrusiones en los sistemas del cliente. Como siempre, la protección de un CDN es evadible en algunas ocasiones, pero sin duda representa una protección eficiente.

No debemos olvidar que los CDN por último también cumplen notablemente una función de optimización de la web ya que tienen un rendimiento excelente en la descarga de la web a los clientes.

Wordpress suele integrarse perfectamente con los CDN, hasta el punto de que la mayoría ofrecen plugins oficiales para instalar de tal forma que el propio Wordpress y el CDN se integren a la perfección.

Los ejemplos son múltiples pero podríamos mencionar aquí a Akamai, CloudFlare, Sucuri o los mismos CDN de Amazon o Google.

VPS siempre mejor que un Hosting compartido       
El riesgo de alojar una web Wordpress o de cualquier otro tipo, en un hosting compartido, es que la web será alojada en el mismo servidor que cientos de otras aplicaciones web. Por este motivo la seguridad de nuestra web ya no depende exclusivamente de ella misma, sino también de todas las demás. Una vulnerabilidad que ponga en jaque el servidor web nos afectará a nosotros también.

Por este motivo siempre es más recomendable contratar un servidor dedicado (VPS) donde la seguridad corra por nuestra cuenta y tengamos la confianza de depender en exclusiva de nosotros mismos. Es cierto que podrían existir otros vectores por parte del proveedor de servicios de hosting, sin embargo, las posibilidades de sufrir una ataque por esa vía serían mucho más remotas que en el caso de alojarnos en un hosting compartido.

Plugins: menos es más
Los plugins son la principal amenaza en las páginas Wordpress. Al estar desarrollados por terceros, habitualmente no han sido desarrollados teniendo en cuenta la seguridad y acumulan montones de vulnerabilidades importantes. Es recomendable instalar la menor cantidad de ellos y siempre que no usemos alguno, eliminarlo del Wordpress.

Así mismo, mantener actualizados la plantilla en uso y todos los plugins nos protegerá de vulnerabilidades en versiones previas.

Proteger servicios en la misma IP que nuestra web
Suponiendo que disponemos nuestro propio servidor privado, no es recomendable alojar servicios adicionales como FTP, SSH o cualquier otro, en la misma IP pública del servidor web ya que estamos facilitando el trabajo a un cibercriminal. Al conocer nuestro dominio, conocería por tanto la IP de nuestro servidor y, por tanto, descubriría dichos servicios. Estaríamos aumentando la probabilidad de sufrir un ataque ya que no sólo tendríamos que proteger la web, sino también tendríamos que proteger los servicios publicados.

De ser posible, dichos servicios deben ser ofrecidos a través de VPN puesto que suelen utilizarse para actualizar contenidos en la web o administrar el servidor. Por tanto, no tienen por qué estar accesibles para cualquier persona en internet.

Convertir Wordpress en una web estática
Una página estática es aquella donde sus peticiones no manejan parámetros. Simplemente se solicitan y se descargan archivos con el código html.

Las virtudes de Wordpress como gestor de contenidos son sus infinitas posibilidades de personalización de los contenidos en la web. Sin embargo, en la mayoría de casos no se hacen cambios como demasiada asiduidad. Además, si la web tiene como funcionalidad exclusiva la de mostrar contenidos (imaginemos la página web de una empresa donde sólo se anuncian sus servicios y una página con información de contacto) sin ningún elemento dinámico como ecommerce, foros, etc, podemos tomar la decisión de convertirla en una web estática.

Si éste es el caso, una recomendación puede ser la de tener dos entornos. Un entorno de desarrollo donde realizamos todos los cambios y actualizaciones en el Wordpress original, y otro entorno de producción donde lo que subimos es una copia estática de la web.

Proteger Wordpress es una tarea ardua ya que son múltiples los elementos a revisar: el propio motor de Wordpress, la plantilla instalada, los plugins de terceros… De esta manera, podríamos quitarnos un gran número de vulnerabilidades de raíz.

Plugins de Seguridad

El mercado de los plugins de terceros de Wordpress es infinito. Con respecto a la seguridad son múltiples los plugins que existen y no será objeto de este artículo compararlos. Lo que sí es importante tener en cuenta son las funcionalidades que nos ofrecen y que deben cubrir obligatoriamente:

Función de firewall de aplicación web (WAF)
El plugin elegido debe poder actuar como firewall web en nuestra aplicación. Esto es imprescindible en especial si no tenemos un CDN contratado. Esta función nos protegerá de posibles vulnerabilidades en el código de Wordpress, de la plantilla o de cualquiera de los múltiples plugins instalados.

Protección contra ataques de fuerza bruta en el login
Debemos tener una protección contra ataques de fuerza bruta en la página de login de Wordpress. Así cuando un usuario ingrese varias veces mal la contraseña, automáticamente quedará bloqueado por un tiempo determinado o indefinidamente. Muchos plugins de seguridad de Wordpress traen integrada esta funcionalidad. De no ser el caso deberíamos contar con ella.

Existen algunos plugins que cambian la url de login de Wordpress para complicar la tarea de los atacantes que quieren forzar nuestra web. Esta medida sin embargo no creemos que sea recomendable. Siempre preferimos y recomendamos instalar la menor cantidad de plugins de terceros posible para reducir el número de vulnerabilidades. Además modificar la estructura original de Wordpress con frecuencia acaba complicando la administración en futuras actualizaciones y subidas de versión.

Backup
La recomendación eterna y más evidente. Necesitamos tener un backup de nuestro Wordpress, tanto de los ficheros y carpetas de nuestro web server como de la base de datos. En caso de tener algún problema, es imprescindible tener una copia de seguridad para restaurar.

En el siguiente artículo abordaremos unas configuraciones técnicas.


Autor: Gonzalo Sánchez Delgado
Dpto. Auditoría