Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten.

Ähnliche Präsentationen


Präsentation zum Thema: "Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten."—  Präsentation transkript:

1 Dominick Baier Security Consultant thinktecture

2 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten Wir versuchen, am Puls der Zeit zu bleiben und gleichzeitig die heutigen Probleme mit heutiger Technologie zu lösen Meine Spezialgebiete sind Sicherheit in verteilten Anwendungen, Identitäts-Management sowie die Windows/.NET Sicherheits-APIs und Technologien http://www.thinktecture.com/ http://www.leastprivilege.com/ dominick.baier@thinktecture.com

3 IIS 6 und seine Probleme IIS 7 Architektur ASP.NET Integration Neue APIs Konfiguration und Management Monitoring und Fehlerbehandlung Migration

4 IIS 6 ist monolithisch Oftmals viele Features gar nicht benötigt Schwierig zu erweitern ASP.NET als ISAPI Extension realisiert Eher „Aufsatz“ als Integration Getrenntes Konfigurations-System Nur in Windows Server enthalten IIS 5.1 und Cassini nicht optimal zum entwickeln und testen

5 Send Response LogCompress NTLMBasic Determine Extension CGI Static File ISAPI Authentication Anon … … HttpRuntime Pipeline (system.web.dll) aspnet_isapi.dll CLR

6 HttpRuntime HttpApplication Factory HttpContext HttpRequest HttpResponse HttpSessionState HttpApplicationState HttpApplication Module 1 IHttpModule Handler IHttpHandler Module 2 IHttpModule AppDomain: /LM/W3SVC/1/Root/MyApp-1-126702642672256757 Module n IHttpModule 2 2 1 1 3 3 4 4 Handler Factory IHttpHandlerFactory

7 Verarbeiten Anfragen und Erzeugen den HTTP Response Implementieren IHttpHandler Beispiele Web Forms (.aspx) Web Services (.asmx) WCF Dienste (.svc) Tracing (.axd)

8 Werden implizit bei jedem Request aufgerufen Implementieren IHttpModule Behandeln Ereignisse in der HTTP Pipeline Beispiele Forms Authentication URL Authorization Role Manager Profile Session State

9 Step/EventDetail BeginRequest AuthenticateRequest Benutzer authentifizieren AuthorizeRequest Autorisierung ResolveRequestCache Output cache laden MapRequestHandler Handler mappen AcquireRequestState Session laden PreRequestHandlerExecute ExecuteHandler IHttpHandler.ProcessRequest ausführen PostRequestHandlerExecute ReleaseRequestState Session speichern UpdateRequestCache Output cache updaten EndRequest

10 Send Response LogCompress NTLMBasic Determine Handler CGI Static File ISAPI Authentication Anon SendResponse Authentication Authorization ResolveCache ExecuteHandler UpdateCache … … - Server-Funktionalität in ca. 40 Module aufgeteilt - Basieren auf einem öffentlichen API - Können frei konfiguriert werden - Der sog. WebCore ruft die Module in einer Pipeline auf - WebCore selbst ist eine hostbare Komponente … …

11 Log Compress Basic Static File ISAPI Anon SendResponse Authentication Authorization ResolveCache ExecuteHandler UpdateCache … … Authentication Forms Windows Map Handler ASPX Trace … … … aspnet_isapi.dll Classic Mode ISAPI Eweiterung Integrated Mode.NET Modules / Handlers eweitern die IIS Pipeline Können alle Requests verarbeiten

12 IIS 7 hat zwei (fast) gleichwertige Programmierschnittstellen unmanaged (neuer API) managed (ASP.NET module und handler) Dadurch ergeben sich leichte Veränderungen für ASP.NET Zugriff auf Header, Cookies und Server Variable Timing Veränderungen in der Pipeline Viele kleine Veränderugen http://www.leastprivilege.com/KnownDifferencesBetweenIIS7IntegratedAndClassicMode.aspx

13 WebCore muss Objekte zwischen C++ and CLR marshalen PreConditions erlauben Optimierungen Authentication Authorization … ExecuteHandler … managed/unmanaged Handler unmanaged module1 unmanaged module2... managed module1 managed module2... marshal

14 Configuration System machine.config applicationHost.config root web.config site web.config app web.config vdir web.config metabase.xml metabase

15 Hosting Environment Konfiguration, z.B. app pools, sites, apps, vdirs ASP.NET Konfiguration trust levels, profile, pages, session state… IIS7 Konfiguration authentication, SSL, mime types, default document… Erweiterbar/Absicherbar

16 ServerManager SitesApplicationsVirtualDirectoriesApplicationPoolsWorkerProcessesApplicationDomains ApplicationPool/Site Application/Vdir Defaults

17 Managed Module werden jetzt viel früher ausgeführt kein Context.User vor PostAuthenticateRequest keine Impersonierung vor PostAuthenticateRequest Module erhalten auch anonyme Requests Neue Konten und Gruppen IUSR und IIS_IUSRS Haben jetzt well-known SIDs LOGON_USER wird von Forms Authentication gefüllt

18 Output Caching Ähnlich dem ASP.NET Page Caching Für alle Content Typen Kernel Cache Unterstützung Native URL Autorisierung verbesserte Syntax URL Rewriting Kompression

19 Failed Request Event Buffering (FREB) Detailertes Request Tracing IisTraceListener für System.Diagnostics Tracing Integration IisTraceWebEvent Provider für Health Monitoring Framework Integration Page Tracing Integration Realtime Activity Monitor

20

21 Neue System Komponente Aktiviert IIS 7 Anwendungen aufgrund von Netzwerk-Anfragen Unterstützt HTTP, TCP/IP, Named Pipes und MSMQ Wird von WCF verwendet Erlaubt das hosten von nicht-HTTP WCF Diensten in IIS 7

22 IIS 7 ist komplettes Redesign Managed Code ist ein First Class Citizen Bestehender Handler und Module Code kann übernommen werden Konfigurationssystem endlich brauchbar Gleicher IIS auf Client und Server Gut testen bei Migration!

23 Mein Blog http://www.leastprivilege.com IIS 7 Überblick http://www.iis.net/default.aspx?tabid=7 IIS 6 -> 7 Breaking Changes http://tinyurl.com/37qyqc IIS 7 Referenz http://tinyurl.com/2lb4en

24 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Herunterladen ppt "Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten."

Ähnliche Präsentationen


Google-Anzeigen