Copia de seguridad expuesta y archivos sin referencia y cómo encontrarlos

Publicado: 2021-08-24

Mantener su WordPress seguro implica un proceso continuo de prueba, fortalecimiento, monitoreo y mejora. Hay varias cosas de las que los administradores de WordPress pueden encargarse para ayudarlos a garantizar que sus sitios web sean seguros. Desde garantizar que las contraseñas cumplan con criterios específicos hasta fortalecer PHP, estos procesos pueden ser de gran ayuda para ayudarlo a asegurarse de que ejecuta un barco limpio y ordenado. Una cosa que tiende a pasarse por alto es la copia de seguridad expuesta y los archivos sin referencia. Estos archivos pueden representar un riesgo de seguridad que se puede administrar fácilmente siguiendo las mejores prácticas.

WordPress utiliza directorios para organizar la información. Todas las páginas y medios residen dentro de esta estructura. En una instalación típica, esta estructura se parecería a var/www/html/wordpress/wp-content.

Los servidores web, incluidos los servidores que alojan sitios web de WordPress, generalmente están configurados para servir a los clientes todos los archivos que residen dentro de un directorio en particular. Hay algunas excepciones, como los archivos PHP; sin embargo, a menos que un administrador haya bloqueado explícitamente el acceso, lo más probable es que si un cliente lo solicita, el servidor web lo hará.

En términos generales, esto es algo bueno, y es lo que desea que suceda, ya que así es como se entregan al visitante los archivos pertinentes a sus páginas web, como archivos CSS, archivos JS e imágenes. Sin embargo, este comportamiento también significa que puede estar entregando sin saberlo archivos que nunca tuvo la intención de que el público viera, como copias de seguridad y archivos sin referencia.

¿Qué son los archivos de copia de seguridad y sin referencia?

Como sugiere el nombre, los archivos de copia de seguridad y sin referencia son copias de seguridad reales realizadas que pueden ser copias de seguridad de archivos particulares, generalmente creadas al editar archivos como archivos de configuración, o incluso copias de seguridad completas. Comprender qué son estos archivos de copia de seguridad y cómo se generan es el primer paso que debemos dar para abordar el problema.

Hay muchas razones por las que podría necesitar editar archivos de WordPress. Sin embargo, editar los archivos de su sitio de WordPress sin hacer una copia de seguridad primero requiere algo de valor: ¡un punto y coma faltante puede hacer que su sitio web se caiga!

Por supuesto, debido a que tales errores son fáciles de cometer, no es recomendable editar archivos directamente en los servidores web de producción. Las mejores prácticas nos dicen que primero probemos cualquier cambio en un servidor de pruebas o ensayo. Solo después de una prueba exhaustiva y exitosa, los cambios se pueden mover al servidor en vivo/de producción.

En la vida real, sin embargo, no siempre se siguen las mejores prácticas. Esto puede ser especialmente cierto cuando se trata de un cambio diminuto. El proceso de descargar el archivo, realizar los cambios, probar y volver a cargar puede llevar mucho más tiempo que editar el archivo en el servidor en vivo. Todos hemos estado allí.

Editar en el servidor en vivo puede ser muy fácil. Con un cliente SSH y Vi (o Vim si prefieres la versión mejorada), puedes hacer maravillas. Una vez que se conecte al servidor y se dirija al directorio, lo más probable es que primero haga una copia de seguridad del archivo (por ejemplo, wp-config.php.bak), edite el archivo en vivo, asegúrese de que todo esté en orden, y todo es miel sobre hojuelas. Sin embargo, ese archivo de respaldo que queda en la carpeta (por si acaso, ya sabes) puede terminar siendo la fuente de muchos dolores y molestias. Lo más probable es que cualquiera pueda descargarlo y con él toda la configuración, en texto sin formato, nada menos.

Además, es posible que muchos administradores de WordPress no sepan que la edición de archivos en el lugar con un editor de archivos como Vim puede crear automáticamente archivos de copia de seguridad, recuperación y bloqueo. Vim crea estos archivos para permitirle recuperar su trabajo si Vim falla o se cierra inesperadamente. Si bien esta es sin duda una característica valiosa, esto también significa que sin darse cuenta puede terminar con archivos de respaldo que nunca tuvo la intención de crear esparcidos por su sitio web, esperando que alguien acceda.

