Un servizio MSP può presentare molti clienti in un'unica console pur necessitando comunque di una rigorosa separazione dei loro dati e autorità. L'isolamento del tenant significa che ogni richiesta e ogni elemento derivato rimane nell'ambito del tenant a cui l'entità corrente è autorizzata ad accedere. Un cliente selettore in un browser non è un limite di sicurezza.
Mappa i confini
Elenca i record dei report, l'inventario del dominio, le proposte di configurazione, le esportazioni, gli eventi di controllo e i lavori pianificati. Identificare il modo in cui ciascun oggetto trasporta il contesto del tenant e dove viene applicato l'accesso. La guida multi-tenant di OWASP tratta il contesto del tenant come un problema di sicurezza tra i livelli di applicazione e dati; la sua guida all'autorizzazione consiglia il rifiuto predefinito e il controllo di ogni richiesta.
Derivare l'ambito del tenant dal contesto autenticato attendibile e dall'appartenenza approvata. Tratta un ID tenant fornito in un URL o payload come input non attendibile da convalidare, non come autorità sufficiente. Quando viene eseguito un processo in background, preserva il tenant che lo ha avviato e ricontrolla le autorizzazioni richieste per la sua azione. Gli analisti MSP tra clienti necessitano di esplicite sovvenzioni multi-tenant, non di un bypass dedotto dal loro titolo professionale.
Testare risorse e operazioni in modo indipendente
Utilizzare due clienti fittizi con report e oggetti di dominio distinti. Tentare una lettura consentita, quindi scambiare solo l'ID risorsa. Ripetere per il download dell'esportazione, la scrittura DNS proposta e la modifica alla gestione degli utenti. Testa le richieste API dirette perché un pulsante invisibile non impedisce una richiesta predisposta. La conferma del rifiuto non rivela il contenuto del report o i dettagli dell'oggetto non necessari per la risposta.
Testa i risultati memorizzati nella cache, gli indici di ricerca e le esportazioni generate, nonché le query del database. Una query con ambito corretto può comunque far trapelare dati tramite una chiave di cache che omette l'identità del tenant. L'archiviazione dell'esportazione e l'autorizzazione al download necessitano di test negativi. Includere modifiche di ruolo, account sospesi e abbonamenti rimossi; una sessione obsoleta non deve preservare i privilegi ritirati a tempo indeterminato.
Segui un report nel relativo artefatto esportato
Supponiamo che l'API di report del tenant A neghi correttamente il tenant B, ma è possibile scaricare un'esportazione generata in precedenza modificando solo l'identificatore dell'oggetto. Il test API ha superato il suo ambito, ma l'isolamento dell'esportazione non è riuscito. Conserva la richiesta e le prove degli artefatti senza raccogliere dati non necessari sui clienti, limita l'accesso interessato attraverso il processo di incidente autorizzato e indaga sull'esposizione prima di espandere il progetto pilota.
In un caso separato, un analista lascia l'account dopo aver pianificato un'esportazione. L'utilizzatore del lavoro deve ristabilire il contesto di inquilino fidato e verificare l'attuale autorizzazione quando esegue il lavoro; l'invio di una coda storica non è una concessione duratura. Questi sono scenari di fallimento ipotetici, non risultati di un prodotto reale. Testa sia un download con ambito valido che le richieste vietate ai limiti reali dell'API, del lavoro e dello storage, mantenendo identità, tenant, operazione, oggetto e risultato osservato senza segreti.
Definire il recupero e le prove
Mantieni gli errori di isolamento distinguibili dai normali errori di risorse mancanti nei log operativi limitati, evitando al contempo divulgazioni non necessarie ai chiamanti. Registrare l'ambito dell'incidente, gli artefatti interessati, il contenimento e ripetere i risultati dei test. Non eliminare silenziosamente le prove per rendere il test pulito.
L'accettazione richiede percorsi consentiti riusciti e percorsi proibiti falliti in ogni operazione rilevante. Una singola matrice passata non dimostra che tutto il codice dell'applicazione è isolato. Eseguire nuovamente i test dopo modifiche al modello di autorizzazione, all'archiviazione, alla cache, all'esportazione o al sistema di lavoro. Valutare esplicitamente l'infrastruttura condivisa e l'accesso al supporto privilegiato, con sovvenzioni limitate nel tempo e revisione di audit ove necessario.