Internet Information Server (IIS) Security. Table of Contents Brief History of Internet Information Server (IIS) IIS Architecture HTTP.SYS Processing.

Slides:



Advertisements
Similar presentations
Creating Vector Graphics in the Web Learning & Development Telerik Software Academy.
Advertisements

Redundant Array of Independent Disks Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator Marian Marinov CEO of 1H Ltd.
Writing HTML made easier Telerik School Academy HTML, CSS and JavaScript.
JavaScript Development Tools
Inside Windows Boot Process Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator Marian Marinov CEO of 1H Ltd.
Guidelines to Preparing and Delivering an Elevator Pitch Presentation Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Two basic algorithms for path searching in a graph Telerik Algo Academy Graph Algorithms.
Active Directory Domain Services Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator
Binary, Decimal and Hexadecimal Numbers Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Eclipse + Android SDK, VS + Windows Phone SDK Telerik Software Academy Hybrid Mobile Applications.
Welcome to the JSON-stores world Learning & Development Telerik Software Academy.
Course Content, Evaluation, Exams Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Eclipse + Android SDK, VS + Windows Phone SDK Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Twitter Bootstrap Telerik Software Academy
Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.
Hamiltonian Cycle Penka Borukova Student at Telerik Academy.
Group Policy Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator
Reverse polish notation, Operations with big numbers Ivelin Rachev Telerik Corporation “Baba Tonka” High School of Mathematics.
April, Sofia, Telerik Software Academy Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Telerik Software Academy ASP.NET MVC.
Sales Processes, Sales Cycle and the Sales Force Margarita Antonova Volunteer Telerik Academy academy.telerik.com Business System Analyst Telerik.
Design Patterns that ease the design by identifying a simple way to realize relationships between entities. Antony Jekov Telerik Software Academy academy.telerik.com.
Using KendoUI for SPA Applications Learning & Development Telerik School Academy.
The way to create cross-platform apps Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
Searching for a Job, Writing CV and Cover Letter, Passing a Job Interview Telerik Academy for Software Engineers October 6 th 2012 – Sofia academy.telerik.com.
Drive Partitioning Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator Marian Marinov CEO of 1H Ltd.
Telerik Software Academy Mobile apps for iPhone & iPad.
Google APIs and Facebook API Ivaylo Kenov Penka Borukova Telerik Corporation Telerik Academy Students.
The magic of virtual machines Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator Marian Marinov CEO of 1H Ltd.
Web development with ExpressJS Learning & Development Telerik School Academy.
What it is, and does it work Learning & Development Telerik School Academy.
Device APIs with Xamarin
Telerik Software Academy Mobile apps for iPhone & iPad.
Telerik Software Academy Databases.
Google APIs and Facebook API Ivaylo Kenov Penka Borukova Telerik Corporation Telerik Academy Students.
Telerik Software Academy ASP.NET Web Forms.
What are WinJS and WinRT, Using the APIs in JavaScript George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer itgeorge.net.
JavaScript Modules and Patterns Telerik Software Academy
The True power of dynamic web pages Learning & Development Team Telerik Software Academy.
Approximate string matching Evlogi Hristov Telerik Corporation Student at Telerik Academy.
Build a simple UI for your application Learning & Development Team Telerik Software Academy.
Xamarin with SQLite Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
Know your Tools! Telerik Software Academy JavaScript Fundamentals.
Ivaylo Kenov Telerik Software Academy Technical Assistant.
Developing "evil" JavaScript applications Learning & Development Telerik School Academy.
The PhoneGap History Doncho Minkov Telerik Software Academy Technical Trainer
Cultivating Professionals for Your Company The Success Story of Telerik Svetlin Nakov, PhD Manager Technical Training Telerik Corp.
Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
The way of the ViewModel and the Binding Learning & Development Telerik School Academy.
AJAX with ASP.NET MVC Telerik Software Academy
Nencho Nenchev Doroteya Agayna Telerik Software Academy Telerik Support Leads.
Installation, Sample Usage, Strings and OOP Telerik Software Academy Software Quality Assurance.
In JavaScript Learning & Development Telerik Software Academy.
Services in AngularJS Telerik Software Academy
Svetlin Nakov Telerik Software Academy Manager Technical Training
What is Roslyn and how can we use it? Telerik Academy Plus C# 6.0 and Roslyn Seminar.
Splitting JavaScript into Dependent Modules Learning & Development Telerik Software Academy.
Changing the default visualization of views in Xamarin.Forms Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
Telerik Software Academy HTML5.
What to expect from the new IDE Telerik Academy Plus Visual Studio 2015 and ASP.NET 5.
Hristian Hristov Telerik Corporation
Monitoring Server Performance Organizing Your Support Model Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator
Automating Windows Deployment Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator
Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator Marian Marinov CEO of 1H Ltd.
Store Apps, Development Tools, App key features George Georgiev Telerik Corporation Technical Trainer itgeorge.net.
Server Roles and Features Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator
Binary, Decimal and Hexadecimal Numbers Telerik Software Academy C# Fundamentals – Part 2.
Nikolay Kostov Telerik Software Academy academy.telerik.com Team Lead, Senior Developer and Trainer
Adding UI and Audio element Telerik Academy Plus Unity 2D Game Development.
Dimo Dimov Support Lead, Kendo UI Telerik Telerik Software Academy
Presentation transcript:

