Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bernhard Frank Web Platform Architect Evangelist Microsoft Corporation.

Ähnliche Präsentationen


Präsentation zum Thema: "Bernhard Frank Web Platform Architect Evangelist Microsoft Corporation."—  Präsentation transkript:

1 Bernhard Frank Web Platform Architect Evangelist Microsoft Corporation

2 Konfiguration Administration Architektur Sicherheit Erweiterbarkeit Troubleshooting & Diagnose Weiteres

3 Machine.config Root Web.config ApplicationHost.config Web.config.NETFramework.NETFramework ASP.NETASP.NET IIS7IIS7 IIS + ASP.NET +.NET Framework IIS + ASP.NET +.NET Framework ASP.NET +.NET Framework ASP.NET +.NET Framework Integration von bekanntem (.NET config) Mit neuem Applicationhost.config

4 Websites auf n-Webserver Ideal für Serverfarmen / LB Szenarien / Migration Eine Konfigurations-Datei ApplicationHost.config

5 IIS 6.0 Metabase.Xml: <IISWebService Location=/LM/W3SVC ScriptMaps=.asp,D:\WINDOWS\system32\inetsrv\asp.dll,5, GET, HEAD,POST.cer,D:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST.cdx,D:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST.asa,D:\WINDOWS\system32\inetsrv\asp.dll,1,GET,HEAD,POST.idc,D:\WINDOWS\system32\inetsrv\httpodbc.dll,4,GET,POST

6 <add name=ASPClassic path=.asp verb=GET,HEAD,POST,TRACE scriptProcessor=D:\WINDOWS\system32\inetsrv\asp.dll resourceType=File /> <add name="PHP with FastCGI" path="*.php" verb="* modules="FastCgiModule" scriptProcessor="C:\php\php- cgi.exe" resourceType="Unspecified" /> IIS 7.0 Applicationhost.config:

7 { konfiguration } IIS MMC Web.config Delegation

8 Klares XML Schema Delegierbar IIS Konfigurationen an den Entwickler übertragen. Server-Admin bestimmt welche Features delegiert werden. Editieren mit dem Texteditor, die API oder das Admin- Tool. Einheitlichtes Konfigurations-Model für IIS und ASP.net API für Zugriff auf die Konfiguration xcopy deployment (Konfiguration neben Inhalten) Erweiterbar und Anpassungsfähig

9 Nur für Administratoren! Wenig ergonomische UI (…wo war nochmal…) Zuviele Register DCOM remoting

10 Die Neue … IIS und ASP.NET Einstellungen an einer Stelle vorzunehmen. Die Lebenszeichen der Websites zu überprüfen. Die Verwaltung remote durchzuführen. Die UI zu erweitern und eigene Verwaltungs-Funktionen einzubauen.

11 %windir%\System32\inetsrv Anlegen und Konfigurieren (von Websites, Applications, Pools, Backups und virtuellen Directories) Starten und Stoppen von Websites und recyclen von Pools Gegenwärtig ausgeführten http-Anfragen Suchen, manipulieren, exportieren und importieren von IIS und ASP.net Einstellungen APPCMD.EXE [ /parameter:value ]*

12 Next generation shell Objekt orientiert Kombiniert die Idee einer Shell mit einer mächtigen Skript Sprache Auch komplexe Aufgaben können einfach komponiert werden Gut für iterative tasks geeignet Powershell Commands haben die Syntax: Verb – Substantiv (Aktion – Ziel)

13 IIS7 über Managed code verwalten Zugriff auf applicationHost.config und web.config Anlegen von neuen Sites, Dirs, Apps, AppPools Recyclen von AppPools Gegenwärtig ausgeführte Requests anzeigen

14 { administration } Remote Administration appcmd.exe powershell using Microsoft.Web.Administration;

