Service endpoint: cosa sono e cosa proteggono

I service endpoint estendono l’identità privata della tua VNet verso i servizi PaaS di Azure (Storage, SQL Database, Key Vault e altri) facendo transitare il traffico sull’Azure backbone anziché sulla rete pubblica. Si abilitano a livello di subnet, per singolo servizio (Microsoft.Storage, Microsoft.Sql, Microsoft.KeyVault…). Una volta attivi, la risorsa PaaS vede l’indirizzo IP privato della subnet come origine e, nel firewall del servizio, puoi consentire l’accesso solo da VNet/subnet specifiche.

Due punti chiave per l’esame: sono gratuiti e non richiedono NIC dedicate, ma la risorsa PaaS mantiene comunque un endpoint pubblico (non viene rimosso). Inoltre valgono solo nella stessa region della subnet e non si estendono a client on-premises via VPN o ExpressRoute. Sono la scelta rapida quando serve isolare traffico VNet→PaaS senza costi aggiuntivi.

Service endpoint policy e data exfiltration

Il limite dei service endpoint è che aprono la rotta verso tutte le istanze del servizio, non solo le tue. Una VM compromessa nella subnet potrebbe usare lo stesso percorso per copiare dati verso uno storage account di un attaccante in un’altra subscription: è lo scenario tipico di data exfiltration.

Le service endpoint policy chiudono questa falla filtrando l’egress verso specifiche risorse Azure (oggi principalmente Azure Storage), consentendo solo gli account approvati per resource ID, resource group o subscription. Vanno applicate alla subnet insieme ai service endpoint: da sole non fanno nulla. Sono il modo economico per ottenere anti-exfiltration su Storage senza passare a Private Link.

Service tag: filtrare senza gestire IP

I service tag rappresentano gruppi di prefissi IP di un servizio Azure (es. Storage, Sql, AzureKeyVault, AzureCloud), mantenuti e aggiornati da Microsoft. Si usano come sorgente o destinazione nelle regole di NSG e di Azure Firewall, evitando di gestire a mano liste di IP che cambiano nel tempo. Esistono varianti regionali (es. Storage.WestEurope) per restringere ulteriormente l’ambito.

Attenzione al confine concettuale: un service tag è solo un raggruppamento di IP per il filtraggio, non autentica né distingue la tua istanza dalle altre. Consentire Storage in un NSG apre verso l’intero servizio, incluse istanze di terzi: da solo non previene l’exfiltration, esattamente come accade con il service endpoint.

Service endpoint vs private endpoint: quando scegliere cosa

Un private endpoint (Azure Private Link) è una NIC con IP privato nella tua VNet mappata a una singola istanza di risorsa PaaS. Poiché punta a quello specifico account e permette di disabilitare l’endpoint pubblico, previene l’exfiltration by design, funziona cross-region ed è raggiungibile da on-premises via VPN/ExpressRoute (con la corretta integrazione DNS su private DNS zone). In cambio ha un costo orario più traffico elaborato.

Regola pratica: service endpoint (eventualmente + policy) quando basta isolare il traffico entro la region a costo zero; private endpoint quando servono isolamento forte, accesso ibrido, mapping alla singola risorsa o rimozione dell’endpoint pubblico.

Trappole tipiche d’esame

  • Bloccare l’exfiltration verso storage account non autorizzati mantenendo i service endpoint → service endpoint policy: i soli service endpoint aprono verso tutte le istanze del servizio; serve la policy per limitare agli account approvati.
  • Accesso privato a un PaaS da rete on-premises via ExpressRoute → private endpoint: i service endpoint restano region-scoped e non si estendono agli host on-premises.
  • Rimuovere completamente l’endpoint pubblico di uno storage account → private endpoint: i service endpoint non eliminano l’IP pubblico della risorsa, ma solo l’origine del traffico consentito.
  • Consentire in un NSG il traffico verso Azure Storage senza gestire liste di IP → service tag: il tag Storage (o la variante regionale) risolve i prefissi al posto tuo, ma non autentica né limita la singola istanza.
  • Isolare traffico VNet→PaaS a costo zero nella stessa region → service endpoint: Private Link risolverebbe ugualmente, ma introduce un costo non necessario a questo scenario.
  • Soluzione low-cost anti-exfiltration su Storage senza Private Link → service endpoint + service endpoint policy: combinazione che evita il costo del private endpoint quando l’accesso ibrido non è un requisito.