I dispositivi di edge — concentratori VPN e firewall — sono oggi il primo bersaglio per l'initial access: esposti su Internet, eseguono codice complesso e spesso restano senza patch. Il Blue Team deve trattarli come asset critici, monitorati come endpoint di alto valore.

Le CVE che contano (2024–2025)

  • FortiOS — CVE-2024-21762: out-of-bounds write in sslvpnd, RCE non autenticato via HTTP, presente nella CISA KEV. Nel 2025 Fortinet ha segnalato persistenza tramite symlink nei file di lingua della SSL-VPN (accesso in lettura mantenuto anche dopo la patch) e un bypass 2FA sfruttato attivamente.
  • Palo Alto PAN-OS — CVE-2024-3400: arbitrary file creation in GlobalProtect che porta a command injection come root (CVSS 10), zero-day sfruttato in campagne mirate.
  • Cisco ASA/FTD — CVE-2024-20353 / CVE-2024-20359 (campagna ArcaneDoor) e, nel 2025, CVE-2025-20333 / CVE-2025-20362 contro il Remote Access VPN.

Il pattern è ricorrente: RCE non autenticato sull'edge → persistenza → furto credenziali → movimento laterale.

Flusso ZTNA
Ridurre l'esposizione: dalla VPN full-tunnel all'accesso per-applicazione (ZTNA).

Detection: cosa cercare nei log

Gli appliance espongono telemetria preziosa, da inoltrare via syslog al SIEM. Segnali ad alta fedeltà:

  • Crash o restart ripetuti di sslvpnd / processi GlobalProtect (sintomo di exploit).
  • File creati in percorsi anomali della SSL-VPN, o nuovi symlink.
  • Login VPN riusciti da ASN/Geo improbabili o impossible travel.
  • Creazione di account admin o modifiche di config fuori dalla finestra di change.

Hunting su FortiGate (Splunk SPL) per login VPN anomali:

index=fortigate (action=ssl-login-fail OR action=ssl-login)
| stats count, dc(srcip) as src_ips, values(action) as actions by user
| where count > 20 AND src_ips > 5
| sort - count

Sospetto sfruttamento GlobalProtect (PAN-OS), pattern nei comandi di sistema:

index=panos (sourcetype=pan:system OR sourcetype=pan:threat)
| search subtype=globalprotect OR cmd="*/dev/shm/*" OR cmd="*curl*" OR cmd="*python*"
| stats count by serial, cmd, src
| where count > 0

Esfiltrazione e lateral movement

  • Account di servizio usati per RDP/SMB verso più host (uso anomalo).
  • Sessioni con volume di outbound sproporzionato.
  • Connessioni dall'edge verso segmenti interni mai contattati prima.
index=netflow
| stats sum(bytes_out) as out_bytes by src_ip, dest_ip, dest_port
| where out_bytes > 50000000
| lookup asset_zone src_ip OUTPUT zone
| search zone="edge"
| sort - out_bytes

Mitigazione e transizione a ZTNA

  • Patch e riduzione superficie: aggiornare l'edge con priorità assoluta; togliere l'interfaccia di management da Internet.
  • MFA ovunque e disabilitazione dei metodi legacy / web-mode SSL-VPN non necessari.
  • Segmentazione: l'edge non deve raggiungere direttamente i segmenti critici.
  • ZTNA: sostituire il full-tunnel con accesso per-applicazione basato su identità e postura del dispositivo.

Hardening dell'accesso amministrativo su FortiGate:

config firewall address
    edit "MGMT_ALLOWLIST"
        set subnet 10.99.0.0 255.255.255.0
    next
end
config system global
    set admin-sport 8443
    set admintimeout 5
end
# consenti l'accesso admin solo dalla rete di management

Conclusione

L'edge non è più un perimetro fidato: è il punto più esposto. Patch aggressive, telemetria al SIEM, detection sui segnali post-exploit e una transizione graduale a ZTNA spostano il vantaggio dalla parte di chi difende.