{"id":22125,"date":"2026-10-25T07:58:10","date_gmt":"2026-10-24T23:58:10","guid":{"rendered":"https:\/\/synopower.club\/?post_type=docs&#038;p=22125"},"modified":"2026-10-25T08:04:28","modified_gmt":"2026-10-25T00:04:28","password":"","slug":"synology-threat-prevention-blind-spots","status":"publish","type":"docs","link":"https:\/\/synopower.club\/es\/docs\/synology-threat-prevention-blind-spots\/","title":{"rendered":"Synology Threat Prevention: lo que detecta y lo que no puede ver"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Threat Prevention es el paquete al que la mayor\u00eda de la gente recurre en el momento en que decide alojar un sitio web en un Synology NAS. Se ubica en el enrutador, tiene un icono de escudo y su panel de control cuenta los ataques por cientos, por lo que parece lo que mantiene seguro un sitio p\u00fablico. Lo ejecutamos en un RT6600ax frente a cada m\u00e1quina que poseemos y ha valido la pena tenerlo. Tambi\u00e9n es, para un sitio web autoalojado, casi totalmente irrelevante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este art\u00edculo de NAS Hosting 101 abre nuestro propio enrutador, lee una semana real de eventos de \u00e9l y muestra exactamente d\u00f3nde Threat Prevention deja de poder ayudar, usando PHP2Shell como ejemplo de un ataque que Threat Prevention nunca iba a ver.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Punto SynoPower Club:<\/strong> Pas\u00e9 mucho tiempo en el \u00e1rea de soporte de Synology y la pregunta era constante: qu\u00e9 opci\u00f3n debo activar para detener este ataque. Es el instinto correcto pero enfocado en el equipo equivocado. Lo que finalmente me hizo comprenderlo fue leer nuestra propia lista de eventos en lugar de la p\u00e1gina de funciones. Cada alerta que nuestro enrutador ha registrado este mes era una direcci\u00f3n con mala reputaci\u00f3n, no una solicitud con una carga \u00fatil maliciosa. Una vez que ve eso, deja de pedirle a Threat Prevention que inspeccione el tr\u00e1fico que sostiene en un sobre sellado.<\/p>\n<\/blockquote>\n\n\n\n<h2 id=\"what-threat-prevention-actually-does-on-a-synology-router\" class=\"wp-block-heading\">Qu\u00e9 hace realmente Threat Prevention en un enrutador Synology<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Threat Prevention es un sistema de detecci\u00f3n y prevenci\u00f3n de intrusiones basado en el linaje de Snort y Suricata. Lee los paquetes a medida que el enrutador los reenv\u00eda, los compara con un conjunto de firmas y registra una alerta o descarta el paquete. En nuestro RT6600ax, el flujo de firmas es ET Open, el nivel gratuito del conjunto de reglas de Emerging Threats, actualizado diariamente a las 09:00.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De ese dise\u00f1o se derivan tres propiedades, y las tres importan m\u00e1s que cualquier casilla de verificaci\u00f3n en la interfaz:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It can only examine packets the router <strong>forwards<\/strong>. Traffic that never crosses the routing engine is not slow to inspect, it is invisible.<\/li>\n\n<li>It can only match on bytes it can <strong>read<\/strong>No hay intercepci\u00f3n TLS en ninguna parte de Threat Prevention, por lo que una carga \u00fatil cifrada es opaca.<\/li>\n\n<li>It can only match signatures <strong>somebody else wrote<\/strong>. The interface exposes vendor classes to switch on and off, and nothing that accepts a rule you author yourself.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nada de eso es un defecto. Un IPS en el per\u00edmetro de la red es algo razonable y \u00fatil. El error es asumir que el per\u00edmetro es donde se ataca un sitio web.<\/p>\n\n\n\n<h2 id=\"threat-prevention-vs-a-web-application-firewall\" class=\"wp-block-heading\">Threat Prevention frente a un Firewall de aplicaciones web<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La forma m\u00e1s clara de ver la diferencia es poner Threat Prevention junto a un firewall de aplicaciones web y preguntar qu\u00e9 sostiene cada uno cuando toma su decisi\u00f3n. Threat Prevention sostiene un paquete. Un WAF sostiene una solicitud HTTP descifrada.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Question<\/th><th>Router IPS<\/th><th>Reverse-proxy WAF<\/th><\/tr><\/thead><tbody><tr><td>D\u00f3nde se corre<\/td><td>On the routing path, before TLS ends<\/td><td>At the edge, after TLS ends<\/td><\/tr><tr><td>What it inspects<\/td><td>Packet headers and any cleartext bytes<\/td><td>Method, path, headers, cookies, body<\/td><\/tr><tr><td>HTTPS traffic<\/td><td>Opaque<\/td><td>Fully readable<\/td><\/tr><tr><td>Rules you can add<\/td><td>Vendor classes on or off<\/td><td>Your own expressions, plus managed rulesets<\/td><\/tr><tr><td>Same-subnet traffic<\/td><td>Never seen<\/td><td>Not applicable, it is upstream of everything<\/td><\/tr><tr><td>Typical catch<\/td><td>Reputation hits, scans, cleartext exploits, outbound command and control<\/td><td>Injection, traversal, known CVE request shapes, credential stuffing, bots<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Esos no son productos competidores. Cubren diferentes segmentos del mismo trayecto, y un sitio autoalojado necesita el segundo mucho m\u00e1s que el primero. Mantenemos ambos y esperamos cosas completamente diferentes de cada uno.<\/p>\n\n\n\n<h2 id=\"reading-595-events-from-one-week-on-our-own-router\" class=\"wp-block-heading\">Lectura de 595 eventos de una semana en nuestro propio enrutador<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed est\u00e1 la pantalla de visi\u00f3n general de Threat Prevention de nuestro enrutador de producci\u00f3n el 25 de octubre de 2026. Quinientos noventa y cinco eventos maliciosos durante siete d\u00edas, 75 de ellos de gravedad alta. Parece un muro que retiene una inundaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"eager\" decoding=\"async\" width=\"1400\" height=\"675\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events.webp\" alt=\"Vista general de Synology Threat Prevention en un RT6600ax que muestra 595 eventos maliciosos en siete d\u00edas y un dispositivo con amenazas potenciales\" class=\"wp-image-22119\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events-300x145.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events-1024x494.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events-768x370.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events-18x9.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events-600x289.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events-400x193.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-overview-595-events-1000x482.webp 1000w\"  fetchpriority=\"high\"\/><figcaption class=\"wp-element-caption\">Siete d\u00edas en nuestro propio RT6600ax. Un solo dispositivo representa todos los eventos de gravedad alta, y es el servidor de correo, no el host web.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dos detalles en esa pantalla valen m\u00e1s que la cifra principal. El primero es que solo un dispositivo aparece bajo amenazas potenciales, y es REVERSE_MAIL, la m\u00e1quina que finaliza TLS y ejecuta MailPlus. El segundo es la fecha de la firma junto a la marca de verificaci\u00f3n verde. Ahora abra un solo evento y lea qu\u00e9 se activ\u00f3 realmente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"675\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature.webp\" alt=\"Un detalle de evento de Threat Prevention que muestra una firma de IP de mala reputaci\u00f3n ET CINS con estado Alerta y un cuerpo de regla que coincide \u00fanicamente con direcciones IP\" class=\"wp-image-22120\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature-300x145.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature-1024x494.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature-768x370.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature-18x9.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature-600x289.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature-400x193.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-event-ip-reputation-signature-1000x482.webp 1000w\" \/><figcaption class=\"wp-element-caption\">El cuerpo de la firma es la clave. Comienza con alert ip seguido de una lista de direcciones, por lo que no se examin\u00f3 nada en la solicitud.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Clasificaci\u00f3n Misc Attack, gravedad Media, estado Alert, nombre de firma ET CINS Active Threat Intelligence Poor Reputation IP group 24. Abra el cuerpo de la regla y comienza con alert ip y luego una larga lista de direcciones. Eso es una b\u00fasqueda en lista de bloqueo. Ninguna parte de la solicitud HTTP fue le\u00edda, porque ninguna parte pod\u00eda serlo. Tomamos muestras de eventos contra un segundo destino, nuestro host de Virtual DSM, y encontramos la misma clase de regla con un n\u00famero de grupo diferente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed que el resumen honesto de una semana es este: el enrutador reconoci\u00f3 unos cientos de conexiones de direcciones que ya ten\u00edan mala reputaci\u00f3n. Eso es realmente \u00fatil. No es una detecci\u00f3n de ataques web, y nadie deber\u00eda interpretar el n\u00famero 595 como si lo fuera.<\/p>\n\n\n\n<h2 id=\"how-to-audit-threat-prevention-in-4-steps\" class=\"wp-block-heading\">C\u00f3mo auditar Threat Prevention en 4 pasos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de confiar algo a Threat Prevention, dedique diez minutos a averiguar qu\u00e9 est\u00e1 haciendo realmente en su propia red. Cada paso a continuaci\u00f3n es de solo lectura y no cambia nada.<\/p>\n\n\n<div id=\"rank-math-howto\" class=\"rank-math-block\" >\n<div class=\"rank-math-howto-description\">\n\n<\/div>\n\n<div class=\"rank-math-steps\">\n<div id=\"step-1\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Open one event and read the signature body<\/h3>\n<div class=\"rank-math-step-content\"><p>Vaya a Threat Prevention, luego a Eventos y haga clic en cualquier entrada. Mire m\u00e1s all\u00e1 del distintivo de gravedad en color, en la casilla Reglas de firma. Una regla que comienza con alert ip coincide \u00fanicamente con la reputaci\u00f3n de la direcci\u00f3n. Una regla que contiene content o pcre coincide con la carga \u00fatil. Cuente cu\u00e1ntas de cada una puede encontrar en su propia lista antes de decidir qu\u00e9 est\u00e1 protegiendo Threat Prevention.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-2\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Check which interfaces are monitored<\/h3>\n<div class=\"rank-math-step-content\"><p>Open Settings and read the Monitored Interfaces table. Only the interfaces ticked there are inspected, and in a normal deployment those are the internet-facing ones. Traffic between two devices on the same LAN subnet is switched rather than routed, so it never reaches the inspection engine and no setting on this page can change that.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-3\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Find out what happens when the router is busy<\/h3>\n<div class=\"rank-math-step-content\"><p>In the same panel, look at the default mode. Network stability priority means that when traffic exceeds what the engine can process, the excess is passed through unfiltered. Security priority means the excess is dropped instead. One choice fails open and keeps your line up, the other fails closed and takes your line down. Decide which one you actually want.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-4\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Try to add a rule of your own<\/h3>\n<div class=\"rank-math-step-content\"><p>Open Self-Defined Policy. You can change the action for a signature the vendor already ships, and you can scope it by source or destination address. There is no field anywhere that accepts a signature you wrote. If your threat is newer than your signature feed, this screen is where you discover you have no way to respond.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n\n\n\n<h2 id=\"where-it-genuinely-earns-its-place\" class=\"wp-block-heading\">D\u00f3nde se gana realmente su lugar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mantenemos Threat Prevention activado, y no por superstici\u00f3n. Hay cuatro tareas que realiza y que ninguna otra herramienta de nuestro stack hace.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Outbound command and control.<\/strong> This is the strongest case by far. A compromised device has to call home, that call has to leave through the router, and a good share of it is still either cleartext or aimed at a known address. Our router ships the Malware Command and Control Activity class with 3,450 of 3,498 rules enabled, and the Domain Observed Used for C2 class with 7,157 of 7,202.<\/li>\n\n<li><strong>Cleartext protocols from the internet.<\/strong> Our mail server answers on port 25, and SMTP is cleartext until STARTTLS. That is real inspectable traffic, and it is no accident that the mail host is the one device our events list keeps naming.<\/li>\n\n<li><strong>Scanning and reconnaissance.<\/strong> Port sweeps and fingerprinting are recognised by connection behaviour rather than by payload, so encryption does not hide them.<\/li>\n\n<li><strong>Visibility.<\/strong> A searchable log of who knocked and with what reputation is worth having, even when every entry is only a reputation hit. It is monitoring value, and it should be counted as monitoring value rather than as protection.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que esos cuatro tienen en com\u00fan es que ninguno de ellos es un ataque a un sitio web.<\/p>\n\n\n\n<h2 id=\"why-a-site-owner-asks-threat-prevention-for-the-wrong-thing\" class=\"wp-block-heading\">Por qu\u00e9 el propietario de un sitio le pide a Threat Prevention lo equivocado<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando aloja un sitio en un NAS, la ruta de la solicitud suele tener un proxy inverso. El nuestro se ve as\u00ed, y esa estructura es lo que lo decide todo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The visitor reaches <strong>Cloudflare<\/strong>, which answers most requests from cache and inspects the rest in cleartext.<\/li>\n\n<li>What is left crosses the <strong>router<\/strong>, donde Threat Prevention ve un flujo TLS cifrado y nada m\u00e1s.<\/li>\n\n<li>El <strong>reverse proxy NAS<\/strong> terminates TLS and forwards plain HTTP to the machine that runs the site.<\/li>\n\n<li>That last hop is on the <strong>same subnet<\/strong>, so the frame goes through a switch and the router is not in the path.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Lea esas cuatro l\u00edneas juntas y la trampa es evidente. El \u00fanico segmento donde la solicitud existe en forma legible es el salto final, y ese es el \u00fanico segmento que el enrutador no puede observar. En todos los lugares donde el enrutador puede observar, la solicitud est\u00e1 cifrada. No hay ninguna casilla de verificaci\u00f3n que resuelva una contradicci\u00f3n como esa, y Threat Prevention no est\u00e1 fallando cuando permanece en silencio. Simplemente est\u00e1 informando con precisi\u00f3n sobre el tr\u00e1fico que, estructuralmente, no puede leer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es tambi\u00e9n la raz\u00f3n por la que apuntar Threat Prevention a un sitio espec\u00edfico no funciona. El paquete est\u00e1 vinculado a las interfaces del enrutador, no a los nombres de host. No tiene noci\u00f3n de a cu\u00e1l de sus sitios pertenece una conexi\u00f3n, porque nunca ve el encabezado Host.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"675\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces.webp\" alt=\"Configuraci\u00f3n de Threat Prevention que muestra las interfaces monitoreadas limitadas a los puertos orientados a Internet, el modo de prioridad de estabilidad de red y la fuente de firmas ET Open\" class=\"wp-image-22121\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces-300x145.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces-1024x494.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces-768x370.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces-18x9.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces-600x289.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces-400x193.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-settings-monitored-interfaces-1000x482.webp 1000w\" \/><figcaption class=\"wp-element-caption\">Interfaces monitoreadas es todo el alcance de Threat Prevention. Note el modo predeterminado debajo y la fuente de firma en la parte inferior.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"three-reasons-php2shell-was-invisible-at-the-router\" class=\"wp-block-heading\">Tres razones por las que PHP2Shell fue invisible en el enrutador<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP2Shell, el par de fallas de ejecuci\u00f3n remota de c\u00f3digo antes de la autenticaci\u00f3n rastreadas como CVE-2026-109618 y CVE-2026-109619, se filtr\u00f3 el 20 de octubre de 2026 y se corrigi\u00f3 en el proyecto original al d\u00eda siguiente. Es exactamente el tipo de cosa que la gente espera que un IPS de enrutador absorba, y vale la pena ser espec\u00edficos sobre por qu\u00e9 no pudo hacerlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>En primer lugar, el tr\u00e1fico estaba cifrado en cada segmento que el enrutador supervisa.<\/strong> The exploit lives in the HTTP request, and the HTTP request only exists in the clear after TLS has been terminated, which happens downstream of the router on a hop the router never carries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>En segundo lugar, no existe ninguna firma de Threat Prevention que se pueda activar.<\/strong> We checked again on 25 October 2026 and found no published Snort or Emerging Threats rule for either CVE. Our feed is ET Open, the free tier, which lags the commercial set, and the Self-Defined Policy screen accepts no rule of your own. So even an operator who knew precisely what to match for had nowhere to put it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"675\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy.webp\" alt=\"La pantalla Pol\u00edtica definida por el usuario en Threat Prevention, vac\u00eda, con solo Editar y Eliminar disponibles y sin opci\u00f3n para crear una nueva firma\" class=\"wp-image-22123\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy-300x145.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy-1024x494.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy-768x370.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy-18x9.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy-600x289.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy-400x193.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-self-defined-policy-1000x482.webp 1000w\" \/><figcaption class=\"wp-element-caption\">La Pol\u00edtica definida por el usuario ajusta la acci\u00f3n sobre las firmas que el proveedor ya incluye. No hay ning\u00fan campo que acepte una regla escrita por usted.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>En tercer lugar, y lo m\u00e1s fundamental, este ataque no tiene una forma de carga \u00fatil que coincidir.<\/strong> The chain takes two requests. The first has to push PHP into exhausting its memory limit, which makes the engine abandon a request through a path that skips cleanup and leaves some global state behind. The second request is ordinary, and it is the one that reaches a stale pointer and turns into code execution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La primera solicitud se define por la cantidad de memoria que consume, no por ninguna secuencia de bytes; una carga grande, un cuerpo JSON enorme, una matriz profunda y una cadena larga en una expresi\u00f3n regular son todos v\u00e1lidos. La segunda no contiene ning\u00fan byte malicioso en absoluto. Un IPS decide por paquete y por flujo. No tiene ning\u00fan modelo de un proceso de trabajo que transporte un estado contaminado de una solicitud a la siguiente, que es precisamente donde reside este error.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso tambi\u00e9n establece los l\u00edmites de la mitigaci\u00f3n que circulaba en ese momento, que consist\u00eda en desactivar session.upload_progress en la configuraci\u00f3n de PHP. Elimina una forma bien documentada de alcanzar la segunda CVE, y en una m\u00e1quina que realmente no se puede parchear es mejor que nada. No es una soluci\u00f3n definitiva: el agotamiento de la memoria no es accesible solo a trav\u00e9s de esa \u00fanica caracter\u00edstica, y la configuraci\u00f3n no tiene ninguna relaci\u00f3n con la CVE-2026-109618. La usamos como medida temporal en exactamente un host y la tratamos como tiempo prestado, no como una resoluci\u00f3n. El relato completo de c\u00f3mo parcheamos est\u00e1 en nuestro <a href=\"https:\/\/synopower.club\/es\/synology-php2shell-emergency-patch\/\">PHP2Shell write-up<\/a>.<\/p>\n\n\n\n<h2 id=\"fail-open-by-design-and-the-day-it-cost-us-our-mail\" class=\"wp-block-heading\">Apertura por fallo de dise\u00f1o y el d\u00eda que nos cost\u00f3 nuestro correo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hay una propiedad m\u00e1s que vale la pena conocer antes de tratar a Threat Prevention como un control en el que se pueda confiar. Su valor predeterminado recomendado es el modo de prioridad de estabilidad de la red, y la interfaz declara lo que eso significa sin ning\u00fan eufemismo: cuando el tr\u00e1fico excede la capacidad de procesamiento, los paquetes pendientes se omiten sin filtrar. La alternativa, el modo de prioridad de seguridad, los descarta en su lugar y advierte que la conexi\u00f3n ser\u00e1 inestable hasta que se resuelva el problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese es un valor predeterminado sensato para un enrutador dom\u00e9stico. Sin embargo, significa que Threat Prevention es m\u00e1s d\u00e9bil en el momento exacto en que desear\u00eda que fuera m\u00e1s fuerte, porque una inundaci\u00f3n es tanto lo que desea filtrar como lo que excede la capacidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n tenemos registrado el otro modo de fallo. El 2 de agosto de 2026, alguien atac\u00f3 nuestro proxy inverso 116 veces con un exploit para un error de PHP-CGI en Windows que no puede funcionar en absoluto contra Linux. Threat Prevention descart\u00f3 suficientes paquetes como para bloquear su propio estado y luego comenz\u00f3 a rechazar el tr\u00e1fico saliente de la misma m\u00e1quina que estaba defendiendo. Nuestra cola de correo se detuvo y el s\u00edntoma parec\u00eda exactamente un fallo de DNS. Reiniciar el enrutador lo solucion\u00f3. No apareci\u00f3 nada en el registro de acceso del proxy, porque nada lleg\u00f3 nunca al proxy. Un ataque que era estructuralmente incapaz de tener \u00e9xito nos cost\u00f3 una interrupci\u00f3n del servicio debido a aquello que deb\u00eda detenerlo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"675\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list.webp\" alt=\"La lista de clases y firmas en Threat Prevention con recuentos habilitados por clase, incluida Web Application Attack en 5.928 de 6.010 reglas\" class=\"wp-image-22122\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list-300x145.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list-1024x494.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list-768x370.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list-18x9.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list-600x289.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list-400x193.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/synology-threat-prevention-class-signature-list-1000x482.webp 1000w\" \/><figcaption class=\"wp-element-caption\">Interruptores a nivel de clase con un recuento de habilitados a la derecha. Esto es la totalidad de la superficie de ajuste.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Observe los recuentos de habilitaci\u00f3n en esa lista mientras est\u00e9 all\u00ed. Ataque de aplicaci\u00f3n web muestra 5.928 de 6.010 reglas activas, y la proporci\u00f3n es similar en todas las clases que nos interesan. Activar una clase no activa todas las reglas que contiene, y la interfaz no ofrece ninguna forma de ver cu\u00e1les de las restantes le faltan.<\/p>\n\n\n\n<h2 id=\"put-a-proxy-in-front-then-lock-the-origin-to-it\" class=\"wp-block-heading\">Coloque un proxy delante y, luego, restrinja el origen a \u00e9l<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si aloja un sitio web desde un NAS, el control que realiza el trabajo que el router no puede hacer es un WAF de proxy inverso. Utilizamos Cloudflare, y la raz\u00f3n es la posici\u00f3n m\u00e1s que la marca: TLS termina en el borde (edge), por lo que la solicitud completa es legible en el momento en que se toma la decisi\u00f3n. El m\u00e9todo, la ruta, la consulta, los encabezados, las cookies y el cuerpo est\u00e1n todos disponibles para una regla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso las protecciones para PHP2Shell llegaron all\u00ed y no al router. Cuando se publicaron los CVE, el conjunto de reglas gestionado incorpor\u00f3 siete reglas para el par en dos d\u00edas, y ya estaban activas en las cuatro zonas que gestionamos antes de que termin\u00e1ramos de reconstruir nuestros propios contenedores. Nunca apareci\u00f3 ning\u00fan equivalente en la fuente de Threat Prevention, y cinco d\u00edas despu\u00e9s todav\u00eda no hay ninguna regla p\u00fablica de Snort o Emerging Threats para instalar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una advertencia que importa m\u00e1s que la elecci\u00f3n del proveedor. Un proxy delante solo ayuda mientras no se pueda eludir. Si la direcci\u00f3n de origen responde directamente a la Internet p\u00fablica, cualquiera que la descubra omitir\u00e1 cada regla de borde que haya escrito. Restrinja el puerto 443 en el origen a los rangos de red del proxy, obtenga esos rangos desde el endpoint del proveedor en lugar de codificarlos de forma fija y verifique el bloqueo solicitando el sitio directamente desde su direcci\u00f3n. Nuestra configuraci\u00f3n m\u00e1s amplia, y las cuatro capas detr\u00e1s de esta, se describen en <a href=\"https:\/\/synopower.club\/es\/documentos\/synology-nas-security-public-website\/\">the five layers we run<\/a>.<\/p>\n\n\n\n<h2 id=\"threat-prevention-limits-and-security-notes\" class=\"wp-block-heading\">L\u00edmites y notas de seguridad de Threat Prevention<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Threat Prevention necesita almacenamiento externo en el router y no est\u00e1 disponible en todos los modelos, por lo que debe confirmar la compatibilidad de su hardware antes de planificar en funci\u00f3n de \u00e9l. El motor es tambi\u00e9n el proceso que m\u00e1s recursos consume en su router y, en una unidad de consumo, es el componente con m\u00e1s probabilidades de convertirse en el l\u00edmite de rendimiento. Mida antes y despu\u00e9s en lugar de confiar en la cifra de marketing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Considere cada n\u00famero de la pantalla de visi\u00f3n general como un recuento de coincidencias de firmas, no como un recuento de ataques detenidos. Ambos difieren en ambas direcciones. Una coincidencia de reputaci\u00f3n contra un esc\u00e1ner que nunca iba a lograr nada infla el total, y una semana tranquila no prueba nada sobre el tr\u00e1fico HTTPS que el motor no puede leer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En Threat Prevention, el estado importa tanto como la gravedad. Descartar paquetes de alto riesgo autom\u00e1ticamente solo act\u00faa sobre la banda alta, por lo que las entradas de gravedad media se registran y reenv\u00edan. Una interfaz que dice Alerta le est\u00e1 indicando que el paquete fue entregado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La fuente de firmas es una cadena de suministro. ET Open se actualiza seg\u00fan una programaci\u00f3n, va por detr\u00e1s del conjunto de reglas comercial y es posible que no publique nada para una vulnerabilidad que tiene varios d\u00edas. Un panel de control que informa que la base de datos est\u00e1 actualizada est\u00e1 indicando que coincide con la fuente, no que la fuente cubra lo que se est\u00e1 explotando actualmente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nada de esto reemplaza la aplicaci\u00f3n de parches. Cada capa analizada aqu\u00ed gana tiempo para lo que realmente cierra una vulnerabilidad, que es actualizar el software afectado. Para PHP2Shell, eso signific\u00f3 nuevos paquetes PHP y contenedores reconstruidos, y ning\u00fan control de red pudo sustituirlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, resista la tentaci\u00f3n de activar todas las clases tras leer un aviso de seguridad. Clases como Misc activity incluyen miles de reglas de poco valor que solo generan ruido y consumen la misma capacidad que necesitan las clases \u00fatiles. Una lista de eventos silenciosa y bien ajustada que realmente lea supera a una ruidosa que aprenda a ignorar.<\/p>\n\n\n\n<h2 id=\"frequently-asked-questions\" class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list\">\n<div id=\"faq-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">\u00bfProtege Threat Prevention un sitio web alojado en mi NAS?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Apenas, y no de la manera que sugiere el nombre. Un sitio web se sirve a trav\u00e9s de HTTPS y Threat Prevention no realiza ninguna intercepci\u00f3n TLS, por lo que la solicitud es opaca all\u00ed donde el enrutador la ve. En una configuraci\u00f3n t\u00edpica, la solicitud solo se vuelve legible despu\u00e9s de que un proxy inverso finaliza TLS, y ese salto suele estar en la misma subred, por lo que se conmuta en lugar de enrutarse y el enrutador nunca la transporta. Utilice un WAF con proxy inverso para el sitio web y mantenga Threat Prevention para aquello en lo que es bueno.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Which option should I switch on to stop a specific CVE?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Usually none, because the answer depends on whether the vendor shipped a signature for it at all. Open Self-Defined Policy and you will find you can change the action on an existing signature but cannot add one of your own. If no rule exists in the feed, there is nothing to enable, and for a vulnerability a few days old that is the normal case.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Why does my event list only name one or two devices?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Because those are the devices receiving traffic the engine can actually read. On our network it is consistently the mail server, which answers cleartext SMTP on port 25. A web host behind a reverse proxy produces few entries not because it is attacked less, but because its traffic is encrypted at every point the router inspects.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">\u00bfInspecciona Threat Prevention el tr\u00e1fico entre dispositivos de mi LAN?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>No. Two devices in the same subnet reach each other through a switch, and the router is not in that path, so the packets are never offered to the inspection engine. The Monitored Interfaces table in Settings shows the real scope, and no option there extends it to same-subnet traffic.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">\u00bfEs seguro dejar activado Threat Prevention?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Yes, with one caveat worth knowing. The recommended default passes traffic through unfiltered when the engine is saturated, which keeps your line up at the cost of inspection. The opposite mode drops that traffic instead. We have also had the engine wedge under a flood of harmless exploit attempts and start refusing a server&#8217;s outbound traffic, which cost us a mail outage, so include the router in your list of suspects when a machine goes quiet.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">\u00bfAyud\u00f3 en algo Threat Prevention con PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>No, and three separate reasons each would have been enough on their own. The traffic was encrypted everywhere the router looks, no Snort or Emerging Threats signature was published for either CVE, and the exploit has no payload shape to match because the first request is defined by the memory it consumes and the second looks completely ordinary. The fix was new PHP packages, with a reverse-proxy WAF covering the gap in the meantime.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Is disabling session.upload_progress enough on an unpatchable host?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>It helps and it is not enough. Switching it off removes one documented route to CVE-2026-109619, which is worth doing on a host you truly cannot update, but memory exhaustion is reachable by other means and the setting does nothing for CVE-2026-109618. Treat it as borrowed time and plan the package update.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">What should I buy or configure first for a NAS-hosted site?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Coloque un proxy inverso con un conjunto de reglas gestionado frente al sitio web y, a continuaci\u00f3n, restrinja el origen para que el puerto 443 solo responda a esa red de proxy. Esos dos pasos juntos trasladan el punto de inspecci\u00f3n a un lugar donde la solicitud sea legible y eliminan la omisi\u00f3n que la anular\u00eda. Mantenga habilitado Threat Prevention despu\u00e9s para el comando y control saliente y para los servicios en texto claro, que es donde realiza un trabajo real.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<h2 id=\"references-and-video-walkthroughs\" class=\"wp-block-heading\">Referencias y tutoriales en v\u00eddeo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fuentes primarias de todo lo expuesto anteriormente, adem\u00e1s de tres gu\u00edas paso a paso que valen la pena.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/kb.synology.com\/en-global\/SRM\/help\/ThreatPrevention\/threatprevention_desc\" target=\"_blank\" rel=\"noreferrer noopener\">Centro de conocimiento de Synology: Threat Prevention<\/a> covers requirements, modes and model support.<\/li>\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14<\/a> lists the fixed PHP package versions for DSM, including the 7.4 build.<\/li>\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">Synology Statement on PHP2Shell<\/a> names the affected packages and the one that needs a manual update.<\/li>\n\n<li><a href=\"https:\/\/developers.cloudflare.com\/waf\/managed-rules\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Cloudflare WAF managed rules<\/a> explains how managed rulesets are versioned and deployed.<\/li>\n\n<li><a href=\"https:\/\/www.cloudflare.com\/ips\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Rangos de IP de Cloudflare<\/a> is the endpoint to read when locking an origin to the proxy instead of hard-coding addresses.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"SRM Threat Prevention \u2013 Explicaci\u00f3n de la protecci\u00f3n de red en tiempo real\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/yT_xGpxGF7k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Explicaci\u00f3n de SRM Threat Prevention, incluido d\u00f3nde se ubica el paquete en la red<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Prueba de velocidad del enrutador Synology con Threat Prevention activado.\" width=\"1200\" height=\"900\" src=\"https:\/\/www.youtube.com\/embed\/wuuRthcZQ_E?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Una prueba de rendimiento con Threat Prevention activado, que es el coste que nadie menciona<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Protecting Your Public Websites with Cloudflare WAF\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/NbEo8p2Hvt8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Cloudflare sobre la protecci\u00f3n de sitios web p\u00fablicos con un WAF, la capa que lee la solicitud<\/figcaption><\/figure>","protected":false},"excerpt":{"rendered":"<p>Threat Prevention is the package most people reach for the moment they decide to host a website on a Synology NAS. It sits on the router, it has a shield icon, and its dashboard counts attacks in the hundreds, so it looks like the thing that keeps a public site safe. We run it on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":22124,"comment_status":"open","ping_status":"closed","template":"","meta":{"_eb_attr":"","_xspeed_no_cache":false,"_xspeed_expiry_hours":0,"footnotes":""},"doc_category":[197],"doc_tag":[],"class_list":["post-22125","docs","type-docs","status-publish","has-post-thumbnail","hentry","doc_category-nas-hosting-101"],"year_month":"2026-10","word_count":3684,"total_views":"43","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Adair Hsu","author_nicename":"adairpk17","author_url":"https:\/\/synopower.club\/es\/author\/adairpk17\/"},"doc_category_info":[{"term_name":"NAS Hosting 101","term_url":"https:\/\/synopower.club\/es\/docs-category\/nas-hosting-101\/"}],"doc_tag_info":[],"_links":{"self":[{"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/docs\/22125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/comments?post=22125"}],"version-history":[{"count":2,"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/docs\/22125\/revisions"}],"predecessor-version":[{"id":22127,"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/docs\/22125\/revisions\/22127"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/media\/22124"}],"wp:attachment":[{"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/media?parent=22125"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/doc_category?post=22125"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/synopower.club\/es\/wp-json\/wp\/v2\/doc_tag?post=22125"}],"curies":[{"name":"gracias","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}