TechNet
Security Workshop IV
Milano, 8 Giugno
Internet Information Server 6.0
Agenda
Accounts Built-in IIS 6.0
 Autenticazione in IIS:

Anonymous Authentication
 Basic Authentication
 Integrated Authentication
 Client Certificate Authentication

Protezione
del Traffic Web
Scelta di un Isolation Mode
Mode
IIS 5.0
Isolation
Mode
Applicazioni:
Funzionano in
Inetinfo.exe, e
le applicazioni
out-of-process
funzionano in
DLL host
separate
Worker Funzionano in
Process un ambiente
Isolation isolato
Mode
Compatibilità:
Garantisce la
compatibilità per
la maggior parte
delle applicazioni
esistenti
Isolamento:
Impedisce che
un’applicazione (o
un sito) ne danneggi
un’altra
Le applicazioni
devono essere
scritte per
funzionare come
un’istanza
multipla
Permette agli
amministratori di
isolare qualunque
cosa, da una singola
applicazione Web a
siti multipli nel loro
worker process
L’Autenticazione in IIS 6.0?
IIS 4.0
IIS 5.0
IIS 6.0
Anonymous
Basic (clear text)
Authentication
.NET Passport
Windows NT
Challenge /
Response
Non
disponibile
Integrated
Digest
Disponibile
come
Pienamente
installazione
integrata
separata
Account
Description
Account
Built-in
in
IIS
6.0
Ha molti diritti di accesso

LocalSystem
di assegnare LocalSystem come identità di un
application pool
Pochi privilegi
IInteragisce attraverso la rete utilizzando il computer
account
Network Service
E’ l’identità assegnata per default all’application pool
(raccomandata)
Pochi provilegi
Si collega attraverso la rete in modalità anonima
Local Service
Da usare solo per applicazioni Web locali
Gruppo di IIS, l’account che assegno come identità
dell’Application Pool deve essere membro di questo
IIS_WPG
gruppo
IUSR_computerna Account di IIS utilizzato per l’accesso anonimo
me
IWAM_computern
ame
ASPNET
Evitare
Account
di IIS per avviare applicazioni out-of-process in
IIS 5.0 isolation mode
Account
di IIS per avviare il worker process di ASP.NET
in IIS 5.0 isolation mode
Flusso del Controllo d’accesso
1.
2.
L’indirizzo IP è permesso?
L’utente è permesso?


Credenziali valide (Autenticazione)
Restrizioni dell’Account

3.
4.
Time, Lockout, Password scaduta, Privilegi
IIS permette l’accesso ?
NTFS permette l’accesso ?
Architettura di Autenticazione
IE
Client  IIS

Basic, Digest,
Windows, Client
certificates
SQL
IIS
IIS  Backend Server

Delega ?
Scenario di Autenticazione
Internet
DMZ
SQL
Server
IIS
Firewall
Web Proxy
Active
Directory
Web Browser
Anonymous Authentication
GET dbquery.asp HTTP/1.1
SQL
Server
2
SQL
authentication
SELECT * FROM
table
3
IIS
Firewall
1
Proxy
Active
Directory
Web Browser
Anonymous Authentication
 Accesso
