¿Es WordPress seguro?
WordPress es un sistema muy seguro, y es uno de los CMS más utilizados en todo el mundo. Actualmente casi un 30% de todos los sitios que existen en Internet son de WordPress, es por ello que actualmente es el centro de muchos ataques. En esta guía-tutorial aprenderás todos los aspectos para blindar la seguridad y proteger tu WordPress.
Mucha gente piensa que WordPress es un sistema débil, pero no es así, la realidad es que es la plataforma con más usuarios, y por ello el blanco de los atacantes. Para entenderlo con otro ejemplo podríamos citar a Windows y Mac. No es que Windows sea menos seguro que Mac, sino que es más económico y lo tiene la mayor parte de la gente, por lo tanto a los hackers les interesa atacar a las masas antes que a las minorías y causar el mayor daño posible lógicamente.
Existen diversos factores esenciales que son el asiento principal para forjar la seguridad y proteger tu blog en WordPress ante posibles ataques de hackers, o en este caso cibercriminales, que son los que atacan realmente, ya que tendemos a llamar “hackers” a todos, pero está bien especificar que realmente los hackers se dedican a detectar errores para mejorar la seguridad, mientras tanto los cibercriminales son los malos para que nos entendamos.
Si dispones de un blog en WordPress y no quieres que tu sitio sea hackeado o víctima de spam, este post te va a resultar de muchísima utilidad porque te convertirá en un crack de la seguridad en WordPress.
También te resultara de utilidad si tienes tu blog en otra plataforma como Wix (ver opiniones de wix) y tras la decepción has decidido pasarte a un CMS profesional como WordPress.
Estos serán algunos de los puntos principales que vas a aprender:
- Identificarás todos los ataques que existen para WordPress.
- Entenderás para qué sirven los archivos “htacess” y el “wp-config” y cómo modificarlos.
- Implementar y configurar los plugins ideales para mantener la seguridad de tu sitio.
- Sabrás cómo profundizar en secciones más avanzadas donde escribir líneas de código.
No te preocupes si las líneas de código que citaremos no las soporta tu sitio y te muestra algún error, simplemente con borrarlas volverás al estado que estabas.
Comenzamos!
¿Por qué debes tomar medidas de seguridad en tu blog?
Seamos sinceros, lo que más nos importa a todos es estar bien posicionados en Google y que nuestros clientes puedan localizarnos. Bien, pues si sufrimos un ataque y no lo atendemos a tiempo, puede dar lugar a que perdamos todo el posicionamiento que hemos conseguido en Google.
A pesar de que existen métodos para restaurar un sitio web, estos son complejos, y muchas veces tenemos que pagar a compañías especializadas para poder limpiarlo todo y tratar de volver a posicionarnos. En ese proceso se va mucho tiempo, dinero y esfuerzo. Por tanto es mucho mejor tomar las medidas preventivas que se citan en este post a tener sufrir las consecuencias.
Por eso, ándate con mucho ojo!
¿Cuales son los tipos de ataques más comunes para WordPress?
1. Ataque de fuerza bruta (Brute Force Attack): Es un método que usan los “hackers” para obtener la clave de acceso. Se realiza por medio de programas automáticos que acceden a la url de acceso a administrador, por defecto “wp-admin” y prueban todas las combinaciones posibles hasta dar con la contraseña que permite el acceso.
Este ataque lo utilizan con aquellas páginas web que no tienen un limitador de login, entonces van probando contraseñas sin parar debido a que la página sólo dice que el password no es correcto y que lo intente de nuevo, por lo tanto pueden usar este sistema en “loop contínuo” hasta que finalmente la clave es descifrada.
Lo primero que necesitan es el nombre de usuario, el cual se puede obtener de diferentes formas que citaremos más adelante. Una vez saben el usuario, prueban un sin fin de posibilidades hasta dar con la clave.
El primer usuario que van a intentar es “admin” por eso debemos evitar siempre este nombre.
Una vez nos entren al panel de administración, toman el control total…
Personalmente aconsejamos utilizar contraseñas generadas por otro sistema que no sea del generador propio de WordPress. Aunque de todo esto hablamos más adelante en profundidad.
2. Inyección de SQL: Los formularios de contacto y campos para comentarios son la puerta de entrada a gran mayoría de ataques de inyección de código SQL y XSS.
La inyección de SQL es la infiltración de código intruso dentro de la misma base de datos SQL. El objetivo es alterar el funcionamiento del programa y lograr que se ejecute el código invasor incrustado.
Es posible que alguna vez hayas visto en algún blog algún comentario que parece que no tiene sentido e incluye links, pues posiblemente se trata de un ataque de este tipo.
3. Vulnerabilidad de los plugins y del tema: A fecha de la creación de este post existen casi 52.000 plugins en el repositorio oficial de wordpress, sin contar con los que se desarrollan en sitios tales como envato.
Es de vital importancia que no instales nunca plugins que no hayas verificado primero. Y muchísimo menos aún bajar plugins de pago que te ofrezcan totalmente gratis en Internet, de esos que se anuncian en las páginas con la referencia de “nulled”, ya que suelen tener código malicioso inyectado y pueden liarla bien.
Además de todo esto, los directorios de instalación de los plugins y temas, pueden ser hackeados y acceder a ellos.
En caso de que tengas instalado plugins bajados del repositorio legal y estén libres de infecciones, ¡no te duermas en los laureles!, debes entrar a menudo al backend y actualizar todos los plugins, ya que los plugins desactualizados también son enormes agujeros por donde pueden atacarnos.
Haz siempre una copia de seguridad antes de actualizar, por si las nuevas versiones de temas o plugins te crean otro tipo de conflicto o incompatibilidades en la web.
4. Ataque DDOS (Distributed Denial of Service): En resumen este ataque consiste en atacar al servidor desde muchos ordenadores enviándole así multitud de peticiones hasta que este se queda sin recursos y deja de funcionar. Dicho servidor no volverá a su estado normal hasta que se detenga el ataque.
¿Que es el .htacess?
El archivo .htacess (hypertext access) es un archivo de configuración muy popular en servidores web basados en Apache, que permite aplicar diversas políticas de acceso a directorios con la idea de mejorar la seguridad de tu página web, y por tanto evitar el acceso de intrusos.
Cuando queremos visitar una página web y pinchamos un enlace, en el proceso el servidor web consulta dicho archivo .htacess con la idea de aplicar las directivas y restricciones definidas antes de cursar la petición.
Gracias al archivo htacess podemos configurar nuestro servidor web para hacerlo un poco más seguro. Además a través de este podemos realizar redirecciones, restringir el acceso a carpetas, crear mensajes de error personalizados, evitar el listado de directorios de nuestro servidor o permitir el uso de nuestro dominio sin usar las “www”.
Este archivo es muy delicado, por ello debemos tener mucho cuidado. En caso de que algún código produzca errores en tu web, retira los cambios y vuelve a subir el archivo al servidor.
¿Como editar el archivo .htacess?
Existen varias formas de editar el archivo htacess, en este post citamos 3 métodos para que escojas el que más te guste o sencillo te resulte:
1. CPanel: Ingresa al Cpanel de tu hosting y haz click en la sección “Administrador de Archivos”. Te aparecerá una ventana donde te pregunta qué directorio deseas abrir. Elige el directorio raíz y marca la casilla “mostrar archivos ocultos”, ya que el htacess es un archivo oculto.
Aquí ya podemos editar directamente el archivo y guardar.
2. Yoast SEO: Este plugin dedicado al posicionamiento SEO también nos permite editar archivos como el robots.txt y el .htacess.
Para ello tenemos que dirigirnos a la sección “herramientas” y después a “editor de archivos”. Aquí se nos abrirá el htacess donde podremos editarlo directamente.
Posiblemente esta sea la forma más sencilla de hacer modificaciones en el htacess, pero a diferencia del método anterior del Cpanel, aquí si “metemos la pata” se te quedará la pantalla en blanco y te seguramente te darás un buen susto, y es para asustarse ya que llegados a este punto habrás perdido todo… :S
Es broma!!! no te preocupes 😂 😂 , ingresa en el administrador de archivos del Cpanel y sube la copia del archivo htacess sin el código que ha provocado el error al directorio raíz, o bien borra el código erróneo directamente mediante el editor de cpanel como hemos visto en el punto anterior y todo volverá a estar como antes.
3. Cliente FTP: Hay multitud de clientes ftp, pero nuestra recomendación es que utilice Filezilla, que es un cliente tanto para Windows como para Mac.
Este sistema es parecido al Cpanel, aunque puede resultar algo más complejo. Para acceder al servidor necesitamos la dirección del mismo, el nombre de usuario ftp, la contraseña y el puerto (que por lo general es 21).
Una vez dentro accederemos a un panel parecido al Cpanel, pero a diferencia de este, aquí veremos en una ventana en servidor y en otra nuestro ordenador, pudiendo arrastrar archivos fácilmente.
Primera línea de seguridad en WordPress
Estas son las medidas principales de seguridad a implementar en tu blog de WordPress:
La primer línea de defensa contra cualquier ataque es:
– Tener respaldado completamente tu sitio web (base de datos, plugins y temas), es decir:
Haz copias de seguridad periódicas y automáticas
Imagina que te atacan la web o que la has liado actualizando unos plugins que provocan incompatibilidades. Pues es tan fácil como volver atrás utilizando un respaldo previo.
Dichos respaldos se pueden hacer manualmente, sin embargo la forma que nosotros recomendamos es hacerlos automáticamente, ya que nunca sabes cuando puedes sufrir un ataque.
Programas para hacer copias de seguridad
Uno de los mejores plugins para hacer esto es “Updraftplus”. Este plugin es una auténtica obra de arte el cual recomendamos 100%. Con este plugin podrás guardar tus backups de forma automática en servicios externos como Dropbox, Google Drive, Ftp…
Su versión premium merece la pena, ya que tiene varias opciones interesantísimas.
Y como comprenderéis, uno está más tranquilo sabiendo que sus copias de seguridad se están haciendo automáticamente en otros servicios externos, independientemente de las que realices y guardes en tu ordenador directamente.
Para instalar este plugin nos vamos a Plugins > Añadir nuevo > y buscamos “Updraft WordPress Backup Plugin”. Una vez instalado, lo activamos.
Configurar Updraftplus:
En los ajustes de Updraft podemos seleccionar la periodicidad y programar las copias de seguridad.
También podemos seleccionar si queremos que se guarde en un almacenamiento externo (Google Drive, Ftp…)
– La siguiente medida es realmente la primera que llevamos a cabo, ya que antes de ponernos manos a la obra con el diseño de la web, debemos contratar un buen hosting o alojamiento:
Nivel de seguridad de tu servidor
La mayoría de la gente no sabe qué proveedor de hosting elegir. Sabemos que tu vecino te recomienda uno, tu cuñado te dice que le va bien otro y tu amigo informático te recomienda un hosting propio en donde tiene a todos sus clientes juntos, sabemos que esto ocurre así… La realidad es que actualmente sólo 2 o 3 proveedores de hosting funcionan realmente bien en España.
Para nosotros, y como expertos en posicionamiento SEO, el proveedor de hosting que mejor nos ha funcionado es Raiola Networks, con un soporte telefónico exquisito y unas fuertes reglas anti-hack en este caso.
Además tanto los recomendamos que nos han hecho una landing personal (muy molona por cierto), por lo que si compras a través de este enlace tendrás un 20% de DESCUENTO adicional.
– La medida que viene ahora no es menos importante que las anteriores:
Establecer una clave / password compleja en WordPress
La elección de contraseñas seguras es una de las cosas más importantes que debes hacer para mantener tu sitio seguro.
Cuando creamos el usuario y contraseña tanto del administrador de WordPress como de cualquier otro usuario de nuestro blog, debemos optar por una contraseña que no sea fácil de adivinar. Se considera una contraseña “fuerte” a aquella que contiene más de 8-10 caracteres (letras minúsculas, mayúsculas, números y símbolos).
Por ejemplo esta es una contraseña segura: 8KYpF#Kfe8zxQB!\{5Lm
Sabemos que muchos las preferís fáciles, y tener una contraseña sencilla en memoria en vez de tener una contraseña súper complicada apuntada por ahí…, pero entender que cuanto más complicado se lo pongamos a los malos pues mucho mejor.
WordPress tiene un generador de contraseñas excelente, sin embargo, nosotros preferimos recurrir a otros generadores externos de contraseñas. Aquí te recomendamos uno: http://www.strongpasswordgenerator.org/ bEsta web además permite enviar el password a tu móvil para que lo recuerdes.
Guarda estas contraseñas seguras en un administrador de contraseñas, como por ejemplo el propio que trae Google Chrome y dispondrás de tus contraseñas estés en el lugar que estés.
Si no te fías de tener tus contraseñas en el aire con Google Chrome, puedes usar programas como estos en los que podrás tener todos tus passwords en tu ordenador:
http://keepass.info/ (Gratuito) https://1password.com/ (De pago)
Si usas Evernote, puedes escribir tus contraseñas en notas, las cuales puedes cifrar mediante una contraseña.
Recuerda que TODOS los usuarios creados en una web de WordPress deben tener una contraseña segura y es aconsejable cambiarla frecuentemente.
Por tanto, si por ejemplo tienes un sitio web con suscripción de usuarios o un sitio con redactores que contribuyen a tu blog, debes de forzarlos a generar contraseñas seguras, pero como sabemos que es complicado convencer a todos para que te hagan caso, o bien que siempre puede haber alguien que meta la pata, existe un plugin que obliga a todos los usuarios a generar passwords fuertes: https://es.wordpress.org/plugins/force-strong-passwords/
¿Qué puedes hacer si has perdido tu contraseña de WordPress?
WordPress tiene un sistema de recuperación de contraseñas muy sencillo de utilizar. Sólo tienes que poner tu nombre de usuario o dirección de correo electrónico y te llegará un email de recuperación.
Pero seguramente te preguntarás, ¿qué hago si no recuerdo el correo electrónico que usé?, en este caso aún se puede hacer algo, aunque es un proceso algo más complejo ya que requiere entrar en “phpMyAdmin” ¡No te asustes! Estos son los pasos:
– Entra en el CPanel de tu hosting.
– Haz click en phpMyAdmin.
– Aquí te mostrará la base de datos. Haz click en tu base de datos.
– Localiza la tabla “wp-users” y haz click.
– Aquí te aparecerán todos los usuarios dados de alta en el sitio web. Haz clic en “editar” en la fila del usuario que queremos editar. Podrás cambiar tanto el nombre de usuario, email o contraseña. Si cambias la contraseña, tienes que seleccionar “MD5” en el selector de “función”, ya que la contraseña está en ese formato
– Finalmente haz clic en continuar y se quedaría listo.
En el punto anterior citamos el tema de las contraseñas, pero no podemos olvidarnos de los nombres de usuario. Los hackers saben que muchos utilizan el nombre “admin” por defecto, o bien el nombre del dominio del blog. Por ello se deben introducir nombres complejos.
En el punto donde hemos explicado los ataques más comunes, hablamos del ataque de fuerza bruta. Bien, pues los hackers utilizan “Admin” como usuario en su primer intento, por tanto nunca lo utilices.
Existe un truco con el que los hackers pueden saber el nombre de usuario que has utilizado en tu blog. Entraremos más en profundidad sobre esto un poco más adelante en este post.
Cambia la ruta de acceso al Admin de WordPress
Por defecto WordPress crea la ruta www.dominio.com/wp-admin , y esta es la primera ruta que prueban los malvados. Por ello te recomendamos cambiar dicha ruta. Hay un plugin que hace este trabajo de forma sencilla: Rename WP Login . Una vez instalado, debemos ir a ajustes > enlaces permanentes, y ahí tendremos un apartado para escribir una ruta diferente.
Limitar los intentos de acceso de login
Anteriormente citamos los ataques de fuerza bruta. Para evitarlos basta con instalar la siguiente herramienta – plugin: Loginizer
Bloquear el acceso al Admin desde otros países
Es recomendable bloquear el acceso al panel de administración a el resto de países que no sea el tuyo, ya que si por ejemplo tu estás en España ¿para que permitir el acceso al Admin desde Rusia o China? Al menos así evitas posibles ataques desde países con mucho hacker malvado suelto.
Elimina los archivos innecesarios
Existen un par de archivos que WordPress trae en la instalación que lo único que hacen es dar pistas a los hackers. Por tanto conviene borrarlos: readme.html y wp-config-sample.php (ambos en la raíz de la instalación de WordPress).
Instala un buen plugin para bloquear el spam en los comentarios
El que usamos nosotros es este: Anti-Spam . Es instalarlo y a funcionar, no requiere ninguna configuración.
– Otra medida de seguridad esencial es la que viene a continuación:
Mantener actualizado tu sitio y plugins de WordPress
Esta es una de las vulnerabilidades más comunes y a su vez de las más fáciles de corregir. Tan sólo es necesario entrar frecuentemente al blog e instalar todas las actualizaciones de wordpress, actualizaciones de tema y actualizaciones de plugins que vayan saliendo.
Cada vez que alguno de los elementos necesite actualizarse, WordPress nos avisará en el panel de administración, al mismo tiempo que aparecerá en el menú lateral izquierdo un número correspondiente a las actualizaciones que tenemos pendientes.
El proceso es tan fácil como entrar en plugins y hacer clic en actualizar.
Si tenemos varios plugins por actualizar, podemos hacer clic en la casilla de “seleccionar todos” y en el desplegable seleccionar “actualizar” y se actualizarán todos de manera automática. De esta manera nos ahorramos tener que actualizar uno por uno.
Recuerda siempre hacer un backup antes de actualizar nada, por si dichas nuevas versiones de temas y plugins nos diesen algún conflicto. De todos modos si utilizas
updraftplus tal cual mencionamos anteriormente, te hará un backup automático antes de actualizar, es una de las cosas que hacen que queramos tanto a este plugin <3
Ten instalados sólo los plugins necesarios. En caso de que pruebes algún tema o plugin y lo dejes de utilizar, no lo dejes “desactivado” ya que esto es una mina de entrada para hackers. Te recomendamos que una vez dejes de utilizar algún plugin, elimínalo siempre.
Instala un certificado SSL en tu web
Seguramente habrás visto por Internet esas webs que tienen un “candado verde”. Bien pues eso significa que dicha web es segura. También habrás visto que tienen una “S” tras el Http. Esa “S” significa “secure” (segura). Con esta implementación, los datos van cifrados de extremo a extremo. Esto es bueno tanto para tus visitantes como para ti.
Muchos hosting te proporcionan un certificado SSL gratis (Let’s Encrypt). Lógicamente no serán tan buenos como los de pago, pero sirven perfectamente.
Instala un firewall
Cuanto más popular sea tu sitio web, más ataques de inserción de código tendrá. Una manera sencilla de detener esto es con el plugin: BBQ Block Bad Queries.
Instalamos y listo, no se necesita hacer nada más.
¿Qué debes hacer si tu web ha sido hackeada?
Lo primero es restaurar tu web con la última copia de seguridad (anterior a que ocurriera el ataque).
Si no tienes ninguna copia de seguridad – backup del sitio, el procedimiento sería el siguiente:
- Revisar todos tus plugins. Haz una lista de tus plugins instalados, elimínalos a través de FTP de la carpeta de plugins y vuelve a instalarlos desde su web oficial. Si algún plugin no es una descarga original o no está listado en el repertorio de WP de plugins, no lo vuelvas a instalar.
- Borra los archivos de la instalación de WordPress. Elimina todos los archivos de instalación excepto la carpeta Wp-Content, el fichero .htacess y el wp-config.php y sustituye todo lo demás por una versión nueva de WordPress.
- Revisa manualmente los archivos .htacess y wp-config.php para garantizar que no tienen ningún código malicioso inyectado. Si detectas algo en el htacess, bórralo. Y en caso de detectar algo en el wp-config, usa una copia nueva del archivo y vuelve a introducir todos tus datos en la base de datos.
- Revisa la carpeta que contiene los temas y borra cualquier tema que no estés utilizando. Si tienes una copia de tu tema, sustituye el existente por la copia virgen del tema. Si por el contrario tienes un tema pirata descargado, es posible que de ahí venga el problema, por lo tanto elimínalo y sustituyelo por otro tema.
- Haz un escaneo de tu sitio utilizando esta herramienta: Sucuri . Si detecta una inserción en la base de datos, es muy complicado de limpiar. por lo que sólo quedan tres opciones: eliminar tu base de datos, restaurar un respaldo de la base de datos anterior al hackeo o bien contratar servicios profesionales para que limpien tu sitio, como por ejemplo los mismos de Sucuri.
- Por último, cuando tengas tu sitio limpio, debes solicitar una revisión a Google:https://developers.google.com/webmasters/hacked/docs/request_review?hl=ES
Conclusión
WordPress es muy seguro, pero los hackers están constantemente buscando crear nuevos ataques. Si sigues todas las medidas mencionadas en este post, estarás incluyendo muchas capas de protección a tu sitio web.
Cualquier duda que tengas o si quieres aportar alguna técnica más, será bienvenida en los comentarios!!
Especialista en WordPress y Posicionamiento SEO. The boss en JmPacheco.com & Diseñador Web & SEO en Informatix.es. Me encantan los negocios online, ya que me permiten vivir el estilo de vida que quiero.
¿TE HA GUSTADO EL POST? TU OPINIÓN ES IMPORTANTE
Aún no te vayas, queremos pedirte un favorcillo 🙂 ¿Puedes ayudarnos a compartir esta página en tus redes sociales? Así podremos llegar a más gente como tú que necesita nuestra ayuda en temas como este. Tan sólo tienes que hacer click en los botones de aquí abajo. ¡¡Mil gracias de verdad!!
Hola Jose Manuel
Me gusto mucho tus recomendaciones, solo añadir a los formularios agregar recapcha ya que no hacerlo la vulnerabilidad se agudiza y por allí y pueden afectar los sitios web, lo de los password genial 🙂
Un abrazo desde Mexico
Saludos
Hola Juan, muchas gracias por tu respuesta. Es un placer que te haya gustado el post! 😀
En cuanto a los recaptcha llevas razón, lo único que yo ya los uso de otra manera mucho más cómoda para el usuario. Se trata de un campo que es invisible para el usuario (así no tiene que hacer click en la casilla), pero sí detecta el spam y bloquea automáticamente.
Este campo se llama “Honeypot” y se emplea a través del widget de formulario de Elementor Pro.
Espero que te sirva de ayuda.
Abrazos para Mexico!!
Tengo yo aún pendientes algunas de estas cosas, pero ya está establecido en mi calendario para hacerlo sí o sí!!
Gran artículo Jose Manuel, me acabas de recordar que tengo que mirar bien a fondo la seguridad, que luego todo son sustos.
Un abrazo,
Bego.
Muchas gracias Bego por tus palabras!!
Esperamos que eches bien el candado. Ya nos vas contando 😀
Un abrazo!