Configuring Web Site
Configuring Web Site
Internet Information Services 6 (IIS 6) is a powerful platform for hosting web sites on
both the public Internet and on private intranets. Creating and configuring web sites and
virtual directories are bread-and-butter tasks for IIS Administrators, and in this article
we'll walk through the process of doing this using both the GUI (IIS Manager) and using
various scripts included with Windows Server 2003. The seven specific tasks we'll walk
through will include:
Preliminary Steps
Unlike earlier versions of Microsoft Windows, IIS is not installed by default on Windows
Server 2003. To install IIS, open Manage Your Server from the Start menu and add the
Application Server role:
Note that for simple security reasons IIS should only be installed on member servers, not
domain controllers. The reason is that if you install IIS on a domain controller and your
web server becomes compromised, the attacker could gain access to your accounts
database and wreak havoc with your network.
Let's use IP address 172.16.11.221 for the Human Resources site and make D:\HR the
folder where the home page for this site is stored. To create the HR site, right-click on the
Web Sites node and select New --> Web Site. This starts the Web Site Creation Wizard.
Click Next and type a description for the site:
Click Next again and specify 172.16.11.221 as the IP address for the site:
Click Next and specify D:\HR as the home folder for the site. We've cleared the checkbox
to deny anonymous access to the site because this is an internal intranet so only
authenticated users should be able to access it (public web sites generally allow
anonymous access):
Click Next and leave only Read access enabled since the Human Resources site will
initially only be used to inform employees of company policies:
Click Next and then Finish to create the new web site:
Now let's create another intranet site, this time for Help Desk, which will use IP address
172.16.11.222 and home folder D:\Help. We'll create this one using a script instead of the
GUI:
And here's the result:
The script we used here is Iisweb.vbs, one of several IIS administration scripts available
when you install IIS on Windows Server 2003. The basic syntax of this script is easy to
figure out from the previous screenshot, and a full syntax can be found here. Note that
unlike the Web Site Creation Wizard used previously. you can't use this script create a
web site with anonymous access disabled. So if you want to disable anonymous access
you should do it by opening the properties sheet for the Help Desk site, selecting the
Directory Security tab, and clicking the Edit button under Authentication and Access
Control. This opens the Authentication Methods box where you can clear the checkbox to
disable Anonymous Access and leave Windows Integrated Authentication as the only
authentication method available for clients on your network:
Creating a Local Virtual Directory
Let's say Human Resources keeps their policies in a folder called D:\HR Policies on your
web server and you would like users to be able to use the URL
http://172.16.11.221/policies when they need to access these policies. To do this we need
to create a virtual directory that associates the /policies portion of the URL, called the
alias for the virtual directory, with the physical directory D:\HR Policies where these
documents are actually located.
Let's do this now. Right-click on the Human Resources site and select New --> Virtual
Directory to start the Virtual Directory Creation Wizard. Click Next and type the alias for
the virtual directory:
Click Next and specify the physical folder on the local server to map to this alias:
Click Next and specify permissions (again we'll just leave Read enabled) and finish the
wizard. Here's the result:
Let's do something similar using another IIS script named Iisvdir.vbs, only we'll create a
/procedures virtual directory instead:
Click Next and a new screen appears prompting you to either specify credentials for
accessing the share or use the authenticated user's credentials for this purpose (we'll use
the latter):
Click Next and finish the wizard. Let's look at the result:
The Iisvdir.vbs script can similarly be used for creating remote virtual directories.
By default only Read permission is enabled, but you can also allow Write access so users
can upload or modify files on your site.
Script source access so users can view the code in your scripts (generally not a good
idea), or Directory browsing so users can view a list of files in your site (also not a good
idea). Web permissions apply equally to all users trying to access your site, and they are
applied before NTFS permissions are applied. So if Read web permission is denied but
NTFS Read permission is allowed, users are denied access to the site.
IP address restrictions can be used to allow or deny access to your site by clients that
have a specific IP address, have an IP address within a range of addresses, or have a
specific DNS domain name. To configure this, select the Directory Security tab and click
the Edit button under IP Address and Domain Name Restrictions. This opens the
following dialog, which by default does not restrict access to your site:
The main thing to watch for here is that denying access based on domain name involves
reverse DNS lookups each time clients try to connect to your web site, and this can
significantly impact the performance of your site.
The final way of controlling access to your sites is to use the Authentication Methods
dialog box we looked at previously:
In summary, the five authentication options displayed here are:
• Anonymous access. Used mainly for web sites on public (Internet) web servers.
• Integrated Windows authentication. Used mainly for web sites on a private
intranet.
• Digest authentication. Challenge/response authentication scheme that only
works with clients running Internet Explorer 5.0 or later.
• Basic authentication. Older authentication scheme that transmits passwords over
the network in clear text, so use this only in conjunction with SSL.
• .NET Passport authentication. Allows users to use their .NET Passport for
authentication.
The default logging format is the W3C Extended Log File Format, and clicking
Properties indicates new log files are created daily in the indicated directory. It's a good
idea to specify that local time be used for logging traffic as this makes it easier to
interpret the logs:
The key of course is to review log files regularly to look for suspicious activity. IIS
doesn't include anything for this purpose, but the IIS 6.0 Resource Kit Tools does include
version 2.1 of Microsoft Log Parser, which can be used for analyzing IIS logs. You can
download these tools here.
Type iisreset /? for the full syntax of this command. You can also start and stop
individual web sites using IIS Manager or the Iisweb.vbs script. And you can stop or start
individual IIS services using the net commands, for example net stop w3svc will stop the
WWW services only.
Summary
In this article I've explained how to create and configure web sites and virtual directories
on IIS 6. Most of what we've covered also applies to IIS 5 on Windows 2000 as well. In
the next article I'll delve into creating and configuring FTP sites and implementing FTP
User Isolation, a new feature of Windows Server 2003. For a deeper look at IIS 6 see my
book IIS 6 Administration (Osborne/McGraw-Hill).
Add the DHCP Relay Agent
Updated: January 21, 2005
Where?
4. In the Select Routing Protocol dialog box, click DHCP Relay Agent, and then click OK.
Note
• To perform this procedure, you must be a member of the Administrators group. As a security best
practice, consider using the Run As command rather than logging on with administrative
credentials. If you have logged on with administrative credentials, you can also open Routing and
Remote Access by clicking Start, clicking Control Panel, double-clicking Administrative Tools,
and then double-clicking Routing and Remote Access. For more information, see Default local
groups, Default groups, and Using Run as.
• Your server might function differently based on the version and edition of the operating system
that is installed, your account permissions, and your menu settings. For more information, see
Viewing Help on the Web.
See Also
Where?
4. On the General tab, in Server address, type the IP address of your DHCP server, and then click
Add.
5. Repeat step 4 for each DHCP server you need to add, and then click OK.
Note
• To perform this procedure, you must be a member of the Administrators group. As a security best
practice, consider using the Run As command rather than logging on with administrative
credentials. If you have logged on with administrative credentials, you can also open Routing and
Remote Access by clicking Start, clicking Control Panel, double-clicking Administrative Tools,
and then double-clicking Routing and Remote Access. For more information, see Default local
groups, Default groups, and Using Run as.
• Your server might function differently based on the version and edition of the operating system
that is installed, your account permissions, and your menu settings. For more information, see
Viewing Help on the Web.
See Also