alle risorse come utente anonimo
(IUSR_<machinename>
 Identità del Processo: Network Services,
LocalSystem, IWAM_<machinename>
 L’identità del processo è configurabile
tramite COM+

Sicurezza / Prestazioni
Basic Authentication
GET dbquery.asp HTTP/1.1
401 Unauthorized
SQL
Server
WWW-Authenticate: Basic realm="spoon"
Authorization:
“Basic” Base64 encoded user/pw
6
IIS
2
Firewall
3
1
4
Windows
authentication
LogonUser
5
(“user1”, “pw”)
Proxy
Active
Directory
Web Browser
Basic Authentication




Identità del Processo: Network Services,
LocalSystem, IWAM_<machinename>
Accesso alle risorse come authenticated user
Vantaggi

Tutti i client HTTP supportano la basic auth

Supporta delega one hop
Svantaggi

Password in chiaro (Base64 Encoded)
 Su Internet
 Sul Server
 Deve essere protetto tramite SSL
Windows Integrated
Authentication
 Security
Support Provider (SSPI)-based
 NTLM o Kerberos
 IIS chiede al client che protocollo supporta
 Il Protocollo può essere forzato

NTAuthenticationProviders
Negotiate
 NTLM
 Kerberos

NTLM Authentication
GET dbquery.asp HTTP/1.1
401 Unauthorized
SQL
Server
WWW-Authenticate: “NTLM” challenge
Authorization: “NTLM” response
2
IIS
Firewall
1
3
Proxy
Active
Directory
Web Browser
NTLM Authentication
1. GET dbquery.asp HTTP/1.1
2. HTTP/1.1 401 Unauthorized
WWW-Authenticate: NTLM
3. HTTP GET dbquery.asp HTTP/1.1
Authorization: NTLM {…} Connection: Keep-Alive
4. HTTP/1.1 401 Access Denied
WWW-Authenticate: NTLM {…}Connection: Keep-Alive
5. HTTP GET dbquery.asp HTTP/1.1
SQL Login / COM+
Authorization: NTLM {hashed challenge}
SELECT * FROM
Connection: Keep-Alive
7 table WHERE
user=‘user1’
1 Impersonate
2SecurityContext
6
SQL
Server
IIS
3
4
5
Active
Directory
Web Browser
NTLM Authentication
 Vantaggi


Lavora out-of-the-box
Fornisce logon automatico / senza logon
dialog box
 Svantaggi



Solo Enterprise– non funziona attraverso i
Proxy Server (richiede keep-alive connection)
Non supporta delega
Configurata per essere compatibile con i client
vecchi
Kerberos Authentication
1. HTTP GET dbquery.asp HTTP/1.1
2. HTTP/1.1 401 Unauthorized
WWW-Authenticate: Negotiate, Kerberos
SQL
Server
3. Kerberos Session Ticket Request
2
IIS
Firewall
1
Proxy
3
Web Browser
Active
Directory
Kerberos Authentication
1. HTTP GET dbquery.asp HTTP/1.1
2. HTTP/1.1 401 Unauthorized
WWW-Authenticate: Negotiate, NTLM
3. Kerberos Session Ticket Request
SQL
Server
4. Kerberos Session Ticket Response
5. HTTP GET dbquery.asp HTTP/1.1
6
6. Delegation
Impersonate
SecurityContext
NT
Authentication
IIS
1
2
5
3
4
Web Browser
Active
Directory
Kerberos Authentication


Robusta, scalabile, veloce, supporta delega
Support client limitato


Criticità



Internet Explorer 5 e Windows 2000
Client devono poter accedere ai DC
Delega deve essere abilitata
 Non vincolata in IIS 5
Setup

Vedi “designing secure Web-based applications”
Client Certificate Authentication
Handshake phase
Client Hello
Server Hello
certificate, crypto parameters
SQL
Server
Client response
certificate, crypto parameters
Client finish
2
Server finish
IIS
Firewall
5
1
3
4
Proxy
Active
Directory
Web Browser
Client Certificate Authentication
IIS Mapping
HTTPS GET dbquery.asp HTTP/1.1
SQL
Server
NT
Authentication
5
3
Mapping
IIS
Firewall
4
1
Proxy
LogonUser(
“user1” ,
“pw”)
Active
Directory
Web Browser
Client Certificate Authentication
Active Directory Mapping
HTTPS GET dbquery.asp HTTP/1.1
SQL
Server
3
SQL Login / COM+
SELECT * FROM
table WHERE
user=‘user1’
IIS
Firewall
2
1
SCHANNEL
UPN Mapping
or
AD Mapping
Proxy
Active
Directory
Web Browser
Client Certificate Authentication
 Vantaggi



Molto sicura
Flessibile
Garantisce Integrità e confidenzialità
 Svantaggi


Maggiori costi di gestione per la PKI
Scalabilità e Performance
Griglia di Autenticazione
Schema
Sicurezza
Anonymous
None
Basic
Low
Digest
Limiti / Commenti
Supporto
Client
Scenario
Tutti
Tutti
Password in chiaro, da
usare solo con SSL
Tutti
Tutti
Medium
IIS 5 o sup
IE5 e sup in un
dominio
Tutti
NTLM
Medium
Non funziona attraverso i
proxy
Solo Internet
Explorer
Solo Intranet, non
funziona con i
Proxy
Kerberos
High
IIS 5.0 o sup
IE 5 su W2000 o
XP in un dominio
Solo Intranet, DC
devono essere
accessibili da
parte dei client
IIS Client Cert
Mapping
High
Gestione PKI rende la
gestione dei certificati
client costosa (eccetto PKI
W2003) , IIS 5.0 o sup
Tutti i browsers
più recenti
Tutti
AD Client
Cert Mapping
Very High
Gestione PKI rende la
gestione dei certificati
client costosa (eccetto PKI
W2003) , IIS 5.0 o sup
Tutti i browsers
più recenti
Tutti
Scarica

TechNet Security Workshop IV