15 ISAPI Filter Notifications url map authe req log end net session Pre proc headers determine handler logginglogging custom errors compressioncompression authenticationauthentication iiscore handlers aspnet_isapi.dll IHttpModule Events IHttpHandlers Monotolithischer Ansatz: Monotolithischer Ansatz: Duplizierung von Features zwischen Duplizierung von Features zwischen IIS und ASP.netIIS und ASP.net Feature sind abhängig von ihrer Position in der Pipeline. Feature sind abhängig von ihrer Position in der Pipeline. ASP.NET Funktionalität gilt nicht für alle anderen Inhaltstypen (z.B. statische Requests)ASP.NET Funktionalität gilt nicht für alle anderen Inhaltstypen (z.B. statische Requests) w3wp.exe http.syshttp.sys cgicgi w3svcw3svc static file isapi ext PageHandlerPageHandlertrace.axdtrace.axd end req update cache rel req state url map begin req authe req autho req cache handler map handler exec

16 http.syshttp.sys w3svcw3svc endend logginglogging update cache release state execute handler pre execute handler acquire state map handler resolve cache authorizeauthorize authenticateauthenticate beginbegin Native Module IHttpModule basic auth digest auth windows auth url autho role mgr forms auth Other native modules cgicgi static file isapi ext *.aspx*.aspxtrace.axdtrace.axd Integrated pipeline Native or Managed Handlers Eine Request pipeline. Alle Funktionen werden durch in sich geschlossene Module abgebildet. Module können auf native- oder managed-Code basieren. Alle Funktionen können somit auf alle Anfragen ausgeführt werden.

17 Http Protocol Support ValidationRangeModule TraceVerbModule OptionsVerbModule ProtocolSupportModule Logging and Diagnostics HttpLoggingModule CustomLoggingModule Configuration and Metadata Caches TokenCacheModule UriCacheModule SiteCacheModule FileCacheModule Core Web Server DirectoryListingModule CustomErrorModule DynamicCompressionModule StaticCompressionModule StaticFileModule DefaultDocumentModule HttpCacheModule RequestMonitorModule TracingModule AuthN/AuthZ BasicAuthModule DigestAuthModule WindowsAuthModule CertificateAuthModule AnonymousAuthModule AccessCheckModule UrlAuthorizationModule Extensibility ISAPIModule ISAPIFilterModule CGIModule ServerSideIncludeModule ManagedEngineModule Publishing DavModule RequestForwarderModule HttpRedirectionModule RequestFilteringModule

18 { architektur } Modul Verwaltung

19 Funktionalität -> Module Keine w3core.dll Freies Zuschalten und Entfernen aller Module. Speicherbedarf und Angriffsfläche konfigurierbar. Anpassen der Site auf die Anforderungen. Eine Request-Pipeline (integrated mode): Vereinheitlicht ASP.NET und IIS Events Aufgaben können auf alle Inhaltstypen angewendet werden. Keine Duplizierung von Events

20 IUSR_%machine%IUSRIIS_WPGIISUsers IIS6IIS7 Anonymer User Application Pool Gruppe Builtin, nicht lokalisierte Accounts Keine Probleme mit Password expiration Xcopy | klonen möglich (Konfig, Ownership & NTFS Rechte)

21 IIS7: IUSR – LocalService Privilegien (Anonym im Netzwerk) Standard Anonymous Account Einstellung in der Applicationhost.config: IISUsers Gruppe (Nachfolger der IIS_WPG) Berechtigungen auf System und Dateiresourcen um Application pool zu bedienen Kein explizites Hinzufügen einer Apppool Identität zur IISUsers Gruppe mehr notwendig (default) deaktiviert diesen Automatismus deaktiviert diesen Automatismus

22 IIS6IIS7 ACLs Web Permissions IP Restrictions += URL basierend Authorisierung URLAuthorizationModule Auf Basis users, roles und verbs Beispiel (Web.config):

23 Prozess zur Bestimmung von Zugriffs- Privilegien (Daten, Dienste, Funktionen) Arten: ACLs auf Dateien Web Permissions (Extensions, Execute Permissions, Read, Directory Browsing,… ) IP Restrictions URL basierend User- und Rollenbasiert