Internet Information Server (IIS) Security

Table of Contents Brief History of Internet Information Server (IIS) IIS Architecture HTTP.SYS Processing Client Requests Security Context Authentication HTTPS Secure Administration Creating a Managed Code IIS Module 2

Internet Information Server History

What is Internet Information Server? Internet Information Services (IIS) is an extensible web server created by Microsoft Web Server Oops!? HTTP and HTTPS FTP and FTPS SMTP IIS 1.0 was released as a free add-on for Windows NT 3.51 IIS 8.5 was released in Windows 2012 R2

If(IIS.Version < 7) { saygoodbay(); } IIS 7 was introduced in Windows Server 2008 All version prior 7 have different architecture! IIS 7 and all successors are based on new modern architecture Modern Modular Architecture Install only modules that you really need (Small attack surface) You can find many modules from Microsoft and other companies Modules extend server functionalities trough a public module API Most of the integrated IIS functions are provided by modules Support for Managed Code Modules Extensible XML Based Configuration Engine Control APIs for managing state 5

IIS Architecture

HTTP.SYS What is it? Kernel-mode HTTP stack/listener Always running Reliability Features Process routing based on URL Request queues: kernel-mode queuing Performance Features Kernel-mode response cache Text-based and binary logging MS15-034: Vulnerability in HTTP.sys could allow remote code execution: April 14, 2015

Processing Client Requests When an HTTP request arrives at the server HTTP.SYS intercepts the request and check the configuration information HTTP.SYS parses the URL path to determine which site/app the request is for HTTP.SYS forwards the request to a worker process The worker process begins a request processing pipeline to execute the request At the end of the processing, a response is generated and returned to HTTP.SYS HTTP.SYS sends a response to the client  Each application runs within an isolated application pool  One or more worker processes serve an application pool

Security Context

IIS AppPools What is an IIS AppPool Application pools host one or more web applications Worker Process share the same configuration Enables applications isolation for better security You can configure Web applications to run in: Default application pools You can create a new AppPool AppPool Identity Identity under which worker processes in the application pool will run You can create custom user account 10

ASP.NET Impersonation Impersonation is the ability of a thread to execute using different security context Typically, this allows the server thread to act on behalf of a client user when access objects By default, it is disabled You can also programmatically impersonate users

Authentication

Authentication Modules Anonymous Authentication Basic Authentication Digest Authentication Forms Authentication Windows Authentication

Windows Integrated Authentication Encapsulate SSPI (Security Support Provider Interface) authentication schema in HTTP Authorization/WWW-Authentication Supports Kerberos and NTLM Provides Single Sign On (SSO) Browser Internet Explorer Mozilla Chrome 8.0 Safari Works only on Windows…….

Creating a Managed Code IIS Module

Required Steps Create class that implements IHttpModule Write code for the Init Method Initialize module Subscribe to events Write code for the subscribed events Implement the Dispose method (required) Register the module in the Web.config or Applicationhost.config file

Creating a Class from IHttpModule public class CustomAuthenticationModule : IHttpModule { void Init(HttpApplication context) { } void Dispose() { } }

Integrated pipeline: Events Request Events Begin Authenticate Authorize Resolve Cache Map Handler Acquire State PreExecute Handler Execute Handler Release State Update Cache Log End On Demand Events SendResponse ReadEntityBody MapPath Global Events Initialize / Shutdown Config Change / File Change Application Start / Stop Health Check Trace Event More

Creating a Class from IHttpModule public void Init(HttpApplication context) { // // Subscribe to the authenticate event to perform the // authentication. // context.AuthenticateRequest += new EventHandler(this.AuthenticateUser); // // Subscribe to the EndRequest event to issue the // challenge if necessary. // context.EndRequest += new EventHandler(this.IssueAuthenticationChallenge); }

форум програмиране, форум уеб дизайн курсове и уроци по програмиране, уеб дизайн – безплатно програмиране за деца – безплатни курсове и уроци безплатен SEO курс - оптимизация за търсачки уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop уроци по програмиране и уеб дизайн за ученици ASP.NET MVC курс – HTML, SQL, C#,.NET, ASP.NET MVC безплатен курс "Разработка на софтуер в cloud среда" BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране, книги – безплатно от Наков безплатен курс "Качествен програмен код" алго академия – състезателно програмиране, състезания ASP.NET курс - уеб програмиране, бази данни, C#,.NET, ASP.NET курсове и уроци по програмиране – Телерик академия курс мобилни приложения с iPhone, Android, WP7, PhoneGap free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране

HTTPS

HTTP.SYS Binding When you configure HTTPS in IIS the SSL Binding information is stored in two different places %windir%\System32\inetsrv\config\applicationHost.config HTTP.sys configuration

Server Name Indication (SNI) What is SNI? TLS extension that include a virtual domain as a part of SSL negotiation Introduced in IIS 8 Client browsers have to support SNI HTTP.SYS Binding

IIS Secure Administration

Securely Delegate IIS 7.0 enables administrators to securely delegate site and application administrative control to developers and content owners without administrative privileges on the server

IIS Logging and Tracing Logging Failed Event Tracing Automatic event trace logging on error condition Detailed trace events across web platform stack