Internet Information Services

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Internet Information Services

Screenshot of IIS 7's management console
Developed by Microsoft
Latest release 7.0
Operating system Microsoft Windows
Type Server
License Proprietary
Website http://www.microsoft.com/iis

Internet Information Services (IIS) - formerly called Internet Information Server - is a set of Internet-based services for servers created by Microsoft for use with Microsoft Windows. It is the world's second most popular web server in terms of overall websites behind the industry leader Apache HTTP Server. As of November 2008 it served 34.49% of all websites according to Netcraft.[1] The servers currently include FTP, FTPS, SMTP, NNTP, and HTTP/HTTPS.

Contents

[edit] Versions

[edit] History

The first Microsoft webserver was a research project by the European Microsoft Windows NT Academic Centre (EMWAC), part of the University of Edinburgh in Scotland, and was distributed as freeware.[2] However since the EMWAC server was unable to scale sufficiently to handle the volume of traffic going to microsoft.com, Microsoft was forced to develop its own webserver, IIS.[3]

IIS was initially released as an additional set of Internet based services for Windows NT 3.51. IIS 2.0 followed, adding support for the Windows NT 4.0 operating system; and IIS 3.0 introduced the Active Server Pages dynamic scripting environment.[4]

IIS 4.0 dropped support for the Gopher protocol and was bundled with Windows NT as a separate "Option Pack" CD-ROM.[citation needed]

The current shipping version of IIS is 7.0 for Windows Vista and Windows Server 2008, 6.0 for Windows Server 2003 and Windows XP Professional x64 Edition, and IIS 5.1 for Windows XP Professional. Windows XP has a restricted version of IIS 5.1 that supports only 10 simultaneous connections and a single web site.[5] IIS 6.0 added support for IPv6. A FastCGI module is also available for IIS5.1, IIS6[6] and IIS7.[7]

IIS 7.0 is not installed by Windows Vista by default but it can be selected from the list of optional components. It is available in all editions of Windows Vista including Home Basic. IIS 7 on Vista does not limit the number of allowed connections as IIS on XP did but limits concurrent requests to 10 (Windows Vista Ultimate, Business, and Enterprise Editions) or 3 (Vista Home Premium). Additional requests are queued which hampers performance but they are not rejected as with XP which resulted in the 'server too busy' error message. [8]

[edit] Microsoft Web Platform Installer

Microsoft Web Platform Installer is a simple tool that installs Microsoft's entire Web Platform including:

among others.

Supported pperating systems include Windows Vista RTM, Windows Vista SP1, Windows XP Professional, Windows Server 2003, and Windows Server 2008. Supported Architectures include both x86 and 64-bit.

[edit] Security

Earlier versions of IIS were hit with a number of vulnerabilities, chief among them CA-2001-19 which led to the infamous Code Red worm; however, both versions 6.0 and 7.0 currently have no reported issues with this specific vulnerability.[9][10] In IIS 6.0 Microsoft opted to change the behaviour of pre-installed ISAPI handlers,[11] many of which were culprits in the vulnerabilities of 4.0 and 5.0, thus reducing the attack surface of IIS. In addition, IIS 6.0 added a feature called "Web Service Extensions" that prevents IIS from launching any program without explicit permission by an administrator. With the current release IIS 7.0 the components are modularised so that only the required components have to be installed, thus further reducing the attack surface. In addition, security features are added such as URLFiltering which rejects suspicious URLs based on a user-defined rule set.

By default IIS 5.1 and lower run websites in-process under the SYSTEM account,[12] a default Windows account with 'superuser' rights. Under 6.0 all request handling processes have been brought under a Network Services account with significantly fewer privileges so that should there be an vulnerability in a feature or custom code it won't necessarily compromise the entire system given the sandboxed environment these worker processes run in. IIS 6.0 also contained a new kernel HTTP stack (http.sys) with a stricter HTTP request parser and response cache for both static and dynamic content.

There are various built-in security features from Microsoft. Many companies offer third-party security tools and features, also known as a "Web App Firewall, or Web Application Firewall." The advantage of such tools is that they offer much more comprehensive elements (such as easy-to-use GUI, etc.) that aid in protecting your IIS with an additional layer of protection.

