Guía sobre seguridad en WordPress con manual para migrar de http a https
Para garantizar la seguridad en WordPress debemos tomar una serie de medidas que lo protejan tanto a nivel interno como externo. No solo debemos preocuparnos de ataques externos de hackers (que también) sino de errores que podemos provocar nosotros mismos en algún descuido.
Además en este artículo también hablaremos de la seguridad para el usuario, como proteger los datos que se envían desde el site. Habrás podido escuchar en los últimos meses sobre webs seguras y protocolos https, y la importancia que le da Google. Por eso hemos querido preparar una guía con los pasos para migrar tu WordPress de http a https.
Medidas de seguridad que deberías aplicar en tu WordPress
- Creación de usuarios con permisos diferentes para cada perfil: Es necesario estudiar a qué funciones necesita acceder de nuestro WordPress cada uno de los usuarios que van a acceder a la página. Por ejemplo, no hace falta que la persona encargada de generar contenido en las entradas del blog tenga acceso a la instalación de plugins o la creación de nuevos usuarios. Por ello es recomendable limitar los permisos de los usuarios que solo necesitan realizar una función determinada en el site.
- Creación de contraseñas fuertes de forma periódica: Todos los usuarios que creemos deben tener una contraseña fuerte y que sea difícil de adivinar tanto por personas conocidas como por personas que realicen un ataque. Lo ideal es que contenga minúsculas, mayúsculas, números y caracteres especiales, y que no siga ninguna lógica a la hora de definirla. Para hacernos una idea, una contraseña buena sería del estilo “d7@5$gkTR89(jsI89″. Hay que tener en cuenta un detalle importante en cuanto a las contraseñas, y es el almacenamiento, no hay que cometer el error de apuntarla en un post-it o guardarla en un documento online al que se pueda acceder en un ataque. Hay varias aplicaciones disponibles para Android y IOS que te permiten almacenar tus contraseñas cifradas, e incluso en los navegadores web puedes acceder a un gestor de contraseñas incorporado.
- Crear copias de seguridad (backups) de la web: Este es un punto importante, ya que en cualquier momento puede ocurrir algo que nos haga perder parte o toda la información de la web ya sea por un error interno o un ataque externo. Es necesario realizar copias del estado actual de la web con bastante periodicidad, y más importante aún, estas copias deben estar en un lugar seguro y separado del wordpress original, para evitar perderlo todo de una vez.
- Contratar un buen servidor: Aunque esta acción no garantice directamente la seguridad en wordpress, sino que ayudará a nuestro site de cara al seo. Cuando contratamos un servidor barato (o usamos uno gratuito), es más probable que nos pasen cosas como que nuestro site forme parte de una red de sites (compartiendo IP), que conviva con páginas con contenido negativo de cara a Google (como por ejemplo contenido pornográfico o spam) o que tenga un mal WPO (los tiempos de carga sean excesivos). Todo ello puede afectar negativamente al seo de nuestra página, con lo que es recomendable invertir en un servicio de hosting que nos transmita ciertas garantías.
- Descargar siempre temas y plugins de sitios seguros: Es importante descargar todos los elementos que vamos a incluir en nuestro wordpress de páginas de confianza, ya que si los descargamos de páginas de terceros corremos el riesgo de bajarnos paquetes que contengan virus o troyanos que infecten nuestro site.
- Mantener wordpress actualizado: Las actualizaciones de WordPress muchas veces corrigen fallas o vulnerabilidades del sistema, con lo cual hay que procurar tener siempre la versión estable más reciente posible. No obstante hay que tener cuidado en el momento de actualizar, ya que algunos de nuestros plugins pueden dejar de funcionar por no ser compatibles con la nueva versión. Por ello las actualizaciones (tanto de wordpress como de plugins) siempre deben hacerse de la forma más escalonada posible y en un entorno de pruebas seguro.
- Disallow de carpetas en el robots.txt: Para mejorar la seguridad de nuestro WordPress es conveniente no permitir el acceso a algunas carpetas clave del sistema a los robots que scrapeen la web. Para ello debemos modificar el robots.txt para añadir el disallow de carpetas como wp-admin o wp-includes.
- Controlar el spam en formularios: Los captchas nos pueden ayudar mucho a rebajar el nivel de spam en nuestro WordPress. El plugin más conocido para esta función es el Recaptcha de Google, que podremos añadir en los formularios de nuestra web.
Hablemos de plugins de seguridad para WordPress
Actualmente existe un gran número de plugins de seguridad para WordPress. Pero recomendamos tener instalados, iThemes Security y Wordfence. Ambos plugins son compatibles para estar instalados en un mismo WordPress a la vez. Además, los dos cuentan con una versión gratuita y una versión PRO con un mayor número de funcionalidades.
iThemes Security es un plugin muy sencillo que permite proteger nuestro WordPress de forma muy sencilla. En el momento de instalarlo, te permite activar un modo de seguridad básico, con el que no hará falta que hagas nada más para estar seguro. Pero, si quieres ir más allá, te permite configurar múltiples opciones.
Uno de los ajustes más recomendables que ofrece este plugin, es cambiar la URL del escritorio, es decir, cambiar el típico /wp-admin/ que tienen todos los WordPress, parece una tontería pero no lo es, haciendo este cambio, será más difícil que un bot encuentre el acceso al backoffice del site.
Entre otras características, este plugin nos permitirá analizar el site para detectar vulnerabilidades; evita ataques de los bots, bloqueando el accesos a la IP que ha tenido mucho accesos fallidos a la hora de hacer login; forzar el uso de contraseñas seguras; evitar que la carpeta uploads no tenga ficheros .php; marcar IPs favoritas; enviar notificaciones en el caso que se produzca algún cambio en los ficheros, y mucho más.
Wordfence es otro plugin de seguridad que podemos tener instalado en WordPress. Nos permite realizar un scanner profundo por todos los ficheros del site en busca de código malicioso, además permite programar el escaneado de forma periódica y envía el resultado vía email, con alertas y revisiones.
También nos da la posibilidad de marcar el nivel de seguridad o estado de infección, para reducir o ampliar restricciones. Igual que el iThemes, permite bloquear los múltiples intentos fallidos desde una IP a la hora de hacer el login. Además podemos configurar de forma manual las IPs que se quieren bloquear.
Aumenta la seguridad de WordPress con el protocolo HTTPs
Como hemos comentado al inicio, además de tener en cuenta la seguridad en WordPress, debemos tener en cuenta la seguridad de los datos de nuestros usuarios.
Pero, antes de hablar del protocolo HTTPs debemos comentar brevemente el protocolo http. El navegador web conecta con el servidor y solicita un recurso, enviando opcionalmente datos del usuario. Pero este protocolo tiene un fallo, o más bien un problema subyacente: la información que se envía mediante la conexión establecida entre el navegador de un usuario y el servidor puede ser interceptada. Este problema se incrementa cuando la información transferida es de carácter sensible, como datos personales, tarjetas de crédito, etc. Para solucionar este problema llegó HTTPS (o la versión Segura de HTTP).
El protocolo HTTPS
HTTPS es una evolución del protocolo HTTP que añade una capa de seguridad adicional. La información es cifrada antes de ser enviada, y descifrada después de recibirse, mediante los protocolos criptográficos SSL o TLS. Esto garantiza que nadie que pueda interceptar la información transferida será capaz de descifrarla, ya que para ello requeriría una clave que sólo conocen emisor y receptor, que éstos intercambiaron antes de comenzar el intercambio de información.
La lógica diría que nadie querría seguir usando HTTP teniendo un método más seguro de transmitir la información web. Pero hay un obstáculo importante a salvar para poder dar el salto a HTTPS: El certificado.
Para que un servidor web acepte peticiones seguras, debe configurarse un certificado de seguridad. Esto no supondría en sí mismo un problema, ya que hay herramientas para hacerlo muy rápidamente. Pero para garantizar la titularidad del certificado (esto es, que la entidad que firma el certificado sea quien dice ser realmente), los navegadores web no aceptan certificados que no hayan sido firmados por una autoridad de certificación.
Y ¿qué hay que hacer para que una autoridad de certificación firme un certificado para un servidor? En la mayoría de los casos contratarlo y realizar un pago periódico. Algo que el común de los propietarios de las webs no está dispuesto a realizar.
Afortunadamente hay muchos proveedores, y hay algunos gratuitos que, si bien no ofrecen todas las posibilidades que ofrecen los de pago, cubren los requisitos que puedan tener casi el 100% de las webs.
Autores del post: Ester Molina, Carla Minguella, Hector Rovira.