Del mismo modo, las copias de seguridad de directorios completos que quedan en una carpeta pública pueden ser igualmente dañinas. Si bien es fundamental realizar copias de seguridad de su sitio web de WordPress, esto debe hacerse de manera segura sin introducir nuevos riesgos de seguridad. Hablaremos de esto con más detalle más adelante en este artículo.

Los ejemplos comunes de archivos de copia de seguridad incluyen versiones antiguas renombradas de archivos de configuración modificados, archivos PHP u otro código fuente, y copias de seguridad automáticas o manuales en forma de archivos comprimidos (como archivos .zip, .gz o .tar.gz).

Por otro lado, los archivos sin referencia son archivos extraviados que, debido a una decisión de configuración o diseño, terminan en un lugar al que no pertenecen.

¿Cuáles son los riesgos?

Los archivos de copia de seguridad y sin referencia que se dejan accesibles accidentalmente pueden filtrar información confidencial. Según el archivo, los datos confidenciales pueden incluir parámetros de configuración o código fuente que ayudan a los usuarios maliciosos a comprender mejor cómo funciona su sitio web, lo que facilita la elaboración de un ataque contra su sitio web. En algunos casos, también se pueden filtrar contraseñas que pueden dar a los atacantes control sobre toda la instalación de WordPress.

Hay varias formas en que alguien puede encontrar archivos sobrantes en su servidor web. Si bien algunos de los métodos requieren cierta experiencia técnica, otros son tan simples como una búsqueda en Google, lo que aumenta el riesgo de exposición. Si no está seguro de si tiene archivos sobrantes en su servidor, continúe leyendo para saber cómo puede buscarlos y encontrarlos antes de que alguien más lo haga.

Cómo encontrar archivos de copia de seguridad y archivos sin referencia en su sitio web de WordPress

Hay algunos métodos diferentes que alguien puede usar para encontrar copias de seguridad y archivos sin referencia. Como propietario del servidor, tiene la ventaja ya que puede hacerlo de manera más directa. Esta sección explorará estas diferentes herramientas, comenzando con las herramientas que puede usar para buscar y eliminar estos archivos. Luego veremos cómo un gato curioso podría encontrar copias de seguridad y archivos sin referencia en su servidor.

Cuando busque archivos de respaldo que haya dejado en su servidor web, puede tomar uno (o más) de tres enfoques. La forma más fácil es instalar un complemento que monitoree los archivos en busca de cambios. Alternativamente, puede intentar buscar archivos de copia de seguridad que quedan en el sistema de archivos usando herramientas de línea de comandos como buscar o puede intentar buscar archivos de copia de seguridad usando una técnica llamada fuzzing .

Complemento de monitoreo de integridad de archivos

Una solución de monitoreo de integridad de archivos para WordPress puede ayudar sin esfuerzo a monitorear los cambios de archivos en su servidor web y alertarlo si detecta que se ha agregado, eliminado o cambiado algo.

Esto se puede lograr con el complemento Monitor de cambios de archivos del sitio web. El complemento toma una huella digital de sus directorios y luego la compara con las huellas digitales posteriores. En esencia, funciona con los mismos principios que una suma de verificación, lo que lo hace altamente seguro y confiable.

Un monitor de integridad de archivos puede ser especialmente efectivo si no está al tanto de todos los directorios utilizados por WordPress. Otra ventaja significativa de este complemento es que el monitoreo está automatizado, por lo que no tiene que recordar buscar archivos: el complemento lo hace automáticamente.

Encontrar

Ahora veamos cómo podemos encontrar archivos de copia de seguridad usando el comando de búsqueda. El siguiente comando buscará varias extensiones de archivo de uso común que se utilizan al crear archivos de copia de seguridad.