[edit] Authentication Mechanisms

IIS 5.0 and higher support the following authentication mechanisms:

[edit] Version 7.0

Debuting with Windows Vista, and included in Windows Server 2008, IIS 7.0 features a modular architecture. Instead of a monolithic server which features all services, IIS 7 has a core web server engine. Modules offering specific functionality can be added to the engine to enable its features. The advantage of having this architecture is that only the features required can be enabled and that the functionalities can be extended by using custom modules.

IIS 7 will ship with a handful of modules, but Microsoft will make other modules available online.[13] The following sets of modules are slated to ship with the server:

  1. HTTP Modules
  2. Security Modules
  3. Content Modules
  4. Compression Modules
  5. Caching Modules
  6. Logging and Diagnostics Modules

Writing extensions to IIS 7 using ISAPI has been deprecated in favor of the module API, which allows modules to be plugged in anywhere within the request processing pipeline. Much of IIS's own functionality is built on this API, and as such, developers will have much more control over a request process than was possible in prior versions. Modules can be written using C++, or using the IHttpModule interface from a .NET Framework language. Modules can be loaded globally where the services provided by the module can affect all sites, or loaded on a per-site basis. IIS 7 has an integrated mode application pool where .NET modules are loaded into the pipeline using the module API, rather than ISAPI. As a result ASP.NET code can be used with all requests to the server.[14] For applications requiring strict IIS 6.0 compatibility, the Classic application pool mode loads asp.NET as an ISAPI.

A significant change from previous versions of IIS is that all Web server configuration information is stored solely in XML configuration files, instead of in the metabase. The server has a global configuration file that provides defaults, and each virtual web's document root (and any subdirectory thereof) may contain a web.config containing settings that augment or override the defaults. Changes to these files take effect immediately. This marks a significant departure from previous versions whereby web interfaces, or machine administrator access, were required to change simple settings such as default document, active modules and security/authentication. It also eliminates the need to perform metabase synchronization between multiple servers in a farm of web servers.

IIS 7 also features a completely rewritten administration interface that takes advantage of modern MMC features such as task panes and asynchronous operation. Configuration of ASP.NET is more fully integrated into the administrative interface.

Other changes:

  • PICS content ratings, support for Microsoft Passport, and server-side image maps are no longer included.
  • Executing commands via server-side includes is no longer permitted.
  • IISRESET -reboot has been removed.
  • The CONVLOG tool, which converts IIS log files into NCSA format, has been removed.
  • Support for enabling a folder for "Web Sharing" via the Windows Explorer interface has been removed.
  • IIS Media Pack (see below), which allows IIS to be used as a bare-bones media server, without using Windows Media Services.[15]
  • New FTP module, that integrates with the new configuration store, as well as the new management environment.[16]

[edit] Version 7.5

IIS 7.5 is the latest update to the IIS 7.0 server. This release comes with Windows Server 2008 R2 and Windows 7. This integrates many separate downloads available from Microsoft into the release.

Highlights include:

Integration of new FTP with the OS, Integration of Admin Pack Extension with the OS, IIS Powershell provider, Rich Application Hosting, Improvements to FastCGI, IIS Core changes and improvements, IIS Best Practice Analyzer [17]

[edit] IIS Media Pack

The IIS Media Pack[18] is a set of free add-on modules for delivering digital audio and video files from an Internet Information Services 7.0 (IIS7) Web server. Download delivery from a Web server to media player software is often as a progressive download, which allows the end user's media player to quickly start rendering the media file even as the download is still in progress. Examples of media player software that will work with the IIS Media Pack include Adobe Flash Player, Apple QuickTime Player, RealNetworks RealPlayer, Microsoft Windows Media Player, and Microsoft Silverlight. The IIS Media Pack provides some of the cost savings and content control benefits of streaming media servers to Web server delivery of media files.

