Servicio HorkIA · monitorización y respuesta a malware

Vigilancia de servidores y webs WordPress con respuesta a malware

Monitorizamos tus servidores y tus WordPress de forma continua, te avisamos por Telegram cuando algo se sale de lo normal y, si hay una infección, la tratamos con cuarentena reversible y comprobación desde fuera. Nada se borra a ciegas y nada se toca sin tu botón.

Un problema que se repite

Una agencia con decenas de WordPress repartidos en varios servidores conoce el patrón: una web se infecta, se limpia, y a los pocos días vuelve a aparecer el spam de casino o la redirección extraña. En nuestra propia infraestructura medimos 83 instalaciones de WordPress en 3 servidores con infecciones casi diarias antes de ordenar el trabajo.

La limpieza manual tiene sus propias trampas. En un incidente real, un criterio de búsqueda demasiado laxo borró cientos de ficheros index.php legítimos. En otro servidor, 390 ficheros PHP dentro de uploads se marcaron como amenaza y ninguno era una web-shell: una alerta que miente con frecuencia acaba ignorada. Y a menudo nadie sabe qué hizo exactamente la herramienta en el servidor ni si había una copia reciente antes de tocar nada.

Otro dato de nuestra flota propia: en uno de los servidores solo el 33,8 % de las visitas eran personas. El resto eran bots, ataques, monitores y tareas programadas de WordPress que gastaban recursos. Estas cifras salen de nuestros servidores y no son una promesa para los tuyos, pero muestran qué se puede medir cuando alguien mira.

Qué vigilamos

Métricas del servidor

CPU, memoria, disco y red con gráficas de 24 horas, 7 días y 30 días, y una línea de tiempo de incidencias.

Comprobaciones HTTP y TLS

Chequeo de las URL que indiques con aviso cuando un certificado está cerca de caducar. Los umbrales se configuran.

Revisión cada 15 minutos

Un guardián lee cada servidor y guarda unas 17 métricas, como carga, memoria, disco, bloqueos de fail2ban, PHP dentro de uploads o tamaño de la cola de correo. La evidencia de ataques se conserva 90 días.

Correo comprometido

Avisa si la cola de correo supera los 500 mensajes o si una misma cuenta autenticada envía desde cinco IP distintas o más, señal típica de una credencial robada.

Cambios en tus webs

Vigila precio, contenido o un defacement en hasta 20 URL, con intervalo mínimo de 15 minutos. Un defacement genera un aviso crítico.

Copias y tareas programadas

Comprueba que cada web tiene una copia reciente y avisa si un cron o una copia no llega a tiempo, y también cuando se recupera.

Tráfico real

Separa visitas humanas, bots, ataques, monitores y wp-cron por servidor, web y hora.

Falsos positivos con constancia

Descarta rutas benignas conocidas y ficheros sin ofuscación real, y deja registrado lo descartado para que puedas revisarlo.

Panel de infraestructura con la tarjeta de un servidor de pruebas, sus métricas de WordPress, los chequeos HTTP y TLS y las incidencias recientes
Panel de infraestructura en un entorno de pruebas con datos sintéticos. Muestra un servidor de ejemplo sin incidencias.

Auditoría y endurecimiento de WordPress

Las auditorías son de solo lectura. Comprueban la integridad del núcleo de WordPress contra las sumas oficiales, buscan administradores que nadie creó y revisan los puntos donde el malware suele esconder su persistencia: wp-config.php, .htaccess, .user.ini y los mu-plugins.

Para frenar la ejecución de PHP en uploads, no nos basta con escribir una regla. Subimos un PHP de prueba, lo llamamos por URL y solo damos la carpeta por blindada si ese fichero no se ejecuta. También revisamos los PHP que ya estén en esa carpeta y clasificamos cada uno como web-shell, sospechoso, inocuo o pendiente de revisar, sin modificar nada.

Respuesta a malware

Este es el punto donde más cuidado ponemos, por los incidentes descritos arriba.

  • Barrido forense. Busca firmas inequívocas: cascarones, droppers ofuscados, cargadores ocultos y redirecciones de malvertising en .htaccess. Las firmas son conservadoras a propósito y en un sitio limpio no dieron falsos positivos.
  • Cuarentena reversible. Mueve los ficheros, no los borra. Antes hace una copia verificada y un manifiesto con sumas sha256, y si la portada empieza a devolver error 5xx, deshace el movimiento por sí sola.
  • Suspensión temporal. Pone la web en mantenimiento con un 503, purga la caché y comprueba que la portada responde así.
  • Administradores fraudulentos y spam en la base de datos. Detecta cuentas sospechosas, exporta un CSV antes de actuar y mide el spam de casino o SEO con un volcado previo. Nunca borra páginas, solo entradas concretas por título.
  • Dudas, una a una. Lo ambiguo se pregunta por Telegram con botones de sí, no o ver detalle. Sin respuesta, no se toca.
  • Limpieza a fondo (función experimental). Hace copia, escanea las capas ocultas de contenido, comentarios, plugins con suma rota y tareas programadas, limpia solo lo seguro y comprueba el resultado desde fuera. Aún está en fase de pruebas.