find /var/www -type f \( -name '*.bak' -o -name '*.backup' -o -name '*.bac' -o -name '*.zip' -o -name '* .tar' -o -name '*.jar' -o -name '*.log' -o -name '*.swp' -o -name '*~' -o -name '*.old' -o - nombre '*.~bk' -o -nombre '*.orig' -o -nombre '*.tmp' -o -nombre '*.exe' -o -nombre '*.0' -o -nombre '*. 1' -o -nombre '*.2' -o -nombre '*.3' -o -nombre '*.gz' -o -nombre '*.bz2' -o -nombre '*.7z' -o - nombre '*.s7z' -o -nombre '*.lz' -o -nombre '*.z' -o -nombre '*.lzma' -o -nombre '*.lzo' -o -nombre '*.apk ' -o -nombre '*.cab' -o -nombre '*.rar' -o -nombre '*.war' -o -nombre '*.ear' -o -nombre '*.tar.gz' -o -nombre '*.tgz' -o -nombre '*.tar.z' -o -nombre '*.tar.bz2' -o -nombre '*.tbz2' -o -nombre '*.tar.lzma' - o -nombre '*.tlz' -o -nombre '*.zipx' -o -nombre '*.iso' -o -nombre '*.src' -o -nombre '*.dev' -o -nombre '* .a' -o -nombre '*.ar' -o -nombre '*.cbz' -o -nombre '*.cpio' -o -nombre '*.shar' -o -nombre '*.lbr' -o -nombre '*.mar' -o -nombre '*.f' -o -nombre '*.rz' -o -nombre '*.sfark' -o -nombre '*.xz' -o -nombre '*. as' -o -nombre '*.afa' -o -nombre '*.alz' -o -nombre '*.arc' -o -nam e '*.arj' -o -nombre '*.ba' -o -nombre '*.bh' -o -nombre '*.cfs' -o -nombre '*.cpt' -o -nombre '*.dar ' -o -nombre '*.dd' -o -nombre '*.dgc' -o -nombre '*.dmg' -o -nombre '*.gca' -o -nombre '*.ha' -o -nombre '*.hki' -o -nombre '*.ice' -o -nombre '*.inc' -o -nombre '*.j' -o -nombre '*.kgb' -o -nombre '*.lhz' -o -nombre '*.lha' -o -nombre '*.lzk' -o -nombre '*.pak' -o -nombre '*.partimg.' -o -nombre '*.paq6' -o -nombre '*.paq7' -o -nombre '*.paq8' -o -nombre '*.guisante' -o -nombre '*.pim' -o -nombre '*.pit' -o -nombre '*.qda' -o -nombre '*.rk' -o -nombre '*.sda' -o -nombre '*.sea' -o -nombre '*.sen' -o -nombre '*.sfx' -o -nombre ' *.sit' -o -name '*.sitx' -o -name '*.sqx' -o -name '*s.xz' -o -name '*.tar.7z' -o -name '*. tar.xz' -o -nombre '*.uc' -o -nombre '*.uc0' -o -nombre '*.uc2' -o -nombre '*.ucn' -o -nombre '*.ur2' - o -nombre '*.ue2' -o -nombre '*.uca' -o -nombre '*.uha' -o -nombre '*.wim' -o -nombre '*.xar' -o -nombre '* .xp3' -o -nombre '*.yz1' -o -nombre '*.zoo' -o -nombre '*.zpaq' -o -nombre '*.zz' -o -nombre '*.include' -o -nombre '*_1' -o -nombre '*_2' -o -nombre '*_x' -o -nombre '*bak' -o -nombre '*_bak' -o -nombre '*viejo' -o -nombre '*_viejo' -o -nombre '*_a' -o -nombre '*_b' -o -nombre '*_c' -o -nombre '*_d' -o -nombre '*_e' -o -nombre '*_f' -o -nombre '*inc' -o -nombre '*_inc' -o -nombre '*_backup' -o -nombre '* – Copiar' -o -nombre '* – Copiar (2)' -o -nombre '* – Copiar (3)' -o -nombre '*copia de seguridad' -o -nombre '*-copia de seguridad' -o -nombre '*-bak' -o -name '*-old' -o -name '*-1' -o -name '*-2' -o -name '* – Copiar – Copiar' -o -name '*( copia)' -o -name '*(otra copia)' -o -name '*(segunda copia)' -o -name '*(tercera copia)' -o -name '*(cuarta copia)' -o - nombre '*(2.ª copia)' -o -name '*(3.ª copia)' -o -name '*(4.ª copia)' -o -name '* (copia)' -o -name '* (otra copia) ' -o -name '* (segunda copia)' -o -name '* (tercera copia)' -o -name '* (cuarta copia)' -o -name '* (segunda copia)' -o -name ' * (3ra copia)' -o -name '* (4ta copia)' -o -name 'Copia de *' -o -name 'Copia (2) de *' -o -name 'Copia (3) de *' -o -name 'Copia de Copia de *' -o -name 'copia de seguridad*' -o -name 'copia de seguridad_*' -o -name 'copia de seguridad-*' -o -name 'bak*' -o -name 'bak_ *' -o -nombre 'bak-*' -o -nombre'antiguo*' -o -nombre 'antiguo_*' -o -nombre 'antiguo-*' -o -nombre '1*' -o -nombre '1_*' -o -nombre '1-*' -o -nombre '2*' -o -nombre '2_*' -o -nombre '2-*' \)