24 IIS6IIS7 UrlScan (ISAPI)* Request Filter (Builtin) Filter *) zusätzliche zu installierende Komponente RequestFilteringModule (modrqflt.dll) Regeln basieren z.B. auf : URL, extensions (.exe), verbs, URL-Sequenzen, Max Content, Max Query String, High bit chars,... X-copy Konfiguration (web.config) User: 404 file not found Log: Substatus z.B 404.10 REQUEST_HEADER_TOO_LONG )

25 URLScan Nachfolger - Fungiert als "Türsteher" Im Falle einer Attacke können Requests über Regelwerk abgewiesen werden Regeln basieren z.B. auf : URL, extensions (.exe), verbs, URL-Sequenzen, Max Content, Max Query String, High bit chars,... X-copy Konfiguration (web.config) Im Filterfall bekommt der Client einen 404 file not found zurück Im Log wird der Substatus mitgeloggt (z.B 404.10 REQUEST_HEADER_TOO_LONG )

26 w3core.dll Features nur konfigurierbar Einzeln installier-, konfigurierbar (Authbas.dll, Authcert.dll, Authsspi.dll,…) Für alle Anfragen ISAPI (z.B. eigene Authentifizierung) += ASP.net http Modul IIS6IIS7 Erweiterbarkeit Modularität Komplex, unterschiedliche Ansätze für ASP.net, ASP, u.a. Vereinheitlicht. Application Pool Identity Sandboxing (ASP.net, PHP, ASP,…) Impersonate Anonymous User -> Account

27 Server Management.NET WMI Configuration.NET C++ Runtime State & Control (RSCA) Runtime State & Control (RSCA) C++ Core Server Module.NET C++ GUI Extension.NET Configuration Files XML Schema

28 Public API IIS7 – Builtin-Modules basieren darauf Erweiterung der ASP.NET API Native-Code API-Erweiterungen Reichhaltiger und einfacher als ISAPI. Übereinstimmendes Objektmodell mit ASP.NET APIs.

29 { erweiterbarkeit } ASP.net Http Module

30 IIS Hangs IIS stürzt ab 100% CPU Memory Leaks Request braucht zulange Request kommt mit Fehler zurück

31 { troubleshooting } Workerprozess-Status Event-Tracing

32 Statusinformationen von Websites, AppPools, w3wps und AppDomains Gegenwärtig ausgeführte Anfragen Request-Flugschreiber Gemeinsames Trace-Log (IIS / ASP.net) Automatisches Überwachen Zugriff auf Tracing API aus eigenen Komponenten

33 Built-in support für FastCGI Applikationen Internet standard, für dynamische Sprachen (CGI) z.B. PHP, Ruby, PERL Wiederverwendbare CGI Prozesse für mehrere Anfragen Optimiert auf Leistung und Zuverlässigkeit. Bis zu 25x schneller als Standard CGI Last- und Zuverlässigkeits-Tests auf Basis PHP 5.2.1, PHP 4.x

34 Built-in caching für dynamischen Antworten Kernel & User mode caching Kernel ist schneller – (!Authentifizierung) UI Unterstützung für Caching Richtlinien varyByQueryString, varyByHeaders CacheUntilChange, CacheForTime Period

35 POP3 Media Services Frontpage Server Extensions WebDAV IIS6 Management Compatibility Virtual Server 2005

36 Keine GUI! GUI tools (z.B. MMC) AppCMD.exe + WMI + COM APIs.NET Powershell ASP.net http remote admin web service ASP + FastCGI + PHP 1 GB Disk – 512 MB RAM

37 Fiddlertool (local http monitoring tool) IIS Website www.iis.netwww.iis.net

38 © 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 "Bernhard Frank Web Platform Architect Evangelist Microsoft Corporation."

Ähnliche Präsentationen


Google-Anzeigen