La vigilancia de subidas de archivos del plugin CSDN anota quién sube archivos a tu sitio, incluso fuera de la biblioteca de medios. El control de integridad, en cambio, comprueba que los archivos del plugin no se hayan tocado. Son dos defensas distintas, pero ambas buscan el mismo escenario: un archivo malicioso que entra donde no debería.

Dónde se encuentra
Atención al lugar: el formulario no está en la pestaña «Hardening / IDS». Abre Ajustes > Cisilino Site Defense Network (punto 1), quédate en la pestaña General (punto 2) y baja hasta el final. Tras la whitelist encuentras la sección «Vigilancia de subidas de archivos» (punto 3). El control de integridad se lee en cambio en la pestaña Test, explicada en el capítulo Pestaña Test.
Para qué sirve la vigilancia de subidas de archivos
La sección dice: «Registra los archivos subidos al sitio, incluidos los que no pasan por la biblioteca de medios: formularios de plugins, endpoints admin-ajax, subidas arbitrarias de un tema.» Por ahí entra la mayoría de las webshells. Un registro que solo mire la biblioteca de medios no las ve.
Cómo se usa
- Abre la pestaña General y baja hasta «Vigilancia de subidas de archivos».
- Marca la fila «Vigilancia»: «Registra las subidas de archivos».
- Marca la fila «Bloqueo de archivos ejecutables»: «Rechaza las subidas con extensión ejecutable (.php, .phtml, .phar, .sh, .htaccess…)».
- Haz clic en «Guardar vigilancia de subidas».
- Lee el aviso: «Ajustes de la vigilancia de subidas guardados.».
Registra las subidas de archivos
Esta opción está activa por defecto. Los eventos van al grupo «Subidas de archivos» del registro de actividad. En una petición sin archivo el coste es nulo. El plugin anota cada petición que contiene un archivo, con el campo y la dirección que lo recibió. Las acciones que verás en el registro son:
- «Archivo recibido en una petición POST».
- «Archivo subido».
- «ATENCIÓN: subido archivo potencialmente ejecutable».
- «Subida BLOQUEADA».
El registro local conserva como máximo 500 filas, si no cambias el tope en los ajustes del registro de actividad. Cómo leerlo se explica en el capítulo Registro de actividad.
Bloqueo de archivos ejecutables
Esta opción está desactivada por defecto. Funciona solo si también está activa «Registra las subidas de archivos»: con la vigilancia apagada el bloqueo no hace nada, aunque la casilla esté marcada. Si la activas, WordPress rechaza el archivo con el mensaje: «Tipo de archivo no permitido en este sitio (Cisilino Site Defense Network: subida de archivos ejecutables bloqueada).» El control reconoce también las dobles extensiones, como imagen.php.jpg.
Las extensiones consideradas peligrosas son: php, php3, php4, php5, php7, php8, phtml, phps, phar, pht, shtml, cgi, pl, py, rb, sh, bash, htaccess, htpasswd, jsp, asp, aspx, exe, so, dll, ini, svg y svgz.
Atención: la lista bloquea también .svg, así que los logos en SVG ya no se pueden subir. Bloquea también .ini, .py, .exe y .dll, que aparecen en adjuntos y paquetes. El plugin mira todas las partes después del primer punto. Un nombre como archivo.pl.zip se rechaza por tanto. El bloqueo vale solo para las subidas gestionadas por WordPress (filtro wp_handle_upload_prefilter). Un plugin que guarda el archivo por su cuenta queda registrado («Archivo recibido en una petición POST») pero no se detiene. Quien escribe directamente en disco, sin una petición con archivo, no deja rastro en este registro.
El control de integridad
A diferencia de la vigilancia de subidas de archivos, aquí no se miran las nuevas subidas sino los archivos ya presentes. El plugin compara los hashes MD5 de sus archivos .php con los esperados. Busca archivos modificados, faltantes o añadidos. Excluye las carpetas tests y dist. Los archivos que no son PHP no se comprueban.
El control se ejecuta una vez al día, mediante el sistema de programación de WordPress. Si el sitio tiene pocas visitas, puede retrasarse. La referencia es el archivo checksums.json en la carpeta del plugin, si está presente. En caso contrario el plugin usa una fotografía de los archivos tomada al activarse y en cada cambio de versión.
Cómo se lee el resultado
Lo encuentras en la pestaña Test, en el recuadro «Integridad de los archivos del plugin», donde también está el botón «Verificar ahora» para lanzar el control de inmediato. Hay cuatro casos:
- «Ninguna verificación ejecutada todavía.», si nunca se ha ejecutado.
- Recuadro verde: «Todos los N archivos verificados coinciden. Último control: fecha.».
- Recuadro amarillo: «Ninguna referencia disponible: no se puede verificar. Reactiva el plugin para capturar una nueva fotografía de los archivos.».
- Recuadro rojo: «ATENCIÓN: los archivos del plugin no coinciden con los esperados.», con tres listas: «Modificados», «Faltantes», «No previstos».
En la lista aparecen como máximo 15 nombres. Si ves el rojo y no has tocado los archivos a mano, el plugin te dice que trates el sitio como potencialmente comprometido. Reinstala el plugin desde una copia fiable y revisa el resto de la instalación.
Si la referencia es la fotografía, el recuadro verde lo indica. Esa comparación encuentra los cambios posteriores, no un plugin ya comprometido en el momento de la instalación.
Atención: la integridad es un detector, no una barrera. Quien ya ha escrito en los archivos puede también reescribir los hashes o apagar el control. Cambios hechos a mano o una subida a medias producen una alarma roja.
Qué pasa entre bastidores
La vigilancia de subidas de archivos y la integridad usan el mismo registro. El control diario escribe en el registro de actividad solo en dos casos: cuando encuentra un problema y cuando, tras un problema, todo vuelve a la normalidad. Cuando todo va bien no escribe nada. El registro se envía luego al panel, así una copia de la alarma queda fuera de tu servidor.
Si algo no funciona
La vigilancia de subidas de archivos sigue siendo útil incluso con el bloqueo apagado. Si un plugin legítimo deja de subir archivos, apaga «Bloqueo de archivos ejecutables» y vuelve a probar. Para entender qué subidas llegan al sitio, deja activa la vigilancia y consulta el registro. Para las reglas sobre archivos en uploads mira también el capítulo Hardening / IDS.
El riesgo que aquí se intenta reducir lo describe OWASP: lee la página sobre la subida de archivos sin restricciones, útil para entender por qué las subidas son un punto débil.
Capítulo anterior: Hardening / IDS: las reglas para .htaccess. Capítulo siguiente: Pestaña Test: comprobar que las protecciones funcionan. Índice: introducción del manual.
Deja una respuesta