Internet Information Services
From Wikipedia, the free encyclopedia
Internet Information Services | |
---|---|
Screenshot of IIS 7's management console |
|
Developed by | Microsoft |
Latest release | 7.0 |
OS | Microsoft Windows |
Genre | Server |
License | Proprietary |
Website | http://www.microsoft.com/iis |
Microsoft Internet Information Services (IIS, formerly called Internet Information Server) is a set of Internet-based services for servers using Microsoft Windows. It is the world's second most popular web server in terms of overall websites, behind Apache HTTP Server. As of May 2008 it served 35% of all websites according to Netcraft.[1] The servers currently include FTP, SMTP, NNTP, and HTTP/HTTPS.
Contents |
[edit] Versions
- IIS 1.0, Windows NT 3.51 available as a free add-on
- IIS 2.0, Windows NT 4.0
- IIS 3.0, Windows NT 4.0 Service Pack 3
- IIS 4.0, Windows NT 4.0 Option Pack
- IIS 5.0, Windows 2000
- IIS 5.1, Windows XP Professional,Windows MCE
- IIS 6.0, Windows Server 2003 and Windows XP Professional x64 Edition
- IIS 7.0, Windows Vista and Windows Server 2008
[edit] History
The first Microsoft-endorsed 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.
IIS 4.0 dropped support for the Gopher protocol and was bundled with Windows NT as a separate "Option Pack" CD-ROM.
The current shipping version of IIS is 7.0 for Windows Vista and Windows Server 2008, 6.0 for Windows Server 2003 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.[4] IIS 6.0 added support for IPv6. A FastCGI module is also available for IIS5.1, IIS6[5] and IIS7.[6]
Windows Vista does not install IIS 7.0 by default, but it can be selected among the list of optionally installed components. IIS 7.0 on Vista (Vista Basic does not handle ASP and ASP.NET) does not limit the number of connections allowed but restricts performance based on active concurrent requests.
[edit] Security
This article or section needs to be updated. Please update the article to reflect recent events / newly available information, and remove this template when finished. |
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 that affect them. In perspective, as of 11 September 2007, the free software Apache web server has one unpatched reported issue,[7] affecting only MS Windows systems, and rated "less critical". In IIS 6.0, Microsoft has opted to change the behavior of pre-installed ISAPI handlers,[8] 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 were modularized, so that only the required components have to be installed, thus further reducing the attack surface. In addition, security features such as URLFiltering were added that rejects suspicious URLs based on a user defined rule set.
In IIS 5.1 and lower, by default all websites were run in-process and under the System account,[9] a default Windows account with elevated rights. Under 6.0 all request handling processes have been brought under a Network Services account which has significantly fewer privileges. In particular this means that if there is an exploit in a feature or custom code, it wouldn't necessarily compromise the entire system given the sandboxed environment the 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.
[edit] Authentication Mechanisms
IIS 5.0 and higher support the following authentication mechanisms:
- Basic access authentication
- Digest access authentication
- Integrated Windows Authentication
- .NET Passport Authentication
[edit] Version 7.0
Debuting with Windows Vista, and also 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.[10] The following sets of modules are slated to ship with the server:
- HTTP Modules
- Security Modules
- Content Modules
- Compression Modules
- Caching Modules
- 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 effect 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.[11] 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.[12]
- New FTP module, that integrates with the new configuration store, as well as the new management environment.[13]
[edit] IIS Media Pack
The IIS Media Pack[14] 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[15]. 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[16]. 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
- ^ Netcraft Web Server Survey, May 2008. Retrieved on 2008-03-06.
- ^ Windows NT Internet Servers. Microsoft (July 10, 2002). Retrieved on 2008-05-26.
- ^ Dave Kramer (December 24, 1999). A Brief History of Microsoft on the Web. Microsoft.
- ^ Internet Information Services 5.1. Retrieved on 2007-07-20.
- ^ FastCGI Extension for IIS6.0 and IIS5.1 - Go Live. Retrieved on 2007-09-27.
- ^ FastCGI for IIS7. Retrieved on 2007-09-27.
- ^ Apache 2.2.x - Vulnerability Report - Secunia. Retrieved on 2007-08-06.
- ^ IIS Installs in a Locked-Down Mode (IIS 6.0). MSDN. Retrieved on 2007-07-20.
- ^ HOW TO: Run Applications Not in the Context of the System Account in IIS#Default Installation. Retrieved on 2007-07-20.
- ^ IIS DownloadCenter. Retrieved on 2007-09-27.
- ^ Scott Guthrie. IIS 7.0. Retrieved on 2007-07-20.
- ^ Introducing new features for delivering digital media with IIS7. Retrieved on 2007-09-27.
- ^ Microsoft FTP Publishing Service for IIS 7.0. Retrieved on 2007-09-27.
- ^ IIS Media Pack home page
- ^ Bit Rate Throttling RTW announcement
- ^ Web Playlists CTP2 release announcement
[edit] External links
- Microsoft Internet Information Services product page
- IIS.net - Microsoft Internet Information Services technical home page
- IIS 7.0 Technical Reference — Microsoft TechNet
- IIS Installation for XP — Microsoft
- Security Guidance for IIS — Microsoft TechNet
|