WHITEPAPER AUMENTANDO LA SEGURIDAD DE WORDPRESS

Documentos relacionados
Detectar y solucionar infecciones en un sitio web

Qué son y cómo combatirlas

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Son herramientas diseñadas para detectar, bloquear y eliminar virus informáticos y otros programas maliciosos.

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Sitios remotos. Configurar un Sitio Remoto

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

WINDOWS : COPIAS DE SEGURIDAD

Informe. WordPress. sobre el uso de. Un estudio realizado por

Información destacada para Coordinadores TIC sobre el Portal Educamadrid

Instalar y configurar W3 Total Cache

Joomla! La web en entornos educativos

12 medidas básicas para la seguridad Informática

MANUAL DE USUARIO CMS- PLONE

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH

Manual hosting acens

Instalación Joomla. Instrucciones para instalar Joomla en un pc en la red local del instituto, o en un servidor en Internet

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

DESARROLLA TU BLOG O PÁGINA

Manual de NetBeans y XAMPP

MANUAL COPIAS DE SEGURIDAD

INSTALACIÓN DE GITLAB

WINDOWS : TERMINAL SERVER

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Hostaliawhitepapers. Usar Plesk para, poner en marcha nuestro dominio.

Instalación y Configuración de un Servidor FTP


Gobierno Electrónico ANEXOS ANEXO A: INSTALACIÓN, CONFIGURACIÓN Y ACTUALIZACIÓN DE JOOMLA, MÓDULOS Y COMPONENTES. Alexandra Paola Guerrero Chuquín

Configuración de Apache

MANUAL DE INSTALACIÓN Y CONFIGURACIÓN

Internet Information Server

Gestión de Extensiones en Joomla!

MANUAL INSTALACIÓN ABOGADOS MF

Hostaliawhitepapers. Redirección 301. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Optimizar base de datos WordPress

MANUAL DE. manual de Joomla JOOMLA

LA GUERRA DE WORDPRESS: DEFENSA Y ATAQUE

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Kaspersky Endpoint Security 10 - versión para casa

SERVIDOR WEB. Servidores web IIS (Windows) / Apache (Windows y Linux)

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

DOCENTES FORMADORES UGEL 03 PRIMARIA

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado

Conceptos Generales en Joomla

Mantenimiento del espacio web

Infraestructura Tecnológica. Sesión 10: Sistemas cortafuego

MANUAL PARA CONFIGURACIÓN DEL COMPUTADOR DE LOS USUARIOS PARA EL USO DEL SISDON

INSTALACIÓN DE MEDPRO

Manual de instalación Actualizador masivo de Stocks y Precios

LiLa Portal Guía para profesores

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

RESOLUCIÓN DE INCIDENCIAS PROCURADORES

Técnicas de Programación

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

ALERTA ANTIVIRUS: RECOMENDACIONES


Manual de iniciación a

Creación y administración de grupos locales

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Crear la base de datos antes de la instalación de Wordpress.

Actividad 1: Utilización cliente FTP (mediante línea de comandos, entornos gráficos y navegadores/exploradores) (I).

La publicación. Pere Barnola Augé P08/93133/01510

Seguridad Informática ANTIVIRUS. Antivirus

RECOMENDACIONES PARA LA INSTALACIÓN Y DE SEGURIDAD

RETO FORENSE EPISODIO III Resumen Ejecutivo

RECETA ELECTRÓNICA Informe de Seguridad

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

Manual de Instalación

*La Macromedia Dreamweaver

D.T.Informática S.L. [Sistema hada] hilo Administrador Desarrollo Activo

Servidor Apache. Instalación Configuración Apache con Webmin 24/03/2014. Vicente

[VPN] [Políticas de Uso]

Firewall Firestarter. Establece perímetros confiables.

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Diseño de Sitios Web Dinámicos CMS JOOMLA

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Guía de seguridad informática Buenas prácticas para el Nuevo Año

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

PROGRAMACIÓN PÁGINAS WEB CON PHP

Programación páginas web. Servidor (PHP)

Práctica del paso de generación de Leads

Guía de instalación de la carpeta Datos de IslaWin

Preguntas más frecuentes

Procedimiento. Actualización de Kit de Conexión de Comercios Webpay versión 5.X a Canales Remotos Operaciones. Transbank S.A.

Programa de Ayuda EMCS Instalación Versión SQL Server Versión Marzo 2010

DIPLOMADO EN SEGURIDAD INFORMATICA

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Responsive Web Design Diseño Web Adaptable

