
Synology Threat Prevention: Cosa rileva e cosa non vede
19 min read
- Visualizza come Markdown Apri questa pagina come Markdown semplice (si apre in una nuova scheda)
- Apri in ChatGPT Poni domande su questa pagina (si apre in una nuova scheda)
- Aperto a Claude Poni domande su questa pagina (si apre in una nuova scheda)
- Apri in Google AI Studio Poni domande su questa pagina (è necessario un account Google) (si apre in una nuova scheda)
Threat Prevention è il pacchetto a cui la maggior parte delle persone si rivolge nel momento in cui decide di ospitare un sito web su un NAS Synology. Risiede sul router, ha un'icona a forma di scudo e la sua dashboard conta gli attacchi a centinaia, quindi sembra proprio ciò che mantiene al sicuro un sito pubblico. Lo eseguiamo su un RT6600ax davanti a ogni macchina in nostro possesso, ed è valsa la pena averlo. È anche, per un sito web in self-hosting, quasi del tutto irrilevante.
Questo articolo della guida NAS Hosting 101 apre il nostro router, legge una settimana reale di eventi e mostra esattamente dove Threat Prevention smette di essere d'aiuto, utilizzando PHP2Shell come esempio di un attacco che Threat Prevention non avrebbe mai potuto rilevare.
Punto SynoPower Club: Ho trascorso molto tempo nel supporto Synology e la domanda arrivava continuamente: quale opzione devo attivare per fermare questo attacco. È l'istinto giusto rivolto allo strumento sbagliato. Ciò che mi ha finalmente fatto aprire gli occhi è stato leggere la nostra lista degli eventi anziché la pagina delle funzionalità. Ogni avviso registrato dal nostro router questo mese riguardava un indirizzo con una cattiva reputazione, non una richiesta con un payload malevolo. Una volta compreso questo, smetti di chiedere a Threat Prevention di ispezionare il traffico che sta tenendo in una busta sigillata.
Cosa fa effettivamente Threat Prevention su un router Synology #
Threat Prevention è un sistema di rilevamento e prevenzione delle intrusioni basato sulla linea di sviluppo di Snort e Suricata. Legge i pacchetti mentre il router li inoltra, li confronta con un set di firme e registra un avviso o scarta il pacchetto. Sul nostro RT6600ax il feed delle firme è ET Open, il livello gratuito del set di regole Emerging Threats, aggiornato quotidianamente alle 09:00.
Tre proprietà derivano da questa architettura, e tutte e tre contano più di qualsiasi casella di controllo nell'interfaccia:
- It can only examine packets the router forwards. Traffic that never crosses the routing engine is not slow to inspect, it is invisible.
- It can only match on bytes it can readNon c'è alcuna intercettazione TLS in Threat Prevention, quindi un payload crittografato rimane opaco.
- It can only match signatures somebody else wrote. The interface exposes vendor classes to switch on and off, and nothing that accepts a rule you author yourself.
Niente di tutto ciò è un difetto. Un IPS sul perimetro della rete è una cosa ragionevole e utile da avere. L'errore sta nel presumere che il perimetro sia il punto in cui un sito web viene attaccato.
Threat Prevention vs Web Application Firewall #
Il modo più chiaro per vedere la differenza è mettere Threat Prevention accanto a un Web Application Firewall e chiedersi cosa stia analizzando ciascuno di essi quando prende una decisione. Threat Prevention analizza un pacchetto. Un WAF analizza una richiesta HTTP decifrata.
| Question | Router IPS | Reverse-proxy WAF |
|---|---|---|
| Dove corre | On the routing path, before TLS ends | At the edge, after TLS ends |
| What it inspects | Packet headers and any cleartext bytes | Method, path, headers, cookies, body |
| HTTPS traffic | Opaque | Fully readable |
| Rules you can add | Vendor classes on or off | Your own expressions, plus managed rulesets |
| Same-subnet traffic | Never seen | Not applicable, it is upstream of everything |
| Typical catch | Reputation hits, scans, cleartext exploits, outbound command and control | Injection, traversal, known CVE request shapes, credential stuffing, bots |
Non si tratta di prodotti in concorrenza tra loro. Coprono segmenti diversi dello stesso percorso e un sito in self-hosting ha un bisogno molto maggiore del secondo che del primo. Li manteniamo entrambi e ci aspettiamo cose completamente diverse da ciascuno.
Lettura di 595 eventi in una settimana sul nostro router #
Ecco la schermata panoramica di Threat Prevention del nostro router di produzione il 25 ottobre 2026. Cinquecentonovantacinque eventi malevoli nell'arco di sette giorni, di cui 75 ad alta gravità. Sembra un muro che trattiene un'inondazione.

