TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.
-
Upload
anonciada-longo -
Category
Documents
-
view
217 -
download
0
Transcript of TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.
![Page 1: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/1.jpg)
TechNet TechNet Security Workshop IVSecurity Workshop IV
Milano, 8 GiugnoMilano, 8 Giugno
![Page 2: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/2.jpg)
Internet Information Server 6.0Internet Information Server 6.0
![Page 3: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/3.jpg)
AgendaAgenda
Accounts Built-in IIS 6.0Accounts Built-in IIS 6.0 Autenticazione in IIS:Autenticazione in IIS:
Anonymous AuthenticationAnonymous Authentication Basic AuthenticationBasic Authentication Integrated AuthenticationIntegrated Authentication Client Certificate AuthenticationClient Certificate Authentication
Protezione del Traffic Web Protezione del Traffic Web
![Page 4: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/4.jpg)
Scelta di un Isolation ModeScelta di un Isolation Mode
Mode Applicazioni: Compatibilità: Isolamento:
IIS 5.0 Isolation Mode
Funzionano in Inetinfo.exe, e le applicazioni out-of-process funzionano in DLL host separate
Garantisce la compatibilità per la maggior parte delle applicazioni esistenti
Impedisce che un’applicazione (o un sito) ne danneggi un’altra
Worker Process Isolation Mode
Funzionano in un ambiente isolato
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
![Page 5: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/5.jpg)
L’Autenticazione in IIS 6.0?L’Autenticazione in IIS 6.0?
IIS 4.0IIS 4.0 IIS 5.0IIS 5.0 IIS 6.0IIS 6.0
AuthenticationAuthentication
AnonymousAnonymous
Basic (clear text)Basic (clear text)
Windows NT Windows NT Challenge / Challenge / ResponseResponse
IntegratedIntegrated
DigestDigest
.NET Passport.NET Passport Non Non disponibiledisponibile
Disponibile Disponibile come come
installazione installazione separataseparata
Pienamente Pienamente integrataintegrata
![Page 6: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/6.jpg)
Account Built-in in IIS 6.0Account Built-in in IIS 6.0AccountAccount DescriptionDescription
LocalSystemLocalSystemHa molti diritti di accessoHa molti diritti di accessoEvitare di assegnare LocalSystem come identità di un Evitare di assegnare LocalSystem come identità di un
application poolapplication pool
Network ServiceNetwork Service
Pochi privilegiPochi privilegiIInteragisce attraverso la rete utilizzando il computer IInteragisce attraverso la rete utilizzando il computer
accountaccountE’ l’identità assegnata per default all’application pool E’ l’identità assegnata per default all’application pool
(raccomandata)(raccomandata)
Local ServiceLocal Service
Pochi provilegiPochi provilegiSi collega attraverso la rete in modalità anonimaSi collega attraverso la rete in modalità anonimaDa usare solo per applicazioni Web localiDa usare solo per applicazioni Web locali
IIS_WPGIIS_WPGGruppo di IIS, l’account che assegno come identità Gruppo di IIS, l’account che assegno come identità
dell’Application Pool deve essere membro di questo dell’Application Pool deve essere membro di questo gruppogruppo
IUSR_computernaIUSR_computernameme
Account di IIS utilizzato per l’accesso anonimoAccount di IIS utilizzato per l’accesso anonimo
IWAM_computernIWAM_computernameame
Account di IIS per avviare applicazioni out-of-process in Account di IIS per avviare applicazioni out-of-process in IIS 5.0 isolation modeIIS 5.0 isolation mode
ASPNETASPNETAccount di IIS per avviare il worker process di ASP.NET Account di IIS per avviare il worker process di ASP.NET
in IIS 5.0 isolation modein IIS 5.0 isolation mode
![Page 7: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/7.jpg)
Flusso del Controllo d’accessoFlusso del Controllo d’accesso
1.1. L’indirizzo IP è permesso?L’indirizzo IP è permesso?
2.2. L’utente è permesso? L’utente è permesso? Credenziali valide (Autenticazione)Credenziali valide (Autenticazione) Restrizioni dell’AccountRestrizioni dell’Account
Time, Lockout, Password scaduta, PrivilegiTime, Lockout, Password scaduta, Privilegi
3.3. IIS permette l’accesso ? IIS permette l’accesso ?
4.4. NTFS permette l’accesso ?NTFS permette l’accesso ?
![Page 8: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/8.jpg)
Architettura di AutenticazioneArchitettura di Autenticazione
Client Client IIS IIS Basic, Digest, Basic, Digest,
Windows, Client Windows, Client certificatescertificates
IIS IIS Backend Server Backend Server Delega ?Delega ?
IISIISIEIE SQLSQL
![Page 9: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/9.jpg)
InternetInternet DMZDMZ
Scenario di AutenticazioneScenario di Autenticazione
IISIIS
Web BrowserWeb Browser
Web ProxyWeb Proxy
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
![Page 10: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/10.jpg)
Anonymous AuthenticationAnonymous Authentication
IISIIS
Web BrowserWeb Browser
ProxyProxy
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
3
SQL authenticationSELECT * FROM table
2
1
GET dbquery.asp HTTP/1.1
![Page 11: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/11.jpg)
Anonymous AuthenticationAnonymous Authentication
Accesso alle risorse come utente anonimo Accesso alle risorse come utente anonimo (IUSR_<machinename>(IUSR_<machinename>
Identità del Processo: Network Services, Identità del Processo: Network Services, LocalSystem, IWAM_<machinename>LocalSystem, IWAM_<machinename>
L’identità del processo è configurabile L’identità del processo è configurabile tramite COM+tramite COM+ Sicurezza / PrestazioniSicurezza / Prestazioni
![Page 12: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/12.jpg)
Basic AuthenticationBasic Authentication
IISIIS
Web BrowserWeb Browser
ProxyProxy
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
55
LogonUserLogonUser
(“user1”, “pw”)(“user1”, “pw”)
66 Windows Windows authenticationauthentication
Authorization:Authorization:“Basic” Base64 encoded user/pw“Basic” Base64 encoded user/pw
44
33
401 Unauthorized401 Unauthorized
WWW-Authenticate: Basic realm="spoon"WWW-Authenticate: Basic realm="spoon"
22
11
GET dbquery.asp HTTP/1.1 GET dbquery.asp HTTP/1.1
![Page 13: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/13.jpg)
Basic AuthenticationBasic Authentication
Identità del Processo: Network Services, Identità del Processo: Network Services, LocalSystem, IWAM_<machinename>LocalSystem, IWAM_<machinename>
Accesso alle risorse come authenticated userAccesso alle risorse come authenticated user VantaggiVantaggi
Tutti i client HTTP supportano la basic authTutti i client HTTP supportano la basic auth Supporta delega one hopSupporta delega one hop
SvantaggiSvantaggi Password in chiaro (Base64 Encoded)Password in chiaro (Base64 Encoded)
Su InternetSu Internet Sul ServerSul Server Deve essere protetto tramite SSLDeve essere protetto tramite SSL
![Page 14: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/14.jpg)
Windows Integrated Windows Integrated AuthenticationAuthentication
Security Support Provider (SSPI)-basedSecurity Support Provider (SSPI)-based NTLM o KerberosNTLM o Kerberos IIS chiede al client che protocollo supportaIIS chiede al client che protocollo supporta Il Protocollo può essere forzatoIl Protocollo può essere forzato
NTAuthenticationProvidersNTAuthenticationProvidersNegotiateNegotiateNTLMNTLMKerberosKerberos
![Page 15: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/15.jpg)
NTLM AuthenticationNTLM Authentication
IISIIS
Web BrowserWeb Browser
ProxyProxy
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
11
GET dbquery.asp HTTP/1.1GET dbquery.asp HTTP/1.1
22
401 Unauthorized401 Unauthorized
WWW-Authenticate: “NTLM” challengeWWW-Authenticate: “NTLM” challenge
Authorization: “NTLM” responseAuthorization: “NTLM” response
33
![Page 16: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/16.jpg)
NTLM AuthenticationNTLM Authentication
IISIIS
Web BrowserWeb Browser
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
11
1.1. GET dbquery.asp HTTP/1.1GET dbquery.asp HTTP/1.1
22
2. HTTP/1.1 401 Unauthorized2. HTTP/1.1 401 UnauthorizedWWW-Authenticate: NTLM WWW-Authenticate: NTLM
33
3. HTTP GET dbquery.asp HTTP/1.13. HTTP GET dbquery.asp HTTP/1.1Authorization: NTLM {…} Connection: Keep-AliveAuthorization: NTLM {…} Connection: Keep-Alive
44
4. HTTP/1.1 401 Access Denied4. HTTP/1.1 401 Access DeniedWWW-Authenticate: NTLM {…}Connection: Keep-AliveWWW-Authenticate: NTLM {…}Connection: Keep-Alive
55
5. HTTP GET dbquery.asp HTTP/1.15. HTTP GET dbquery.asp HTTP/1.1Authorization: NTLM {hashed challenge} Authorization: NTLM {hashed challenge} Connection: Keep-AliveConnection: Keep-Alive
66
ImpersonateImpersonateSecurityContextSecurityContext
77
SQL Login / COM+SQL Login / COM+SELECT * FROM SELECT * FROM table WHERE table WHERE user=‘user1’user=‘user1’
![Page 17: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/17.jpg)
NTLM AuthenticationNTLM Authentication
VantaggiVantaggi Lavora out-of-the-boxLavora out-of-the-box Fornisce logon automatico / senza logon Fornisce logon automatico / senza logon
dialog boxdialog box
SvantaggiSvantaggi Solo Enterprise– non funziona attraverso i Solo Enterprise– non funziona attraverso i
Proxy Server (richiede keep-alive connection)Proxy Server (richiede keep-alive connection) Non supporta delegaNon supporta delega Configurata per essere compatibile con i client Configurata per essere compatibile con i client
vecchivecchi
![Page 18: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/18.jpg)
Kerberos AuthenticationKerberos Authentication
IISIIS
Web BrowserWeb Browser
ProxyProxy
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
11
1.1. HTTP GET dbquery.asp HTTP/1.1HTTP GET dbquery.asp HTTP/1.1
33
3. Kerberos Session Ticket Request3. Kerberos Session Ticket Request
2. HTTP/1.1 401 Unauthorized2. HTTP/1.1 401 UnauthorizedWWW-Authenticate: Negotiate, KerberosWWW-Authenticate: Negotiate, Kerberos
22
![Page 19: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/19.jpg)
Kerberos AuthenticationKerberos Authentication
IISIIS
Web BrowserWeb Browser
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
11
1.1. HTTP GET dbquery.asp HTTP/1.1HTTP GET dbquery.asp HTTP/1.1
44
4. Kerberos Session Ticket Response4. Kerberos Session Ticket Response
55
5. HTTP GET dbquery.asp HTTP/1.15. HTTP GET dbquery.asp HTTP/1.1
22
2. HTTP/1.1 401 Unauthorized2. HTTP/1.1 401 UnauthorizedWWW-Authenticate: Negotiate, NTLM WWW-Authenticate: Negotiate, NTLM
66
ImpersonateImpersonateSecurityContextSecurityContextNTNTAuthenticationAuthentication
6. Delegation 6. Delegation
33
3. Kerberos Session Ticket Request3. Kerberos Session Ticket Request
![Page 20: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/20.jpg)
Kerberos AuthenticationKerberos Authentication
Robusta, scalabile, veloce, supporta delegaRobusta, scalabile, veloce, supporta delega Support client limitatoSupport client limitato
Internet Explorer 5 e Windows 2000Internet Explorer 5 e Windows 2000
CriticitàCriticità Client devono poter accedere ai DCClient devono poter accedere ai DC Delega deve essere abilitataDelega deve essere abilitata
Non vincolata in IIS 5Non vincolata in IIS 5
SetupSetup Vedi “designing secure Web-based applications” Vedi “designing secure Web-based applications”
![Page 21: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/21.jpg)
Client Certificate AuthenticationClient Certificate AuthenticationHandshake phaseHandshake phase
IISIIS
Web BrowserWeb Browser
ProxyProxy
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
11
Client HelloClient Hello
55
Server finishServer finish
44
Client finishClient finish
Client responseClient responsecertificate, crypto parameterscertificate, crypto parameters
33
22
Server Hello Server Hello certificate, crypto parameterscertificate, crypto parameters
![Page 22: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/22.jpg)
Client Certificate AuthenticationClient Certificate AuthenticationIIS MappingIIS Mapping
IISIIS
Web BrowserWeb Browser
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
ProxyProxy
11
HTTPS GET dbquery.asp HTTP/1.1HTTPS GET dbquery.asp HTTP/1.1
44 LogonUser( “LogonUser( “user1” , user1” , “pw”)“pw”)
55NT NT AuthenticationAuthentication
33 MappingMapping
![Page 23: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/23.jpg)
Client Certificate AuthenticationClient Certificate AuthenticationActive Directory MappingActive Directory Mapping
IISIIS
Web BrowserWeb Browser
SQL SQL
ServerServer
ActiveActive
DirectoryDirectory
FirewallFirewall
ProxyProxy
22
SCHANNELSCHANNELUPN Mapping UPN Mapping ororAD MappingAD Mapping
33
SQL Login / COM+SQL Login / COM+SELECT * FROM SELECT * FROM table WHERE table WHERE user=‘user1’user=‘user1’
11
HTTPS GET dbquery.asp HTTP/1.1HTTPS GET dbquery.asp HTTP/1.1
![Page 24: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/24.jpg)
Client Certificate AuthenticationClient Certificate Authentication
VantaggiVantaggi Molto sicuraMolto sicura Flessibile Flessibile Garantisce Integrità e confidenzialitàGarantisce Integrità e confidenzialità
SvantaggiSvantaggi Maggiori costi di gestione per la PKIMaggiori costi di gestione per la PKI Scalabilità e PerformanceScalabilità e Performance
![Page 25: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/25.jpg)
Griglia di AutenticazioneGriglia di Autenticazione
SchemaSchema SicurezzaSicurezza Limiti / CommentiLimiti / Commenti Supporto Supporto ClientClient
ScenarioScenario
AnonymousAnonymous NoneNone TuttiTutti TuttiTutti
BasicBasic LowLow Password in chiaro, da Password in chiaro, da usare solo con SSLusare solo con SSL
Tutti Tutti TuttiTutti
DigestDigest MediumMedium IIS 5 o supIIS 5 o sup IE5 e sup in un IE5 e sup in un dominiodominio
TuttiTutti
NTLMNTLM MediumMedium Non funziona attraverso i Non funziona attraverso i proxyproxy
Solo Internet Solo Internet ExplorerExplorer
Solo Intranet, non Solo Intranet, non funziona con i funziona con i ProxyProxy
KerberosKerberos HighHigh IIS 5.0 o supIIS 5.0 o sup IE 5 su W2000 o IE 5 su W2000 o XP in un dominioXP in un dominio
Solo Intranet, DC Solo Intranet, DC devono essere devono essere accessibili da accessibili da parte dei clientparte dei client
IIS Client Cert IIS Client Cert MappingMapping
HighHigh Gestione PKI rende la Gestione PKI rende la gestione dei certificati gestione dei certificati client costosa (eccetto client costosa (eccetto PKI W2003) , IIS 5.0 o supPKI W2003) , IIS 5.0 o sup
Tutti i browsers Tutti i browsers più recentipiù recenti
TuttiTutti
AD Client AD Client Cert MappingCert Mapping
Very HighVery High Gestione PKI rende la Gestione PKI rende la gestione dei certificati gestione dei certificati client costosa (eccetto client costosa (eccetto PKI W2003) , IIS 5.0 o supPKI W2003) , IIS 5.0 o sup
Tutti i browsers Tutti i browsers più recentipiù recenti
TuttiTutti
![Page 26: TechNet Security Workshop IV Milano, 8 Giugno. Internet Information Server 6.0.](https://reader035.fdocuments.us/reader035/viewer/2022062319/5542eb4b497959361e8b7a39/html5/thumbnails/26.jpg)