The first module, Bit Rate Throttling, was released to the general public on March 14, 2008[19]. For media files, Bit Rate Throttling downloads the first few seconds of the file as fast as possible, allowing playback to begin very quickly, and then automatically detects the encoded bit rate of the file and meters out the rest of the download at that bit rate. If an end user stops playback before the end of the file, the server has only downloaded a few more seconds of file than were actually consumed, reducing bandwidth costs when compared to traditional send-and-forget HTTP downloads. Metering the delivery of media files also reduces overall bandwidth and CPU usage on the IIS server, freeing resources to serve a higher number of concurrent users. The following eleven media file formats are supported by default in the Bit Rate Throttling module: ASF, AVI, FLV, M4V, MOV, MP3, MP4, RM, RMVB, WMA, WMV. Additional media file formats can be added using the IIS configuration system. Non-media files may also be throttled at a server-administrator-specified delivery rate.

The second module is called Web Playlists, and is now in its second Customer Technology Preview (CTP) release[20]. This feature allows an IIS server administrator to specify a sequenced playback order for a set of media files without exposing the source URLs. Playback order and the ability to limit whether an end user can seek within or skip a file are controlled on the IIS server. The Web Playlists feature can also be used to dynamically generate personalized playlists for users.

[edit] See also

[edit] References

  1. ^ "Netcraft Web Server Survey, November 2008". http://news.netcraft.com/archives/2008/11/19/november_2008_web_server_survey.html. Retrieved on 2008-11-24. 
  2. ^ "Windows NT Internet Servers". Microsoft. July 10, 2002. http://support.microsoft.com/kb/120734. Retrieved on 2008-05-26. 
  3. ^ Dave Kramer (December 24, 1999). "A Brief History of Microsoft on the Web". Microsoft. http://www.microsoft.com/misc/features/features_flshbk.htm. 
  4. ^ "Microsoft ASP.NET 2.0 Next Stop on Microsoft Web Development Roadmap". http://www.directionsonmicrosoft.com/sample/DOMIS/update/2004/08aug/0804a2nsow.htm. 
  5. ^ "Internet Information Services 5.1". http://www.microsoft.com/windowsxp/evaluation/features/iis.mspx. Retrieved on 2007-07-20. 
  6. ^ "FastCGI Extension for IIS6.0 and IIS5.1 - Go Live". http://www.iis.net/downloads/default.aspx?tabid=34&i=1521&g=6. Retrieved on 2007-09-27. 
  7. ^ "FastCGI for IIS7". http://www.iis.net/downloads/default.aspx?tabid=34&i=1299&g=6. Retrieved on 2007-09-27. 
  8. ^ Overview of Available Features in IIS 7.0
  9. ^ "Vulnerability Report: Microsoft Internet Information Services (IIS) 6". http://secunia.com/advisories/product/1438/?task=statistics. Retrieved on 2008-10-14. 
  10. ^ "Vulnerability Report: Microsoft Internet Information Services (IIS) 7". http://secunia.com/advisories/product/17543/?task=statistics. Retrieved on 2008-10-14. 
  11. ^ "IIS Installs in a Locked-Down Mode (IIS 6.0)". MSDN. http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/54257c42-d723-4b12-badf-f4902c195821.mspx?mfr=true. Retrieved on 2007-07-20. 
  12. ^ "HOW TO: Run Applications Not in the Context of the System Account in IIS#Default Installation". http://support.microsoft.com/kb/319067/. Retrieved on 2007-07-20. 
  13. ^ "IIS DownloadCenter". http://www.iis.net/downloads/default.aspx?tabid=3&hl=featured. Retrieved on 2007-09-27. 
  14. ^ Scott Guthrie. "IIS 7.0". http://weblogs.asp.net/scottgu/archive/2007/04/02/iis-7-0.aspx. Retrieved on 2007-07-20. 
  15. ^ "Introducing new features for delivering digital media with IIS7". http://forums.iis.net/p/1146388/1856729.aspx. Retrieved on 2007-09-27. 
  16. ^ "Microsoft FTP Publishing Service for IIS 7.0". http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1526. Retrieved on 2007-09-27. 
  17. ^ IIS7 in Windows Server 2008 R2
  18. ^ IIS Media Pack home page
  19. ^ Bit Rate Throttling RTW announcement
  20. ^ Web Playlists CTP2 release announcement

[edit] External links

Personal tools