Al momento stiamo lavorando per aggiornare un piccolo sistema informativo per un'azienda. Attualmente, il sistema ha una zona di rete aziendale (CORP) in cui sono collocati i servizi per gli utenti interni e un segmento di rete del data center (DC) in cui risiedono un servizio di accesso ai dati e tutti i database. Tutte le applicazioni sono essenzialmente distribuite nei server Web e le comunicazioni tra di loro avvengono tramite HTTPS.
Abbiamo bisogno di installare una nuova zona di rete, la DMZ, dove verranno posizionati alcuni servizi disponibili esternamente. Durante i nostri incontri, abbiamo riscontrato un problema che potrebbe essere importante.
Le richieste di dati in arrivo da Internet arrivano al servizio Accesso ai dati DMZ . DMZ Data Access inoltra la richiesta a CORP External Request Handler (che è essenzialmente un proxy che autentica la richiesta proviene da DMZ Service 1) che inoltra la richiesta a DC Data Access servizio.
Il problema si presenta quando aggiungi controlli di controllo dell'accesso. A causa del modo in cui è stato configurato il sistema precedente, gli utenti, i ruoli e le autorizzazioni possono essere recuperati solo tramite il servizio di accesso ai dati DC. Ciò significa che se costruiamo intercettori che controllano le autorizzazioni dell'utente in DMZ Data Access, il flusso di dati includerà:
Utente - > Accesso ai dati DMZ (controllo dei permessi) - > Gestore di richieste esterne CORP - > DC Data Access (permesso ok) - > Gestore di richieste esterne CORP - > Accesso dati DMZ (autorizzazione concessa, dati richiesta) - > Gestore di richieste esterne CORP - > Accesso ai dati DC - > Gestore di richieste esterne CORP - > Accesso ai dati DMZ - > Utente
Potremmo essere in grado di spostare i controlli di controllo dell'accesso sul livello di accesso ai dati DC per semplificare un po 'il flusso, ma non siamo ancora sicuri di quale impatto avranno sulle prestazioni, né di quanto sia sensibile questo è un attacco DDoS.
Tuttavia, non siamo sicuri se questo è l'approccio corretto. Esiste un modo standard per affrontare questo problema, dovremmo unire il controllo degli accessi e i controlli sull'accesso ai dati in una singola richiesta oppure stiamo semplicemente facendo un'ottimizzazione prematura?
Una cosa da notare è che non possiamo fare affidamento sulla directory attiva o su qualche altro fornitore di autorizzazioni, poiché è necessario integrarlo nell'infrastruttura esistente.