Fuzzing

El siguiente método utiliza una herramienta basada en la línea de comandos llamada ffuf con una lista de palabras (una lista de nombres de archivos y rutas de archivos recopilados en texto sin formato) que se centra en los archivos de WordPress. ffuf se puede configurar para realizar solicitudes usando una lista separada por comas de extensiones comunes de archivos de respaldo (este ejemplo solo usa una lista abreviada que solo incluye .bak y .backup, pero en realidad, probablemente sería mucho más larga).

ffuf -u http://ejemplo.com/FUZZ -w listapalabras.txt -e '.bak,.backup'

Búsquedas en motores de búsqueda

Los motores de búsqueda son muy, muy buenos para encontrar y catalogar información en servidores web. Alguien puede hacer esto mediante el uso de operadores avanzados que pueden, por ejemplo, desglosar una consulta para encontrar tipos de archivos específicos en un servidor determinado.

Este tipo de búsqueda también se conoce como Google Dorking y puede usar una combinación de filtros avanzados e inferencia. La inferencia es cómo alguien sin conocimiento de lo que reside en un servidor usa información general para inferir qué tipo de archivos y estructuras podrían residir en un servidor y luego busca esas cosas específicas.

Escáneres de seguridad

Hay diferentes tipos de escáneres que pueden escanear los directorios de un sitio web. El primer tipo de escáner se denomina rastreador de sitios, que es la misma tecnología subyacente que utilizan los motores de búsqueda para leer sitios web. Este tipo de escáneres, sin embargo, no son exclusivos de los buscadores y se pueden descargar libremente.

Es ilegal escanear un sitio web de destino en la mayoría de los países, incluso si sus intenciones son buenas. Solo puede y debe usar un escáner contra sitios web de su propiedad. Si está escaneando un sitio web de un tercero, asegúrese de tener el consentimiento. Aun así, alguien con intenciones maliciosas puede usar un escáner de seguridad para obtener más información sobre su sitio web y comprender qué tipo de archivos hay en él.

Otro tipo de escáner es un escáner de prueba de penetración, que puede escanear un sitio web en busca de vulnerabilidades, incluidos los archivos sobrantes.

¿Ha encontrado copias de seguridad o archivos sin referencia? Esto es lo que debe hacer

Almacenar archivos de respaldo en un sitio web nunca es una buena idea. Desafortunadamente, no es raro que los propietarios y administradores de sitios web de WordPress configuren trabajos cron (tareas programadas) para realizar copias de seguridad de la base de datos, solo para almacenar estas copias de seguridad en el mismo servidor. Si bien es cierto que debería realizar una copia de seguridad de su sitio web, debe tener cuidado de que los archivos de copia de seguridad no se almacenen en ningún lugar del sistema del que realizó la copia de seguridad.

Tener una estrategia de respaldo de WordPress bien pensada que siga las mejores prácticas es crucial no solo desde una perspectiva de seguridad sino también desde el punto de vista de la continuidad del negocio. Después de todo, las copias de seguridad no valen mucho si no puede usarlas para restaurar datos.

Cómo evitar la enumeración de archivos de copia de seguridad

Como hemos visto a lo largo de este artículo, mantener archivos de respaldo en su sitio web de WordPress puede ser bastante arriesgado. Como tal, siempre debe usar un entorno de prueba o ensayo para llevar a cabo sus cambios antes de enviarlos al servidor en vivo/producción. La mayoría de las cuentas de alojamiento de WordPress administradas vienen con un entorno de prueba listo para usar. También puede usar un software como Local, que le permite activar instancias de WordPress en su PC.

Sin embargo, si elige mantener los archivos de copia de seguridad en su servidor web, idealmente, manténgalos fuera del directorio para el que ha configurado su servidor web.

Además, configure los permisos de sus archivos de WordPress para prohibir el acceso al usuario del servidor web; esto garantiza que incluso en el caso de una configuración incorrecta, el servidor web no podrá entregar el archivo a un cliente que lo solicite. Como medida adicional, es una buena idea cifrar las copias de seguridad de la base de datos y asegurarse de que el usuario del servidor web no pueda acceder a la clave de cifrado.