Un sitio no se declara limpio por falta de hallazgos. El estado lo decide una comprobación desde fuera, y si no la supera, la limpieza queda como incompleta.

Seguridad del propio servicio

  • El acceso es por SSH con claves guardadas cifradas, cargadas solo en memoria y nunca escritas en disco. El lado remoto es de solo lectura salvo las acciones reactivas descritas.
  • Los comandos remotos están en una lista de permitidos, y los identificadores que se insertan en ellos se validan como números para evitar inyecciones.
  • Toda acción que modifica algo pide confirmación humana, tiene copia previa verificada, se puede deshacer y queda anotada en un libro de acciones que solo se añade (quién, qué, resultado y cómo revertirlo).
  • Llevamos un inventario de lo que dejamos en cada servidor para no acumular restos.
  • La auto-remediación de CPU está en beta y apagada de fábrica. Solo puede recargar PHP-FPM ante una fuga de memoria, con tiempo de espera entre acciones y un tope diario, y solo si la activas.

Todo funciona sobre el mismo modelo de autorización que nuestro asistente operativo IA: propietario identificado, segundo factor para lo sensible y registro de auditoría.

Para quién es

Agencias web y proveedores de hosting con varios WordPress de clientes, pymes con su web corporativa y las de otros negocios, y despachos o clínicas que no pueden permitirse una web con spam. También a responsables de TI que no cuentan con un equipo de seguridad propio.

Cómo trabajamos

Se parte de un inventario de tus servidores y webs, con una auditoría de solo lectura y la comprobación de las copias. Con ese diagnóstico se acuerda qué se vigila y qué acciones puede proponer el sistema. Ninguna acción que modifique algo se ejecuta sin tu aprobación.

Límites: qué no hace

  • Está pensado y probado en servidores Linux con panel de hosting y acceso SSH. Un WordPress en hosting compartido sin SSH queda fuera.
  • Las firmas priorizan no dar falsos positivos. Un malware desconocido o una ofuscación nueva puede pasar desapercibido, y de ahí que lo dudoso se pregunte en lugar de borrarse.
  • No sustituye a un antivirus ni a un cortafuegos de aplicaciones web comerciales, y ninguna entidad externa ha auditado nuestra detección.
  • No prometemos una web limpia: lo decide la comprobación desde fuera.
  • Exige entregar una clave SSH al sistema y mantener un cron en tu servidor.
  • La auto-remediación solo cubre PHP-FPM y viene desactivada.
  • Las cifras de impacto de esta página proceden de nuestra propia infraestructura y no garantizan el mismo resultado en la tuya.
  • Algunas mejoras, como auditorías periódicas más profundas o la regla que impide acciones destructivas en lote, están en desarrollo y no forman parte de lo que ofrecemos hoy.

Preguntas frecuentes

¿Borráis ficheros de mi web?

No. La cuarentena los mueve a un almacén del servidor con manifiesto sha256 y copia previa verificada. Si la portada empieza a dar error, el movimiento se deshace solo. Lo único que se purga es ese almacén, nunca la carpeta de tu web.

¿Qué hacéis cuando detectáis un fichero sospechoso?

Lo clasificamos como web-shell, ofuscado, inocuo o pendiente de revisar y te enviamos una tarjeta por Telegram. No actuamos sin tu botón, y lo dudoso se pregunta uno a uno.

¿Qué pasa con los falsos positivos?

Se descartan las rutas benignas y los ficheros sin ofuscación real, y queda constancia de lo descartado. En un servidor nuestro eran 390 ficheros y ninguno era una amenaza.

¿Puede reiniciar servicios por su cuenta?

Solo en modo automático, que debes activar tú, y solo recargando PHP-FPM ante una fuga de memoria, con espera entre acciones y límite diario. Por defecto únicamente sugiere.

¿Me avisa si una copia o un cron deja de ejecutarse, o si cambia mi web?

Sí. Hay un aviso por ausencia de señal para crons y copias, y una vigilancia de cambios y defacement en las URL que elijas.

¿Funciona con cualquier hosting?

No. Requiere servidores Linux con acceso SSH. En hosting compartido sin acceso SSH no podemos ofrecerlo.

Cuéntanos cuántas webs y servidores gestionas

Con ese dato te explicamos qué vigilaríamos, cómo se avisa y qué haríamos ante una infección.

Pedir información Solicitar demo