Hemos hecho una recopilación de recomendaciones para proteger al máximo tu WordPress. Al ser el gestor de contenidos más utilizado en el mundo es bastante común que recibas ataques de hackers, fuerza bruta y robots. Si tienes todas las opciones marcadas por defecto podrías tener algún problema de seguridad que te deje sin página web o que incluya código malicioso. Mira a ver cuáles de estas acciones puedes hacer para estar mucho más protegido.
1. No utilices el prefijo wp_ para la base de datos
Desde el primer momento de la instalación de WordPress tienes que especificar una serie de información que tienes que introducir para que WordPress se comunique con la base de datos.
La mayoría de esa información te la facilita tu proveedor de alojamiento, como el nombre de la base de datos, el usuario y contraseña de la misma. Pero sí hay una decisión que tomar: decidir el prefijo de las tablas que se crearán para WordPress.
Por defecto, en esta pantalla el prefijo ofrecido es wp_
, de manera que tus tablas quedarán tal que wp_options
, wp_comments
, wp_posts
, etc.
Y, por supuesto, esto es algo que todo hacker sabe, y es información gratuita que damos a cualquier posible atacante, que sabe que si no haces una instalación segura las tablas de WordPress – que son estándar – tendrán esos nombres completos si no cambias el prefijo.
Así que el primer lugar donde debes empezar a asegurar WordPress es antes incluso de instalarlo, en este paso: cambia el prefijo para las tablas por defecto (wp_
) por otro a tu elección, por ejemplo wptabla_
o X1jM_
o lo que quieras. Lo importante no es lo largo o complicado que sea sino que, al menos, no dejes el prefijo por defecto.
2. No utilices el usuario admin para acceder a WordPress
Otra de las decisiones que tenemos que tomar durante la instalación de WordPress es el nombre del primer usuario para acceder a la administración de nuestra web, usuario que por defecto tendrá permisos totales de gestión de la misma.
Durante años WordPress ha ofrecido un nombre de usuario por defecto que, por supuesto, no debes utilizar. Así que en el momento de elegir el nombre de tu primer usuario para acceder a WordPress no elijas aquellos nombres comunes para esta tarea, como admin, Admin, root, etc., ya que son los primeros que comprobará un hacker que quiera tomar posesión de tu web.
3. Utiliza una contraseña fuerte
Sé que es difícil de conseguir que me hagas caso con este truco tan básico, pero es fundamental que seas consciente de que cuanto más fácil de recordar (para ti) sea una contraseña, también será más fácil que los sistemas automáticos de acceso por fuerza bruta de los atacantes la consigan.
WordPress, en sus últimas versiones, incorpora un generador de contraseñas seguras y te «sugiere» utilizarlas. Ésta será siempre la mejor opción. Puedes, no obstante, saltarte esa recomendación y poner una contraseña sencilla, e insegura, pero estarías cometiendo el principal y más importante error de seguridad de todos los posibles.
Actualmente es innecesario utilizar contraseñas fáciles, pues todos los navegadores ofrecen la posibilidad de recordarlas por ti en tu ordenador. Así que usa siempre contraseñas seguras, que contengan letras en minúsculas, mayúsculas, números y caracteres especiales.
En caso de tener muchos usuarios registrados puedes incluso forzar el cambio de contraseñas para que sean todas seguras, incluida la de los administradores. Por ejemplo:
4. Usa siempre la última versión de WordPress
Si hay algo peligroso es trabajar en red con software obsoleto o no suficientemente actualizado. Los hackers suelen atacar principalmente sitios con versiones antiguas, no actualizadas, pues suelen ser más vulnerables al no incorporar la suficiente protección a tipos de ataque conocidos.
Afortunadamente, WordPress ofrece un sistema de actualizaciones automáticas, tanto para el mismo núcleo de WordPress como para plugins y temas.
Por defecto, no deberás preocuparte de las actualizaciones de mantenimiento y seguridad de WordPress, pues las hace sin tu intervención. Simplemente te avisará cuando se haya actualizado. Pero sí deberás realizar, aunque sea con un simple clic, las actualizaciones a las versiones denominadas «mayores».
Por ejemplo, no hace falta tu intervención para actualizar de la versión 4.3.1 a la 4.3.2, WordPress las actualiza por ti. Pero sí desde la 4.3.x a la 4.4, aunque el proceso sea tan rápido y tan sencillo como pulsar un botón.
[Tweet «Los hackers atacan, sobre todo, webs con versiones no actualizadas porque son más vulnerables»]
5. Actualiza los plugins instalados
WordPress es seguro, y es normal que así sea porque hay una gran comunidad que se ocupa de su mantenimiento, desarrollo y crecimiento, pero no pasa lo mismo con los plugins.
Por muy utilizado que sea un plugin, muchas veces detrás hay un único programador que, por razones obvias, no dispone de los recursos ni el tiempo necesarios para tener siempre su plugin al día.
Es por ese motivo que la principal vía de entrada de ataques a una instalación WordPress es en su mayoría a través de plugins sin actualizar.
WordPress nos ofrece un sistema de aviso y actualizaciones automáticas de los plugins instalados, así que cuando veas que alguno necesita actualizarse no te lo pienses.
En caso de no utilizar plugins del directorio oficial es posible que WordPress no identifique automáticamente si hay actualizaciones disponibles. En ese caso deberás estar pendiente de la web del desarrollador.
6. Actualiza el tema activo
Igualmente importante es usar siempre una versión actualizada del tema activo, pues los hackers saben que no se suelen cambiar muy a menudo, lo que les da tiempo para aprender de su código e inventarse modos de hacerte la vida más complicada e incluso meterte en problemas.
Si usas un tema del directorio oficial, de nuevo, WordPress te avisará de las actualizaciones. Y si utilizas un plugin que hayas adquirido en otro sitio deberás estar pendiente de las noticias de su creador para actualizarlo cuando haya novedades.
7. No utilices plugins o temas obsoletos
Una de las más importantes fuentes de vulnerabilidad son los plugins y temas obsoletos o abandonados por sus desarrolladores. Revisa frecuentemente la página del programador de tu tema y plugins para comprobar si ha actualizado recientemente su producto y, en caso contrario, busca una alternativa que te ofrezca las mismas prestaciones.
Si utilizas temas y plugins del directorio oficial de WordPress encontrarás toda la información disponible, como la fecha de la última actualización y la compatibilidad con las últimas versiones de WordPress.
Además, el directorio oficial de WordPress retira automáticamente plugins y temas que no se hayan actualizado durante más de dos años, lo que supone una garantía adicional.
En caso de utilizar temas y plugins descargados de otros sitios deberás comprobarlo en su propia web e instalar manualmente cualquier actualización.
8. Borra los plugins y temas que no utilices
En línea con la acción anterior, es un peligro tener instalados plugins y temas inactivos, por la sencilla razón de que les prestaremos menos atención al no estar activos. No solo ocupan espacio en tu alojamiento sino que suponen una vía de entrada a posibles vulnerabilidades en tu web.
El único tema activo que deberías dejar instalado es el último tema por defecto de WordPress disponible (ahora mismo Twenty Fifteen), que supone una regla de protección adicional para tu web, ya que si WordPress detecta un problema en tu tema activo y no puede cargarlo intentará activar automáticamente el tema por defecto si lo encuentra instalado.
9. Descarga plugins y temas de sitios seguros
El sitio más seguro para descargar plugins y temas es el directorio oficial, en cuyas direcciones tienes versiones actualizadas, comprobadas y seguras de los últimos desarrollos. Son los temas y plugins que puedes instalar desde el instalador incluido en tu WordPress, y que también puedes visitar en las siguientes direcciones:
https://es.wordpress.org/plugins/
https://es.wordpress.org/themes/
Además, hay mercados de temas y plugins como Envato, Woothemes o Elegant Themes, de gran calidad y cuidado por sus productos.
Por supuesto, nunca descargues plugins y temas de las redes P2P como Torrent o eMule, suelen estar todos infectados de virus y malware.
10. Protege el archivo de configuración de WordPress
El archivo de configuración de WordPress, el fichero wp-config.php, contiene información muy sensible sobre tu servidor:
- Nombre de la base de datos
- Usuario de la base de datos
- Contraseña de la base de datos
- Prefijo de las tablas de la base de datos.
Por este motivo es vital protegerlo de miradas ajenas y, por supuesto, de modificaciones no deseadas.
Para ello puedes realizar las siguientes acciones:
- Moverlo a una carpeta superior, de manera que si está situado en la ruta …/public_html/midominio.es/ lo muevas a la carpeta …/public_html/.
- Protegerlo contra escritura cambiando los permisos a 444.
- Añade las siguientes reglas al fichero de Apache .htaccess para evitar accesos no deseados:
<Files wp-config.php> order allow,deny deny from all </Files>
11. Protege la carpeta de archivos subidos
La carpeta uploads, situada en la ruta tusitio.es/wp-content/uploads donde se suben las imágenes y documentos que adjuntas a tus publicaciones en WordPress, es la más susceptible de ataques. De modo que es importantísimo protegerla para evitar que se ejecuten desde la misma virus o scripts maliciosos.
WordPress no permite por defecto la subida de archivos ejecutables a esta carpeta pero hay técnicas que utilizan los hackers para saltarse esta regla. Así que debemos aplicar protección extra, definiendo expresamente qué extensiones de archivo se podrán subir a la misma.
Para ello, añadiremos las siguientes líneas de código al fichero oculto de configuración de Apache .htaccess, situado en la carpeta donde instalaste WordPress:
<Files ~ ".*\..*"> Order Allow,Deny Deny from all </Files> <FilesMatch "\.(jpg|jpeg|jpe|gif|png|bmp|tif|tiff|doc|pdf|rtf|xls|numbers|odt|pages|key|zip|rar)$"> Order Deny,Allow Allow from all </FilesMatch>
12. Haz copias de seguridad
Si hay una regla fija en la seguridad es que da igual las medidas que apliques, siempre habrá alguna vulnerabilidad nueva para la que no estemos protegidos, siempre iremos un paso por detrás de los ataques malintencionados. Así que, en caso de desastre, lo único que nos puede salvar de una eventual pérdida de todo nuestro contenido es disponer de copias de seguridad.
Comprueba que tu proveedor de alojamiento web dispone de copias de seguridad automáticas completas. Y, además, instala un plugin de copias de seguridad como BackWPup, que te permite programar distintas tareas de copia de seguridad, pudiendo guardar tus copias en otro servidor, enviarlas por email, o incluso automatizar su guardado en servicios Cloud como DropBox, Amazon S3 o Google Drive, entre otros.
[Tweet «Para evitar ataques de extraños en tu Wordpress, la regla número 1 es tener copias de seguridad»]
13. Limita los intentos de acceso
La mayoría de los actuales ataques contra sitios WordPress se realizan mediante intentos masivos de acceso a través de la pantalla de login, así que es imprescindible proteger el acceso interno a tu WordPress.
Para ello, podemos aplicar distintas medidas de seguridad:
- Inhabilitar el registro de usuarios, evitando de este modo que usuarios con malas intenciones aprovechen posibles vulnerabilidades para obtener permisos extra en tu instalación y la posibilidad de realizar cambios en la misma.
- Añade un sistema de comprobación humana como reCaptcha, que evita accesos indeseados de máquinas automatizadas que intenten obtener acceso a tu sitio.
- Instala algún plugin para evitar intentos de acceso masivos como Limit login attempts, el módulo Protect de JetPack o las utilidades de este tipo de la mayoría de los plugins de seguridad, para que bloqueen este tipo de ataques.
14. Instala un plugin de seguridad
Muchas de las medidas de protección que podemos aplicar a nuestra instalación de WordPress vienen incluidas en plugins especializados en asegurar WordPress.
La mayoría de ellos contienen ajustes para evitar ataques de fuerza bruta, inyecciones de código y modificaciones de archivos de sistema, incluyendo sistemas de aviso para que estés informado de cualquier posible ataque en curso.
Los más recomendables son los siguientes:
15. Utiliza permisos de archivos y carpetas seguros
Por defecto, WordPress aplica permisos de lectura y escritura a archivos y carpetas que, en ocasiones, pueden modificarse, bien automáticamente por algunos plugins, bien manualmente al subir tú mismo archivos desde las utilidades de cPanel o, incluso, mediante clientes FTP.
Los permisos por defecto que deben tener archivos y carpetas en WordPress son los siguientes:
- Archivos: 644
- Carpetas: 755
Si algún archivo o carpeta tiene más permisos sería una posible fuente de vulnerabilidades. Deberás cambiarlos a los permisos por defecto desde el administrador de archivos de cPanel o tu cliente FTP favorito.
16. Utiliza un proxy inverso como CloudFlare
Una medida que no solo mejorará la seguridad sino también la seguridad de WordPress es usar un servicio CDN, o red de entrega de contenidos remotos como CloudFlare, con un plan gratuito muy completo y plugins que facilitan su integración con WordPress.
Además de ofrecer un sistema de cache muy potente, también incorpora medidas de protección como las siguientes:
- Ofuscación de emails, evitando la captura de direcciones de email mostradas en tu web
- Bloqueo de IPs de visitantes con comportamientos sospechosos de ser atacantes
- Siempre online, para mostrar una versión en cache de tu web incluso cuando estés siendo objeto de un ataque en curso
17. Crea una cuenta en Google Search Console
Las antiguas herramientas para webmasters de Google, ahora conocidas como Google Search Console, además de herramientas fundamentales de analítica y análisis de tu web, ofrece protección extra para tu WordPress.
En definitiva, que es imprescindible que des de alta tu sitio en la Search Console para que Google te informe de:
- Actualizaciones de WordPress
- Inyecciones de código
- Avisos de problemas de usabilidad
- Problemas de velocidad
Plugins como Yoast SEO o All in one SEO pack permiten la integración de WordPress con la Search Console de manera sencilla.
18. Impide el acceso de sploggers
Si por algún motivo permites los registros de usuarios en tu WordPress debes protegerte contra los conocidos como sploggers, usuarios que se registran masivamente en webs para intentar acceder a su configuración, añadir comentarios spam o incluso inyectar malware.
La solución definitiva para este tipo de usuarios es, por supuesto, no activar el registro de usuarios (comportamiento por defecto de WordPress). Pero si por motivos de fidelización o marketing tienes habilitado el registro deberás instalar el mejor plugin que existe para detectar y eliminar esta amenaza: WangGuard.
19. Protege el archivo .htaccess
Hemos visto varias acciones que podemos realizar desde el archivo de Apache .htaccess, pero por el mismo motivo es igualmente importante proteger este mismo archivo.
El archivo .htaccess es un fichero del servidor Apache que aplica reglas a cualquier aplicación instalada en tu alojamiento, en nuestro caso WordPress, pudiendo aplicar medidas de seguridad y seguridad, entre otras.
Para proteger también el archivo .htaccess de accesos no deseados puedes incluir las siguientes líneas en el mismo archivo:
<files .htaccess> order allow,deny deny from all </files>
20. Protégete del spam
Una de las tareas habituales de cualquier administrador de un gestor de contenidos, como WordPress, es controlar el spam en los comentarios. Primero, porque es fuente de distracciones y enlaces no deseados en los formularios de comentarios. Y segundo, porque algunos hackers utilizan estos formularios para inyectar código que podría comprometer la seguridad de tu instalación de WordPress.
Para ello podemos, y debemos, aplicar diferentes estrategias:
- Añadir un sistema de comprobación humana Captcha mediante plugins Really Simple CAPTCHA o el anteriormente comentado WangGuard.
- Activa un plugin de comprobación de spam como Akismet.
- Proteger los formularios de la inyección de caracteres especiales.
Y, por supuesto, y sin necesidad de instalar nada, aplicar reglas de control de spam desde los Ajustes -> Comentarios de tu instalación de WordPress:
- Aprobando manualmente todos los comentarios.
- Añadiendo reglas para marcar como spam automáticamente comentarios no deseados.
21. Evita la vulnerabilidad pingback
Hay una vulnerabilidad concreta, denominada como vulnerabilidad pingback, que merece una mención especial porque, aunque de fácil solución, dejaría inactivas funciones importantes de WordPress como la gestión remota, el uso de aplicaciones móviles o incluso el sistema de pingbacks y trackbacks.
Está relacionada con el protocolo XML-RPC, que es el que permite que WordPress se conecte, por ejemplo, con la aplicación WordPress para iOS o Android, así como editores offline y algunos sistemas de sindicación de contenidos, por lo que en principio inactivar este protocolo no parece recomendable.
Lo malo es que es una vía abierta de posibles inyecciones de código por parte de atacantes.
No obstante, si tuvieses claro que nunca vas a utilizar este tipo de aplicaciones la solución es tan sencilla como borrar el archivo de la instalación de WordPress denominado xml-rpc.php.
El único problema es que cuando actualices WordPress se volverá a crear, así que una medida más precisa sería añadir estas líneas al ya conocido archivo .htaccess:
# proteger xmlrpc <Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
22. Comprueba los cambios en los archivos de tu instalación de WordPress
Debes tener presente que la seguridad debe ser una preocupación permanente y activa. Pero, afortunadamente, WordPress nos ayuda a automatizar muchas de estas tareas y de manera totalmente gratuita casi siempre.
Y un modo estupendo de vigilar nuestra instalación de WordPress es utilizando plugins como iThemes Security o WordFence, vistos anteriormente. Estos plugins vigilarán por nosotros la integridad y posibles cambios de los archivos de nuestra instalación de WordPress, tratando de evitar modificaciones y, cuando no sea posible, avisándonos de estos cambios para que podamos revertirlos y así permanecer seguros.
¿Sabes más trucos para mejorar la seguridad?
Espero que te sirvan todos estos trucos y acciones para proteger WordPress. No son todos los que existen pero sí los más importantes. No obstante, seguro que tú sabes algún truco más, así que no te cortes y cuéntamelo en los comentarios.
También, si tienes alguna duda, estoy deseando escucharla y contestarte.
55 comentarios
Únete a la conversaciónPaulo Martins - 23 octubre, 2015
Que buen post, Fernando. La seguridad es uno de los asuntos más importantes de quienes hacen vida en la red. Yo estoy al início de la utilización de WordPress, pero me guardo tu post en favoritos, porque voy a volver por él. Enhorabuena y muchas gracias por tu contenido tan valioso? Paulo Martins
Fernando Tellado - 25 octubre, 2015
Gracias a ti Paulo. Un abrazo grande grande 🙂
Gabriel - 25 octubre, 2015
Excelente muchas gracias
Fernando Tellado - 25 octubre, 2015
A ti Gabriel
Alicia Ro - 25 octubre, 2015
Muchas gracias, Tellado, por estos consejos para garantizar la seguridad de nuestros blogs en WordPress. No somos conscientes de la importancia de proteger nuestra página web de posibles intrusos malintencionados. Como experto en la materia que eres desde hace tiempo y por tu experiencia, ¿normalmente los hackers muestran interés en blogs personales? ¿O les resulta más tentador entrar en páginas de empresas o marcas? ¿Qué propósitos y objetivos mueven, normalmente, a este tipo de usuarios perversos? Soy un poco inocente en relación a este tema porque nunca he tenido una experiencia negativa, pero me encantaría saberlo.
Fernando Tellado - 25 octubre, 2015
Es una pregunta muy lógica, pero la respuesta no te va a gustar …
Y es que SÍ, cualquier web o blog interesa a los hackers, de hecho para según qué usos prefieren blogs personales porque son más fáciles de «entrar», debido a que el usuario piensa «¿si casi ni escribo ni tengo visitas a quien le va a interesar?».
Los usos pueden ser variados pero el más común es para usar tu web como servidor zombi para …
– Insertar enlaces de referidos por los que cobran dinero
– Crear contenido lleno de enlaces para posicionar a los que les pagan por cada enlace
– Usar tu web como servidor zombi desde donde realizar ataques a otros y salir ellos impunes al aparecer tu web como la atacante
La tercera opción es la más común.
Siento haberte estropeado el domingo 😀
Alvaro Vázquez Duarte - 27 octubre, 2015
Hola
Muy extenso e instructivo artículo.
Tengo una duda de un error que tuve al modificar el archivo .htaccess al querer proteger el archivo wp-config.php. Me sale esto:
Forbidden
You don’t have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
¿Sabe alguna razón de por qué me aparece ese mensaje?
¡Muchas gracias por su ayuda!
Fernando Tellado - 27 octubre, 2015
Hola Álvaro,
Es un error de permisos de archivo, normalmente cuando quieres escribir cambios en un archivo que no lo permite.
Prueba a añadir esta línea al
.htaccess
de tu instalación de WordPressJusto antes de donde pone #BEGIN WORDPRESS
Si no puedes te toca contactar con tu proveedor de hosting para que te de permisos al archivo htaccess de modo que puedas cambiar los enlaces permanentes
Elian - 27 octubre, 2015
Muy bueno tu post, recientemente hubo alguien intentando la fuerza bruta para acceder a mi wp, una pregunta, esas lineas de codigo las puedo poner juntas en el archivo htaccess que me genera seo yoast? Gracias
Fernando Tellado - 28 octubre, 2015
Primero una aclaración: el .htaccess no lo genera Yoast sino WordPress, lo que hace Yoast es añadir reglas extra para su funcionamiento y redirecciones (por ejemplo quitar el /category/ de las URLs.
Y si, puedes añadirlas, mejor al principio del archivo .htaccess. No obstante siempre aplica una norma a la hora de añadir funcionalidades, ya sean plugins o líneas de código: UNA CADA VEZ, prueba a ver los cambios como van y luego pasas a la siguiente, etc
Un saludo.
Brandon Diaz - 29 octubre, 2015
Muy buen artículo Fernando!
Hay otro truco interesante para aumentar la seguridad en WordPress: Cambiar la ruta de login, para que no sea el típico wp-login
Se puede lograr de manera muy sencilla con un plugin como este: https://wordpress.org/plugins/wps-hide-login/
Y como alternativa a Akismet, yo uso este otro plugin, igual y a alguien le sirve 😉
https://wordpress.org/plugins/zero-spam/
Fernando Tellado - 1 noviembre, 2015
Genial, gracias por tus trucos 🙂
Leo - 10 junio, 2017
Sí, hay plugins para cambiar el típico wp-login o wp-admin, sin embargo, si instalas plugins con Límite de Intentos de Acceso como WordFence que tiene esa función, p. ej. a los 10 intentos el hacker será redirigido a una página con el Aviso de que ha sido bloqueado por intentar acceder, y la Url de tal Aviso va acompañada por tu Secret Login Name! Así que habría que buscar una solución para que ni el Aviso de ese tipo de plugins revele el Path secreto.
Rafa - 31 octubre, 2015
Usar si es posible una página estática para los 404, te sorprenderías la de veces que he visto cómo tumbaban un servidor porque las 404 las gestiona WordPress
Fernando Tellado - 1 noviembre, 2015
buena idea también 😉
José Conti - 9 diciembre, 2015
Hola Fernando,
Uno más con las que se puede ampliar toda tu fantástica lista son:
Tener como mínimo dos usuarios, uno que sea administrador, con el que solo lo usarás para las tareas de mantenimiento y nunca se escribirán entradas, se publicarán páginas o responderá a comentarios, y un segundo que será Editor, con el que si se hará todo lo anterior. De esta forma, en el caso en que consiguieran acceder con el Editor (por fuerza bruta por ejemplo), nunca podrían modificar archivos o subir mediante el instalador de plugins un «plugin» que fuera un uploader (por ejemplo), con el que ya crearían un «backdoor».
Así mismo es buena idea utilizar en el caso del administrador nombres complejos, no simples de una sola palabra, es decir, el administrador del sitio que no sea «fernandot», si no que sea por ejemplo «Fernando Tellado Super Guru» (lo pongo sin acento que la verdad es que no se si los acepta).
Saludos.
Fernando Tellado - 10 diciembre, 2015
Buenos apuntes Jose, aunque nadie los cumpla 😀
Evaristo GZ - 13 diciembre, 2015
Completo artículo.
Para complementar estas opciones de seguridad, puede incluirse un bloqueo de intentos de logins. Tengo un WordPress con un plugin de ese tipo y vi que estaba siendo atacado constantemente. Aunque cambiase el nombre de usuario administrador y no publicase con él consultaba la dirección: nombreblog.com/?author=1 para extraer el primer usuario que es, por defecto, el administrador y continuaba con los ataques. Finalmente decidí mover el acceso al login.
Saludos.
Fernando Tellado - 14 diciembre, 2015
Tienes razón, hay varios, como Limit Login Attempts, que funcionan muy bien 😉
Mònica - 23 enero, 2016
Buen Post.
Lo que también cambiaría serían los valores AUTH / SALT que vienen por defecto del archivo wp-config.
Una manera fácil y segura es por el api de wordpress http://api.wordpress.org/secret-key/1.1/salt
Saludos!
Felipe - 9 marzo, 2016
Hola, buenas tardes! Que pasa en el caso de que yo ya haya modificado mi plantilla wordpress para que quede como yo quiero, es posible realizar los 22 pasos? o cambiara las modificaciones que hice en mi plantilla?
Arsenio - 5 abril, 2016
Genial. Muy fácil de entender y se va a mi lista de favoritos. Gracias
Tomy - 9 mayo, 2016
Gran artículo Fernando, muy completo! Como complemento, yo bloquearía la edición de archivos desde el backoffice añadiendo la siguiente línea en el archivo wp-config.php:
define (‘DISALLOW_FILE_EDIT’ , true);
un saludo!!
Sonia - 13 febrero, 2017
Hola, en que línea se pone exactamente. Gracias.
Maleo - 9 junio, 2016
Excelente artículo. Voy a ponerme a ello. Gracias
Ignacio - 20 julio, 2016
Intenté proteger xmlrpc con la técnica mencionada y me da error en la carga de mis posts, les da error 404 🙁
Erick - 6 agosto, 2016
Fernando muchas gracias por este aporte muy completo.
Sonia - 13 febrero, 2017
¡Increíble artículo! Precisamente nos han hackeado una web y nos estamos volviendo locos para arreglarlo. He subido a la carpeta www (donde instalé el wordpress «limpio») el archivo .htaccess, ¿está bien en esa ubicación? Gracias por el post.
Nora - 21 febrero, 2017
¡Hola!
Muy buen artículo 🙂 La única cosa que quería preguntar es ¿no es un poco paradójico que nos indiques que no usemos plugins o themes obsoletos y, en cambio, recomiendes Limit Login Attempts que pone que hace no sé cuántos años que no se actualiza?
CMDGroup Diseño Páginas Web - 1 julio, 2017
A lo mejor no se actualiza porque no ha hecho falta, si funciona bien su programación y aun no han encontrado vulnerabilidades….
David - 28 marzo, 2017
Un artículo muy interesante.
Yo suelo poner estas reglas en el .htaccess (Algunas ya las nombráis en el artículo)
# Bloqueo acceso al directorio includes
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ – [F,L]
RewriteRule !^wp-includes/ – [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php – [F,L]
RewriteRule ^wp-includes/theme-compat/ – [F,L]
# Bloqueo acceso a WP-CONFIG
Order Allow,Deny
Deny from all
# Proteger nuestro HTACCESS
Order allow,deny
Deny from all
Satisfy all
# Cerrar acceso a directorios de themes y plugins
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*\.php)$ – [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*\.php)$ – [R=404,L]
# No permitir ver los directorios
Options -Indexes
Fede - 9 abril, 2017
Muy buen artículo. Donde estudiasteis para ser experto en wordpress? O solo te lo dio la experiencia?
Hosting - 1 junio, 2017
Excelente post he realizado algunas de estas acciones para poder entregar mas seguridad a mi pagina web, muchas gracias por estos tips, Saludos.
Eri PB - 13 junio, 2017
Hola. ¿Qué tan cierto es eso de que en una foto puede ir un virus? Quizá es muy tonta mi pregunta pero yo sólo subo información a un sitio en wordpress y dicen que así entró el virus (por una foto). Yo no lo creo, pero prefiero preguntarles a ustedes que saben sobre estas cosas.
Mil gracias.
CMDGroup Diseño Páginas Web - 1 julio, 2017
La verdad es que esta bien la entrada, eso si esta frase es la mejor «Una medida que no solo mejorará la seguridad sino también la seguridad de WordPress es usar un servicio CDN» jeeje, bromas aparte… considerais Duplicator buena opción para realizar copias de seguridad periódicas?
Daniel - 3 octubre, 2017
El artículo esta realmente bien, me ha gustado mucho.
No obstante, yo añadiría el tema de la enumeración de los usuarios que se puede hacer de una forma bastante fácil en WordPress, lo cual ayuda a los ciberdelincuentes que nos quieran atacar a obtener los usuarios que tengamos registrados. Se comprueba muy fácilmente:
https://www.tudominio.es/?author=1
Ese «?author=1», permite sacar todos los usuarios que haya.
Para evitarlo se añade el siguiente código al .htaccess:
# Evitar enumeración usuarios
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ http://tudominio.com/ruta_real_que_sea/? [L,R=301]
Otra cosa que se debe tener en cuenta, es quitar el archivo readme.html, ya que facilita la versión de WordPress que tenemos instalada. Así como evitar poner el archivo robots.txt en la raíz del sitio, porque le estamos facilitando el trabajo al delincuente dando la estructura de archivos de nuestro site.
También sería conveniente ocultar la ruta de login de acceso, es decir, evitando que sea wp-admin(hay plugins de seguridad que lo cambien de una forma muy sencilla). Así, también es interesante quitar el mensaje que sale por defecto en el panel de acceso cuando introducimos un usuario o contraseña erróneos, ya que por defecto sale cuál de los dos (usuario o contraseña) es el dato incorrecto, por lo que también estamos indicando a los atacantes que al menos uno de los dos datos introducidos es correcto.
Un saludo
Eco Hosting - 17 octubre, 2017
Excelente post he realizado algunas de estas acciones para poder entregar mas seguridad a mi pagina web, muchas gracias por este aporte muy completo.
Angeles - 8 febrero, 2018
Hola tengo una consulta cuando instale mi wordpress (novata) cambie inmediatamente el prefijo wp en las tablas, la pregunta es la siguiente ¿como hago para evitar que el prefijo wp siga apareciendo cuando hago login en mi sitio o se muestra en el directorio si ya la he cambiado? revise el archivo php config para ver los cambios y en efecto la base de datos esta con el prefijo que puse, tambien inclui las reglas en el archivo htacces y me dio un error interno 505 y la pagina down asi que tuve que empezar otra vez.
Javier Socialcan - 31 marzo, 2018
Buenas noches, llevo meses buscando como colocar las cabeceras de seguridad (X-Frame-Options, X-Content-Type-Options) pero el WAF siempre que las meto, ya sea con plugin o por el functions.php me deja sin acceso. Tengo entendido que las cabeceras en principio protegen a mis usuarios y de nada me sirve yo tener un fuerte, si por fuera mi comunidad está fichada. Tengo entendido que la forma recomendable es con el archivo functions.php (con el codigo especifico) y después con el plugin CSP. Si alguien me pudiera ayudar lo agradecería y veo que aquí sois muy cracks!! Un saludo Gente
isabel - 8 abril, 2018
muy buen artículo gracias por compartir, aprendermos mucho para mejorar nuestro blog. Un saludo
anabel - 8 abril, 2018
desde luego es super importante la protección de una página web y evitar el hackeo tanto ahora como en el futuro, tengas los artículos que tengas, cuidar de las imagenes y contenido y de las carpetas de hosting evitando la vulnerabilidad. Buenísimo Artículo. Gracias
HostingPlus - 6 junio, 2018
Muy Buen articulo, recomendamos siempre este articulo a nuestros clientes. Gracias!
Perú Campeón - 8 junio, 2018
Buen día, realmente este post me ha servido muchísimo, sigue así muchas gracias por todo 😉
El Rizos - 29 junio, 2018
Gracias por el post.
El plugin WandGuard lo ha dejado el desarrollador, incluso ya no funciona ni su API ni tan siquiera la web.
Estoy buscando algo realmente efectivo para evitar el «registro de usuarios spam». Solo el registro pq para comentarios spam y otros ya tengo Askimet y Wordfence Pro que funcionan realmente bien. Ultimamente instalé tambien el plugin iThemes Security. He bajado bastante los registros spam, pero sigo teniendo muchos
¿Alguien me puede indicar un plugin o alguna configuración para WordPress para evitar el registro de usuarios spam?
El Rizos - 29 junio, 2018
Por cierto Fernando. Nos cococimos en el curso de Google Activate que se hizo en Sevilla en mayo del 2017.
Quería decirte que en tu post https://ayudawp.com/como-activar-wordpress-multisitio/, en el último párrafo recomiendas el uso del plugin WangGuard. Te lo digo por si quieres actualizar la información de ese post, pq como ya te dije en el anterior correo es un plugin que está abandonado por el desarrollador.
Gracias
Herón - 11 septiembre, 2018
Excelente artículo! He llegado a él porque recién me ha pasado encontrar entradas que yo no realice en el sitio web de mi negocio. La última entrada viene hasta con la firma del hackeador.
La pregunta que tengo es ¿ Y ahora que hago ? Qué me recomiendas ?
Aclaro que yo no soy programador. Saludos!
alejandro - 4 octubre, 2018
Muy buen Blog Gracias
Lucia - 5 abril, 2019
Hace poco leí sobre que unos hackers habían encontrado una vulnerabilidad en el CMS de wordpress, asi que me puse a buscar y tuve mucha suerte de encontrarme con estos 22 consejos muy aplicables para estar mas seguros.
Muchas gracias por este gran post
Jorge Olaya - 1 enero, 2020
Amigos, buenos días. Acabo de instalar WordPress en midominio.com/sitio.
Lo hice así porque alguna vez había implementado esa redirección supuestamente por razones de seguridad. Si se mejora la seguridad del sitio? Es mejor instalar WordPress en alguna carpeta que en la raíz del sitio?
Habiendo hecho esa instalación y al crear en CPanel la redirección de midominio.com a midominio.com/sitio, la página queda fuera de operación. Cómo puedo implementar entonces la redirección para que el sitio quede operativo? O será mejor reubicar la instalación de WordPress a la raiz y no usar ninguna redirección?
Cordial saludo.
Abel - 23 febrero, 2020
Muy buen post, gracias
Francisco Tassone - 18 abril, 2020
Hola, buen artículo. solo que el punto N° 11 del total de 22, no logro que me funcione,
Si meto esas lineas de código, dentro del .htaccess, se cae la web.
Alguna sugerencia ?
Gracias
Host - 28 mayo, 2020
Muy buen post, gracias 🙂
Wastehole - 22 septiembre, 2022
Aunque llevo meses formándome tras años de abandono del mundillo de las webs, me considero bastante nuevo en este para mí ahora nuevo mundo. Encontrar este artículo ha sido una proverbial serendipia.
Clientum - 19 abril, 2023
Muy buen artículo, no pierde vigencia. Recomiendo implementar el plugin Wordfence y para mejorar la seguridad de su instalación wordpress, los que tienen disponible Softaculous en su cPanel, pueden aplicar las siguiente Medidas de Seguridad con un solo clic, a saber:
Change default administrator’s username
Restrict access to files and directories (Applied to all selected installations)
Block unauthorized access to xmlrpc.php (Applied to all selected installations)
Block access to .htaccess and .htpasswd (Applied to all selected installations)
Turn off pingbacks (Applied to all selected installations)
Disable file editing in WordPress Dashboard (Applied to all selected installations)
Block author scans (Applied to all selected installations)
Block directory browsing (Applied to all selected installations)
Forbid execution of PHP scripts in the wp-includes directory (Applied to all selected installations)
Forbid execution of PHP scripts in the wp-content/uploads directory (Applied to all selected installations)
Disable scripts concatenation for WordPress admin panel (Applied to all selected installations)
Block access to sensitive files (Applied to all selected installations)
Enable bot protection (Applied to all selected installations)
Saludos desde https://clientum.ar