Iptables, herramienta para controlar el tráfico de un servidor

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Infraestructura Tecnológica. Sesión 1: Infraestructura de servidores

Práctica de Seguridad en Redes

Transcripción:

WHITEPAPER AUMENTANDO LA SEGURIDAD DE WORDPRESS

Índice Overview 4 Introducción 5 Qué es un CMS? Quién usa WordPress? Vulnerabilidades en WordPress Medidas de seguridad básicas 6-7 Mantener WordPress y plugins actualizados Desinstalar temas y plugins que no usamos Doble factor de autenticación Forzar contraseñas robustas Copia de seguridad del sitio Antivirus en el servidor Permisos correctos en el servidor Medidas de seguridad avanzadas 8-9 Protección contra fuerza bruta Forzar SSL en el login Bloquear user agents maliciosos Renombrar y cambiar ID del usuario admin Bloquear ejecución de código en la carpeta uploads Bloquear métodos http innecesarios Ocultando nuestro WordPress 10-11 Cambiar URL del administrador Detección y bloqueo de errores 404 consecutivos Cambiar mensajes de error por defecto Renombrar y cambiar ID del usuario admin Eliminar cabeceras informativas de WordPress y componentes Bloquear el acceso a archivos de WordPress Soluciones automáticas 12 Plugins ESET Secure Authentication Web Application Firewalls Conclusiones 12 2 3

Overview Desde siempre en ESET España hemos promovido la idea de que un factor fundamental en la seguridad informática es la concienciación y la educación tanto de usuarios como de ingenieros, administradores o personal técnico de nuestra empresa. En este documento encontrareis los motivos por los que debemos tener en cuenta la seguridad a la hora de trabajar con uno de los gestores de contenidos más populares del panorama actual, WordPress, y orientaremos tanto a los usuarios como a los administradores con algunos pasos a seguir y medidas de seguridad a tener en cuenta a la hora de implementar este tipo de sistemas. Introducción Qué es un CMS? Los CMS o Content Management System son programas informáticos diseñados para facilitar el manejo y la visualización de contenidos generalmente utilizados para la creación de portales web, blogs, foros, etc. Los CMS más conocidos dentro del mundo de la creación de webs son WordPress, Joomla! y Drupal, y por ello vamos a dedicar este White Paper a hablar de un aspecto tan importante como es la seguridad en el más utilizado de ellos: WordPress. Quién usa WordPress? Gracias a la versatilidad y a la comodidad que los CMS proporcionan tanto a los administradores de las webs como a los creadores de contenido, su uso está altamente extendido a lo largo y ancho de Internet. Los últimos estudios realizados al respecto dicen que aproximadamente el 55% de los CMS utilizados en Internet son WordPress y además calculan que existen más de 14 millones de sitios web creados a partir de este gestor de contenidos. 55 %! Vulnerabilidades en WordPress Debido a su amplia extensión, WordPress es cada día más objetivo de ciberdelincuentes que intentan encontrar y explotar vulnerabilidades de todo tipo en estos sistemas. En la actualidad podemos encontrar vulnerabilidades publicadas tanto en el propio CMS como en los temas, plugins y todo tipo de piezas de software adicionales que continuamente se utilizan en la creación y configuración de sitios web. 4 5

Medidas de seguridad básicas Como hemos visto hasta el momento, WordPress ofrece a usuarios y administradores una gran comodidad a la hora de mantener y gestionar las páginas web, pero debido a su popularidad debemos tomar medidas de seguridad adicionales si queremos mantener nuestros sitios web seguros. 4 Forzar contraseñas robustas A pesar de utilizar doble factor de autenticación sigue siendo importante que todas las contraseñas sean robustas, con lo que es una buena práctica forzar a todos los usuarios de WordPress a que así sea. Existen infinidad de plugins que facilitan esta tarea. 1 Mantener WordPress y plugins actualizados Los desarrolladores de WordPress trabajan continuamente para mejortar la seguridad de su CMS y lo mismo ocurre con los temas y plugins. 5 Copia de seguridad del sitio Las copias de seguridad no son una medida de fortificación pero sí una importantísima medida de recuperación ante desastres, con lo que recomendamos encarecidamente tener siempre las copias al día. Por este motivo una medida de seguridad de vital importancia es mantener siempre nuestros sitios web bien actualizados para evitar que nos afecten antiguas vulnerabilidades en cualquier componente o en el propio CMS. 2 Desinstalar temas y plugins que no usamos Los gestores de contenidos traen por defecto varios temas o plugins instalados, incluso los administradores tienden a dejar instalados plugins o temas que en algún momento usaron en el sitio. 6 Antivirus en el servidor Muchos de los ataques a páginas web tienen como objetivo subir ficheros al servidor que pueden ser detectados y eliminados por un antivirus. Una buena práctica es la desinstalación total de los componentes que no se usan en nuestras webs para minimizar los vectores de ataque que tendremos que proteger. 3 Doble factor de autenticación Bien es sabido que en la actualidad el simple uso de una contraseña ya no es suficiente para certificar la seguridad de un acceso, por ello es recomendable usar doble factor de autenticación en nuestros sitios web. Existen muchos tipos de sistemas de autenticación de doble factor como por ejemplo la autenticación biométrica o los tokens físicos o virtuales, entre muchos otros. En ESET España recomendamos el uso de ESET Secure Authentication para mejorar la seguridad de WordPress en este aspecto. 7 Permisos correctos en el servidor Como se explica en el punto anterior, algunos ataques intentan subir archivos maliciosos o ilegítimos al servidor. Una simple y muy buena medida de seguridad es no dar permisos de escritura al servidor web (Apache, Nginx, IIS ) en las carpetas del sitio donde no sea estrictamente necesario. 6 7

