Operating System
Using the Windows Firewall INF File in Microsoft Windows XP Service Pack 2
Microsoft Corporation
Published: March 2004Updated: November 2004
Abstract
Microsoft® Windows® XP Service Pack 2 (SP2) includes the Windows Firewall, a replacement for the Internet Connection Firewall component in Windows XP and Windows XP with Service Pack 1. Windows Firewall is a stateful host firewall that discards unsolicited incoming traffic, providing a level of protection for computers against malicious users or programs. To provide better protection for computers connected to any kind of network (such as the Internet, a home network, or an organization network), Windows XP SP2 enables Windows Firewall on all network connections by default. Network administrators can use the Windows Firewall INF file (Netfw.inf) to modify default settings either before or after installation. This article describes the usage of the Windows Firewall INF file.
Microsoft Windows XP Technical Article
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. 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 presented after the date of publication.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
The example companies, organizations, products, people and events depicted herein are fictitious. No association with any real company, organization, product, person or event is intended or should be inferred.
© 2004 Microsoft Corporation. All rights reserved.
Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Contents
Overview 1
Scenarios for Modifying Default Windows Firewall Configuration 2
Third Party Firewall Enabled 2
Preinstalled Programs 2
Pre-Opened Ports 2
Location of Windows Firewall INF File 3
Replacing the Default Windows Firewall Configuration 4
Default Windows Firewall INF File 5
Configuration Options Provided in the Windows Firewall INF File 6
Changing Windows Firewall’s Default Operational Mode 6
Disabling Windows Firewall’s Notifications 7
Blocking Unicast Responses to Multicast and Broadcast Packets 8
Enabling Remote Administration 8
Allowing ICMP Messages through Windows Firewall 9
Adding Static Ports to Windows Firewall’s Default Exceptions List 10
Adding Programs to Windows Firewall’s Default Exceptions List 11
Defining the Scope for an Entry in the Windows Firewall INF File 13
Summary 14
Related Links 15
Windows XP Service Pack 2 (SP2) includes the Windows Firewall, a replacement for the Internet Connection Firewall (ICF) component in Windows XP with Service Pack 1 and Windows XP with no service packs installed. Windows Firewall is a stateful host-based firewall that drops all unsolicited incoming traffic that does not correspond to either traffic sent in response to a request of the computer (solicited traffic) or unsolicited traffic that has been specified as allowed (excepted traffic). This behavior of Windows Firewall provides a level of protection from malicious users and programs that rely on unsolicited incoming traffic to attack computers.
One of the enhancements in Windows XP SP2 is the enabling of Windows Firewall by default during the installation of Windows XP or update to Windows XP SP2. Since Windows Firewall is enabled by default, network administrators need the flexibility to modify the default configuration of Windows Firewall during the installation of Windows XP SP2 and after its installation. Typical configuration modifications that may need to be performed include adding programs to Windows Firewall’s exception list or disabling Windows Firewall, for example if a third-party host-based firewall is already installed and enabled. Such modifications can be made to Windows Firewall’s default configuration by editing the Windows Firewall INF file, named Netfw.inf. This article describes how to edit the Windows Firewall INF file in order to create custom default configurations for Windows Firewall.
The following are common scenarios for modifying the default configuration of Windows Firewall.
An original equipment manufacturer (OEM) may choose to provide its customers with a third-party host-based firewall. If this firewall is enabled by default, then it is recommended that Windows Firewall be disabled. This can be done by modifying the Windows Firewall INF file to disable Windows Firewall by default.
An OEM or enterprise may choose to install a suite of programs by default. Some of these programs may need to receive unsolicited incoming traffic in order to function correctly. Windows Firewall can be configured to allow specific unsolicited incoming traffic by default by adding the programs to the Windows Firewall’s exceptions list. This can be done by adding entries for the programs to the Windows Firewall INF file. Only programs that require unsolicited incoming traffic should be added to the exceptions list; programs that do not require unsolicited incoming traffic should not be added to the exceptions list.
An enterprise may choose to use various network services and want to ensure that the network traffic for those services are allowed by default through Windows Firewall. For example, an enterprise may use some of the remote management functionality included in Windows XP. Windows Firewall can be configured to open the necessary ports by default by adding them to the Windows Firewall’s exceptions list. This can be done by adding entries for the TCP or UDP ports to the Windows Firewall INF file. Statically opening ports does potentially increase a computer’s exposure to attack, so the number of ports opened in Windows Firewall by default should be kept to a minimum.
On a Windows XP CD image, the location of the Windows Firewall INF file is:
Cd_drive:\I386\Netfw.in_
Note On a Windows XP CD image, the file’s name is Netfw.in_ (not Netfw.inf).
After the installation of Windows XP SP2, the location of the Windows Firewall INF file is:
%windir%\Inf\Netfw.inf
1. Copy the default Windows Firewall INF file (Netfw.inf) from an installation of Windows XP SP2.
2. Make the desired modifications to the INF file. Directions for modifying the INF file are provided in the "Configuration Options Provided in the Windows Firewall INF File" section of this article
3. Save the modified INF file as Netfw.inf.
4. Replace the default Netfw.inf with the modified Netfw.inf in the installation of Windows XP SP2.
5. Run the command netsh firewall reset on the computer running Windows XP with SP2. This can be done manually by entering the command at a command prompt or by including the command in a run-once script.
The default contents of the Netfw.inf file are the following:
[version]
Signature = "$Windows NT$"
DriverVer =07/01/2001,5.1.2600.2132
[DefaultInstall]
AddReg=ICF.AddReg.DomainProfile
AddReg=ICF.AddReg.StandardProfile
[ICF.AddReg.DomainProfile]
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplications\List","%windir%\system32\sessmgr.exe",0x00000000,"%windir%\system32\sessmgr.exe:*:enabled:@xpsp2res.dll,-22019"
[ICF.AddReg.StandardProfile]
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List","%windir%\system32\sessmgr.exe",0x00000000,"%windir%\system32\sessmgr.exe:*:enabled:@xpsp2res.dll,-22019"
The first two sections of Netfw.inf contain versioning and configuration information and do not need to be modified. The sections that are significant for modifying the default configuration for Windows Firewall are the following:
· ICF.AddReg.DomainProfile – Windows Firewall maintains two sets of configuration known as profiles. One profile is used when a computer is connected to the domain to which it is joined, while the other profile is used when the computer is not connected to its domain. This section is for defining changes to Windows Firewall’s default configuration when a computer is connected a network that contains its domain.
· ICF.AddReg.StandardProfile – This section is for defining changes to Windows Firewall’s default configuration when a computer is not connected to a network that contains its domain. If a computer is not a member of a domain, then Windows Firewall will always enforce the configuration stored in the Standard Profile.
The majority of the default configuration for Windows Firewall can be defined in the Windows Firewall INF file. This includes the following settings:
· Operational mode
· Disable notifications
· Block unicast responses to multicast and broadcast packets
· Enable Remote Administration
· Allow ICMP messages
· Open ports
· Allow programs
These settings are described in the following sections.
Notes All of the settings made in the Windows Firewall INF file will be applied to all of a computer’s network interfaces.
The opening of ports and allowing of ICMP messages for individual interfaces cannot be done through the Windows Firewall INF file.
Logging settings cannot be defined through the Windows Firewall INF file.
Windows Firewall can be placed in one of three operational modes:
· On – This is the default operational mode for Windows Firewall. In this mode, Windows Firewall drops all unsolicited incoming traffic, except those matching enabled entries in Windows Firewall’s exceptions lists. Since this is the default operational mode, no entries need to be included in Windows Firewall INF file.
· The assumed entries for the Domain Profile in the ICF.AddReg.DomainProfile section of the Windows Firewall INF file are:
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile","DoNotAllowExceptions",0x00010001,0
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile","EnableFirewall",0x00010001,1
· The assumed entries for the Standard Profile in the ICF.AddReg.StandardProfile section of the Windows Firewall INF file are:
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","DoNotAllowExceptions",0x00010001,0
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","EnableFirewall",0x00010001,0x00000001
· On with No Exceptions – In this mode, Windows Firewall blocks all unsolicited incoming traffic, even those matching enabled entries in Windows Firewall’s exceptions lists.
· To make this the default operational mode for the Domain Profile, add the following entries to the ICF.AddReg.DomainProfile section of the Windows Firewall INF file:
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile","DoNotAllowExceptions",0x00010001,1
· To make this the default operational mode for the Standard Profile, add the following entries to the ICF.AddReg.StandardProfile section of the Windows Firewall INF file:
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","DoNotAllowExceptions",0x00010001,1
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","EnableFirewall",0x00010001,1
· Off – In this mode, Windows Firewall is disabled and does not do any filtering of unsolicited incoming traffic. All unsolicited incoming traffic is allowed, and Windows Firewall is not helping to protect the computer from network attacks.
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile","EnableFirewall",0x00010001,0
o HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","EnableFirewall",0x00010001,0
By default, Windows Firewall displays a notification to users when a program not already included in the Windows Firewall exceptions list uses the new Windows Firewall APIs to add itself or its traffic to an exceptions list. By adding the appropriate entries to the Windows Firewall INF file, these notifications can be disabled in either or both of Windows Firewall’s profiles.
To disable notifications by default in the Domain Profile, add the following entry to the ICF.AddReg.DomainProfile section of the Windows Firewall INF file:
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile","DisableNotifications",0x00010001,1
To disable notifications by default in the Standard Profile, add the following entry to the ICF.AddReg.StandardProfile section of the Windows Firewall INF file:
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","DisableNotifications",0x00010001,1
By default, Windows Firewall allows incoming unicast response packets to a port for 3 seconds after a multicast or broadcast packet is sent from the port. By adding the appropriate entries to the Windows Firewall INF file, this behavior can be disabled in either or both of Windows Firewall’s profiles.
To block unicast responses to multicast and broadcast packets by default in the Domain Profile, add the following entry to the ICF.AddReg.DomainProfile section of the Windows Firewall INF file:
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile","DisableUnicastResponsesToMulticastBroadcast",0x00010001,1
To block unicast responses to multicast and broadcast packets by default in the Standard Profile, add the following entry to the ICF.AddReg.StandardProfile section of the Windows Firewall INF file:
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","DisableUnicastResponsesToMulticastBroadcast",0x00010001,1
Windows Firewall includes a Remote Administration option that alters its configuration to allow Remote Procedure Call (RPC) and Distributed Component Object Model (DCOM) communication. Enabling this option statically opens TCP 135 and TCP 445 to unsolicited incoming traffic. Additionally, communication over named pipes is permitted, and ports will be dynamically opened as needed by Windows services using RPC. By adding the appropriate entries to the Windows Firewall INF file, the Remote Administration option can be enabled in either or both of Windows Firewall’s profiles.
To enable Remote Administration by default in the Domain Profile, add the following entry to the ICF.AddReg.DomainProfile section of the Windows Firewall INF file:
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\RemoteAdminSettings","Enabled",0x00010001,1
To enable Remote Administration by default in the Standard Profile, add the following entry to the ICF.AddReg.StandardProfile section of the Windows Firewall INF file:
HKLM,"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\RemoteAdminSettings","Enabled",0x00010001,1
When enabling Remote Administration, the set of IP addresses from which unsolicited incoming traffic will be accepted can also be ...
Amiga789