Due dettagli in quella schermata valgono più del numero principale. Il primo è che un solo dispositivo appare tra le potenziali minacce, ed è REVERSE_MAIL, la macchina che termina TLS ed esegue MailPlus. Il secondo è la data della firma accanto alla spunta verde. Ora apri un singolo evento e leggi cosa è scattato effettivamente.

Classificazione Misc Attack, gravità Media, stato Alert, nome della firma ET CINS Active Threat Intelligence Poor Reputation IP group 24. Apri il corpo della regola e inizia con alert ip seguito da un lungo elenco di indirizzi. Questa è una consultazione di una blocklist. Nessuna parte della richiesta HTTP è stata letta, perché nessuna parte poteva esserlo. Abbiamo analizzato gli eventi rispetto a una seconda destinazione, il nostro host Virtual DSM, e abbiamo trovato la stessa classe di regola con un numero di gruppo diverso.
Quindi l'onesto riassunto di una settimana è questo: il router ha riconosciuto alcune centinaia di connessioni da indirizzi che avevano già una cattiva reputazione. Questo è davvero utile. Ma non si tratta di rilevamento di attacchi web, e nessuno dovrebbe interpretare il numero 595 come se lo fosse.
Come controllare Threat Prevention in 4 passaggi #
Prima di affidare qualsiasi cosa a Threat Prevention, dedica dieci minuti a scoprire cosa sta effettivamente facendo sulla tua rete. Ogni passaggio seguente è in sola lettura e non modifica nulla.
Apri un evento e leggi il corpo della firma #
Vai su Threat Prevention, quindi su Eventi e fai clic su una qualsiasi voce. Guarda oltre il badge di gravità colorato nella casella Regole firma. Una regola che inizia con alert ip corrisponde unicamente in base alla reputazione dell'indirizzo. Una regola che contiene content o pcre corrisponde in base al payload. Conta quante ne trovi di ciascun tipo nel tuo elenco prima di decidere che cosa stia proteggendo Threat Prevention.
Verifica quali interfacce sono monitorate #
Apri Impostazioni e consulta la tabella Interfacce monitorate. Vengono ispezionate solo le interfacce spuntate lì e, in una normale distribuzione, sono quelle rivolte a Internet. Il traffico tra due dispositivi sulla stessa sottorete LAN viene commutato anziché instradato, quindi non raggiunge mai il motore di ispezione e nessuna impostazione in questa pagina può modificare questo comportamento.
Scopri cosa succede quando il router è occupato #
Nello stesso pannello, osserva la modalità predefinita. Priorità alla stabilità della rete significa che quando il traffico supera quanto il motore può elaborare, l'eccedenza viene fatta passare senza essere filtrata. Priorità alla sicurezza significa che l'eccedenza viene invece scartata. Una scelta è fail-open e mantiene attiva la tua linea, l'altra è fail-closed e la manda giù. Decidi quale desideri effettivamente.
Try to add a rule of your own #
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.
Dove si guadagna davvero il suo posto #
Manteniamo Threat Prevention attivo, e non per superstizione. Ci sono quattro compiti che svolge e che nessun altro elemento del nostro stack fa.
- Outbound command and control. 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.
- Cleartext protocols from the internet. 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.
- Scanning and reconnaissance. Port sweeps and fingerprinting are recognised by connection behaviour rather than by payload, so encryption does not hide them.
- Visibility. 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.
Ciò che questi quattro compiti hanno in comune è che nessuno di essi è un attacco a un sito web.
Perché il proprietario di un sito chiede a Threat Prevention la cosa sbagliata #
Quando si ospita un sito su un NAS, il percorso della richiesta include solitamente un reverse proxy. Il nostro si presenta così, ed è la sua struttura a determinare tutto:
- The visitor reaches Cloudflare, which answers most requests from cache and inspects the rest in cleartext.
- What is left crosses the router, dove Threat Prevention vede un flusso TLS crittografato e niente di più.
- IL reverse proxy NAS terminates TLS and forwards plain HTTP to the machine that runs the site.
- That last hop is on the same subnet, so the frame goes through a switch and the router is not in the path.
Leggendo queste quattro righe insieme, la trappola è ovvia. L'unico segmento in cui la richiesta esiste in forma leggibile è l'ultimo hop, ed è proprio l'unico segmento che il router non può osservare. In ogni punto che il router può osservare, la richiesta è crittografata. Non esiste alcuna casella di controllo in grado di risolvere una contraddizione del genere e Threat Prevention non sta sbagliando quando rimane in silenzio. Sta semplicemente riportando con precisione il traffico che è strutturalmente impossibilitato a leggere.
Questo è anche il motivo per cui puntare Threat Prevention su un sito specifico non funziona. Il pacchetto è vincolato alle interfacce del router, non agli hostname. Non ha alcuna nozione di quale dei tuoi siti appartenga a una connessione, perché non vede mai l'intestazione Host.