Medidas de seguridad avanzadas Como hemos visto hasta el momento, WordPress ofrece a usuarios y administradores una gran comodidad a la hora de mantener y gestionar las páginas web, pero debido a su popularidad debemos tomar medidas de seguridad adicionales si queremos mantener nuestros sitios web seguros. 4 Renombrar y cambiar ID del usuario admin Por defecto en WordPress el ID del usuario admin es el 1. Muchas vulnerabilidades usan este dato para elevar privilegios de otros usuarios. Si cambiamos el ID del admin o incluso el nombre del usuario evitaremos muchos problemas de este tipo. 1 Protección contra fuerza bruta Además de las recomendaciones anteriores en relación a las contraseñas, es importante controlar y bloquear los ataques de fuerza bruta (se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso) lo antes posible en la página de login de nuestro WordPress. Para ello existen plugins que nos facilitan la tarea, o a un nivel más bajo, existen aplicaciones que se encargan de leer e interpretar los logs en busca de este tipo de ataques y tomar medidas de contención al respecto, como por ejemplo fail2ban en servidores Linux. 5 Bloquear ejecución de código en la carpeta uploads La mayoría de plugins, temas y el propio CMS cuando suben un archivo al servidor, lo hacen a la carpeta uploads. Esto significa que en la mayoría de los casos esta carpeta tendrá permisos de escritura para el servidor web. Con lo cual la mayoría de ataques que tengan como objetivo subir un fichero con código php para ejecutarlo de forma ilegítima en nuestro servidor irán dirigidos a este directorio. Para evitar que Apache ejecute código en esta carpeta en el.htaccess colocaremos la siguiente línea: 2 Forzar SSL en el login Si nuestros usuarios se tienen que conectar al Dashboard desde redes públicas o inseguras, es importante forzar que la conexión sea bajo https para evitar ataques de MITM (Man in the middle). RewriteRule ^(.*)/uploads/(.*).php(.?) - [F] 3 Bloquear user agents maliciosos Una buena medida de seguridad para evitar rastreos o ataques automatizados es bloquear las peticiones que provengan de user agents conocidamente maliciosos, como por ejemplo el user agent por defecto de herramientas como Acunetix, Nikto o similares. 6 Bloquear métodos http innecesarios La navegación a través de un WordPress no necesita ni de lejos todas las funcionalidades que ofrece el protocolo HTTP. Los métodos Trace, Delete y Track no son utilizados y pueden ser objetivo o herramienta para realizar distintos tipos de ataques. Como en casi todos los ejemplos que aparecen en este documento, esta medida se puede adoptar de diferentes modos, uno de ellos es a través del.htaccess con las siguientes líneas: Siguiendo la filosofía de uno de los puntos anteriores, si no lo vamos a usar mejor deshabilitarlo con la siguiente línea en el.htaccess: RewriteCond %{HTTP_USER_AGENT} ^USERAGENT default [NC,OR] RewriteRule ^.* - [F] RewriteCond %{REQUEST_METHOD} ^(TRACE DELETE TRACK) [NC] 8 9

