290 likes | 427 Views
Authentication & Authorization. Belinszki Balázs t erm éktámogató mérnök Juhász Mihály alkalmazásfejlesztési tanácsadó. Autentik áció. Egy folyamat, amelyben igazolja magát a „felhasználó”. Hol van, hol nincs? Végezhetem „magam” (Az alkalmazás) Jobb, ha másra bízom (OS). Autorizáció.
E N D
Authentication & Authorization Belinszki Balázs terméktámogató mérnök Juhász Mihályalkalmazásfejlesztési tanácsadó
Autentikáció • Egy folyamat, amelyben igazolja magát a „felhasználó”. • Hol van, hol nincs? • Végezhetem „magam” (Az alkalmazás) • Jobb, ha másra bízom (OS)
Autorizáció • Egy folyamat amelyben eldől, hogy egy már igazolt „felhasználó” jogosult-e, vagy sem elérni egy adott erőforrást. • Tehát mindig az autentikációt követi.
Autentikációs metódusok • OS • Kerberos • NTLM • Egyedi • Basic • Digest • Form • Certificate • Passport • Alkalmazásegyedi (SQL Server)
Hol találkozik velük az Üzemeltető leginkább ? • File rendszer • SQL Server • COM+ • IIS (ASP.NET)
Hol vagyunk? • Internet? • Intranet? • Extranet?
Mibe ütközhetünk? • IIS, ASP, ASP.Net (IWAM_xxx, IUSR_xxx, ASPNET_WP.exe, W3WP.exe) • COM+ • .Net Framework Policy-k (Code Access Security) • Nincs több Hopp(á)? • Tűzfal?
„Ki” érje el a háttér rendszert?„Trusted SubSystem” Modell
„Ki” érje el a háttér rendszert?„Multiple Trusted Identity” Modell
„Ki” érje el a háttér rendszert?„Impersonation / Delegation Model” Modell
Impersonation szintek • Anonymous • A szerver számára anoním a kliens • Identify • ACL ellenőrzés • Impersonate • Thread és Process más security context-ben működik, a process más nevében is végezhet műveleteket • Delegation • Impersonate speciális esete, Network elérés
Original Caller -> Back-End • Impersonation / Delegation Model • ASP.NET process delegálhasson (AD) • Eredeti hívót delegálni lehessen (AD) • Előnyök • ACL-eket használhatunk • Háttérrendszerben jól specifikált jogok • Hátrányok • Háttérrendszereken több adminisztráció • Rosszabb skálázhatóság (Connection Pooling) • A rétegek közötti User Context mozgatás sokba kerül (teljesítmény) • Buktató • IE 6.0 + Windows 2000 alapértelmezés szerinti autentikáció: NTLM (kb 299838)
ASP.NET Process • A lehető legkevesebb jog! (Feladat függő) • A User Identity legyen a registry-ben titkosítva • aspnet_setreg.exe • HOW TO: Use the ASP.NET Utility to Encrypt Credentials and Session State Connection Strings (http://support.microsoft.com/default.aspx?scid=329290) • Ha már belelendültünk, tegyük oda az SQL Connection Stringet is!
A DEMO-környezet felépítése IIS 6.0 ASP.NET COM+ SQL Server 2000 Active Directory
Demo I.IIS – FileServer(Lokális és share elérés ASP.NET-ből) \\Win2kDC\OpConf\ListItems.txt C:\inetpub\wwwroot\OpConfVDemo1\ListItems.txt
Demo I. • Windows autentikáció az IIS-en • Erőforrás elérés „Trusted” módon • Erőforrás elérés „megszemélyesítve”
IE -> ASP.NET -> Resource (SQL, NTFS…) • IIS Anonymous Access Integrated Windows Authentication • ASP.NET <configuration> <system.web> <authentication mode=“Windows"> <identity impersonate="true"/> </system.web> </configuration>
Demo II. • IIS – COM+ – SQL Server • SQL Server communication protocols • TCP/IP (Socket) • Named Pipe (File kezelés) • Kapcsolatuk az autentikációval • Hogyan legyen SQL server +secure-va?
Demo II. • Windows autentikáció az IIS-en • Erőforrás elérés „Trusted” módon • Erőforrás elérés „megszemélyesítve” • COM+ autorizáció • SQL felé SSL, ha az adatok „fontosak”
Tűzfal • IIS – Tűzfal (ISA) – COM+ – SQL Server • Bajok: • AD bent - IIS kinn, kívül hogy authentikáljunk? • Ementáli • Külső „címtár” • IIS bent
Diagnosztikai eszközök, módszerek • Debug Build !!!! (Logolás) • Perfmon • EventLog • SQL Audit logok • SQL Profiler • COMSpy • IIS Log (Log Parser) * • NetMon