Tre motivi per cui PHP2Shell era invisibile al router #
PHP2Shell, la coppia di falle di esecuzione di codice remoto pre-autenticazione tracciate come CVE-2026-109618 e CVE-2026-109619, è stata divulgata il 20 ottobre 2026 ed è stata corretta a monte il giorno successivo. È esattamente il tipo di problema che le persone sperano che un IPS per router sia in grado di assorbire, e vale la pena essere specifici sul perché non abbia potuto farlo.
In primo luogo, il traffico era crittografato su ogni segmento monitorato dal router. 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.
In secondo luogo, non esiste alcuna firma di Threat Prevention da attivare. 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.

Terzo, e ancor più fondamentale, questo attacco non ha una struttura di payload da confrontare. 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.
La prima richiesta è definita dalla quantità di memoria che consuma, non da una sequenza di byte, e un caricamento di grandi dimensioni, un corpo JSON enorme, un array profondo e una stringa lunga in un'espressione regolare ne sono tutti un esempio. La seconda non trasporta alcun byte malevolo. Un IPS decide per pacchetto e per flusso. Non ha alcun modello di processo worker che trasporta uno stato contaminato da una richiesta a quella successiva, che è esattamente dove risiede questo bug.
Questo fissa anche i limiti della mitigazione che circolava all'epoca, che consisteva nel disattivare session.upload_progress nella configurazione di PHP. Rimuove effettivamente un modo ben documentato per raggiungere il secondo CVE e, su una macchina che non puoi davvero aggiornare, è meglio di niente. Non è una soluzione definitiva: l'esaurimento della memoria non è raggiungibile solo tramite quella singola funzionalità e l'impostazione non ha alcun impatto su CVE-2026-109618. L'abbiamo usata come soluzione temporanea su un solo host e l'abbiamo considerata come tempo guadagnato, non come una risoluzione. Il resoconto completo di come abbiamo applicato le patch è nel nostro PHP2Shell write-up.
Fail-open per progettazione, e il giorno in cui ci è costato le nostre e-mail #
C'è un'altra proprietà che vale la pena conoscere prima di considerare Threat Prevention come un controllo su cui fare affidamento. La sua modalità predefinita consigliata è la modalità di priorità alla stabilità della rete, e l'interfaccia spiega cosa significa senza alcun eufemismo: quando il traffico supera la capacità di elaborazione, i pacchetti in sospeso vengono lasciati passare senza filtraggio. L'alternativa, la modalità di priorità alla sicurezza, li scarta e avverte che la connessione sarà instabile fino alla risoluzione del problema.
Si tratta di un'impostazione predefinita ragionevole per un router domestico. Significa però che Threat Prevention è nel suo punto più debole proprio nel momento in cui vorresti che fosse più forte, perché un traffico anomalo di tipo flood è sia ciò che desideri filtrare sia ciò che supera la capacità del sistema.
Abbiamo anche documentato l'altra modalità di guasto. Il 2 agosto 2026 qualcuno ha colpito ripetutamente il nostro reverse proxy 116 volte con un exploit per un bug PHP-CGI per Windows che non può funzionare su Linux. Threat Prevention ha scartato abbastanza pacchetti da bloccare il proprio stato, per poi iniziare a rifiutare il traffico in uscita della macchina stessa che stava difendendo. La nostra coda di posta si è bloccata e il sintomo sembrava esattamente un guasto del DNS. Il riavvio del router ha risolto il problema. Nulla è apparso nel registro degli accessi del proxy, perché nulla ha mai raggiunto il proxy. Un attacco strutturalmente incapace di avere successo ci è comunque costato un'interruzione di servizio, a causa dello strumento che avrebbe dovuto fermarlo.

