S'identifichi GateKeeper come la tecnologia responsabile di un Gate. Un Gate rappressenta un ACP (Access Control Point) per l'applicazione.

Tutte le tecnologie Core

  • IIS
  • ASP.NET
  • Web Services
  • Remoting
  • Enterprise Services
  • Sql Server 2000
  • Windows 2000

presentano dei GateKeepers. Le richieste devono obbligatoriamente passare per una serie di Gates prima di passare a stato Allowed e quindi venire processate dal sistema. In questo post verranno illustrate la serie di cancelli che vengono attraversati per ogni tecnologia core.

Internet Information Services mette a disposizione un Gate quando si autentifica l'utente (è dato per scontato che Anonymous authentication venga disabilitata). IIS Web Permissions può essere utilizzata come un ACM (Access Control Mechanism) per ristringere le capacità dell'utente Web di accedere a specifici files o cartelle. Diversamente da NTFS file permissions, le Web Permissions si applicano a tutti gli Utenti Web a differenza di specifici Utenti o Gruppi Utenti. Di fatto NTFS permissions mette a disposizione restrizione legate unicamente a risorse web, quindi: pagine web, imagini e files ed altro.
IIS controlla le Web Permissions, a seguire vengono verificate le NTFS file permissions. Un utente deve essere autorizzato da entrambe i meccanismi per poter accedere a questi file o cartelle. La conseguenza di una Web Permissions Check fallita si risolve in un errore HTTP 403 - Access Forbidden. Una NTFS permissions check fallita invece ritorna un errore HTTP 401 - Access Denied.

ASP.NET mette a disposizione diversi e configurabili cancelli. Questi includono URL Authorization, File Authorization, Principal Permissions Demands e .NET Roles.

Enterprise Services utilizza i ruoli Enterprise Service per autorizzare gli accessi alle funzioni business.

Sql Server 2000 include una serie di cancelli quali : Server Logins, Database Logins e Database Object Permissions.

Windows 2000 include alcuni cancelli che utilizzano ACLs per mettere in sicurezza le risorse.

Utilizzare i GateKeepers in sequenza significa quindi, applicare un filtro graduale il quale unico scopo è quello di permettere l'accesso a risorse di back-end.

Questa tipologia di accesso alle risorse viene definito "Accesso Granuale".

Un esempio classico in cui si può analizzare una tecnica di Accesso Granuale è la seguente:

siamo in uno scenario Web.

Disabilitiamo l'accesso Anonimo in IIS, come risultato, i cancelli vengono aperti, solo agli account che iis può autenticare. Diciamo quindi che il numero potenziale di visitatori si riduce da X a 10,000

Decidiamo di applicare un secondo Cancello, lo facciamo in ASP.NET dove viene selezionato il Gate relativo alla URL Authorization che può ridurre i visitatori da 10,000 a 1000. Quindi X - 10,000 - 1,000.

A questo punto installiamo il Cancello NTFS File Permissions. Il quale riduce i visitatori ad un numero teorico di 100.

Come risultato avremo la nostra WebApplication Code Block che potrà permettere l'accesso di circa 10 Utenti (Basati su ruoli) ad una serie di risorse riservate.