Ocultando nuestro WordPress Debido a la gran popularidad de este gestor de contenidos, existen centenares de vulnerabilidades ya conocidas. Por este motivo nos será muy útil ocultar todo lo posible la identidad real de nuestra web.! Cambiar mensajes de error por defecto Como casi todos los sistemas, WordPress también tiene sus propios mensajes de error. Un atacante con experiencia podría identificarlos y tirar por tierra toda nuestra estrategia de ocultación. Cambiar URL del administrador Se recomienda cambiar o eliminar todos los mensajes de error por defecto del CMS. La URL de acceso al Dashboard por defecto en WordPress es http://mipagina.es/ wp-admin. Si esta dirección existe ya de por sí nos da el dato de que la página está hecha con WordPress, pero, además, le da al atacante acceso directamente a la página de login de nuestra web. Cambiando esta dirección conseguimos ocultar ambas cosas y combinándolo con el punto siguiente podemos detectar y bloquear atacantes de forma permanente. Como siempre esta medida se puede adoptar de diferentes formas, pero la más sencilla es a través del.htaccess redireccionando las peticiones de la URL de login a otra de nuestra elección. Eliminar cabeceras informativas de WordPress y componentes Todos los componentes de WordPress, al igual que el propio CMS, tienen archivos o partes de archivos, generalmente cabeceras, donde identifican al componente y la versión utilizada. Es recomendable siempre que sea posible eliminar este tipo de información o en todo caso falsearla para dificultar la labor de los atacantes y repeler ataques automatizados. En el siguiente ejemplo dejamos http://mipagina.es/loginwp como URL de acceso al Dashboard: RewriteRule ^/loginwp/?$ /wp-login.php [QSA,L] Bloquear el acceso a archivos de WordPress Todos los componentes de WordPress, al Todos los CMS contienen archivos dirigidos a una labor específica como por ejemplo la instalación, la actualización o el típico readme que no son en absoluto necesarios para el correcto funcionamiento de la web una vez puesta en producción. Es altamente recomendable ocultar este tipo de archivos para que no sea posible acceder a ellos desde el navegador, ya que pueden dar información valiosa a los atacantes. NOTA: se pueden eliminar, pero cuando actualicemos el CMS o los componentes volverán a crearse. Detección y bloqueo de errores 404 consecutivos Cuando un atacante intenta descubrir el contenido de nuestra web suele usar varias técnicas como fuzzing o spiders web. Casi todas tienen una característica en común, que es que incurren muchas veces en errores 404. Es decir, si desde el mismo origen tenemos muchos errores 404 consecutivos podemos considerarlo un ataque y bloquear al origen en nuestro servidor. Combinado con la medida anterior, además de ocultar el acceso al Dashboard, bloquearemos la IP de los atacantes que intenten encontrarlo mediante este tipo de técnicas. Para bloquear el acceso a estos ficheros pondremos las siguientes líneas en el.htaccess sustituyendo readme.html por todos los ficheros que queremos ocultar. Los más comunes son: readme.html, readme.txt, install.php, wp-config.php <files readme.html> Order allow,deny Deny from all </files> 10 11

Soluciones automáticas Todas las medidas se pueden aplicar de forma manual pero existen muchos métodos que nos facilitan la labor, como pueden ser aplicaciones específicas para el servidor o plugins para el propio CMS. Plugins Existen muchos plugins de seguridad para WordPress que nos automatizan prácticamente todas las medidas de seguridad descritas anteriormente, como pueden ser ithemes Security o Wordfence Security o BackUpWordPress. ESET Secure Authentication ESET Secure Authentication proporciona más seguridad en el acceso remoto a la red y la información de la empresa, de forma totalmente sencilla. Incorpora un programa para móviles que ofrece una contraseña de doble factor y un solo uso (2FA OTP). Las OTPs que utiliza se generan aleatoriamente, por lo que no se pueden predecir o reutilizar. Web Application Firewalls Los WAF funcionan de forma parecida a los firewalls tradicionales. Se colocan en medio del flujo de datos e interceptan, examinan y actúan sobre el tráfico dependiendo de unas condiciones. De forma gratuita podemos instalar el módulo Mod_Security a Apache,que actúa como tal. Conclusiones Los sistemas como los CMS son muy útiles, ya que nos facilitan muchísimo la vida tanto a administradores como a desarrolladores y a usuarios a la hora de crear y mantener sitios web, pero debido a su popularidad debemos hacer especial hincapié en su seguridad. A pesar de implementar mucha seguridad por defecto gracias al trabajo de los desarrolladores de este tipo de sistemas, debemos aplicar medidas extra de fortificación para asegurarnos de que nuestros sitios web no se van a ver comprometidos. 12