Dai un'occhiata ai conteggi di abilitazione in quell'elenco mentre sei lì. Web Application Attack mostra 5.928 su 6.010 regole attive e il rapporto è simile nelle classi che ci interessano. Attivare una classe non attiva tutte le regole al suo interno e l'interfaccia non offre alcun modo per vedere quali tra le rimanenti ti mancano.
Metti un proxy davanti, poi blocca l'origine su di esso #
Se gestisci un sito web da un NAS, il controllo che svolge il lavoro che il router non può fare è un WAF reverse-proxy. Utilizziamo Cloudflare, e il motivo risiede nella posizione piuttosto che nel marchio: TLS termina all'edge, quindi l'intera richiesta è leggibile nel momento in cui viene presa la decisione. Metodo, percorso, query, header, cookie e corpo sono tutti disponibili per una regola.
Ecco perché le protezioni PHP2Shell sono arrivate lì e non sul router. Quando sono emersi i CVE, il set di regole gestito ha ottenuto sette regole per la coppia nel giro di due giorni, ed erano attive su tutte e quattro le zone che gestiamo prima ancora che avessimo finito di ricompilare i nostri container. Nessun equivalente è mai apparso nel feed di Threat Prevention e, cinque giorni dopo, non esiste ancora alcuna regola pubblica Snort o Emerging Threats da installare.
Un avvertimento che conta più della scelta del provider. Un proxy posizionato davanti aiuta solo fino a quando non lo si può aggirare. Se l'indirizzo di origine risponde direttamente a Internet pubblico, chiunque lo scopra salta ogni regola edge che hai scritto. Limita la porta 443 sull'origine agli intervalli di rete del proxy, ricava tali intervalli dall'endpoint del provider anziché digitarli a riga di codice, e verifica il blocco richiedendo il sito direttamente dal suo indirizzo. La nostra configurazione più ampia, e i quattro livelli dietro a questo, sono descritti in the five layers we run.
Limiti di Threat Prevention e note di sicurezza #
Threat Prevention richiede una memoria esterna sul router e non è disponibile su tutti i modelli, quindi conferma il supporto per il tuo hardware prima di pianificarne l'uso. Il motore è anche l'elemento che lavora di più nel router e, su un'unità consumer, è il componente che più facilmente diventa il limite per il throughput. Misura le prestazioni prima e dopo anziché fidarti della cifra di marketing.
Considera ogni numero nella schermata panoramica come un conteggio di corrispondenze di firme, non come un conteggio di attacchi bloccati. I due differiscono in entrambe le direzioni. Un riscontro di reputazione contro uno scanner che non avrebbe mai ottenuto nulla gonfia il totale, e una settimana tranquilla non prova nulla sul traffico HTTPS che il motore non può leggere.
In Threat Prevention, lo stato conta quanto la gravità. "Drop high-risk packets automatically" agisce solo sulla fascia alta, quindi le voci a gravità media vengono registrate e inoltrate. Un'interfaccia che mostra Alert ti sta dicendo che il pacchetto è stato consegnato.
Il feed delle firme è una catena di fornitura. ET Open si aggiorna a intervalli programmati, è in ritardo rispetto al set di regole commerciale e potrebbe non rilasciare nulla per una vulnerabilità risalente a diversi giorni prima. Una dashboard che segnala che il database è aggiornato indica che corrisponde al feed, non che il feed copra ciò che viene attualmente sfruttato.
Niente di tutto ciò sostituisce l'applicazione delle patch. Ogni livello qui discusso fa guadagnare tempo per ciò che chiude effettivamente una vulnerabilità, ovvero l'aggiornamento del software interessato. Per PHP2Shell ciò ha significato nuovi pacchetti PHP e container ricreati, e nessun controllo di rete è stato in grado di sostituirlo.
Infine, resisti alla tentazione di attivare ogni classe dopo aver letto un avviso di sicurezza. Classi come Misc activity contengono migliaia di regole di poco valore che generano principalmente rumore e consumano la stessa capacità necessaria alle classi utili. Un elenco di eventi silenzioso e ben ottimizzato che leggi davvero è meglio di uno rumoroso che impari a ignorare.
Domande frequenti #
Threat Prevention protegge un sito web ospitato sul mio NAS? #
A malapena, e non nel modo suggerito dal nome. Un sito web viene erogato tramite HTTPS e Threat Prevention non effettua alcuna intercettazione TLS, quindi la richiesta rimane opaca ovunque il router possa vederla. In una configurazione tipica, la richiesta diventa leggibile solo dopo che un reverse proxy termina il TLS, e quel passaggio avviene di solito sulla stessa subnet, quindi viene sottoposto a switching anziché a routing e il router non lo gestisce mai. Utilizza un WAF reverse-proxy per il sito web e mantieni Threat Prevention per ciò in cui eccelle.
Which option should I switch on to stop a specific CVE? #
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.
Why does my event list only name one or two devices? #
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.
Threat Prevention ispeziona il traffico tra i dispositivi sulla mia LAN? #
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.
È sicuro lasciare Threat Prevention abilitato? #
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’s outbound traffic, which cost us a mail outage, so include the router in your list of suspects when a machine goes quiet.
Threat Prevention è stato d'aiuto in qualche modo con PHP2Shell? #
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.
Is disabling session.upload_progress enough on an unpatchable host? #
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.
What should I buy or configure first for a NAS-hosted site? #
Metti un reverse proxy con un set di regole gestite davanti al sito, quindi limita l'origine in modo che la porta 443 risponda solo a quella rete proxy. Questi due passaggi insieme spostano il punto di ispezione in un luogo in cui la richiesta è leggibile ed eliminano il bypass che vanificherebbe il tutto. Mantieni Threat Prevention abilitato in seguito per il traffico outbound di command and control e per i servizi in testo in chiaro, ovvero dove svolge un lavoro reale.
Riferimenti e video dimostrativi #
Fonti primarie per tutto ciò che è stato affermato sopra, più tre guide dettagliate che valgono il tempo impiegato.
- Centro conoscenze Synology: Threat Prevention covers requirements, modes and model support.
- Synology-SA-26:14 lists the fixed PHP package versions for DSM, including the 7.4 build.
- Synology Statement on PHP2Shell names the affected packages and the one that needs a manual update.
- Cloudflare WAF managed rules explains how managed rulesets are versioned and deployed.
- Intervalli IP di Cloudflare is the endpoint to read when locking an origin to the proxy instead of hard-coding addresses.