Firewall
Firewall
General Information
1 Years of networking experience: Years of experience with Cisco products:
2 I have these network types: LAN Backbone WAN
Other:
3 I have these Cisco products: Switches Routers
Other (specify models):
4 I perform these types of tasks: H/W installation and/or maintenance S/W configuration
Network management Other:
5 I use these types of documentation: H/W installation H/W configuration S/W configuration
Command reference Quick reference Release notes Online help
Other:
6 I access this information through: % Cisco.com (CCO) % CD-ROM
% Printed docs % Other:
7 I prefer this access method:
8 I use the following three product features the most:
Document Information
Document Title: Cisco PIX Firewall and VPN Configuration Guide: Version 6.2
Part Number: 78-13943-01 S/W Release (if applicable): PIX Firewall version 6.2
On a scale of 1–5 (5 being the best), please let us know how we rate in the following areas:
Mailing Information
Company Name Date
Contact Name Job Title
Mailing Address
Corporate Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 526-4100
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE
OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public
domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH
ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF
DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO
OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
CCIP, the Cisco Powered Network mark, the Cisco Systems Verified logo, Cisco Unity, Follow Me Browsing, FormShare, Internet Quotient, iQ Breakthrough, iQ Expertise,
iQ FastTrack, the iQ Logo, iQ Net Readiness Scorecard, Networking Academy, ScriptShare, SMARTnet, TransPath, and Voice LAN are trademarks of Cisco Systems, Inc.;
Changing the Way We Work, Live, Play, and Learn, Discover All That’s Possible, The Fastest Way to Increase Your Internet Quotient, and iQuick Study are service marks
of Cisco Systems, Inc.; and Aironet, ASIST, BPX, Catalyst, CCDA, CCDP, CCIE, CCNA, CCNP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, the Cisco
IOS logo, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Empowering the Internet Generation, Enterprise/Solver, EtherChannel, EtherSwitch,
Fast Step, GigaStack, IOS, IP/TV, LightStream, MGX, MICA, the Networkers logo, Network Registrar, Packet, PIX, Post-Routing, Pre-Routing, RateMUX, Registrar,
SlideCast, StrataView Plus, Stratm, SwitchProbe, TeleRouter, and VCO are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and certain other
countries.
All other trademarks mentioned in this document or Web site are the property of their respective owners. The use of the word partner does not imply a partnership relationship
between Cisco and any other company. (0203R)
Document Objectives xv
Audience xv
Overview 8-4
Making an Exception to IKE Mode Config for Site-to-Site VPN Peers 8-5
Configuring IKE Mode Config 8-6
Cisco VPN 3000 Client Version 2.5/2.6 and Cisco VPN Client Version 3.x 8-7
Cisco VPN Client Overview 8-7
Xauth, RADIUS, IKE Mode Config, and Wildcard, Pre-Shared Key 8-8
Xauth, IKE Mode Config, and Digital Certificates 8-13
Cisco Secure VPN Client Version 1.1 8-19
IP Addresses D-1
Ports D-2
IPSec E-1
This preface introduces the Cisco PIX Firewall and VPN Configuration Guide and contains the following
sections:
• Document Objectives
• Audience
• Document Organization
• Document Conventions
• Obtaining Documentation
• Obtaining Technical Assistance
Document Objectives
This document describes how to configure the Cisco PIX Firewall to protect your network from
unauthorized use and to establish Virtual Private Networks (VPNs) to connect remote sites and users to
your network.
Audience
This guide is for network managers who perform any of the following tasks:
• Managing network security
• Installing and configuring firewalls
• Managing default and static routes, and TCP and UDP services
Use this guide with the installation guide supplied with your PIX Firewall unit.
Document Organization
This guide includes the following chapters and appendixes:
• Chapter 1, “Getting Started,” describes the benefits provided by PIX Firewall and the technology
used to implement each feature.
• Chapter 2, “Establishing Connectivity,” describes how to establish secure connectivity between an
unprotected network, such as the public Internet, and one or more protected networks.
• Chapter 3, “Controlling Network Access and Use,” describes how to control connectivity between
unprotected and protected networks and how to control network use through filtering and other
PIX Firewall features.
• Chapter 4, “Configuring Application Inspection (Fixup),” describes how the application inspection
function enables the secure use of specific applications and services.
• Chapter 5, “Using PIX Firewall in SOHO Networks,” describes how to configure the PIX Firewall
as a VPN, PPPoE, or DHCP client and how to use the PIX Firewall DHCP server on its inside
interface.
• Chapter 6, “Configuring IPSec and Certification Authorities,” describes how to configure the
PIX Firewall to support Virtual Private Networks (VPNs).
• Chapter 7, “Site-to-Site VPN Configuration Examples,” provides examples of using PIX Firewall to
establish site-to-site VPNs.
• Chapter 8, “Configuring VPN Client Remote Access,” describes specific configuration for using
PIX Firewall to establish a remote access VPN and provides configuration examples.
• Chapter 9, “Accessing and Monitoring PIX Firewall,” describes how to implement, configure, and
integrate PIX Firewall system management tools.
• Chapter 10, “Using PIX Firewall Failover,” describes how to implement and configure the failover
feature.
• Chapter 11, “Changing Feature Licenses and System Software,” describes how to upgrade or
downgrade your PIX Firewall software image and feature license.
• Appendix A, “Firewall Configuration Forms,” provides forms you can use to plan a configuration
before starting to create a configuration.
• Appendix B, “Acronyms and Abbreviations,” lists the acronyms and abbreviations used in this
guide.
• Appendix C, “MS-Exchange Firewall Configuration,” describes how to configure PIX Firewall to
handle mail transfers across the PIX Firewall from Windows NT Servers on protected and
unprotected networks.
• Appendix D, “TCP/IP Reference Information,” lists the IP addresses associated with each subnet
mask value.
• Appendix E, “Supported VPN Standards,”lists the standards supported for IPSec, IKE, and
certification authorities (CA).
• Appendix F, “Converting Private Link to IPSec,” describes the procedure for converting a Private
Link VPN to IPSec.
Document Conventions
Command descriptions use these conventions:
• Braces ({ }) indicate a required choice.
• Square brackets ([ ]) indicate optional elements.
• Vertical bars ( | ) separate alternative, mutually exclusive elements.
• Boldface indicates commands and keywords that are entered literally as shown.
• Italics indicate arguments for which you supply values.
Examples use these conventions:
• Examples depict screen displays and the command line in screen font.
• Information you need to enter in examples is shown in boldface screen font.
• Variables for which you must supply a value are shown in italic screen font.
Graphic user interface access uses these conventions:
• Boldface indicates buttons and menu items.
• Selecting a menu item (or screen) is indicated by the following convention:
Click Start>Settings>Control Panel.
Note Means reader take note. Notes contain helpful suggestions or references to material not
covered in the manual.
Obtaining Documentation
The following sections explain how to obtain documentation from Cisco Systems.
Documentation CD-ROM
Cisco documentation and additional literature are available in a Cisco Documentation CD-ROM
package, which is shipped with your product. The Documentation CD-ROM is updated monthly and may
be more current than printed documentation. The CD-ROM package is available as a single unit or
through an annual subscription.
Ordering Documentation
Cisco documentation is available in the following ways:
• Registered Cisco.com users (Cisco direct customers) can order Cisco product documentation from
the Networking Products MarketPlace:
http://www.cisco.com/cgi-bin/order/order_root.pl
• Registered Cisco.com users can order the Documentation CD-ROM through the online Subscription
Store:
http://www.cisco.com/go/subscription
• Nonregistered Cisco.com users can order documentation through a local account representative by
calling Cisco corporate headquarters (California, USA) at 408 526-7208 or, elsewhere in North
America, by calling 800 553-NETS (6387).
Documentation Feedback
If you are reading Cisco product documentation on Cisco.com, you can submit technical comments
electronically. Click the Fax or Email option under the “Leave Feedback” at the bottom of the Cisco
Documentation home page.
You can e-mail your comments to [email protected].
To submit your comments by mail, use the response card behind the front cover of your document, or
write to the following address:
Cisco Systems
Attn: Document Resource Connection
170 West Tasman Drive
San Jose, CA 95134-9883
We appreciate your comments.
Cisco.com
Cisco.com is the foundation of a suite of interactive, networked services that provides immediate, open
access to Cisco information, networking solutions, services, programs, and resources at any time, from
anywhere in the world.
Cisco.com is a highly integrated Internet application and a powerful, easy-to-use tool that provides a
broad range of features and services to help you to
• Streamline business processes and improve productivity
• Resolve technical issues with online support
The Cisco PIX Firewall lets you establish stateful firewall protection and secure VPN access with a
single device. PIX Firewall provides a scalable security solution with failover support available for
selected models to provide maximum reliability. PIX Firewall uses a specialized operating system that
is more secure and easier to maintain than software firewalls that use a general-purpose operating
system, which are subject to frequent threats and attacks.
This chapter describes how you can use the PIX Firewall to protect your network assets and to establish
secure VPN access. It contains the following sections:
• Controlling Network Access
• Protecting Your Network from Attack
• Supporting Specific Protocols and Applications
• Creating a Virtual Private Network
• Using PIX Firewall in a Small Office, Home Office Environment
• Accessing and Monitoring PIX Firewall
• PIX Firewall Failover
• Upgrading the PIX Firewall OS and License
• Using the Command-Line Interface
• Before You Start Configuring PIX Firewall
• Where to Go from Here
Outbound No direct
inbound Internet
connections
OK connections
PIX
Firewall
Router
Server 1
Internet S6243
Protected clients accesible server
Server 2
Within this architecture, the PIX Firewall forms the boundary between the protected networks and the
unprotected networks. All traffic between the protected and unprotected networks flows through the
firewall to maintain security. Traffic may not exit the PIX Firewall on the same network interface it
entered. The unprotected network is typically accessible to the Internet. The PIX Firewall lets you locate
servers such as those for Web access, SNMP, electronic mail (SMTP) in the protected network, and
control who on the outside can access these servers.
For PIX Firewall models with three or more interfaces, server systems can be located on a perimeter
network as shown in Figure 1-1, and access to the server systems can be controlled and monitored by the
PIX Firewall. The PIX 501, PIX 506/506E each have two network interfaces, so all systems must be
located either on the inside or the outside interfaces.
The PIX Firewall also lets you implement your security policies for connection to and from the inside
network.
Typically, the inside network is an organization's own internal network, or intranet, and the outside
network is the Internet, but the PIX Firewall can also be used within an intranet to isolate or protect one
group of internal computing systems and users from another.
The perimeter network can be configured to be as secure as the inside network or with varying security
levels. Security levels are assigned numeric values from 0, the least secure, to 100, the most secure. The
outside interface is always 0 and the inside interface is always 100. The perimeter interfaces can be any
security level from 1 to 99.
Both the inside and perimeter networks are protected with the PIX Firewall's Adaptive Security
Algorithm (ASA). The inside, perimeter, and outside interfaces can listen to RIP routing updates, and
all interfaces can broadcast a RIP default route if required.
Note The PIX Firewall checks TCP sequence number and ensures that it fits within an acceptable range.
ASA applies to the dynamic translation slots and static translation slots. You create static translation
slots with the static command and dynamic translation slots with the global command. Collectively,
both types of translation slots are referred to as “xlates.” ASA follows these rules:
• No packets can traverse the PIX Firewall without a connection and state.
• Traffic may not exit the PIX Firewall on the same network interface it entered.
• Outbound connections or states are allowed, except those specifically denied by access control lists.
An outbound connection is one where the originator or client is on a higher security interface than
the receiver or server. The highest security interface is always the inside interface and the lowest is
the outside interface. Any perimeter interfaces can have security levels between the inside and
outside values.
• Inbound connections or states are denied, except those specifically allowed. An inbound connection
or state is one where the originator or client is on a lower security interface/network than the receiver
or server. You can apply multiple exceptions to a single xlate (translation). This lets you permit
access from an arbitrary machine, network, or any host on the Internet to the host defined by the
xlate.
• All ICMP packets are denied unless specifically permitted.
• All attempts to circumvent the previous rules are dropped and a message is sent to the syslog.
PIX Firewall handles UDP data transfers in a manner similar to TCP. Special handling allows DNS,
archie, StreamWorks, H.323, and RealAudio to work securely. The PIX Firewall creates UDP
“connection” state information when a UDP packet is sent from the inside network. Response packets
resulting from this traffic are accepted if they match the connection state information. The connection
state information is deleted after a short period of inactivity.
For more information about how ASA works and how you can configure application inspection with
different types of applications, refer to Chapter 4, “Configuring Application Inspection (Fixup).”
Note Traffic may not exit the PIX Firewall on the same network interface it entered. This condition results in
the following message in the system log:
Address Translation
The Network Address Translation (NAT) feature works by substituting, or translating, host addresses on
one interface with a “global address” associated with another interface. This protects internal host
addresses from being exposed on other network interfaces. To understand whether you want to use NAT,
decide if you want to expose internal addresses on other network interfaces connected to the
PIX Firewall. If you choose to protect internal host addresses using NAT, you identify the pool of
addresses you want to use for translation.
Note With version 6.2 of the PIX Firewall, NAT is also available for translating outside addresses. This helps
to simplify network routing by controlling the addresses that can appear on the inside network.
If the addresses that you want to protect access only other networks within your organization, you can
use any set of “private” addresses for the pool of translation addresses. For example, if you want to
protect the host addresses on the Finance Department’s network (connected to the inside interface on the
PIX Firewall) from exposure when connecting to the Sales Department network (connected to the
perimeter interface on the PIX Firewall), you can set up translation using any available set of addresses
on the Sales network. The effect is that hosts on the Finance network appear as local addresses on the
Sales network.
If the addresses that you want to protect require Internet access, you use only NIC-registered addresses
(official Internet addresses registered with the Network Information Center for your organization) for
the pool of translation addresses. For example, if you want to protect host addresses on the Sales network
(connected to a perimeter interface of the PIX Firewall) from exposure when making connections to the
Internet (accessible through the outside interface of the PIX Firewall), you can set up translation using
a pool of registered addresses on the outside interface. The effect is that hosts on the Internet see only
the Internet addresses for the Sales network, not the addresses on the perimeter interface.
If you are installing the PIX Firewall in an established network that has host- or network-registered
addresses, you might not want to do translation for those hosts or networks because that would require
using another registered address for the translation.
When considering NAT, it is also important to consider whether you have an equal number of addresses
for internal hosts. If not, some internal hosts might not get network access when making a connection.
In this case you can either apply for additional NIC-registered addresses or use Port Address Translation
(PAT). PAT uses a single external address to manage up to 64,000 concurrent connections.
For inside systems, NAT translates the source IP address of outgoing packets (defined in RFC 1631). It
supports both dynamic and static translation. NAT allows inside systems to be assigned private addresses
(defined in RFC 1918), or to retain existing invalid addresses. NAT also provides additional security by
hiding the real network identity of internal systems from the outside network.
PAT uses port remapping, which allows a single valid IP address to support source IP address translation
for up to 64,000 active xlate objects. PAT minimizes the number of globally valid IP addresses required
to support private or invalid internal addressing schemes. PAT does not work with multimedia
applications that have an inbound data stream different from the outgoing control path. PAT provides
additional security by hiding the real network identity of internal systems from the outside network.
Another class of address translation on the PIX Firewall is static translation. Static translation lets you
substitute a fixed external IP address for an internal address. This is useful for servers that require fixed
IP addresses for access from the public Internet.
The PIX Firewall Identify feature allows address translation to be disabled. If existing internal systems
have valid globally unique addresses, the Identity feature allows NAT and PAT to be selectively disabled
for these systems. This feature makes internal network addresses visible to the outside network.
Cut-Through Proxy
Cut-through proxy is a feature unique to PIX Firewall that allows user-based authentication of inbound
or outbound connections. A proxy server analyzes every packet at layer seven of the OSI model, which
is a time- and processing-intensive function. By contrast, the PIX Firewall uses cut-through proxy to
authenticate a connection and then allow traffic to flow quickly and directly.
Cut-through proxy allows a much finer level of administrative control over connections than checking
source IP addresses. It allows security policies to be enforced based on individual user accounts.
Connections can be authenticated with a user ID and password before are established, and one-time
dynamic passwords or security tokens are supported for greater security. Authentication and
authorization are supported for HTTP, Telnet, or FTP connections.
Access Control
This section describes the features implemented by the PIX Firewall to support authentication and
authorization of network users. It includes the following topics:
• AAA Integration
• Access Lists
• TurboACL
• Downloadable ACLs
• Object Grouping
• Conduits
Chapter 3, “Controlling Network Access and Use” provides configuration instructions for using the
features mentioned in this section.
AAA Integration
PIX Firewall provides integration with AAA (authentication, accounting, and authorization) services.
AAA services are provided by Terminal Access Controller Access Control System Plus (TACACS+) or
Remote Authentication Dial-In User Service (RADIUS) servers.
PIX Firewall lets you define separate groups of TACACS+ or RADIUS servers for specifying different
types of traffic; such as, a TACACS+ server for inbound traffic and another for outbound traffic.
AAA server groups are defined by a tag name that directs different types of traffic to each authentication
server. If accounting is in effect, the accounting information goes to the active server.
The PIX Firewall allows a RADIUS server to send user group attributes to the PIX Firewall in the
RADIUS authentication response message. The PIX Firewall then matches an access list to the attribute
and determines RADIUS authorization from the access list. After the PIX Firewall authenticates a user,
it will apply an access list for the user that was returned by the AAA server using the Cisco acl attribute
(acl=<acl_name>).
For additional information about configuring AAA servers for use with the PIX Firewall see
Authentication and Command Authorization for PIX at the following URL:
http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a00800949d6.sht
ml
Access Lists
Beginning with version 5.3, the PIX Firewall uses access lists to control connections between inside and
outside networks. Access lists are implemented with the access-list and access-group commands. These
commands are used instead of the conduit and outbound commands, which were used in earlier
versions of PIX Firewall, and which are maintained in current versions for backward compatibility.
You can use access lists to control connections based on source address, destination address, or protocol.
Configure access lists carefully to allow the minimum access required. When possible, make access lists
more restrictive by specifying a remote source address, local destination address, and protocol. The
access-list and access-group command statements take precedence over the conduit and outbound
command statements in your configuration.
TurboACL
A feature called TurboACL is introduced in PIX Firewall version 6.2 that improves the way that the
PIX Firewall processes large access control lists. The method by which the PIX Firewall searches for an
access list entry has been improved to reduce the time spent searching large access lists. The
implementation of TurboACL in PIX Firewall version 6.2 supports access lists with up to 16,000 access
list entries.
Downloadable ACLs
When used with a AAA server, PIX Firewall lets you create access lists that control connections on a
per-user basis. Creating per-user access lists requires creating a user profile for the user on a RADIUS
server. In previous versions of PIX Firewall, you also had to configure an access list for each user locally
on each PIX Firewall. Beginning with PIX Firewall version 6.2, the required per-user access list is
downloaded from the AAA server based on the user profile. No additional access list configuration is
required on any PIX Firewall. This new feature greatly reduces the complexity and improves the
scalability of per-user access lists.
Object Grouping
Object Grouping is another new feature in PIX Firewall version 6.2 that reduces the complexity of
configuration and improves scalability for large or complex networks. Object Grouping lets you apply
access rules to logical groups of network objects. When you apply a PIX Firewall command to an object
group, the command affects all network objects defined within the group. This can reduce a very large
number of access rules to a manageable number, which reduces time spent configuring and
troubleshooting access rules in large or complex networks.
Conduits
Prior to version 5.3, PIX Firewall used the conduit and outbound commands to control connections
between external and internal networks. With PIX Firewall version 6.0 and later, these commands
continue to be supported for backward compatibility, but the access-list and access-group commands
are now the preferred method of implementing this functionality.
Each conduit is a potential hole through the PIX Firewall and hence their use should be limited as your
security policy and business needs require. When possible, make conduits more restrictive by specifying
a remote source address, local destination address, TCP/UDP port, and IP protocol.
Flood Guard
The Flood Guard feature controls the AAA service's tolerance for unanswered login attempts. This helps
to prevent a denial of service (DoS) attack on AAA services in particular. This feature optimizes AAA
system use. It is enabled by default and can be controlled with the floodguard 1 command.
Flood Defender
The Flood Defender feature protects inside systems from a denial of service attack perpetrated by
flooding an interface with TCP SYN packets. Enable this feature by setting the maximum embryonic
connections option to the nat and static commands.
The TCP Intercept feature protects systems reachable via a static and TCP conduit. This feature ensures
that once the optional embryonic connection limit is reached, and until the embryonic connection count
falls below this threshold, every SYN bound for the affected server is intercepted. For each SYN,
PIX Firewall responds on behalf of the server with an empty SYN/ACK segment. PIX Firewall retains
pertinent state information, drops the packet, and waits for the client's acknowledgment.
DNS Control
The PIX Firewall identifies each outbound DNS (Domain Name System) resolve request, and only
allows a single DNS response. A host may query several servers for a response (in the case that the first
server is slow in responding), but only the first answer to the request is allowed. All additional responses
to the request are dropped by the firewall. This feature is always enabled.
ActiveX Blocking
ActiveX controls, formerly known as OLE or OCX controls, are components that can be inserted into a
web page or other application. The PIX Firewall ActiveX blocking feature blocks HTML <object>
commands and comments them out of the HTML web page. As a technology, ActiveX creates many
potential problems for the network clients including causing workstations to fail, introducing network
security problems, being used to attack servers, or being used to host attacks against servers.
Java Filtering
The Java Filtering feature lets you prevent Java applets from being downloaded by a system on a
protected network. Java applets are executable programs that may be prohibited by some security
policies because they can enable certain methods of attacking a protected network.
URL Filtering
You can use access control lists to prevent outbound access to specific web sites, but configuring and
managing web usage this way is not very practical because of the size and dynamic nature of the Internet.
The recommended solution is to use the PIX Firewall in conjunction with a separate server running one
of the following Internet filtering products:
• Websense Enterprise web filtering application (supported by PIX Firewall version 5.3 and higher)
• Filtering by N2H2 for IFP-Enabled Devices (supported by PIX Firewall version 6.2)
Compared to using access control lists, this reduces the administrative task and improves filtering
effectiveness. Also, because URL filtering is handled on a separate platform, the performance of the
PIX Firewall is much less affected.
The PIX Firewall checks outgoing URL requests with the policy defined on the URL filtering server.
PIX Firewall either permits or denies the connection, based on the response from the filtering server.
For further information, refer to either of the following websites:
http://www.websense.com
http://www.n2h2.com
Note PIX Firewall version 6.2 also adds support for filtering of long URLs, such as those generated by search
engines.
To solve this problem, when NAT or PAT is applied to these packets, the application inspection function
helps the PIX Firewall find the extra address information so address translation can be applied to it. After
changing this addressing information, the PIX Firewall uses application inspection to adjust other fields
in the packet that are affected, such as those containing packet length and checksum information.
By default, the PIX Firewall allows replies to outbound requests using many Internet applications, such
as HTTP. These services send requests and replies on well-known TCP ports.
However, some applications, such as FTP, use a well-known TCP port to negotiate the use of secondary
ports, which are used for the actual exchange of user data. To support the secure use of these
applications, PIX Firewall must monitor the negotiation that occurs on the first port to determine on
which port replies will be received. Again, it is application inspection that provides the information
required to identify and open ports required to receive replies from these applications.
Mail Guard
The Mail Guard feature provides safe access for Simple Mail Transfer Protocol (SMTP) connections
from the outside to an inside messaging server. This feature allows a single mail server to be deployed
within the internal network without it being exposed to known security problems with some SMTP
server implementations. This eliminates the need for an external mail relay (or bastion host) system.
Mail Guard enforces a safe minimal set of SMTP commands to avoid an SMTP server system from being
compromised. This feature also logs all SMTP connections.
Multimedia Applications
Users increasingly make use of a wide range of multimedia applications, many of which require special
handling in a firewall environment. The PIX Firewall handles these without requiring client
reconfiguration and without becoming a performance bottleneck. The specific multimedia applications
supported by the PIX Firewall include the following:
• RealAudio
• Streamworks
• CU-SeeMe
• Intel Internet Phone
• IRC
• Vxtreme
• VDO Live
Note Traffic using specific protocols can be prevented using access lists.
RAS Version 2
The Registration, Admission, and Status (RAS) protocol is required by multimedia applications such as
video conferencing and Voice over IP that require video and audio encoding. A RAS channel carries
bandwidth change, registration, admission, and status messages (following the recommendations in
H.225) between endpoints and gatekeepers. Multimedia applications use a large number of dynamically
negotiated data and control channels to handle the various visual and auditory streams.
RTSP
The PIX Firewall allows the secure forwarding of Real Time Streaming Protocol (RTSP) packets. RTSP
is used by RealAudio, RealNetworks, Apple QuickTime 4, RealPlayer, and Cisco IP/TV connections.
This feature lets the firewall handle multimedia applications including Cisco IP/TV connections.
Note PIX Firewall does not yet have the ability to recognize HTTP cloaking where an RTSP message is hidden
within an HTTP message. Also, RTSP is not supported with NAT.
Voice over IP
This section describes the support provided by the PIX Firewall for the transmission of Voice over IP
(VoIP) traffic and includes the following topics:
• H.323
• SCCP
• SIP
Note Version 6.2 of the PIX Firewall adds PAT support for H.323 and SIP. This helps to expand your address
space to accommodate the large number of endpoints involved when implementing VoIP networks.
H.323
The PIX Firewall supports the secure use of H.323 Version 2. H.323 is a suite of protocols defined by
the International Telecommunication Union (ITU) for multimedia conferences over LANs. Some of the
features provided include the following:
• Fast Connect or Fast Start Procedure for faster call setup
• H.245 tunneling for resource conservation, call synchronization, and reduced set up time
• Call redirection
• Conferencing—The conference is not established until both endpoints agree to participate
SCCP
Skinny (or Simple) Client Control Protocol (SCCP) is a simplified protocol used in VoIP networks.
Secure handling of this protocol is required when using Cisco CallManager, Cisco IP Phones, and other
Cisco IP Telephony products.
When coupled with an H.323 Proxy, an SCCP client can interoperate with H.323 compliant terminals.
Application inspection in the PIX Firewall works with SCCP version 3.1.1. The functionality of
PIX Firewall application inspection ensures that all SCCP signalling and media packets can traverse the
Firewall by providing NAT of the SCCP signaling packets.
SIP
Session Initiation Protocol (SIP) enables call handling sessions—particularly two-party audio
conferences, or “calls.” The PIX Firewall supports SIP VoIP gateways and VoIP proxy servers. It also
supports definition using SDP for dynamically allocated UDP ports.
NetBIOS over IP
The PIX Firewall supports NetBIOS over IP connections from the internal network to the external
network. This allows Microsoft client systems on the internal network, possibly using NAT, to access
servers, such as Windows NT, located on the external network. This allows security policies to
encompass Microsoft environments across the Internet and inside an intranet. It allows the use of access
controls native to the Microsoft environment.
RIP Version 2
Routing Information Protocol (RIP) version 2 provides MD5 authentication of encryption keys. The
PIX Firewall only listens in passive mode and/or broadcasts a default route. The PIX Firewall supports
Cisco IOS software standards, which conform to RFC 1058, RFC 1388, and RFC 2082 of RIPv2 with
text and keyed MD5 authentication. The PIX Firewall supports one key and key ID per interface. While
the key has an infinite lifetime, for best security, you should change the key every two weeks or sooner.
Note The use of Telnet to change the configuration may expose the key and key ID on the network.
Note We recommend that you grant permission for ICMP unreachable message type 3. Denying ICMP
unreachable messages, disables ICMP Path MTU discovery, which can halt IPSec and PPTP traffic.
What is a VPN?
VPNs let you securely interconnect geographically distributed users and sites over the public Internet.
VPNs can provide lower cost, improved reliability, and easier administration than traditional wide-area
networks based on private Frame Relay or dial-up connections. VPNs maintain the same security and
management policies as a private network. With a VPN, customers, business partners, and remote users,
such as telecommuters, can access enterprise computing resources securely.
IPSec is a standard that defines vendor-independent methods of establishing a VPN. As part of its
security functions, the PIX Firewall provides IPSec standards-based VPN capability. With IPSec, data
can be transmitted across a public network without fear of observation, modification, or spoofing.
Site-to-site and remote access VPNs are the two main types of VPN, both of which are supported by the
PIX Firewall.
IPSec
IPSec provides security for transmission of sensitive information over unprotected networks such as the
Internet. IPSec acts at the network layer, protecting and authenticating IP packets between participating
IPSec devices (peers), such as PIX Firewall units.
IPSec provides the following network security services:
• Data Confidentiality—The IPSec sender can encrypt packets before transmitting them across a
network.
• Data Integrity—The IPSec receiver can authenticate packets sent by the IPSec sender to ensure that
the data has not been altered during transmission.
• Data Origin Authentication—The IPSec receiver can authenticate the source of the IPSec packets
sent. This service is dependent upon the data integrity service.
• Anti-Replay—The IPSec receiver can detect and reject replayed packets.
Note The term data authentication is generally used to mean data integrity and data origin authentication.
Within this chapter, it also includes anti-replay services, unless otherwise specified.
IPSec provides secure tunnels between two peers, such as two PIX Firewall units. You define which
packets are considered sensitive and should be sent through these secure tunnels, and you define the
parameters that should be used to protect these sensitive packets, by specifying the characteristics of
these tunnels. Then, when the IPSec peer sees such a sensitive packet, it sets up the appropriate secure
tunnel and sends the packet through the tunnel to the remote peer. The secure tunnel used to transmit
information is based on encryption keys and other security parameters, described by security
associations (SAs).
You can manually configure SAs to establish an IPSec tunnel between two peers. However, this method
is not as secure, because manually configured SAs do not automatically expire. In addition, a severe
problem of scalability occurs as the number of peers increases. A new pair of SAs is required on each
existing peer whenever you add a peer that uses IPSec to your network. For this reason, manual
configuration is only used when the remote peer does not support IKE.
IKE SAs can be established by using pre-shared keys, in a way similar to manual configuration of IPSec
SAs. This method, however, suffers from the same problems of scalability that affects manual
configuration of IPSec SAs. A certification authority (CA) provides a scalable method to share keys for
establishing IKE SAs.
Certification Authorities
Understanding how CAs help to configure IKE requires understanding something about public/private
key encryption. Public/private keys, also called asymmetric keys, are created in pairs. Data encrypted
with one key of this pair can only be unencrypted using the other key. One key is kept secret (called a
private key) and the other key is made easily available (the public key). When any peer needs to share a
secret with the owner of the private key, it simply encrypts the information using the public key. The only
way to unencrypt the original information is by using the private key. Using this method, encrypted
information can be shared over a non-secure network without transmitting the secret key required to
decipher the encrypted information.
This unique property of public/private key pairs also provides an excellent method of authentication. A
public key only unencrypts a message encrypted with the corresponding private key. If a message can be
read using a given public key, you know for certain that the sender of the message owns the
corresponding private key.
This is where the CA comes in. A public key certificate, or digital certificate, is used to associate a
public/private key pair with a given IP address or host name. A certification authority (CA) issues public
key certificates for a specific period of time. A CA can be a private (in-house) CA, run by your own
organization, or a public CA. A public CA, like VeriSign, is operated by a third party that you trust to
validate the identity of each client or server to which it issues a certificate.
Digital certificates are used by the IKE protocol to create the first pair of SAs, which provide a secure
channel for negotiating the IPSec SAs. To use certificates for negotiating IKE SAs, both IPSec peers
have to generate public/private key pairs, request and receive public key certificates, and be configured
to trust the CA that issues the certificates.
Most browsers, by default, trust certificates from well-known CAs, such as VeriSign, and provide
options for adding CAs, and for generating and requesting a digital certificate. You can also preconfigure
browser software before it is distributed to users with your CA and the necessary certificates.
The procedure for configuring PIX Firewall to use IKE with digital certificates is described in “Using
Certification Authorities” in Chapter 6, “Configuring IPSec and Certification Authorities.”
Site-to-site VPNs are established between the PIX Firewall and a remote IPSec security gateway. The
remote IPSec security gateway can be a PIX Firewall, a Cisco VPN concentrator or VPN-enabled router,
or any IPSec-compliant third-party device. For configuration instructions, refer to Chapter 6,
“Configuring IPSec and Certification Authorities,” and for example configurations, refer to Chapter 7,
“Site-to-Site VPN Configuration Examples.”
Note We strongly suggest that you use Cisco VPN Client version 3.x.
PIX Firewall can function as an Easy VPN Server in relation to an Easy VPN Remote device, such as a
PIX 501 or PIX 506/506E, or in relation to Cisco VPN software clients. When used as an Easy VPN
Remote device, the PIX Firewall can push VPN configuration to the VPN client or Easy VPN Remote
device, which greatly simplifies configuration and administration.
PPPoE
Point-to-Point Protocol over Ethernet (PPPoE) combines two widely accepted standards, Ethernet and
the Point-to-Point Protocol (PPP), to provide an authenticated method of assigning IP addresses to client
systems. PPPoE clients are typically personal computers connected to an ISP over a remote broadband
connection, such as DSL or cable service. ISPs deploy PPPoE because it provides a method of supporting
high-speed broadband access using the existing remote access infrastructure and that provides superior
ease of use to customers.
PIX Firewall version 6.2 introduces PPPoE client functionality. This allows small office, home office
(SOHO) users of the PIX Firewall to connect to ISPs using DSL modems.
Note The PIX Firewall PPPoE client can only be enabled on the outside interface.
By using PPPoE, ISPs can deploy DSL without changing their existing infrastructure, which is typically
based on the use of PPP over dial-up connections.
DHCP Server
Dynamic Host Configuration Protocol (DHCP) is a protocol that supplies automatic configuration
parameters to Internet hosts. This protocol has two components:
• Protocol for delivering host-specific configuration parameters from a DHCP server to a host (DHCP
client)
• Mechanism for allocating network addresses to hosts
A DHCP server is simply a computer that provides configuration parameters to a DHCP client, and a
DHCP client is a computer or network device that uses DHCP to obtain network configuration
parameters.
When functioning as a DHCP server, the PIX Firewall dynamically assigns IP addresses to DHCP clients
from a pool of designated IP addresses.
Note The PIX Firewall DHCP server can only be enabled on the inside interface.
PIX Firewall version 6.2 adds support for DHCP option 66 and DHCP option 150 requests. This allows
DHCP clients, such as Cisco IP Phones, to obtain the address of a designated TFTP server. Cisco IP
Phones typically obtain the configuration information required to connect to a Cisco CallManager server
from a TFTP server. A DHCP Option 66 request causes the DHCP server to provide the address of a
single TFTP server; an Option 150 request obtains a list of TFTP servers.
DHCP Client
DHCP client support within the PIX Firewall is designed for use within a small office, home office
(SOHO) environment using a PIX Firewall that is directly connected to a DSL or cable modem that
supports the DHCP server function.
Note The PIX Firewall DHCP client can only be enabled on the outside interface.
With the DHCP client feature enabled on a PIX Firewall, the PIX Firewall functions as a DHCP client
to a DHCP server allowing the server to configure the outside interface with an IP address, subnet mask,
and optionally a default route.
Note Use of the DHCP client feature to acquire an IP address from a generic DHCP server is not supported.
Also, the PIX Firewall DHCP client does not support failover configurations.
Command Authorization
PIX Firewall version 6.2 introduces a more flexible method of authenticating and authorizing
administrative access to the PIX Firewall. Similar to Cisco IOS software command authorization,
PIX Firewall now supports up to 16 privilege levels to be assigned to CLI commands. You can create
user accounts or login contexts tied to these privilege levels either locally or using a TACACS+ server.
Additional information is also now provided regarding the usage of CLI commands, such as command
tracing by means of syslog messages.
Telnet Interface
The PIX Firewall Telnet interface provides a command-line interface similar to Cisco IOS software. The
Telnet interface lets you remotely manage the PIX Firewall via the console interface. The Telnet
interface limits access of the Telnet interface to specified client systems within the inside network (based
on source address) and is password protected. If the inside network is not secure and sessions on the LAN
can be snooped, you should limit use of the Telnet interface. If IPSec is configured, you can also access
the PIX Firewall console from the outside interface.
SSH Version 1
PIX Firewall supports the SSH remote shell functionality as provided in SSH version 1. SSH allows secure
remote configuration of a PIX Firewall, providing encryption and authentication capabilities.
NTP
PIX Firewall version 6.2 allows the PIX Firewall to function as a client for Network Time Protocol
(NTP) version 3.0 servers. As an NTP client, the PIX Firewall can synchronize its time to a set of
distributed time servers operating in a self-organizing, hierarchical configuration. A precisely
coordinated time is required for validating certificate revocation lists (CRLs) when implementing a VPN
using Public Key Infrastructure (PKI). A more precise time also improves the accuracy of log entries
used for troubleshooting or monitoring security threats.
Auto Update
Auto Update is a protocol specification introduced with PIX Firewall version 6.2. This specification
provides the infrastructure necessary for remote management applications to download PIX Firewall
configurations, software images, and to perform basic monitoring from a centralized location.
Capturing Packets
PIX Firewall version 6.2 introduces an enhanced and improved packet capture capability that lets you
capture packets, including ARP packets, to a linear buffer. You can use access lists to define packets to
capture on specific interfaces of the PIX Firewall. You can then display the captured packets on any
console or transfer the contents of the packet capture buffer to a TFTP server.
Using SNMP
The PIX Firewall provides support for network monitoring using Simple Network Management Protocol
(SNMP). The SNMP interface lets you monitor the PIX Firewall through traditional network
management systems. The PIX Firewall only supports the SNMP GET command, which allows
read-only access.
The SNMP Firewall and Memory Pool MIBs extend the number of traps you can use to discover
additional information about the state of the PIX Firewall, including the following events:
• Buffer usage from the show block command
• Connection count from the show conn command
• Failover status
• Memory usage from the show memory command
Note PIX Firewall version 6.2 introduces support for monitoring CPU utilization through SNMP. This feature
allows network administrators to monitor the PIX Firewall CPU usage using SNMP management
software, such as HP OpenView, for capacity planning. This CPU usage information is the same as that
shown by the show cpu usage command.
XDMCP
The PIX Firewall supports connections using XDMCP (X Display Manager Control Protocol) using the
established command. This feature negotiates an XWindows session and creates an embryonic
connection at destination port 6000. XDMCP handling is enabled by default, like other UDP application
inspection functions.
When implementing failover, one unit functions as the active unit, while the other assumes the role of
the standby unit. Both units require the same configuration and run the same software version.
PIX Firewall version 6.2 adds support for failover between two units connected over a dedicated
Ethernet interface (LAN-based failover). LAN-based failover eliminates the need for a special failover
cable and overcomes the distance limitations imposed by the failover cable required to implement
failover on earlier versions of PIX Firewall.
With failover, two PIX Firewall units synchronize configuration and session state information so that if
the active unit fails, the standby unit can assume its role without any interruption in network connectivity
or security.
You can use a Trivial File Transfer Protocol (TFTP) configuration server to obtain configuration for
multiple PIX Firewall units from a central source. However, TFTP is inherently insecure so you should
not use it over networks where sharing privileged information in clear text is a violation of your network
security policy.
You can also use TFTP to download a .bin image from CCO to a PIX Firewall to upgrade or replace the
software image on the PIX Firewall. TFTP does not perform any authentication when transferring files,
so a username and password on the remote host are not required.
Note The PIX Firewall CLI uses similar syntax and other conventions to the Cisco IOS CLI, but the
PIX Firewall operating system is not a version of Cisco IOS software. Do not assume that a Cisco IOS
CLI command works or has the same function with the PIX Firewall.
Access Modes
PIX Firewall version 6.2 introduces support for up to 16 levels of command authorization. This is similar
to what is available with Cisco IOS software. With this feature, you can assign specific PIX Firewall
commands to one of 16 levels. You can either assign separate passwords for each privilege level or
perform authentication using a local or remote AAA database of user accounts.
For information about configuring this feature, refer to the “Command Authorization and LOCAL User
Authentication” section in Chapter 9, “Accessing and Monitoring PIX Firewall.”
The PIX Firewall provides five administrative access modes:
• Unprivileged mode—Available without entering a password, when you first access the PIX Firewall.
In this mode, the PIX Firewall displays the “>” prompt and lets you enter a small number of
commands. In PIX Firewall version 6.2, by default, commands in this mode are mapped to privilege
Level 0.
• Privileged mode—Displays the “#” prompt and lets you change configuration information. Any
unprivileged command also works in privileged mode. Use the enable command to start privileged
mode and the disable, exit, or quit commands to exit.
In PIX Firewall version 6.2, by default, all privileged mode commands are mapped to privilege
Level 15. You can assign enable passwords to other privilege levels and reassign specific commands
to each level.
• Configuration mode—Displays the prompt <pix_name>(config)#, where pixname is the host name
assigned to the PIX Firewall. You use configuration mode to change system configuration. All
privileged, unprivileged, and configuration commands work in this mode. Use the configure
terminal command to start configuration mode and the exit or quit commands to exit.
• Subcommand mode—Displays the prompt <pix_name>(config-<main_cmd_name>)#,where
pixname is the host name assigned to the PIX Firewall and main_cmd_name is the Object Grouping
command used to enter subcommand mode. Object Grouping is a way to simplify access control by
letting you apply access control statements to groups of network objects, such as protocols or hosts.
For further information about enabling and using this mode, refer to the “Simplifying Access
Control with Object Grouping” section in Chapter 3, “Controlling Network Access and Use.”
• Monitor mode—This is a special mode that enables you to update the image over the network. While
in the monitor mode, you can enter commands specifying the location of the TFTP server and the
binary image to download. For information about using monitor mode to upgrade your PIX Firewall
software, refer to Chapter 11, “Changing Feature Licenses and System Software.”
PIX Firewall displays this prompt for 10 seconds. To download an image, press the Escape key to start
boot mode. If you are not downloading an image, ignore the prompt or press the Space bar to start
immediately and PIX Firewall starts normally.
Step 4 After the startup messages appear, you are prompted with the following unprivileged mode prompt:
pixfirewall>
Replace privilegelevel with a number from 0 to 15, indicating the privilege level to which you require
access. If you omit this parameter, the system assumes you are seeking access to privilege Level 15.
With PIX Firewall version 6.2, you can configure up to fifteen different enable passwords for different
privilege levels. By default, all commands are assigned to Level 0 or Level 15, and only Level 15 is
preconfigured with a password.
Step 5 The following prompt appears:
Password:
Type configure terminal and press Enter. You are now in configuration mode.
Note If the Command Authorization feature (new in PIX Firewall version 6.2) is enabled, the commands you
are permitted to enter are determined by the administrative privilege level to which your user account
has been assigned. For information about configuring this feature, refer to the “Command Authorization
and LOCAL User Authentication” section in Chapter 9, “Accessing and Monitoring PIX Firewall.”
Abbreviating Commands
You can abbreviate most commands down to the fewest unique characters for a command; for example,
you can enter wr t to view the configuration instead of entering the full command write terminal, or
you can enter en to start privileged mode and con te to start configuration mode. In addition, you can
enter 0 to represent 0.0.0.0.
The More prompt uses syntax similar to the UNIX more command:
• To view another screenful, press the Space bar.
• To view the next line, press the Enter key.
• To return to the command line, press the q key.
Comments
You can precede a line with a colon ( : ) to create a comment. However, the comment only appears in the
command history buffer and not in the configuration. Therefore, you can view the comment with the
show history command or by pressing an arrow key to retrieve a previous command, but because the
comment is not in the configuration, the write terminal command does not display it.
Configuration Size
For PIX Firewall version 5.3(2) and higher, the PIX 525 and PIX 535 support configurations up to 2 MB.
The maximum size for the PIX 501 is 256 KB. The maximum configuration size for all other
PIX Firewall platforms is 1 MB. For PIX Firewall models using software before version 5.3(2), the
maximum configuration size is 350 KB.
Note Regardless of the platform, smaller configuration sizes are recommended to ensure optimum
performance.
Use the UNIX wc command or a Windows word processing program, such as Microsoft Word, to view
the number of characters in the configuration.
Help Information
Help information is available from the PIX Firewall command line by entering help or a question mark
to list all commands, or after a command to list command syntax; for example, arp ?.
The number of commands listed when you use the question mark or help command differs by access
mode so that unprivileged mode offers the least commands and configuration mode offers the greatest
number of commands.
In addition, you can enter any command by itself on the command line and then press Enter to view the
command syntax.
This command writes the factory default configuration to memory. If you specify the optional
inside-ip-address and address-mask parameters, the command adjusts the default configuration based on
the specified IP address and subnetwork mask.
If you enter this command on other PIX Firewall platforms that do not support it, you will receive the
following message:
The config factory default command is only supported on the PIX 501 or PIX 506/506E.
Note The factory default setting for the DHCP address pool size is determined by your PIX Firewall platform
and your feature license. For information about the possible options, refer to “Using the PIX Firewall
DHCP Client” in Chapter 5, “Using PIX Firewall in SOHO Networks.”
This command clears all the current configuration for the specified configuration command. If you only
want to clear the configuration for a specific subcommand, you can enter a value for
subconfigurationcommand.
To disable the specific parameters or options of a command or subcommand, enter the no form of the
command, as follows:
In this case, you use the no command to remove the specific configuration identified by qualifier.
You can use the configuration forms in Appendix A, “Firewall Configuration Forms,” to help you plan
your implementation and to collect the information required. The following are the first four
configuration forms in the appendix, which will help you collect the information required to complete
the configuration described in this chapter:
• PIX Firewall Network Interface Information
• Routing Information
• Network Address Translation
• Static Address Translation
This chapter describes the basic preparation and configuration required to use the network firewall
features of the Cisco PIX Firewall. After completing this chapter, you will be able to establish basic
connectivity from your internal network to the public Internet or resources on your perimeter network.
The basic configuration described in this chapter lets protected network users start connections, but
prevents users on unprotected networks from accessing (or attacking) protected hosts.
This chapter contains the following sections:
• Setting Default Routes
• Configuring PIX Firewall Interfaces
• Configuring the PIX Firewall for Routing
• Establishing Outbound Connectivity with NAT and PAT
• Testing Connectivity
• Saving Your Configuration
• Configuration Examples
• Using Outside NAT
• Enabling Stub Multicast Routing
Configure the default routes on your routers to forward traffic to the PIX Firewall by completing the
following steps:
Step 1 Telnet to the router that connects to the inside interface of the PIX Firewall, or connect to the router’s
console port.
If you are using a Windows PC, you can connect to the console port using the HyperTerminal program.
You will need to know the username and password for the router.
Step 2 Access the Cisco IOS configuration mode.
Step 3 Set the default route to the inside interface of the PIX Firewall with the following Cisco IOS CLI
command:
ip route 0.0.0.0 0.0.0.0 pix_inside_interface_ip_address
Step 4 Enter the show ip route command and make sure that the connected PIX Firewall interface is listed as
the “gateway of last resort.”
Step 5 Clear the ARP cache with the clear arp command. Then enter Cntrl-Z to exit configuration mode.
Step 6 From the router, if you changed the default route, use the write memory command to store the
configuration in Flash memory.
Step 7 Connect to other routers on the inside and each perimeter interface of the PIX Firewall and repeat Steps
1 through 6 for each router.
Step 8 If you have routers on networks subordinate to the routers that connect to the PIX Firewall’s interfaces,
configure them so that their default routes point to the router connected to the PIX Firewall and then
clear their ARP caches as well.
Table 2-1 Setting the Default Route for Different Network Hosts
LINUX With root permissions, enter the following command: Enter the following
route add default gw IP_address_of_next_host command:
netstat -nr
Table 2-1 Setting the Default Route for Different Network Hosts (continued)
• Replace interface_name with the name assigned to each PIX Firewall interface. By default, the
lowest security interface is named outside, while the highest security interface is named inside.
• Replace ip_address with the IP address you specify for the interface.
The IP addresses that you assign should be unique for each interface. Do not use an address you
previously used for routers, hosts, or with any other PIX Firewall command, such as an IP address
in the global pool or for a static.
• Replace netmask with the network mask associated with the IP address.
For example, 255.0.0.0 for a Class A address (those that begin with 1 to 127), use 255.255.0.0 for
Class B addresses (those that begin with 128 to 191), and 255.255.255.0 for Class C addresses (those
that begin with 192 and higher). Do not use 255.255.255.255 for an interface connected to the
network because this will stop traffic on that interface. If subnetting is in use, use the subnet in the
mask; for example, 255.255.255.228.
Always specify a network mask with the ip address command. If you let PIX Firewall assign a network
mask based on the IP address, you may not be permitted to enter subsequent IP addresses if another
interface’s address is in the same range as the first address.
For example, if you specify an inside interface address of 10.1.1.1 without specifying a network mask
and then try to specify 10.1.2.2 for a perimeter interface mask, PIX Firewall displays the error message,
“Sorry, not allowed to enter IP address on same network as interface n.” To fix this problem, reenter the
first command specifying the correct network mask.
Use the show ip command to view the commands you entered. If you make a mistake while entering a
command, reenter the same command with new information.
An example ip address command follows:
ip address inside 192.168.1.1 255.255.255.0
• Replace hardware_id with the hardware name for the network interface card, such as ethernet2 and
ethernet3, and so forth. You can abbreviate the hardware_id name with any significant letters, such
as, e0 for ethernet0. If one of the Ethernet cards is a 4-port card, the Ethernet names change to
correspond to the slot in which the card resides.
• Replace hardware_speed with the speed of the interface, using the values shown in Table 2-2.
The shutdown option disables use of the interface. When you first install PIX Firewall, all interfaces
have the shutdown option in effect.
Use the write terminal command to view the configuration and locate the interface command
information. If you make a mistake while entering an interface command, reenter the same command
with new information.
Value Description
10baset 10 Mbps Ethernet half-duplex communications.
100basetx 100 Mbps Ethernet half-duplex communications.
100full 100 Mbps Ethernet full-duplex communications.
1000sxfull 1000 Mbps Gigabit Ethernet full-duplex operation.
Value Description
1000basesx 1000 Mbps Gigabit Ethernet half-duplex operation.
1000auto 1000 Mbps Gigabit Ethernet to auto-negotiate full or half duplex.
aui 10 Mbps Ethernet half-duplex communications for an AUI cable interface.
auto Sets Ethernet speed automatically. We recommend that you not use this setting to
ensure compatibility with switches and routers in your network.
bnc 10 Mbps Ethernet half-duplex communications for a BNC cable interface.
Note Make sure the MTU is no more than 1500 bytes for Ethernet.
Note You can skip this section if you are using the default interface names and security levels.
Use the show nameif command to view the current names and security levels for each interface. The
results of this command for a PIX Firewall with three interfaces might be as follows.
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 intf2 security10
Security levels let you control access between systems on different interfaces and the way you enable or
restrict access depends on the relative security level of the interfaces:
• To enable access to a higher security level interface from a lower-level interface, use the static and
access-list commands
• To enable access to a lower-level interface from a higher-level interface, use the nat and global
commands
An attacker who obtains access to an interface can easily attack other interfaces with a lower security
level. For this reason, locate public servers on a perimeter interface with the lowest security level.
However, the TFTP server from where you download PIX Firewall configurations should be kept on a
more secure interface to prevent unauthorized access.
• Replace hardware_id with the value used in the interface command, such as ethernet0.
• Replace interface with any meaningful name, such as dmz or perim for each perimeter interface.
You will need to enter this name frequently, so a shorter name is a better choice, although you can
use up to 48 characters. The default names are intfn, where n represents the position of the interface
card in the PIX Firewall.
• Replace security_level with a value such as security40 or security60.
The default security levels for perimeter interfaces increment by 5 for each interface starting with
security10 for intf2 (the default name for the first perimeter interface). For example, intf3 =
security15, intf4 = security 20, and intf5 = security 25.
You can choose any unique security level between 1 and 99 for a perimeter interface. If you have
four or more interfaces, it will be easier to enter your configuration if you use the higher security
level for the perimeter interface with more hosts.
Overview
Each inside or perimeter PIX Firewall interface is configurable for route and Routing Information
Protocol (RIP) information. To determine what route information is required, consider what routers are
in use in your network and are adjacent to the planned installation point of the PIX Firewall.
Specifying a route tells the PIX Firewall where to send information that is forwarded on a specific
interface and destined for a particular network address. You can specify more than one route per
interface, which lets you control where to send network traffic. Refer to the route command page in the
Cisco PIX Firewall Command Reference for more information.
The PIX Firewall learns where everything is on the network by “passively” listening for RIP network
traffic. When the PIX Firewall interface receives RIP traffic, the PIX Firewall updates its routing tables.
You can also configure the PIX Firewall to broadcast an inside or perimeter interface as a “default” route.
Broadcasting an interface as a default route is useful if you want all network traffic on that interface to
go out through that interface. Refer to the rip command page in the Cisco PIX Firewall Command
Reference for configuration information.
When defining a route, specify the IP address and network mask for the destination network. Use 0.0.0.0
as the default value for both the IP address and network mask.
The gateway IP address is the router that routes the traffic to the destination network IP address.
RIP configuration specifies whether the PIX Firewall updates its routing tables by passive listening to
RIP traffic, and whether the interface broadcasts itself as a default route for network traffic on that
interface. If you configure the PIX Firewall interface to listen for RIP updates, be sure to configure the
router supplying the RIP information with the network address for the PIX Firewall interface.
Note Before testing your configuration, flush the ARP caches on any routers that feed traffic into or from the
PIX Firewall and between the PIX Firewall and the Internet. For Cisco routers, use the clear arp
command to flush the ARP cache.
Router
Router 209.165.201.2 Router
192.168.1.2 192.168.3.2
dmz1 dmz3
192.168.1.1 outside 192.168.3.1
security20 209.165.201.1 security60
security0
PIX Firewall
Router Router
34789
192.168.2.2 Router 192.168.4.2
192.168.0.2
192.168.5.0 192.168.8.0
192.168.7.0
192.168.6.0
Only one default route is permitted. This command statement sends any packets destined for the default
route, IP address 0.0.0.0 (abbreviated as 0, and 0 for the netmask), to the router 209.165.201.2. The “1”
at the end of the command statement indicates that the router is the router closest to the PIX Firewall;
that is, one hop away.
In addition, add static routes for the networks that connect to the inside router as follows:
route inside 192.168.5.0 255.255.255.0 192.168.0.2 1
route inside 192.168.6.0 255.255.255.0 192.168.0.2 1
These static route command statements can be read as “for packets intended for either network
192.168.5.0 or 192.168.6.0, ship them to the router at 192.168.0.2.” The router decides which packet
goes to which network. The PIX Firewall is not a router and cannot make these decisions.
The “1” at the end of the command statement specifies how many hops (routers) the router is from the
PIX Firewall. Because it is the first router, you use 1.
Step 3 Add the static routes for the dmz4 interface:
route dmz4 192.168.7.0 255.255.255.0 192.168.4.2 1
route dmz4 192.168.8.0 255.255.255.0 192.168.4.2 1
These command statements direct packets intended to the 192.168.6.0 and 192.168.7.0 networks back
through the router at 192.168.4.2.
Overview
Network Address Translation (NAT) maps global IP addresses to local IP addresses. Static NAT is
described in the “Allowing Server Access with Static NAT” section in Chapter 3, “Controlling Network
Access and Use.” Static NAT provides a permanent one-to-one map between two addresses. Dynamic
NAT uses a range or pool of global addresses to let you support a large number of users with a limited
number of global addresses.
Port Address Translation (PAT) maps a single global IP address to many local addresses. PAT extends
the range of available outside addresses at your site by dynamically assigning unique port numbers to
the outside address as a connection is requested. A single IP addresses has up to 65,535 ports that are
available for making connections. For PAT, the port number uniquely identifies each connection.
Most often (and always with versions of PIX Firewall earlier than version 6.2) NAT and PAT apply to
addresses of inside hosts that are initiating outbound connections through the PIX Firewall. In this case,
the global addresses are typically IP addresses registered with the Network Information Center (NIC)
for use on the public Internet. The local addresses are internal IP addresses that you do not wish to use
on the public Internet. You may wish to translate your internal addresses because they are non-routable
(private) or to discourage attacks from the public Internet.
PIX Firewall version 6.2 introduces support for NAT and PAT of addresses on outside networks (lower
security interfaces) that initiate connections to hosts on lower security interfaces. Outside NAT is
occasionally useful for controlling routing and for connecting networks with overlapping addresses. For
more information about Outside NAT, refer to “Using Outside NAT.”
Table 2-3 summarizes the different functions and applications of NAT and PAT.
Type of Address
Translation Function
Inside dynamic Translates between host addresses on more secure interfaces and a range or pool
NAT of IP addresses on a less secure interface. This provides a one-to-one mapping
between internal and external address that allows internal users to share
registered IP addresses and hides internal addresses from view on the public
Internet.
Inside dynamic PAT Translates between host addresses on more secure interfaces and a single address
on a less secure interface. This provides a many-to-one mapping between internal
and an external address. This allows internal users to share a single registered IP
address and hides internal addresses from view on the public Internet. PAT is
supported for fewer applications than is NAT. For restrictions on its use, refer to
the “How Application Inspection Works” section in Chapter 4, “Configuring
Application Inspection (Fixup).”
Inside static NAT Provides a permanent, one-to-one mapping between an IP address on a more
secure interface and an IP address on a less secure interface. This allows hosts to
access the inside host from the public Internet without exposing the actual IP
address.
Outside dynamic Translates between host addresses on less secure interfaces and a range or pool
NAT of IP addresses on a more secure interface. This provides a one-to-one mapping
between external and internal addresses. This is most useful for controlling the
addresses that appear on inside interfaces of the PIX Firewall and for connecting
private networks with overlapping addresses.
Outside dynamic Translates between host addresses on less secure interfaces and a single address
PAT on a more secure interface. This provides a many-to-one mapping between
external addresses and an internal address.
Outside static NAT Provides a permanent, one-to-one mapping between an IP address on a less
secure interface and an IP address on a more secure interface.
As you enter the nat and global commands to let users start connections, you can use the show nat or
show global commands to list the existing commands. If you make a mistake, remove the old command
with the no form of the command, specifying all the options of the first command. This is where a
terminal with cut and paste capability is useful. After you use the show global command, you can cut
the old command, enter no and a space on the command line, paste the old line in, and press the Enter
key to remove it.
Step 1 Use the show nameif command to view the security level of each interface.
Step 2 Make a simple sketch of your network with each interface and its security level as shown in Figure 2-2.
dmz1 dmz3
192.168.1.1 outside 192.168.3.1
security20 209.165.201.1 security60
security0
PIX Firewall
Step 3 Add a nat command statement for each higher security level interface from which you want users to start
connections to interfaces with lower security levels:
a. To let inside users start connections on any lower security interface, use the nat (inside) 1 0 0
command.
b. To let dmz4 users start connections on any lower security interface such as dmz3, dmz2, dmz1, or
the outside, use the nat (dmz4) 1 0 0 command.
c. To let dmz3 users start connections on any lower security interface such as dmz2, dmz1, or the
outside, use the nat (dmz3) 1 0 0 command.
d. To let dmz2 users start connections on any lower security interface, such as dmz1 or outside, use the
nat (dmz2) 1 0 0 command.
e. To let dmz1 users start connections to the outside, use the nat (dmz1) 1 0 0 command.
Instead of specifying “0 0,” to let all hosts start connections, you can specify a host or a network address
and mask.
For example, to let only host 192.168.2.42 start connections on the dmz2 interface, you could specify
the following:
nat (dmz2) 1 192.168.2.42 255.255.255.255
The “1” after the interface specifier is the NAT ID. You can use one ID for all interfaces and the
PIX Firewall sorts out which nat command statement pertains to which global command statement on
which interface, or you can specify a unique NAT ID to limit access to specific interface. Remember that
the nat command opens access to all lower security level interfaces so that if you want users on the inside
to access the perimeter interfaces as well as the outside, then use one NAT ID for all interfaces. If you
only want inside users to access the dmz1 interface but not the outside interface, use unique NAT IDs
for each interface.
The NAT ID in the nat command has to be the same NAT ID you use for the corresponding global
command.
NAT ID 0 means to disable Network Address Translation.
Step 4 Add a global command statement for each lower security interface which you want users to have access
to; for example, on the outside, dmz1, and dmz2. The global command creates a pool of addresses that
translated connections pass through.
There should be enough global addresses to handle the number of users each interface may have trying
to access the lower security interface. You can specify a single PAT entry, which permits up to 64,000
hosts to use a single IP address. PAT has some restrictions in its use such as it cannot support H.323 or
caching nameserver use, so you may want to use it to augment a range of global addresses rather than
using it as your sole global address.
For example:
global (outside) 1 209.165.201.5 netmask 255.255.255.224
global (outside) 1 209.165.201.10-209.165.201.20 netmask 255.255.255.224
The first global command statement specifies a single IP address, which the PIX Firewall interprets as
a PAT. You can specify PAT using the IP address at the interface using the interface keyword.The PAT
lets up to 65,535 hosts start connections to the outside.
Note PIX Firewall version 5.2 and higher permits multiple PAT global command statements for each
interface.
The second global command statement augments the pool of global addresses on the outside interface.
The PAT creates a pool of addresses used only when the addresses in the second global command
statement are in use. This minimizes the exposure of PAT in the event users need to use H.323
applications.
global (dmz1) 1 192.168.1.10-192.168.1.100 netmask 255.255.255.0
global (dmz2) 1 192.168.2.10-192.168.2.100 netmask 255.255.255.0
The global command statement for dmz1 lets users on the inside,dmz2, dmz3, and dmz4 start
connections on the dmz1 interface.
The global command statement for dmz2 lets users on the inside, dmz3, and dmz4 start connections on
the dmz2 interface.
If you use network subnetting, specify the subnet mask with the netmask option.
You can track usage among different subnets by mapping different internal subnets to different PAT
addresses.
For example:
nat (inside) 1 10.1.0.0 255.255.0.0
nat (inside) 2 10.1.1.1 255.255.0.0
global (outside) 1 192.168.1.1
global (outside) 2 209.165.200.225
In this example, hosts on the internal network 10.1.0.0/16 are mapped to global address 192.168.1.1, and
hosts on the internal network 10.1.1.1/16 are mapped to global address 209.165.200.225 in global
configuration mode.
Another way to measure traffic is to back up your PAT address.
For example:
nat (inside) 1 10.1.0.0 255.255.0.0
global (outside) 1 209.165.200.225
global (outside) 1 192.168.1.1
In this example, two port addresses are configured for setting up PAT on hosts from the internal network
10.1.0.0/16 in global configuration mode.
Testing Connectivity
You can use the access-list command to ping from a host on an interface through the PIX Firewall to a
host on another interface. This lets you test that the host is reachable through the PIX Firewall.
The ping program sends an ICMP echo request message to the IP address and then expects to receive an
ICMP echo reply. The ping program also measures how long it takes to receive the reply, which you can
use to get a relative sense of how far away the host is.
When you are done testing the interfaces, remove the ICMP access-list command statements from the
configuration as follows:
no access-list acl_in permit icmp any any
no access-list acl_out permit icmp any any
no access-list acl_dmz1 permit icmp any any
You can also remove the access-group command statements, but be sure not to remove those associated
with other access-list command statements. To test your connectivity, perform the following steps:
Step 1 Start with a sketch of your PIX Firewall, with each interface connected to the inside, outside, and any
perimeter networks.
Router
Router 209.165.201.2 Router
192.168.1.2 192.168.3.2
dmz1 dmz3
192.168.1.1 outside 192.168.3.1
security20 209.165.201.1 security60
security0
PIX Firewall
Router Router
34788
192.168.2.2 Router 192.168.4.2
192.168.0.2
The “acl_out” is an access-list command ID and can be any name or a number you specify. Use the show
access-list command to view this command in the configuration.
You then need to specify an access-group command for each interface through which you want the
ICMP packets to pass. Use the show access-group command to view this command in the configuration.
To ping from one interface to another, bind the access-list and access-group command statements to the
lower security interface, which lets the ICMP echo reply to return to the sending host.
For example, enter the following command statement to ping from the inside interface to the outside
interface:
access-group acl_out in interface outside
Then ping the PIX Firewall interfaces from the hosts or routers with commands such as the following:
• Ping the PIX Firewall’s outside interface with ping 209.165.201.1
• Ping the PIX Firewall’s inside interface with ping 192.168.0.1
• Ping the PIX Firewall’s dmz1 interface with ping 192.168.1.1
• Ping the PIX Firewall’s dmz2 interface with ping 192.168.2.1
• Ping the PIX Firewall’s dmz3 interface with ping 192.168.3.1
• Ping the PIX Firewall’s dmz4 interface with ping 192.168.4.1
If the pings from the hosts or routers to the PIX Firewall interfaces are not successful, check the debug
messages, which should have displayed on the console. Successful ping debug messages appear as in this
example.
ICMP echo reply (len 32 id 1 seq 256) 209.165.201.1 > 209.165.201.2
ICMP echo request (len 32 id 1 seq 512) 209.165.201.2 > 209.165.201.1
Both the request and reply statements should appear to show that the PIX Firewall and the host
responded. If none of these messages appeared while pinging the interfaces, then there is a routing
problem between the host or router and the PIX Firewall that caused the ping (ICMP) packets to never
arrive at the PIX Firewall.
Also try the following to fix unsuccessful pings:
a. Make sure you have a default route command statement for the outside interface. For example:
route outside 0 0 209.165.201.2 1
b. Use the show access-list command to ensure that you have access-list command statements in your
configuration to permit ICMP. Add these commands if they are not present.
c. Except for the outside interface, make sure that the host or router on each interface has the
PIX Firewall as its default gateway. If so, set the host’s default gateway to the router and set the
router’s default route to the PIX Firewall.”
d. Check to see if there is a router between the host and the PIX Firewall. If so, make sure the default
route on the router points to the PIX Firewall interface. If there is a hub between the host and the
PIX Firewall, make sure that the hub does not have a routing module. If there is a routing module,
configure its default route to point to the PIX Firewall.
Configuration Examples
This section illustrates and describes a number of common ways to implement the PIX Firewall. It
includes the following topics:
• Two Interfaces Without NAT or PAT
• Two Interfaces with NAT and PAT
• Three Interfaces Without NAT or PAT
• Three Interfaces with NAT and PAT
Internet
209.165.201.1
Outside
209.165.201.3
192.168.3.1
34784
Intranet
The values given are examples only. You should change this configuration for the information and
requirements that are specific for your network.
The following steps describe the configuration procedure that is the same regardless of how you
implement your PIX Firewall:
Step 1 Identify the security level and names of each interface by entering the following commands:
nameif ethernet0 outside security0
nameif ethernet1 inside security100
Step 2 Identify the line speed of each interface by entering the following commands:
interface ethernet0 10baset
interface ethernet1 10baset
You may get better performance by changing the default auto option in the interface command to the
specific line speed for the interface card.
Step 3 Identify the IP addresses for each interface:
ip address outside 209.165.201.3 255.255.255.224
ip address inside 209.165.200.225 255.255.255.0
With this command, entries are kept in the ARP table for four hours before they are flushed. Four hours
is the standard default value for ARP timeouts.
Step 6 Disable failover access:
no failover
When 24 lines of information display, PIX Firewall pauses the listing and prompts you to continue.
Step 9 Enable syslog messages, which provide diagnostic information and status for the PIX Firewall:
logging buffered debugging
PIX Firewall makes it easy to view syslog messages with the show logging command.
Step 10 Let inside IP addresses be recognized on the outside network and let inside users start outbound
connections:
nat (inside) 0 209.165.200.225 255.255.255.0
Step 11 Set the outside default route to the router attached to the Internet:
route outside 0.0.0.0 0.0.0.0 209.165.201.1 1
These statements allow the PIX Firewall to forward ICMP replies received on the outside interface.
These replies are received in response to ping commands issued from the internal network.
Step 13 Set the default values for the maximum duration that PIX Firewall resources can remain idle until being
freed:
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00
udp 0:02:00 rpc 0:10:00 h323 0:05:00
sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute
Additional users cannot make connections until a connection resource is freed either by a user dropping
a connection or by an xlate and conn timer time out.
Step 14 Disable SNMP access and SNMP traps generation:
no snmp-server location
no snmp-server contact
snmp-server community public
Step 15 Set the maximum transmission unit value for Ethernet access:
mtu outside 1500
mtu inside 1500
Example 2-1 shows the listing for the basic configuration required to implement a PIX Firewall with two
interfaces without NAT.
Internet
209.165.201.1
Outside
209.165.201.3
192.168.3.1
34784
Intranet
The following steps show how to change the example given in “Two Interfaces Without NAT or PAT”
for enabling NAT and PAT:
This step differs from “Two Interfaces Without NAT or PAT” because the inside IP addresses in this
example are unregistered.
Step 2 Enter the following command to enable NAT and PAT:
nat (inside) 1 0 0
This permits all inside users to start outbound connections using the translated IP addresses from a global
pool. This command replaces the command in Step 10 in “Two Interfaces Without NAT or PAT.”
Step 3 Create a pool of global addresses that translated addresses use when they exit the PIX Firewall from the
protected networks to the unprotected networks:
global (outside) 1 209.165.201.10-209.165.201.30
global (outside) 1 209.165.201.8
The global command statement is associated with a nat command statement by the NAT ID, which in
this example is 1. Because there are limited IP addresses in the pool, a PAT external (global) address is
added to handle overflow.
Example 2-2 shows the complete configuration for configuring two interfaces with NAT.
Internet
209.165.201.3 209.165.201.4
209.165.201.1
Outside
209.165.201.2
Router B 255.255.255.248
Inside DMZ
34781
209.165.201.9 209.165.201.17
255.255.255.248 255.255.255.248
209.165.201.10 209.165.201.19
209.165.201.11 209.165.201.18
Step 1 Identify the security level and names of each interface by entering the following commands:
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 dmz security50
An additional nameif command is required for the third interface in this example.
Step 2 Identify the line speed of each interface by entering the following commands:
interface ethernet0 10baset
interface ethernet1 10baset
interface ethernet0 100basetx
An additional interface command is required for the third interface in this example.
Step 3 Identify the IP addresses for each interface:
ip address outside 209.165.201.2 255.255.255.248
ip address inside 209.165.201.9 255.255.255.248
ip address dmz 209.165.201.17 255.255.255.248
Step 5 Use the access-list command to let any outside user access the DMZ host on any port:
access-list acl_out permit tcp any host 209.165.201.19
access-group acl_out in interface outside
The access-list command lets any outside user access the host on any port.
Example 2-3 shows the complete configuration for three interfaces without NAT.
• The inside network has illegal addresses (10.0.0.0), the DMZ interface has RFC 1597 addresses
(192.168.0.0), and the outside network has legal, registered addresses (209.165.201.0).
• TCP and UDP connections from the inside are allowed to go out on the DMZ and outside.
• An inside host has been given Telnet access to the PIX Firewall console.
Internet
Outside
209.165.201.4
Inside DMZ
10.0.0.3 192.168.0.1
34782
10.0.0.100 10.0.0.99 192.168.0.2 192.168.0.3
Step 1 Create a pool of global addresses for the outside and DMZ interfaces. Because there are limited outside
IP addresses, add a PAT global to handle overflow. The global (dmz) command gives inside users access
to the web server on the DMZ interface.
global (outside) 1 209.165.201.10-209.165.201.30
global (outside) 1 209.165.201.5
global (dmz) 1 192.168.0.10-192.168.0.20
Step 2 Let inside users start connections on the DMZ and outside interfaces, and let DMZ users start
connections on the outside interface:
nat (inside) 1 10.0.0.0 255.0.0.0
nat (dmz) 1 192.168.0.0 255.255.255.0
Step 4 Let any user on the outside interface access the web server on the DMZ interface:
static (dmz,outside) 209.165.201.6 webserver netmask 255.255.255.255
access-list acl_out permit tcp any host 209.165.201.6 eq 80
access-group acl_out in interface outside
The access-list command statement is bound to the outside interface by the access-group command
statement.
Example 2-4 shows the complete configuration for three interfaces with NAT.
Note Outside NAT does not work with application inspection (“fixup”) for Internet Locator Service (ILS).
This section describes the last two scenarios and includes the following topics:
• Overview
• Simplifying Routing
• Configuring Overlapping Networks
Overview
Outside NAT/PAT is similar to inside NAT/PAT, only the address translation is applied to addresses of
hosts residing on the outer (less secure) interfaces of the PIX Firewall. To configure dynamic Outside
NAT, specify the addresses to be translated on the less secure interface and specify the global address or
addresses on the inside (more secure) interface. To configure static Outside NAT, use the static command
to specify the one-to-one mapping.
After you configure Outside NAT, when a packet arrives at the outer (less secure) interface of the
PIX Firewall, the PIX Firewall attempts to locate an existing xlate (address translation entry) in the
connections database. If no xlate exists, it searches the NAT policy from the running configuration. If a
NAT policy is located, an xlate is created and inserted into the database. The PIX Firewall then rewrites
the source address to the mapped or global address and transmits the packet on the inside interface. Once
the xlate is established, the addresses of any subsequent packets can be quickly translated by consulting
the entries in the connections database.
To enable outside NAT, enter the following command:
nat interface natid access-list acl-name outside
Replace interface with the name of the lower security interface and replace natid with the identifier of
the NAT entry. Replace acl-name with the name of any access list you want to apply. The outside option
causes the translation of host addresses on the lower security interface. By default, address translation
occurs only for host addresses on the higher security or "inside" interface.
Note If outside dynamic NAT is enabled on an interface, explicit NAT policy must be configured for all hosts
on the interface.
Use a natid of 0 with the outside option to disable address translation of hosts residing on the lower
security interface. Use this option only if outside dynamic NAT is configured on the interface. By
default, address translation is automatically disabled for hosts connected to the lower security interface.
Simplifying Routing
You can use Outside NAT to simplify router configuration on your internal or perimeter networks by
controlling the addresses that appear on these networks. For instance, in Figure 2-8, the security policy
allows clients in the network 209.165.201.0 to access only the servers on the internal network
192.168.101.0, including the web server 192.168.101.2.
209.165.201.1
67583
192.168.101.1
These commands translate all the source addresses on the remote network to a range of internal IP
addresses (192.168.100.3-128). All other traffic for the network 192.168.101.0 arriving at the outside
interface of the PIX Firewall is dropped. The router then automatically distributes the traffic from the
inside interface of the PIX Firewall along with traffic originating on the 192.168.100.0 subnetwork.
192.168.100.2 192.168.100.2
209.165.200.225
192.168.100.0 192.168.100.0
PIX Firewall
192.168.100.1 192.168.100.3
209.165.200.226
67582
In this example, an inside connected network, 192.168.100.0 255.255.255.0, overlaps with an outside
network. In addition, a router (209.165.201.2) connects the outside interface of the PIX Firewall
(209.165.201.3) to the outside network.
To enable connectivity between the two overlapping networks, the alias command can be used with
previous versions of PIX Firewall, or static outside NAT can be used with PIX Firewall version 6.2 or
later. We recommend using static outside NAT instead of the alias command because it allows the
isolation of address translation between two interfaces and optionally supports rewriting of DNS address
resource records.
The NAT command for translating the outside hosts from 192.168.100.0/24 into 209.165.201.0/24 on the
inside network is as follows:
static (outside, inside) 209.165.201.0 192.168.100.0 netmask 255.255.255.0
The NAT command for translating the inside hosts from 192.168.100.0/24 into 209.165.201.0/24 on the
outside network is as follows:
static (inside,outside) 209.165.201.0 192.168.100.0 netmask 255.255.255.0
Note Splitting the netmask is required because an overlapping route cannot exist with a connected route.
With this configuration, an inside host 192.168.100.1 connects to address 209.165.201.3 to communicate
with outside host 192.168.100.2.
Overview
SMR allows the PIX Firewall to function as a “stub router.” A stub router is a device that acts as an
Internet Group Management Protocol (IGMP) proxy agent. The IGMP is used to dynamically register
specific hosts in a multicast group on a particular LAN with a multicast (MC) router. MC routers route
multicast data transmissions to the hosts on each LAN in an internetwork that are registered to receive
specific multimedia or other broadcasts. A stub router forwards IGMP messages between hosts and MC
routers.
The Protocol Independent Multicast (PIM) protocol provides a scalable method for determining the best
paths in a network for distributing a specific multicast transmission to each host that has registered using
IGMP to receive the transmission. With PIM sparse mode (PIM SM), which is the default for Cisco
routers, when the source of a multicast transmission begins broadcasting, the traffic is forwarded from
one MC router to the next until the packets reach every registered host. If a more direct path to the traffic
source exists, the last-hop router sends a join message toward the source that causes the traffic to be
rerouted along the better path.
Step 1 Enable multicast forwarding on each interface by entering the following command:
multicast interface interface-name
This command enables multicast support on the specified interface and places the interface in multicast
promiscuous mode. When you enter this command, the CLI enters multicast subcommand mode and the
prompt changes to identify the interface you are configuring.
To use this command, replace interface-name with the name of the PIX Firewall interface on which you
wish to enable multicast forwarding.
Step 2 Configure the maximum number of IGMP groups, by entering the following command from multicast
subcommand mode:
igmp max-groups n
To use this command, replace n with the maximum number of IGMP groups you wish to allow on the
specified interface. The range of groups supported (max-groups) is from 1 to 2000. A value of 0 causes
no IGMP groups to be allowed.
Step 3 Enable IGMP forwarding on each PIX Firewall interface connected to hosts that will receive multicast
transmissions. To do this, enter the following command from multicast subcommand mode for the
interface, which is typically an inside (or more secure) interface.
igmp forward interface out-if-name
This command enables forwarding of all IGMP host reports and leaves messages received on the
interface specified. To use this command. replace out-if-name with the name of the PIX Firewall
interface that is connected to the MC router. This is typically the outside interface.
Step 4 (Optional) Define static IGMP entries by using the following command:
[no] igmp join-group group-address
Enter this command on the downstream interface, which has receiving hosts in the multicast group.
This command configures the interface to be a statically connected member of the specified group. This
allows the PIX Firewall to act for a client that may not be able to respond via IGMP, but still requires
reception. This command is applied to the downstream interface towards the receiving hosts.
Step 5 (Optional) Configure the multicast groups that hosts can join:
access-list acl_ID permit igmp any destination_addr destination_mask
This command configures an access control list that allows IGMP traffic to permissible Class D
destination addresses.
• Replace acl_ID with the name of the access control list.
• Replace destination_addr with the Class D address of the multicast group from which you wish to
allow hosts to receive multicast transmissions. To define many multicast groups with a single
command, use the object grouping feature, described in “Simplifying Access Control with Object
Grouping” in Chapter 3, “Controlling Network Access and Use.”
Step 6 Apply the access list by entering the following command from the multicast subcommand mode:
igmp access-group acl_ID
In the following example, inside clients need to register with the multicast group with the Class D
address 224.1.1.1:
multicast interface outside
igmp join-group 224.1.1.1 output-interface inside
After entering these commands, the PIX Firewall will act as an interested host for 224.1.1.1 and act
accordingly on the interface to which the command was applied. Other downstream interfaces may be
added to the list dynamically via IGMP.
Step 1 Enable multicast forwarding on each PIX Firewall interface by entering the following command:
multicast interface interface-name
This command enables multicast support on the specified interface and places the interface in multicast
promiscuous mode. When you enter this command, the CLI enters multicast subcommand mode and the
prompt changes to identify the interface you are configuring.
To use this command:
• Replace interface-name with the name of the PIX Firewall interface on which you wish to enable
multicast forwarding.
Step 2 Create a static route from the transmission source to the next-hop router interface:
[no] mroute src smask in-if-name dst dmask out-if-name
• Replace src and smask with the IP address and subnet mask of the multicast source.
• Replace in-if-name with the name of the PIX Firewall interface connected to the multicast source.
This is typically the inside (or more secure) interface.
• Replace dst and dmask with the Class D address and subnet mask for the multicast transmission from
the source.
• Replace out-if-name with the name of the PIX Firewall interface connected to the next-hop router
interface toward the hosts registered to receive the transmission. This is typically the outside (or less
secure) interface.
The following example configures the inside and DMZ sources with no internal receivers:
multicast interface outside
multicast interface inside
multicast interface dmz
mroute 1.1.1.1 255.255.255.255 inside 230.1.1.2 255.255.255.255 outside
mroute 2.2.2.2 255.255.255.255 dmz 230.1.1.2 255.255.255.255 outside
The default is 60 seconds. To set the query interval back to the default, use the no igmp query-interval
command .
The default is 10 seconds. To set the query response time back to the default, use the no igmp
query-max-response-time command.
Replace group-addr with the multicast group IP address. Replace interface-name with the interface
name on your PIX Firewall on which IGMP is enabled.
Use the following command to clear static multicast routes:
clear mroute [src-addr | group-addr | interface interface_name]
Replace src-addr with the IP address of the multicast source. Replace group-addr with the address of
the receiving multicast group. Replace interface-name with the PIX Firewall interface on which
multicasts are enabled.
This also displays IGMP configuration for the interface. To use this command, replace interface-name
with the name of the interface for which you wish to view configuration settings.
To display multicast-related information about one or more groups, enter the following command:
show igmp groups [group-address|interface interface-name]
Replace group-address with the Class D IP address of the group and replace interface-name with the
name of the interface connected to the network where the groups are registered. To show all static
multicast routes, enter the following command:
show mroute [src-address | group-address | interface interface_name]
Replace src-address with the IP address of the multicast transmission source or replace group-address
with the Class D IP address of the group. Replace interface-name with the name of the interface
connected to the network where the groups are registered.
To enable (or disable) debugging for IGMP events, enter the following command:
[no] debug igmp
To enable (or disable) debugging for multicast forwarding events, enter the following command:
[no] debug mfwd
This chapter describes how to establish and control network connectivity for different applications and
implementations after you have completed your basic configuration, described in Chapter 2,
“Establishing Connectivity.” This chapter contains the following sections:
• Allowing Server Access with Static NAT
• Allowing Inbound Connections
• Controlling Outbound Connectivity
• Using the Static Command for Port Redirection
• Using Authentication and Authorization
• Access Control Configuration Example
• Using TurboACL
• Downloading Access Lists
• Simplifying Access Control with Object Grouping
• Filtering Outbound Connections
Note Do not use the PIX Firewall interface address with the static command if Stateful Failover is enabled.
Doing this will prevent Stateful Failover from receiving its interface monitoring probes, which run over
IP protocol 105, and as a result, the interface will appear to be in waiting state. For further information
about Stateful Failover, refer to Chapter 10, “Using PIX Firewall Failover.”
• Replace internal_if_name with the internal network interface name. In general, this is the higher
security level interface you are accessing.
• Replace external_if_name with the external network interface name. In general, this is the lower
security level interface you are accessing.
• Replace global_ip with the outside (global) IP address. In general, this is the interface with the lower
security level. This address cannot be a PAT IP address.
• Replace local_ip with the internal (local) IP address from the inside network. In general, this is the
interface with the higher security level.
• Replace network_mask with the network mask pertains to both global_ip and local_ip. For host
addresses, always use 255.255.255.255. For network addresses, use the appropriate subnet mask for
the network.
• (Optional) replace max_conns with the maximum number of concurrent connections permitted
through the static address translation.
Note To configure static translation for a host residing on the less secure interface (using outside NAT)
reverse the interface in the static command. Refer to the Cisco PIX Firewall Command
Reference for more information about the static command.
For example, the following command maps a server with an internal IP address of 10.1.1.3 to the
registered IP address 209.165.201.12:
static (inside, outside) 209.165.201.12 10.1.1.3 netmask 255.255.255.255 0 0
This command simply maps the addresses; make sure you also configure access using the access-list and
access-group commands, as described in the next section. Also, you will must inform the DNS
administrator to create an MX record for the external address so that traffic sent to the server host name
is directed to the correct address.
Note For information about how to configure static translation without NAT, refer to the static command in
the Cisco PIX Firewall Command Reference.
Note Beginning with PIX Firewall version 5.3, access lists are the preferred method for managing network
access. The conduit command was used in earlier versions. Access lists provide improved flexibility and
greater ease of use for those familiar with Cisco IOS access control. However, the conduit command is
still supported to maintain backward compatibility of configurations written for previous PIX Firewall
versions.
You use the access-list and access-group commands to permit access based on source or destination IP
address, or by the protocol port number. Use the access-list command to create a single access list entry,
and use the access-group command to bind one or more access list entries to a specific interface. Only
specify one access-group command for each interface.
Note To allow access only for specific users, set up authentication, as described in “Using Authentication and
Authorization.”
Before you can set up an access list for a host, set up address translation by using a global or static
command. Setting up address translation with the global command is described in Chapter 2,
“Establishing Connectivity.” Setting up address translation using the static command was described
earlier in the previous section “Allowing Server Access with Static NAT.”
The format for the access-list command is as follows:
access-list ID action protocol source_address port destination_address port
• Replace ID with a name or number you create to identify a group of access-list command
statements; for example, “acl_out,” which identifies that the permissions apply to access from the
outside interface.
• Replace action with permit or deny depending on whether you want to permit or deny access to the
server. By default, all inbound access is denied, so you will must permit access to a specific protocol
or port.
• Replace protocol with the protocol (tcp or udp). For most servers, such as HTTP or email, use tcp.
• Replace source_address with the host or network address for those systems on the lower security
level interface that must access the destination_address. Use any to let any host access the
destination_address. If you specify a single host, precede the address with host; for example host
192.168.1.2 . If you specify a network address, also specify a network mask; for example,
192.168.1.0 255.255.255.0.
• Replace the first port parameter with the protocol port used by the source host to initiate the
connection.
• Replace destination_address with the host or network global address that you specified with the
static command statement. For a host address, precede the address with host; for networks, specify
the network address and the appropriate network mask.
• Replace the second port parameter with the literal port name or number for the destination server
protocol. For a web server, use the string http or the number 80. For an email server, use smtp or
the number 25. The port is preceded with the eq (equals) parameter.
The following is a list of literal port names that you can use when configuring an access-list
command statement: DNS, ESP, FTP, H323, HTTP, IDENT, NNTP, NTP, POP2, POP3, PPTP, RPC,
SMTP, SNMP, SNMPTRAP, SQLNET, TCP, Telnet, TFTP, and UDP. You can also specify these
ports by number. Port numbers are defined in RFC 1700.
Two access-list command statement definitions are required to permit access to the following ports:
– DNS, Discard, Echo, Ident, NTP, RPC, SUNRPC, and Talk each require one definition for TCP
and one for UDP.
– PPTP requires one definition for port 1723 on TCP and another for port 0 and GRE protocol.
– TACACS+ requires one definition for port 49 on TCP.
The format for the access-group command is as follows:
access-group ID in interface low_interface
Replace ID with the same identifier that you specified in the access-list command statement.
Replace low_interface with the lower security interface that you specified in the static command
statement. This is the interface through which users will access the external (global) address.
The following example illustrates the three commands required to enable access to a web server with the
external IP address 209.165.201.12:
static (inside, outside) 209.165.201.12 10.1.1.3 netmask 255.255.255.255 0 0
access-list acl_out permit tcp any host 209.165.201.12 eq www
access-group acl_out in interface outside
This example uses the same static command that was shown in the previous section.
By default, outbound access is permitted, so you use the deny action to restrict access when using an
outbound access list.
For example, to prevent users on the 192.168.1.0 network on the inside interface from starting
connections on the outside interface and permit all others, specify the 192.168.1.0 network address as
the source address and the network connected to the outside interface as the destination address. In the
example that follows, the network on the outside interface is 209.165.201.0. The access-list and
access-group command statements are as follows.
access-list acl_in deny tcp 192.168.1.0 255.255.255.224 209.165.201.0 255.255.255.224
access-list acl_in permit ip any any
access-group acl_in in interface inside
You can use also use access lists to prevent access to a specific server. For example, if you want to restrict
users on the inside interface from accessing a website at address 209.165.201.29 on the outside interface
(while allowing other outbound access), use the following commands:
access-list acl_in deny tcp any host 209.165.201.29 eq www
access-list acl_in permit ip any any
access-group acl_in in interface inside
These commands let any users start connections, but not to 209.165.201.29. The access-group command
specifies that the users are on the inside interface.
Note If controlling outbound access in your network is an important issue, consider using the Websense
filtering application, described in “Filtering URLs with Internet Filtering Servers.”
Overview
Port redirection allows users on a lower security interface to connect to a particular IP address and port
and to have the PIX Firewall redirect the traffic to the appropriate server on a higher security interface.
The shared address can be a unique address, a shared outbound PAT address, or an address shared with
the external interface. To implement port redirection, use the following command.
static [(internal_if_name, external_if_name)] {tcp|udp} {global_ip|interface} global_port
local_ip local_port [netmask mask]
For an explanation of this command syntax, refer to the Cisco PIX Firewall Command Reference.
10.1.1.2 209.165.201.25
Inside Outside
PAT address =
209.165.201.15
73601
In the configuration described in this section, port redirection occurs for users on external networks as
follows:
• Telnet requests to unique IP address 209.165.201.5 are redirected to 10.1.1.6
• FTP requests to unique IP address 209.165.201.5 are redirected to 10.1.1.3
• Telnet requests to PAT address 209.165.201.15 are redirected to 10.1.1.4
• Telnet requests to the PIX Firewall outside IP address 209.165.201.25 are redirected to 10.1.1.5
• HTTP request to PIX Firewall outside IP address 209.165.201.25 are redirected to 10.1.1.5
• HTTP port 8080 requests to PAT address 209.165.201.15 are redirected to 10.1.1.7 port 80
To implement this scenario, complete the following steps:
Step 1 Configure application inspection of FTP requests on port 21 by entering the following command:
fixup protocol ftp 21
Step 2 Configure the IP address of the lower and higher security interfaces of your PIX Firewall by entering the
following command:
ip address outside 209.165.201.25 255.255.255.0
ip address inside 10.1.1.2 255.255.255.0
Step 3 Identify a global PAT address for the lower security interface by entering the following command:
global (outside) 1 209.165.201.15
This command causes HTTP port 8080 requests to be redirected to 10.1.1.7 port 80.
Note If you want a host on an outside (lower security level) interface to initiate connections with a host on an
internal (higher security level) interface, create static and access-list command statements for the
connection.
Configuring AAA
To enable authentication and authorization, identify the authentication server you are using and the
server encryption key on the PIX Firewall. From the configuration on the authentication server you must
determine the users that can access the network, the services that they can use, and the hosts that they
can access. Once you have this information, you can configure the PIX Firewall to either enable or
disable authentication or authorization.
In addition, you can configure the PIX Firewall to control user access to specific hosts or services.
However, it is easier to maintain this kind of access control in a single location, at the authentication
server. After you enable authentication and authorization, the PIX Firewall provides prompts inbound or
outbound for users of FTP, Telnet, or HTTP (Web) access. Controlling access to a specific system or
service is handled by the authentication and authorization server.
Follow these steps to enable the PIX Firewall to support TACACS+ user authentication and
authorization:
Step 1 For inbound authentication, create the static and access-list command statements required to permit
outside hosts to access servers on the inside network.
Step 2 If the internal network connects to the Internet, create a global address pool of registered IP addresses.
Then specify the inside hosts that can start outbound connections with the nat command and with the
access control lists features found in the outbound and apply commands.
Step 3 Identify the server that handles authentication or authorization using the aaa-server command. Create a
unique server group name.
For example:
aaa-server AuthInbound protocol tacacs+
aaa-server AuthInbound (inside) host 10.1.1.1 TheUauthKey
aaa-server AuthOutbound protocol tacacs+
aaa-server AuthOutbound (inside) host 10.1.1.2 TheUauthKey
The first command statement creates the AuthInbound authentication group using TACACS+
authentication. The second command statement states that the AuthInbound server is on the inside
interface, that its IP address is 10.1.1.1, and the encryption key is “TheUauthKey.”
The third command statement creates the AuthOutbound authentication group using TACACS+
authentication. The fourth command statement states that the AuthOutbound server is on the inside
interface, that its IP address is 10.1.1.2, and the encryption key is “TheUauthKey.”
Note RADIUS authorization is provided with the access-list command statement as described in
“Configuring RADIUS Authorization.”
The AuthInbound and AuthOutbound groups are those you specified with the aaa-server command.
Note Be careful to apply authentication only to protocols that can be authenticated. Applying
authentication using the any keyword will prevent protocols such as SMTP or HTTPS from
passing through the PIX Firewall.
Step 5 Enable authorization with the aaa authorization command. PIX Firewall checks the authorization
request with the AAA server, which makes the decision about what services a user can access. Use one
or both of the following commands to specify outbound and inbound authorization.
aaa authorization include ftp outbound 0 0 0 0
aaa authorization include telnet outbound 0 0 0 0
aaa authorization include http outbound 0 0 0 0
aaa authorization include ftp inbound 0 0 0 0
aaa authorization include telnet inbound 0 0 0 0
aaa authorization include http inbound 0 0 0 0
You can specify port ranges for the aaa authorization command in the following format:
aaa authorization include | exclude author_service inbound | outbound | if_name local_ip
local_mask foreign_ip foreign_mask
where:
• author_service—The service that PIX Firewall listens to for AAA connections. Possible values are
any, http, ftp, telnet, or protocol/port. Use the IP protocol number for protocol or use the TCP/UDP
destination port or port range. A port value of 0 means all ports. You can also use a specific ICMP
type.
• inbound, outbound, if_name—Specify whether users are authenticated and authorized on inbound
or outbound connections, or for connections that arrive at a specific interface.
• local_ip, local_mask—Specify the IP address on the higher security level interface from which or
to which access is required.
• foreign_ip, foreign_mask—Specify the IP address on the lower security level interface from which
or to which access is required.
Note Access lists can be used with either RADIUS or TACACS but authorizing FTP, HTTP, or Telnet is only
possible with TACACS+.
To restrict users in a department to three servers and deny everything else, the access-list command
statements are as follows:
access-list eng permit ip any server1 255.255.255.255
access-list eng permit ip any server2 255.255.255.255
access-list eng permit ip any server3 255.255.255.255
access-list eng deny ip any any
In this example, the vendor-specific attribute string in the CiscoSecure configuration has been set to
acl=eng. Use this field in the CiscoSecure configuration to identify the access-list identification name.
The PIX Firewall gets the acl=acl_ID from CiscoSecure and extracts the ACL number from the attribute
string, which it puts in a user’s uauth entry. When a user tries to open a connection, PIX Firewall checks the
access list in the user’s uauth entry, and depending on the permit or deny status of the access list match,
permits or denies the connection. When a connection is denied, PIX Firewall generates a corresponding
syslog message. If there is no match, then the implicit rule is to deny.
Because the source IP of a given user can vary depending on where they are logging in from, set the
source address in the access-list command statement to any, and the destination address to identify the
network services to which user is permitted or denied access.
The aaa authorization command does not require or provide a separate RADIUS option. To enable
RADIUS authorization, perform the following steps:
Basic Configuration
Figure 3-2 illustrates the network configuration used in this example.
Internet
Intel
Internet
Phone
34780
BSDI
The following procedure shows the basic configuration required for this example. This procedure is
similar to the configuration shown in “Configuration Examples,” in Chapter 2, “Establishing
Connectivity”:
Step 1 Identify the security level and names of each interface by entering the following commands:
nameif ethernet0 outside security0
nameif ethernet1 inside security100
Step 2 Identify the line speed of each interface by entering the following commands:
interface ethernet0 10baset
interface ethernet1 10baset
You may get better performance by changing the default auto option in the interface command to the
specific line speed for the interface card.
Step 3 Identify the IP addresses for each interface:
ip address inside 10.1.1.1 255.255.255.0
ip address outside 209.165.201.1 255.255.255.224
Step 5 Let inside IP addresses be recognized on the outside network and let inside users start outbound
connections:
nat (inside) 1 0.0.0.0 0.0.0.0
nat (inside) 2 192.168.3.0 255.255.255.0
global (outside) 1 209.165.201.6-209.165.201.8 netmask 255.255.255.224
global (outside) 1 209.165.201.10 netmask 255.255.255.224
global (outside) 2 209.165.200.225-209.165.200.254 netmask 255.255.255.224
Step 6 Set the outside default route to the router attached to the Internet:
route outside 0 0 209.165.201.4 1
Example 3-2 shows the basic configuration required to implement a PIX Firewall with two interfaces
with NAT.
Example 3-3 shows the command listing for configuring access to services for the network illustrated in
Figure 3-2.
Note The commands in this section are used in addition to the basic firewall configuration required, which is
described in the previous section, “Basic Configuration.”
The following procedure shows the commands required to manage user access to H.323 and Web
services:
Step 1 Create outbound access lists to determine which hosts can access services:
access-list acl_in deny tcp host 192.168.3.3 any eq 1720
access-list acl_in deny tcp any any eq 80
access-list acl_in permit host 192.168.3.3 any eq 80
access-list acl_in permit host 10.1.1.11 any eq 80
The first access-list command statement denies host 192.168.3.3 from accessing H.323 (port 1720)
services such as MS NetMeeting or Intel Internet Phone. The next command statement denies all hosts
from accessing the Web (port 80). The next command statement permits host 192.168.3.3 to use the Web.
The last access-list command statement permits host 10.1.1.11 access to the Web (at port 80).
Step 2 Specify that the access-list group regulates the activities of inside hosts starting outbound connections:
access-group acl_in interface inside
The static command statement creates a net static command statement, which is a static command
statement for a set of IP addresses, in this case for IP addresses 209.165.201.17 through 209.165.201.30.
Step 4 Enable VoIP access:
access-list acl_out permit tcp any host 209.165.201.16 eq h323
The access-list command statement lets users on the Internet send Intel Internet Phone (port h323)
requests to users on 192.168.3.x while addressing them as 209.165.201.x.
Step 5 Establish an externally visible IP address for Web access:
static (inside, outside) 209.165.201.11 10.1.1.11
access-list acl_out permit tcp any host 209.165.201.11 eq 80
The static command statement with the access-list command statement establishes an externally visible
IP address for Web access (port 80 in the access-list command statement).
Example 3-4 shows the command listing for configuring access to services for the network illustrated in
Figure 3-2.
Using TurboACL
This section describes how to use the TurboACL feature introduced with PIX Firewall version 6.2. It
includes the following topics:
• Overview
• Globally Configuring TurboACL
• Configuring Individual TurboACLs
• Viewing TuboACL Configuration
Overview
An access list typically consists of multiple access list entries, organized internally by PIX Firewall as
a linked list. When a packet is subjected to access list control, the PIX Firewall searches this linked list
linearly to find a matching element. The matching element is then examined to determine if the packet
is to be transmitted or dropped. With a linear search, the average search time increases proportional to
the size of the list.
TurboACL is a feature introduced with PIX Firewall version 6.2 that improves the average search time
for access control lists containing a large number of entries. The TurboACL feature causes the
PIX Firewall to compile tables for ACLs and this improves searching of long ACLs.
You can enable this feature for the entire PIX Firewall and then disable it for specific ACLs, or enable
it only for specific ACLs. For short ACLs, TurboACL does not improve performance. A TurboACL
search, no matter how short the ACL, requires about the same amount of time as a regular ACL search
of from twelve to eighteen entries. For this reason, even when enabled, the TurboACL feature is only
applied to ACLs with nineteen or more entries.
The TurboACL feature requires significant amounts of memory and is most appropriate for high-end
PIX Firewall models, such as the PIX 525 or PIX 535. The minimum memory required for TurboACL
is 2.1 MB and approximately 1 MB of memory is required for every 2000 ACL elements.
Note With PIX Firewall models having limited memory, such as the PIX 501, implementing the TurboACL
feature may cause problems, such as not being able to load Cisco PIX Device Manager (PDM). If
memory problems occur after enabling TurboACL, disable it using the no access-list compiled
command.
The actual amount of memory required depends not only on the number of ACL elements but also on the
complexity of the entries.
Note When you add or delete an element from a turbo-enabled ACL, the internal data tables associated with
the ACL are regenerated, and this produces an appreciable load on the PIX Firewall CPU.
This configures TurboACL on all ACLs having 19 or more entries. This command causes the TurboACL
process to scan through all existing ACLs. During the scan, it marks and turbo-compiles any ACL which
has 19 or more Access Control Entries (ACEs) and has not yet been turbo-compiled.
The command no access-list compiled, which is the default, causes the TurboACL process to scan
through all compiled ACLs and mark every one as non-turbo. It also deletes all existing TurboACL
structures.
When the PIX Firewall is running, the command access-list compiled marks every ACL to be
turbo-configured, and the command no access-list compiled marks every ACL as non-turbo.
This command is used to individually enable or disable TurboACL on a specific ACL. The acl_name
must specify an existing ACL.This command will cause the TurboACL process to mark the ACL
specified by acl_name as turbo-configured, and to turbo-compile the ACL if the ACL has 19 or more
ACEs and has not yet been turbo-compiled.
If you enter the no form of the command, the TurboACL process deletes the TurboACL structures
associated with the ACL and marks the ACL as non-turbo.
ACL is configured with TurboACL. Note that an ACL may be configured for turbo but it will not be
compiled unless the number of ACEs exceeds the threshold. In such a case, this command will show that
the ACL is turbo-configured, but there will not be any entry for the ACL in the TurboACL statistic
output.
Example 3-5 provides an example of the output of the show access-list command:
Note Downloadable ACLs are only supported with RADIUS servers and not with TACACS+ servers.
The following are the two methods for downloading an access list from an AAA server to the
PIX Firewall:
• Downloading a named access list—Configure a user (real) authentication profile to include a Shared
Profile Component (SPC) and then configure the SPC to include the access list name and the actual
access list. This method should be used when there are frequent requests for downloading a large
access list.
• Downloading an access list without a name—Configure a user authentication profile on an AAA
server to include the PIX Firewall access list to be downloaded. This method should be used when
there are no frequent requests for the same access list.
3. Configure a Cisco Secure ACS user or a group through User Setup or Group Setup to include the
defined ACL in the user or group settings.
Once the configuration is properly configured, a user authentication request will first cause the
access list name to be sent to the PIX Firewall. The PIX Firewall will determine if the named ACL
already exists and if not, the PIX Firewall will request the ACL to be downloaded. A named,
downloadable is not downloaded again as long as it exists on the PIX Firewall.
If the download is successful, the ACL on the PIX Firewall will have the following name:
#ACSACL#-acl_name-12345678
Where acl_name is the name for the access list defined in the SPC and 12345678 is a unique version
ID. If the named access list is not configured on ACS or the download fails for any other reason, a
Syslog message will be logged.
4. Activate the use of downloadable ACLs by performing the following steps:
a. Select Interface Configuration from the Cisco Secure ACS main menu.
b. Select Advanced Options from the Interface Configuration menu.
c. Check either or both of the following options:
– User-Level Downloadable ACLs
– Group-Level Downloadable ACLs
where:
• ip:inacl# is the string that specifies an input ACL.
• nnn is a number in the range from 0 to 999999999 that identifies the order of the access-list
command statement to be configured on the PIX Firewall. If this parameter is omitted the sequence
value is 0.
• ACL_COMMAND represents one ore more PIX Firewall access-list commands.
Statements are separated by colons (:). Statements should not include the access-list command or the
access list name. You can configure multiple occurrences of the string “ip:inacl#nnn=” in the same user
authentication profile to define a PIX Firewall access list. If multiple entries have the same sequence
number, they will be configured in the same order as they appear in the Cisco-specific VSA attribute.
Multiple lines may be used to configure multiple elements, but an element must be completely contained
on a single line. For example, the permit tcp any any command cannot be broken into two separate
lines.
A downloadable ACL without a name is assigned a name by the PIX Firewall after it is downloaded in
the following format:
AAA-user-username
The following configuration would be entered for the user Admin in the [009\001] cisco-av-pair field
under Group Setup>Cisco IOS/PIX RADIUS Attributes:
ip:inacl#1=permit tcp 13.0.0.0 255.0.0.0 11.0.0.0 255.0.0.0
ip:inacl#99=deny tcp any any
ip:inacl#2=permit udp 13.0.0.0 255.0.0.0 11.0.0.0 255.0.0.0
ip:inacl#99=deny udp any any
ip:inacl#3=permit icmp 13.0.0.0 255.0.0.0 11.0.0.0 255.0.0.0
Software Restrictions
When downloading access lists via RADIUS, the following restrictions apply:
• RADIUS packet size is limited to 4096, but the actual size for the access list can vary considerably
depending on the existence of other variable-length, RADIUS attributes.
• Each RADIUS attribute field used to specify access lists is limited to 253 bytes.
Note If there exists any incompatibility between the PIX Firewall and the Cisco IOS access list, the
incompatibility will also exist for the downloaded access list. In other words, an access list defined for
PIX Firewall on a AAA server may not be valid if the access list is downloaded to Cisco IOS software,
and vice versa.
Enter a question mark (?) in the subcommand mode to view the permitted subcommands.
In subcommand mode, you can enter object grouping subcommands as well as all other PIX Firewall
commands including show commands and clear commands. When you enter any valid configuration
command, such as access-list, the subcommand mode is terminated. You can also terminate the
subcommand mode by entering the exit or quit commands. Subcommands are indented when they are
shown or saved by any of the following commands:
• show config
• write
• config
Step 1 Enter the appropriate subcommand mode for the type of group you want to configure.
The syntax of the object-group command is as follows:
pix(config)# object-group {protocol|network|icmp-type} grp-id
pix(config)# object-group service grp-id {tcp|udp|tcp-udp}
Use the first parameter to identify the type of object group you want to configure. Replace the second
parameter grp-id with a descriptive name for the group. When you enter the object-group command, the
system enters the appropriate subcommand mode for the type of object you are configuring.
For example, the following command identifies an object group containing trusted hosts:
pix(config)# object-group network TrustedHosts
When you enter this command, the system enters the network object subcommand mode and the
PIX Firewall system prompt appears as follows:
pix(config-network)#
All subcommands entered from this prompt apply to the object group identified by the object-group
command. In this example, the object group name is TrustedHosts.
Step 2 Define the members of the object group.
Use the subcommands permitted within the subcommand mode to define members of the object group.
Use the group-object subcommand to add a subgroup within the current object group.
For example:
pix(config)# object-group network ftp_servers
pix(config-network)# network-object host 201.165.201.3
pix(config-network)# network-object host 201.165.201.4
pix(config-network)# exit
pix(config)# object-group network TrustedHosts
pix(config-network)# network-object host sjc.eng.ftp
pix(config-network)# network-object host 201.165.201.1
pix(config-network)# network-object 192.168.1.0 255.255.255.0
pix(config-network)# group-object ftp_servers
This command lets you add a description of up to 200 characters to an object group. Replace text with
the descriptive information you wish to enter.
Step 4 Return to configuration mode by entering the following command:
pix(config-network)# exit
Step 5 (Optional) Verify that the object group has been configured successfully:
pix(config)#show object-group [network | services | icmp-type] [grp-id]
This command displays a list of the currently configured object groups of the specified type. Without a
parameter, the command displays all object groups.
For example:
pix(config)# show object-group
object-group network ftp_servers
description: This is a group of FTP servers
network-object host 201.165.201.3
network-object host 201.165.201.4
object-group network TrustedHosts
network-object host 201.165.201.1
network-object 192.168.1.0 255.255.255.0
group-object ftp_servers
Note You should use the access-list command when running PIX Firewall version 5.2 or later. The
conduit command provides similar functionality as the access-list command, but is only
provided for backward compatibility with older PIX Firewall configurations.
Replace the parameters of the conduit or access-list commands with the corresponding object group:
• Replace the protocol parameter with a protocol object group.
• Replace local and remote IP addresses and subnet masks with a network object group.
• Replace the port parameter with a service object group.
• Replace the icmp-type parameter with an icmp-type object group.
For example, the following command permits access to the members of the object group TrustedHosts:
pix(config)# access-list acl permit tcp object-group TrustedHosts host 1.1.1.1
Refer to the access list or conduit commands in the Cisco PIX Firewall Command Reference for the
detailed syntax of these commands.
Step 7 (Optional) Use the show access-list command to display the expanded access list entries:
pix(config)# show access-list
access-list acl permit tcp host 201.165.201.1 host 1.1.1.1
access-list acl permit tcp 192.168.1.0 255.255.255.0 host 1.1.1.1
access-list acl permit tcp host 201.165.201.3 host 1.1.1.1
access-list acl permit tcp host 201.165.201.4 host 1.1.1.1
Note The show config and write commands display the commands in the same way they are
configured.
Enter the following command to add a single protocol to the current protocol object group:
pix(config-protocol)# protocol-object protocol
Replace protocol with the numeric identifier of the specific IP protocol (1 to 254) or a literal keyword
identifier (icmp, tcp, or udp). If you wish to include all IP protocols, use the keyword ip.
Enter the following command to add the object group identified by grp-id to the current protocol object
group:
pix(config-protocol)# group-object grp-id
Enter the following command to add a single host name or IP address (with subnetwork mask) to the
current network object group:
pix(config-network)# network-object host host_addr | net_addr netmask
Replace host_addr with the IP address of the host you are adding to the group. Replace net_add and
netmask with the network number and subnet mask for a subnetwork.
Enter the following command to add the object group identified by grp-id to the current protocol object
group:
pix(config-network)# group-object grp-id
Enter the following command to add a single TCP or UDP port number to the service object group:
pix(config-service)# port-object eq service
Enter the following command to add a range of TCP or UDP port numbers to the service object group:
pix(config-service)# port-object range begin_service end_service
Enter the following command to add the object group to the current service object group:
pix(config-service)# group-object grp-id
Enter the following command to add an ICMP type to the service object group:
pix(config-icmp-type)# [no] icmp-object icmp-type
Replace icmp-type with a numeric value. Refer to the access-list command in the Cisco PIX Firewall
Command Reference for a definition of the permitted values.
Enter the following command to add the object group identified by grp-id to the current icmp-type object
group:
pix(config-icmp-type)# group-object grp-id
Step 1 Assign a group ID to the object group that you want to nest within another object group, as in the
following example:
pix(config)#object-group protocol Group_A
Step 3 Assign a group identifier to the object group within which you want to nest another object group:
pix(config)#object-group protocol Group_B
Step 4 Add the first object group to the group that will contain it:
pix(config-protocol)# group-object A
Step 5 Add any other objects to the group that are required:
pix(config-protocol)# protocol-object 4
Use the listed parameters to restrict the display to specific object types or to identify a specific object
group by name. The system displays a list of the currently configured object groups identified by the
command. Replace grp_id with the name of a specific object group. If you enter the command without
any parameters, the system displays all configured object groups.
Example 3-7 shows sample output from the show object-group command.
Replace grp_id with the identifier assigned to the specific group you want to remove.
Note You cannot remove an object group or make an object group empty if it is used in a command.
Use the listed parameters to remove the configuration of specific object group types or to remove a
specific object group by name. If you enter the command without any parameters, the system removes
all configured object groups.
This command blocks the HTML <object> commands by commenting them out within the HTML web
page. This functionality has been added to the filter command with the activex option.
Note The <object> tag is also used for Java applets, image files, and multimedia objects, which will also be
blocked by the new command.
If the <object> or </object> HTML tags split across network packets or if the code in the tags is longer
than the number of bytes in the MTU, PIX Firewall cannot block the tag.
Java and ActiveX filtering of HTML files are performed by selectively replacing the <APPLET> and
</APPLET> and <OBJECT CLASSID> and </OBJECT> tags with comments.
Filtering of nested tags is supported, by only converting top-level tags to comments and the inner tags
ActiveX blocking does not occur when users access an IP address referenced by the alias command.
Note If Java applets are known to be in <object> tags, use the filter activex command to remove them.
Examples
To specify that all outbound connections have Java applet blocking, use the following command:
filter java 80 0 0 0 0
This command specifies that the Java applet blocking applies to Web traffic on port 80 from any local
host and for connections to any foreign host. To block downloading of Java applets, enter the following
command:
filter java http 192.168.3.3 255.255.255.255 0 0
Overview
The filter url command lets you prevent outbound users from accessing World Wide Web URLs that you
designate using one of the following URL filtering applications:
• Websense Enterprise web filtering application—Supported by PIX Firewall version 5.3 or later
• Filtering by N2H2 for IFP-Enabled Devices—Supported by PIX Firewall version 6.2
When a user issues an HTTP request to a website, the PIX Firewall sends the request to the web server
and to the filtering server at the same time. If the filtering server permits the connection, the PIX Firewall
allows the reply from the website to reach the user who issued the original request. If the filtering server
denies the connection, the PIX Firewall redirects the user to a block page, indicating that access was
denied.
Note URL filtering only applies to the HTTP protocol and may considerably increase access times to websites
when the filtering server is remote from the PIX Firewall. Filtering does not apply to URLs for FTP sites
or secure websites (HTTPS).
Note If you switch the url-server type after configuration, the existing url-server configurations are dropped
and you will must re-enter the configuration for the new filtering server type.
You identify the address of the filtering server using the form of the url-server command appropriate
for the type of filtering server you are using.
For Websense:
pix(config)# url-server [if_name] host local_ip [timeout seconds] [protocol TCP | UDP
version 1|4]
For N2H2:
pix(config)# url-server [if_name] vendor n2h2 host local_ip[:port number] [timeout
<seconds>] [protocol TCP | UDP]
Replace if_name with the name of the PIX Firewall interface on which you are enabling filtering.
Replace local_ip with the IP address of the filtering server. Replace seconds with the number of seconds
the PIX Firewall should wait before giving up on connecting to the filtering server.
Note URL filtering may considerably increase access times to websites when the filtering server is remote
from the PIX Firewall.
You can identify more than one filtering server by entering the url-server command multiple times. The
primary filtering server is the first server that you identify. If you want to change your primary server,
use the no url-server command with the address of your primary filtering server. Then issue the
url-server command with the address of your primary server.
Replace port with the port number on which to filter HTTP traffic. To identify a range of port numbers,
enter the beginning and end of the range separated by a hyphen.
To identify specific HTTP traffic for filtering, replace local_ip and local_mask with the IP address and
subnet mask of a user or subnetwork making requests. Replace foreign_ip and foreign_mask with the IP
address and subnet mask of a server or subnetwork responding to requests.
With filtering enabled, the PIX Firewall stops outbound HTTP traffic until a filtering server permits the
connection. If the primary filtering server does not respond, the PIX Firewall directs the filtering request
to the secondary filtering server. The allow option causes the PIX Firewall to forward HTTP traffic
without filtering when the primary filtering server is unavailable.
Use the proxy-block command to drop all requests to proxy servers.
If you want to make exceptions to the general filtering policy, use the following command:
filter url except local_ip local_mask foreign_ip foreign_mask]
Replace local_ip and local_mask with the IP address and subnet mask of a user or subnetwork that you
want to exempt from filtering restrictions. Replace foreign_ip and foreign_mask with the IP address and
subnet mask of a server or subnetwork that you want to exempt from filtering restrictions.
The longurl-truncate command causes the PIX Firewall to send only the host name or IP address
portion of the URL for evaluation to the filtering server when the URL is longer than the maximum
length permitted. PIX Firewall version 6.2 supports a maximum URL length of 1159 bytes for the N2H2
filtering server. Filtering of URLs up to 6 K is supported for the Websense filtering server.
Use the longurl-deny option to deny outbound URL traffic if the URL is longer than the maximum
permitted. Use the cgi-truncate option to send a CGI script as the URL.
To enable the URL pending block buffer, enter the following command:
url-block block block-buffer-limit
Replace block-buffer-limit with the maximum number of blocks that will be buffered.
Replace memory-pool-size with a value from 2 to 10000 for a maximum memory allocation of 2 KB to
10 MB.
To increase the maximum length of a single URL (for Websense only), enter the following command:
url-block url-size long-url-size
Replace long-url-size with a value from 2 to 6 for a maximum URL size of 2 KB to 6 KB.
Note PIX Firewall version 6.2 supports a maximum URL length of 1159 bytes for the N2H2 filtering server.
Configuration Procedure
Perform the following steps to filter URLs:
Step 1 Identify the address of the filtering server with the url-server commands:
For Websense:
# url-server [if_name] host local_ip [timeout seconds] [protocol TCP | UDP version 1|4]
For N2H2:
# url-server [if_name] vendor n2h2 host local_ip[:port number] [timeout seconds] [protocol
TCP | UDP]
Replace if_name with the name of the PIX Firewall interface on which you are enabling filtering.
Replace local_ip with the IP address of the filtering server. Replace seconds with the number of seconds
the PIX Firewall should wait before giving up on connecting to the filtering server.
Note The default port is 4005. This is the default port used by the N2H2 server to communicate to the
PIX Firewall via TCP or UDP. For information on changing the default port, please refer to the
Filtering by N2H2 Administrator's Guide.
For example:
url-server (perimeter) host 10.0.1.1
url-server (perimeter) vendor n2h2 host 10.0.1.1
The first command identifies a Websense filtering server with the IP address 10.0.1.1 on a perimeter
interface of the PIX Firewall. The second command identifies an N2H2 server at the same interface and
address.
Step 2 Configure your filtering policy with the following command:
filter url [http | port[-port] local_ip local_mask foreign_ip foreign_mask] [allow]
[proxy-block]
Replace port with one or more port numbers if a different port than the default port for HTTP (80) is
used. Replace local_ip and local_mask with the IP address and subnet mask of a user or subnetwork
making requests. Replace foreign_ip and foreign_mask with the IP address and subnet mask of a server
or subnetwork responding to requests.
The allow option causes the PIX Firewall to forward HTTP traffic without filtering when the primary
filtering server is unavailable. Use the proxy-block command to drop all requests to proxy servers.
For example:
filter url http 0 0 0 0
filter url except 10.0.2.54 255.255.255.255 0 0
The first command filters all HTTP traffic. The second command exempts all requests from 10.0.2.54
from filtering restrictions.
Note Step 3 through Step 6 only work with PIX Firewall version 6.2 or later. Buffering URLs longer
than 1159 bytes is only supported for the Websense filtering server.
Step 3 (Optional) Enable buffering of HTTP replies for URLs that are pending a response from the filtering
server by entering the following command:
url-block block block-buffer-limit
Replace block-buffer-limit with the maximum number of blocks that will be buffered.
Step 4 (Optional) Configure the maximum memory available for buffering pending URLs (and for buffering
long URLs with Websense) with the following command:
url-block url-mempool memory-pool-size
Replace memory-pool-size with a value from 2 to 10000 for a maximum memory allocation of 2 KB to
10 MB.
Step 5 (Optional for Websense only) Configure the maximum size of a single URL with the following
command:
url-block url-size long-url-size
Replace long-url-size with a value from 2 to 6 for a maximum URL size of 2 KB to 6 KB. The default
value is 2.
Step 6 (Optional) To handle URLs that are longer than the maximum available buffer size, enter the filter
command in the following form:
filter url [longurl-truncate | longurl-deny | cgi-truncate]
Use the longurl-truncate command to send only the host name or IP address portion of the URL for
evaluation to the filtering server when the URL is longer than the maximum length permitted.
Use the longurl-deny option to deny outbound traffic if the URL is longer than the maximum permitted
(1159 for N2H2 or configurable up to 6 KB for Websense).
Use the cgi-truncate option to send a CGI script as the URL.
Step 7 (Optional) To display memory usage, enter the following commands:
show chunk
show memory
Step 8 (Optional) Use the url-cache command if needed to improve throughput, as follows:
url-cache dst | src_dst size
Note This command does not update Websense logs, which may affect Websense accounting reports.
Accumulate Websense run logs before using the url-cache command.
Replace size with a value for the cache size within the range 1 to 128 (KB).
Use the dst keyword to cache entries based on the URL destination address. Select this mode if all users
share the same URL filtering policy on the Websense server.
Use the src_dst keyword to cache entries based on the both the source address initiating the URL request
as well as the URL destination address. Select this mode if users do not share the same URL filtering
policy on the Websense server.
Step 9 Configure the required URL filters at the user interface of the filtering server.
For more information about filtering with the N2H2 or Websense filtering servers, refer to the following
websites:
http://www.websense.com
http://www.n2h2.com
Step 10 Use the following commands to view URL filtering information:
To show URL caching statistics, enter the following command:
show url-cache stats
To show the information about the filtering server, enter the following command:
sh url-server
This chapter describes how to use and configure application inspection, which is often called “fixup”
because you use the fixup command to configure it. This chapter includes the following sections:
• How Application Inspection Works
• Using the fixup Command
• Basic Internet Protocols
• Voice Over IP
• Multimedia Applications
• Database and Directory Support
• Management Protocols
ACL
1 6
7 PIX 5
Client Server
3 4
67564
XLATE Inspection
CONN
In Figure 4-1, operations are numbered in the order they occur, and are described as follows:
1. A TCP SYN packet arrives at the PIX Firewall to establish a new connection.
2. The PIX Firewall checks the access control list (ACL) database to determine if the connection is
permitted.
3. The PIX Firewall creates a new entry in the connection database (XLATE and CONN tables).
4. The PIX Firewall checks the Inspections database to determine if the connection requires
application-level inspection.
5. After the application inspection function completes any required operations for the packet, the
PIX Firewall forwards the packet to the destination system.
6. The destination system responds to the initial request.
7. The PIX Firewall receives the reply packet, looks up the connection in the connection database, and
forwards the packet because it belongs to an established session.
The default configuration of the PIX Firewall includes a set of application inspection entries that
associate supported protocols with specific TCP or UDP port numbers and that identify any special
handling required. The inspection function does not support NAT or PAT for certain applications because
of the constraints imposed by the applications. You can change the port assignments for some
applications, while other applications have fixed port assignments that you cannot change. Table 4-1
summarizes this information about the application inspection functions provided with PIX Firewall
version 6.2.
If the MTU is too small to allow the Java or ActiveX tag to be included in one packet, stripping may not
occur.
The PC protocol NetBIOS is supported by performing NAT of the packets for the following services:
• NBNS UDP port 137
• NBDS UDP port 138
No NAT support is available for name resolution through WINS.
To change the default port assignment, identify the protocol and the new port number to assign. Use the
no fixup protocol command to reset the application inspection entries to the default configuration.
Note Disabling or modifying application inspection only affects connections that are initiated after the
command is processed. Disabling application inspection for a specific port or application does not affect
existing connections. If you want the change to take effect immediately, enter the clear xlate command
to remove all existing application inspection entries.
The following is the detailed syntax of the fixup command showing the syntax for each configurable
application:
fixup protocol ftp [strict] [port] | http [port[-port]] | h323 [port[-port]] | ils
[port[-port]] | rsh [514] | rtsp [port] | sip [ 5060] | skinny [port] | smtp [port[-port]] |
sqlnet [port[-port]]
You can view the explicit (configurable) fixup protocol settings with the show fixup command. The
default settings for configurable protocols are as follows.
show fixup
fixup protocol ftp 21
fixup protocol http 80
fixup protocol h323 1720
fixup protocol rsh 514
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol sip 5060
The default port value for rsh cannot be changed, but additional port statements can be added.
The show fixup protocol protocol command displays the configuration for an individual protocol.
The following are other related commands that let you manage fixup configuration:
• show conn state—Displays the connection state of the designated protocol
• show timeout—Displays the timeout value of the designated protocol
The clear fixup command removes fixup commands from the configuration that you added. It does not
remove the default fixup protocol commands.
You can disable the fixup of a protocol by removing all fixups of the protocol from the configuration
using the no fixup command. After you remove all fixups for a protocol, the no fixup form of the
command or the default port is stored in the configuration.
For some applications, you can define multiple port assignments. This is useful when multiple instances
of the same service are running on different ports.
The following example shows how to define multiple ports for FTP by entering separate commands:
fixup protocol ftp 2100
fixup protocol ftp 4254
fixup protocol ftp 9090
These commands do not change the standard FTP port assignment (21). After entering these commands,
the PIX Firewall listens for FTP traffic on port 21, 2100, 4254, and 9090.
Some protocols let you assign a range of ports. This is indicated in the command syntax as port[-port].
For example, the following command assigns the port range from 1500 to 2000 to SQL*Net.
fixup protocol sqlnet 1500-2000
Note If you enter a new port assignment for protocols that do not allow multiple port assignments, the value
overrides the default value.
The port parameter lets you configure the port at which the PIX Firewall listens for FTP traffic.
The strict option prevents web browsers from sending embedded commands in FTP requests. Each ftp
command must be acknowledged before a new command is allowed. Connections sending embedded
commands are dropped. The strict option only lets an FTP server generate the 227 command and only
lets an FTP client generate the PORT command. The 227 and PORT commands are checked to ensure
they do not appear in an error string.
If you disable FTP fixups with the no fixup protocol ftp command, outbound users can start connections
only in passive mode, and all inbound FTP is disabled.
Note The use of the strict option may break FTP clients that do not comply with the RFC standards.
The FTP application inspection inspects the FTP sessions and performs four tasks:
• Prepares dynamic secondary data connection
• Tracks ftp command-response sequence
• Generates an audit trail
• NATs embedded IP address
FTP application inspection prepares secondary channels for FTP data transfer. The channels are
allocated in response to a file upload, a file download, or a directory listing event and must be
pre-negotiated. The port is negotiated through the PORT or PASV commands.
If the strict option is enabled, each ftp command and response sequence is tracked for the following
anomalous activity:
• Truncated command—Number of commas in the PORT and PASV reply command is checked to see
if it is five. If it is not five, then the PORT command is assumed to be truncated and the TCP
connection is closed.
• Incorrect command—Checks the ftp command to see if it ends with <CR><LF> characters, as
required by the RFC. If it does not, the connection is closed.
• Size of RETR and STOR commands—These are checked against a fixed constant. If the size is
greater, then an error message is logged and the connection is closed.
• Command spoofing—The PORT command should always be sent from the client. The TCP
connection is denied if a PORT command is sent from the server.
• Reply spoofing—PASV reply command (227) should always be sent from the server. The TCP
connection is denied if a PASV reply command is sent from the client. This prevents the security
hole when the user executes “227 xxxxx a1, a2, a3, a4, p1, p2.”
• TCP stream editing.
• Invalid port negotiation—The negotiated dynamic port value is checked to see if it is less than 1024.
As port numbers in the range from 1 to 1024 are reserved for well known connections, if the
negotiated port falls in this range then the TCP connection is freed.
• Command pipelining—The number of characters present after the port numbers in the PORT and
PASV reply command is cross checked with a constant value of 8. If it is more than 8, then the TCP
connection is closed.
FTP application inspection generates the following log messages:
• An Audit record 302002 is generated for each file that is retrieved or uploaded.
• The ftp command is checked to see if it is RETR or STOR and the retrieve and store commands are
logged.
• The username is obtained by looking up a table providing the IP address.
• The username, source IP address, destination IP address, NAT address, and the file operation are
logged.
• Audit record 201005 is generated if the secondary dynamic channel preparation failed due to
memory shortage.
In conjunction with NAT, the FTP application inspection translates the IP address within the application
payload. This is described in detail in RFC 959.
DNS server
Webserver
192.168.100.1 ISP Internet
PIX Firewall
67605
Webclient
When the request is made to the DNS server, the PIX Firewall translates the non-routable source address
in the IP header and forwards the request to the ISP network on its outside interface. When the DNS
A-record is returned, the PIX Firewall applies address translation not only to the destination address, but
also to the embedded IP address of the web server. This address is contained in the user data portion of
the DNS reply packet. As a result, the web client on the inside network gets the address it needs to
connect to the web server on the inside network.
The transparent support for DNS in PIX Firewall version 6.2 means that the same process works if the
client making the DNS request is on a DMZ (or other less secure) network and the DNS server is on an
inside (or other more secure) interface.
Use the port option to change the default port assignments from 80. Use the -port option to apply HTTP
application inspection to a range of port numbers.
Note The no fixup protocol http command statement also disables the filter url command.
The fixup protocol smtp command enables the Mail Guard feature. This restricts mail servers to
receiving the seven minimal commands defined in RFC 821, section 4.5.1 (HELO, MAIL, RCPT, DATA,
RSET, NOOP, and QUIT). All other commands are rejected.
Microsoft Exchange server does not strictly comply with RFC 821 section 4.5.1, using extended SMTP
commands such as EHLO. PIX Firewall will convert any such commands into NOOP commands, which
as specified by the RFC, forces SMTP servers to fall back to using minimal SMTP commands only. This
may cause Microsoft Outlook clients and Exchange servers to function unpredictably when their
connection passes through PIX Firewall.
Use the port option to change the default port assignments from 25. Use the -port option to apply SMTP
application inspection to a range of port numbers.
As of version 5.1 and higher, the fixup protocol smtp command changes the characters in the server
SMTP banner to asterisks except for the “2”, “0”, “0” characters. Carriage return (CR) and linefeed (LF)
characters are ignored. PIX Firewall version 4.4 converts all characters in the SMTP banner to asterisks.
Application Inspection
An SMTP server responds to client requests with numeric reply codes and optional human readable
strings. SMTP application inspection controls and reduces the commands that the user can use as well
as the messages that the server returns. SMTP inspection performs three primary tasks:
• Restricts SMTP requests to seven minimal commands (HELO, MAIL, RCPT, DATA, RSET, NOOP,
and QUIT).
• Monitors the SMTP command-response sequence.
• Generates an audit trail—Audit record 108002 is generated when invalid character embedded in the
mail address is replaced. For more information, see RFC 821.
SMTP inspection monitors the command and response sequence for the following anomalous signatures:
• Truncated commands.
• Incorrect command termination (not terminated with <CR><LR>).
• The MAIL and RCPT commands specify who are the sender and the receiver of the mail. Mail
addresses are scanned for strange characters. The pipeline character (|) is deleted (changed to a blank
space) and “<” ‚”>” are only allowed if they are used to define a mail address (“>” must be preceded
by “<”).
• Unexpected transition by the SMTP server.
• For unknown commands, the PIX Firewall changes all the characters in the packet to X. In this case,
the server will generate an error code to the client. Because of the change in the packed, the TCP
checksum has to be recalculated or adjusted.
• TCP stream editing.
• Command pipelining.
Sample Configuration
Figure 4-3 illustrates a network scenario implementing SMTP and NFS on an internal network.
Figure 4-3 Sample Configuration with SMTP and NFS (Sun RPC)
Internet
Intel
Internet
Phone
34780
BSDI
In this example, the static command sets up a global address to permit outside hosts access to the
10.1.1.3 Sun Mail host on the Inside interface. (The MX record for DNS must point to the 209.165.201.1
address so that mail is sent to this address.) The access-list command lets any outside users access the
global address through the SMTP port (25). The no fixup protocol command disables the Mail Guard
feature.
Perform the following steps to complete the configuration required for this example:
Step 1 Provide access to the 10.1.1.3 mail server through global address 209.165.201.12:
static (inside, outside) 209.165.201.12 10.1.1.3 netmask 255.255.255.255 0 0
access-list acl_out permit tcp any host 209.165.201.12 eq smtp
The access-list command allows any outside host access to the static via SMTP (port 25). By default,
the PIX Firewall restricts all access to mail servers to the commands DATA, HELO, MAIL, NOOP,
QUIT, RCPT, and RSET, as described in RFC 821, section 4.5.1. This is implemented through the Mail
Guard service, which is enabled by default (fixup protocol smtp 25).
Another aspect of providing access to a mail server is being sure that you have a DNS MX record for the
static’s global address, which outside users access when sending mail to your site.
If the mail server has to talk to many mail servers on the outside which connect back with the now
obsolete and highly criticized IDENT protocol, use this access-list command statement to speed up mail
transmission. The access-group command statement binds the access-list command statements to the
outside interface.
Example 4-1 shows a command listing for configuring access to services for the network:
Voice Over IP
This section describes how the PIX Firewall supports Voice over IP (VoIP) applications and protocols
and how you can use fixup and other commands to solve specific problems. It includes the following
topics:
• Skinny Client Control Protocol
• H.323
• Session Initiation Protocol
• CU-SeeMe
Overview
Cisco IP Phones using SCCP can coexist in an H.323 environment. When used with Cisco CallManager,
the SCCP client can interoperate with H.323 compliant terminals. Application layer functions in the
PIX Firewall recognize SCCP version 3.1.1. The functionality of the application layer software ensures
that all SCCP signalling and media packets can traverse the Firewall by providing NAT of the SCCP
Signaling packets.
You can use the fixup command to change the default port assignment for SCCP. The command syntax
is as follows.
[no] fixup protocol skinny [port[ -port]]
To change the default port assignments from 2000 use the port option. Use the -port option to apply
SCCP application inspection to a range of port numbers.
Note If the address of a Cisco CallManager server is configured for NAT and outside phones register to it
using TFTP, the connection will fail because PIX Firewall currently does not support NAT TFTP
messages. For a workaround to this problem, refer to the subsection “Using SCCP with Cisco
CallManager on a Higher Security Interface” within this section.
The IP addresses need to be configured for allowable outside interfaces that can initiate calls or receive
RTP packets. SCCP is not supported through PAT, but is supported with NAT.
PIX Firewall version 6.2 introduces support of DHCP options 150 and 166, which allow the
PIX Firewall to send the location of a TFTP server to Cisco IP Phones and other DHCP clients. For
further information about this new feature, refer to “Using Cisco IP Phones with a DHCP Server” in
Chapter 5, “Using PIX Firewall in SOHO Networks.”
Note Normal traffic between the Cisco CallManager and Cisco IP Phones uses SCCP and is handled by SCCP
inspection without any special configuration.
H.323
You can use the fixup command to change the default port assignment for the H.323 protocol. The
command syntax is as follows:
[no] fixup protocol h323 h225 |ras port [-port]]
Use the port option to change the default control connection port assignment. The default port
assignments are as follows:
• h323 h225 1720
• h323 ras 1718-1719
Use the -port option to apply H.323 application inspection to a range of port numbers.
The fixup protocol h323 command provides support for Intel Internet Phone, CU-SeeMe,
CU-SeeMe Pro, MeetingPoint, and MS NetMeeting. PIX Firewall version 5.3 and higher supports H.323
version 2. H.323 is a suite of protocols defined by the International Telecommunication Union (ITU) for
multimedia conferences over LANs. H.323 supports VoIP gateways and VoIP gatekeepers. H.323
version 2 adds the following functionality:
• Fast Connect or Fast Start Procedure for faster call setup
• H.245 tunneling for resource conservation, call synchronization, and reduced set up time
H.323 inspection supports static NAT or dynamic NAT. H.323 RAS is configurable using the fixup
command with PIX Firewall version 6.2 or later. With earlier versions, only H.225 & H.245 signaling
can be controlled using the fixup command. PAT support for H.323 is introduced with PIX Firewall
version 6.2.
The H.323 collection of protocols collectively may use up to two TCP connection and four to six UDP
connections. FastConnect uses only one TCP connection, and RAS uses a single UDP connection for
registration, admissions, and status.
An H.323 client may initially establish a TCP connection to an H.323 server using TCP port 1720 to
request Q.931 call setup. As part of the call setup process, the H.323 terminal supplies a port number to
the client to use for an H.245 TCP connection. In environments where an H.323 gatekeeper is in use, the
initial packet is transmitted using UDP, where the client sends out an ARQ.
H.323 inspection monitors the Q.931 TCP connection to determine the H.245 port number. If the H.323
terminals are not using FastConnect, the PIX Firewall dynamically allocates the H.245 connection based
on the inspection of the H.225 messages.
Within each H.245 message, the H.323 end points exchange port numbers that are used for subsequent
UDP data streams. H.323 inspection inspects the H.245 messages to identify these ports and dynamically
creates connections for the media exchange. Real-Time Transport Protocol (RTP) uses the negotiated
port number, while RTP Control Protocol (RTCP) uses the next higher port number.
The H.323 control channel handles H.225 and H.245 and H.323 RAS. H.323 inspection uses the
following ports.
Note PIX Firewall does not support TCP options in the Proxy ACK for the TPKT.
Each UDP connection with a packet going through H.323 inspection is marked as an H.323 connection
and will time out with the H.323 timeout as configured by the administrator using the timeout command.
Usage Notes
1. Static PAT may not properly translate IP addresses embedded in optional fields within H.323
messages. If you experience this kind of problem, do not use static PAT with H.323.
2. When a NetMeeting client registers with an H.323 gatekeeper and tries to call an H.323 gateway
that is also registered with the H.323 gatekeeper, the connection is established but no voice is heard
in either direction. This problem is unrelated to the PIX Firewall.
3. If you configure a network static where the network static is the same as a third-party netmask and
address, then any outbound H.323 connection fails.
Overview
SIP works with Session Description Protocol (SDP) for call signalling. SDP specifies the ports for the
media stream. Using SIP, the PIX Firewall can support any SIP Voice over IP (VoIP) gateways and VoIP
proxy servers. SIP and SDP are defined in the following RFCs:
• SIP: Session Initiation Protocol, RFC 2543
• SDP: Session Description Protocol, RFC 2327
You can use the fixup command to change the default TCP port assignment for the Session Initiation
Protocol (SIP). The command syntax is as follows.
[no] fixup protocol sip [ port[-port]]
Note PAT support for SIP is introduced with PIX Firewall version 6.2.
To change the default port assignments from 5060 use the port option. Use the -port option to apply SIP
application inspection to a range of port numbers.
To view the current timeout value for SIP connections, enter the following command:
show timeout sip
Note If a remote endpoint tries to register with a SIP proxy on a network protected by PIX Firewall, the
registration will fail if the To field in the request does not specify the port number and if the SIP proxy
is configured with PAT.
To support SIP calls through the PIX Firewall, signaling messages for the media connection addresses,
media ports, and embryonic connections for the media must be inspected, because while the signaling is
sent over a well known destination port (UDP/TCP 5060), the media streams are dynamically allocated.
Also, SIP embeds IP addresses in the user-data portion of the IP packet. SIP inspection applies NAT for
these embedded IP addresses.
Note Application inspection of UDP for SIP is always enabled—it is currently not configurable.
This command statement causes the PIX Firewall to allow a new connection on port 5060 from an
outside phone if a UDP connection already exists from that phone to an inside phone. A call can be
placed on hold for the time specified in the timeout interval for SIP. You can increase this interval as
necessary with the timeout command.
Technical Details
SIP inspection NATs the SIP text-based messages, recalculates the content length for the SDP portion of
the message, and recalculates the packet length and checksum. It dynamically opens media connections
for ports specified in the SDP portion of the SIP message as address/ports on which the endpoint should
listen.
SIP inspection has a database with indices CALL_ID/FROM/TO from the SIP payload that identifies the
call. Contained within this database are the media addresses and media ports that were contained in the
SDP media information fields and the media type. There can be multiple media addresses and ports for
a session. RTP/RTCP connections are opened between the two endpoints using these media
addresses/ports. The well-known port 5060 must be used on the initial call setup (INVITE) message,
however subsequent messages may not have this port number. The SIP fixup opens signaling connection
pinholes, and marks these connections as SIP connections. This is done for the messages to reach the
SIP application and be NATed.
As a call is set up, the SIP session is considered in the “transient” state until the media address and media
port is received in a Response message from the called endpoint indicating the RTP port the called
endpoint will listen on. If there is a failure to receive the response messages within one minute, the
signaling connection will be torn down.
Once the final handshake is made, the call state is moved to active and the signaling connection will
remain until a BYE message is received.
If an inside endpoint initiates a call to an outside endpoint, a media hole is opened to the outside interface
to allow RTP/RTCP UDP packets to flow to the inside endpoint media address and media port specified
in the INVITE message from the inside endpoint. Unsolicited RTP/RTCP UDP packets to an inside
interface will not traverse the Firewall, unless the PIX Firewall configuration specifically allows it.
The media connections are torn down within two minutes after the connection becomes idle. This is,
however, a configurable timeout and can be set for a shorter or longer period of time.
Note Support for PAT is introduced with PIX Firewall version 6.2. Static NAT and dynamic NAT are
supported in version 6.2 and earlier.
CU-SeeMe
With CU-SeeMe clients, one user can connect directly to another (CU-SeeMe or other H.323 client) for
person-to-person audio, video, and data collaboration. CU-SeeMe clients can conference in a mixed
client environment that includes both CU-SeeMe clients and H.323-compliant clients from other
vendors.
Behind the scenes, CU-SeeMe clients operate in two very different modes. When connected to another
CU-SeeMe client or CU-SeeMe Conference Server, the client sends information in CU-SeeMe mode.
When connected to an H.323-compliant videoconferencing client from a different vendor, CU-SeeMe
clients communicate using the H.323-standard format in H.323 mode.
CU-SeeMe is supported through H.323 inspection, as well as performing NAT on the CU-SeeMe control
stream, which operates on UDP port 7648.
Multimedia Applications
This section describes how the PIX Firewall supports multimedia or video-on-demand applications and
protocols and how you can use fixup and other commands to solve specific problems. It includes the
following topics:
• Real Time Streaming Protocol (RTSP)
• Netshow
• VDO LIVE
The fixup protocol rtsp command lets PIX Firewall pass RTSP packets. RTSP is used by RealAudio,
RealNetworks, Apple QuickTime 4, RealPlayer, and Cisco IP/TV connections. PIX Firewall does not
support multicast RTSP.
If you are using Cisco IP/TV, use RTSP TCP port 554 and TCP 8554:
fixup protocol rtsp 554
fixup protocol rtsp 8554
• With Cisco IP/TV, the number of NATs the PIX Firewall performs on the SDP part of the message
is proportional to the number of program listings in the Content Manager (each program listing can
have at least six embedded IP addresses).
• You can configure NAT for Apple QuickTime 4 or RealPlayer. Cisco IP/TV only works with NAT
if the Viewer and Content Manager are on the outside network and the server is on the inside
network.
• When using RealPlayer, it is important to properly configure transport mode. For the PIX Firewall,
add an access-list command statement from the server to the client or vice versa. For RealPlayer,
change transport mode by clicking Options>Preferences>Transport>RTSP Settings.
If using TCP mode on the RealPlayer, select the Use TCP to Connect to Server and Attempt to
use TCP for all content check boxes. On the PIX Firewall, there is no need to configure the fixup.
If using UDP mode on the RealPlayer, select the Use TCP to Connect to Server and Attempt to
use UDP for static content check boxes. On the PIX Firewall, add a fixup protocol rtsp port
command statement.
RTSP applications use the well-known port 554 with TCP (rarely UDP) as a control channel.
PIX Firewall only supports TCP, in conformity with RFC 2326.
This TCP control channel will be used to negotiate the data channels that will be used to transmit
audio/video traffic, depending on the transport mode that is configured on the client.
The supported RDT transports are: rtp/avp, rtp/avp/udp, x-real-rdt, x-real-rdt/udp, x-pn-tng/udp
The PIX Firewall parses Setup response messages with a status code of 200. If the response message is
travelling inbound, the server is outside relative to the PIX Firewall and dynamic channels need to be
opened for connections coming inbound from the server. If the response message is outbound, then the
PIX Firewall does not need to open dynamic channels.
Because RFC 2326 does not require that the client and server ports must be in the SETUP response
message, the PIX Firewall will need to keep state and remember the client ports in the SETUP message.
QuickTime places the client ports in the SETUP message and then the server responds with only the
server ports.
RTSP inspection does not support PAT or dual-NAT. Also, PIX Firewall cannot recognize HTTP
cloaking where RTSP messages are hidden in the HTTP messages.
Netshow
Netshow is a streaming multimedia service that allows users to receive audio and video streams from
across the Internet. Users play Netshow content using Windows Media player, which connects to the
Netshow server to receive the multimedia stream.
The data channel in which the streams are transmitted is negotiated in a control channel. There are
different protocol settings possible.
• UDP Stream
• TCP Stream
UDP Stream
UDP streams are used with Netshow as follows:
1. Client makes a TCP connection to the server at the well-known port 1755.
2. Once a connection is established, the client sends an LVMConnectFunnel message to the server
indicating the UDP port that it expects to receive the data.
3. Server chooses a UDP port in the range 1024-5000 to stream the netshow data down to the client.
4. Server sends the stream in the negotiated port.
5. Netshow session ends by tearing down the TCP connection.
TCP Stream
TCP streams are used with Netshow as follows:
1. Client makes a TCP connection to the server using the well-known port 1755.
2. Once a connection is established, the client sends an LVMConnectFunnel message to the server
confirming the use of TCP connection.
3. Server sends the stream in the already connected TCP port.
4. Netshow session ends by tearing down the TCP connection.
VDO LIVE
VDO LIVE is a streaming multimedia service that allows users to receive audio and video streams from
across the Internet.
There are two connections, TCP for control messages and UDP for streams. TCP session uses a fixed
port of 7000; while the UDP source port is always 7001. The UDP stream uses a destination port
provided by the client over the control connection.
PIX Firewall monitors the VDO Live TCP control session and allows only the VDO live server system
to communicate with the client via the solicited UDP port with source port 7001. During this time, the
TCP channel should be active. When one goes down, PIX Firewall tears down the other connection.
PIX Firewall bypasses the data channel by opening up the port that was negotiated in the control channel.
The application inspection scans the control channel and opens up the negotiated ports.
When NAT is involved, the negotiated IP address and the port number is NAT translated, which means
that the payload has to be modified.
Step 1 Refine the accessibility of the static command by permitting Sun RPC over the UDP portmapper on port
111 with the sunrpc literal:
access-list acl_out permit udp host 209.165.201.2 host 209.165.201.11 eq sunrpc
Refer to the UNIX /etc/rpc file and the UNIX rpc(3N) command page for more information.
Once you create an access-list command statement for RPC, you can use the following command from
outside host 209.165.201.2 to track down the activity of a PCNFSD on RPC 150001:
rpcinfo -u 209.165.201.11 150001
Another use of RPC is with the following command to see the exports of 209.165.201.11 if you want to
allow mounting NFS from the outside network to the inside network:
showmount -e 209.165.201.11
Many protocols based on RPC, as well as NFS, are insecure and should be used with caution. Review
your security policies carefully before permitting access to RPC.
Step 2 Permit NFS access:
access-list acl_out permit udp host 209.165.201.2 host 209.165.201.11 eq 2049
NFS access occurs at port 2049 and provides access between the outside and inside, such that host
209.165.201.2 can mount 10.1.1.11 via the global address 209.165.201.11.
Example 4-2 shows the command listing for configuring access to services for the network illustrated in
Figure 4-3.
Use the port option to change the default port assignment from 1521. This is the value used by Oracle
for SQL*Net, but this value does not agree with IANA port assignments for Structured Query Language
(SQL). Use the -port option to apply SQL*Net inspection to a range of port numbers.
The PIX Firewall NATs all addresses and looks in the packets for all embedded ports to open for
SQL*Net Version 1.
For SQL*Net Version 2, all DATA or REDIRECT packets that immediately follow REDIRECT packets
with a zero data length will be fixed up.
The packets that need fix-up contain embedded host/port addresses in the following format:
(ADDRESS=(PROTOCOL=tcp)(DEV=6)(HOST=a.b.c.d)(PORT=a))
SQL*Net Version 2 TNSFrame types (Connect, Accept, Refuse, Resend, and Marker) will not be
scanned for addresses to NAT nor will inspection open dynamic connections for any embedded ports in
the packet.
SQL*Net Version 2 TNSFrames, Redirect, and Data packets will be scanned for ports to open and
addresses to NAT, if preceded by a REDIRECT TNSFrame type with a zero data length for the payload.
When the Redirect message with data length zero passes through the PIX Firewall, a flag will be set in
the connection data structure to expect the Data or Redirect message that follows to be NATed and ports
to be dynamically opened. If one of the TNS frames in the preceding paragraph arrive after the Redirect
message, the flag will be reset.
The SQL*Net fixup will recalculate the checksum, change IP, TCP lengths, and readjust Sequence
Numbers and Acknowledgment Numbers using the delta of the length of the new and old message.
SQL*Net Version 1 is assumed for all other cases. TNSFrame types (Connect, Accept, Refuse, Resend,
Marker, Redirect, and Data) and all packets will be scanned for ports and addresses. Addresses will be
NATed and port connections will be opened.
Use the port option to change the default port assignment from 389. Use the -port option to apply ILS
inspection to a range of port numbers.
To show the configuration of ILS inspection, enter the following command:
show fixup [protocol ils]
PIX Firewall version 6.2 introduces NAT support for ILS, which is used to register and locate endpoints
in the ILS or SiteServer Directory. PAT cannot be supported because only IP addresses are stored by an
LDAP database.
For Search Responses, when the LDAP server is located outside, NAT should be considered to allow
internal peers to communicate locally while registered to external LDAP servers. For such search
responses, xlates will be searched first, and then DNAT entries to obtain the correct address. If both of
these searches fail, then the address will not be changed. For sites using NAT 0 (no NAT) and not
expecting DNAT interaction, we recommend that the fixup be turned off to provide better performance.
Additional configuration may be necessary when the ILS server is located inside the PIX Firewall
border. This would require a hole for outside clients to access the LDAP server on the specified port,
typically TCP 389.
ILS/LDAP follows a client/server model with sessions handled over a single TCP connection.
Depending on the client's actions, several of these sessions may be created.
During connection negotiation time, a BIND PDU is sent from the client to the server. Once a successful
BIND RESPONSE from the server is received, other operational messages may be exchanged (such as
ADD, DEL, SEARCH, or MODIFY) to perform operations on the ILS Directory. The ADD REQUEST
and SEARCH RESPONSE PDUs may contain IP addresses of NetMeeting peers, used by H.323 (SETUP
and CONNECT messages) to establish the NetMeeting sessions. Microsoft NetMeeting v2.X and v3.X
provides ILS support.
The ILS inspection performs the following operations:
• Decodes the LDAP REQUEST/RESPONSE PDUs using the BER decode functions
• Parses the LDAP packet
• Extracts IP addresses
• Translates IP addresses as necessary
• Encodes the PDU with translated addresses using BER encode functions
• Copies the newly encoded PDU back to the TCP packet
• Performs incremental TCP checksum and sequence number adjustment
ILS inspection has the following limitations:
• Referral requests and responses are not supported
• Users in multiple directories are not unified
• Single users having multiple identities in multiple directories cannot be recognized by NAT
Management Protocols
This section describes how the PIX Firewall supports management protocols to solve specific problems.
It includes the following topics:
• Internet Control Message Protocol
• Remote Shell
• X Display Manager Control Protocol
Remote Shell
You can use the fixup command to change the default port assignment for the Remote Shell protocol
(RSH). The command syntax is as follows.
fixup protocol rsh [514]
The RSH protocol uses a TCP connection from the RSH client to the RSH server on TCP port 514. The
client and server negotiate the TCP port number where the client will listen for the STDERR output
stream. RSH inspection supports NAT of the negotiated port number if necessary.
This chapter describes features provided by the PIX Firewall that are used in the small office, home
office (SOHO) environment. It includes the following sections:
• Using PIX Firewall as an Easy VPN Remote Device
• Using the PIX Firewall PPPoE Client
• Using the PIX Firewall DHCP Server
• Using the PIX Firewall DHCP Client
Overview
PIX Firewall version 6.2 lets you use PIX Firewall as an Easy VPN Remote device when connecting to
an Easy VPN Server, such as a Cisco VPN 3000 Concentrator or a PIX Firewall. This functionality,
sometimes called a “hardware client,” allows the PIX Firewall to establish a VPN tunnel to the Easy
VPN Server. Hosts running on the LAN behind the PIX Firewall can connect through the Easy VPN
Server without individually running any VPN client software.
You must select one of the following modes of operation when you enable the PIX Firewall as an Easy
VPN Remote device:
• Client mode—In this mode, VPN connections are initiated by traffic, so resources are only used on
demand. In client mode, the PIX Firewall applies Network Address Translation (NAT) to all IP
addresses of clients connected to the inside (higher security) interface of the PIX Firewall. To use
this mode, you must also enable the DHCP server on the inside interface, as described in “Using the
PIX Firewall DHCP Server.”
• Network extension mode—In this mode, VPN connections are kept open even when not required for
transmitting traffic. This option does not apply NAT to any IP addresses of clients on the inside
(higher security) interface of the PIX Firewall.
In network extension mode, the IP addresses of clients on the inside interface are received without
change at the Easy VPN Server. If these addresses are registered with the Network Information
Center (NIC), they may be forwarded to the public Internet without further processing. Otherwise,
they may be translated by the Easy VPN Server or forwarded to a private network without
translation.
Establishing Connectivity
Before you can connect the PIX Firewall Easy VPN Remote device to the Easy VPN Server, you must
establish network connectivity between both devices through your Internet service provider (ISP). After
connecting your PIX Firewall to the DSL or Cable modem, you should follow the instructions provided
by your ISP to complete the network connection. Basically, there are three methods of obtaining an IP
address when establishing connectivity to your ISP:
• PPPoE client—Refer to “Using the PIX Firewall PPPoE Client” later in this chapter
• DHCP client—Refer to “Using the PIX Firewall DHCP Client” later in this chapter
• Static IP address configuration—Refer to Chapter 2, “Establishing Connectivity”
Configuration Procedure
The Easy VPN Server controls the policy enforced on the PIX Firewall Easy VPN Remote device.
However, to establish the initial connection to the Easy VPN Server, you must complete some
configuration locally. You can perform this configuration by using Cisco PIX Device Manager (PDM)
or by using the command-line interface as described in the following steps:
Step 1 Define the VPN group and password by entering the following command:
vpnclient vpngroup {groupname} password {preshared_key}
Replace groupname with an alphanumeric identifier for the VPN group. Replace preshared_key with the
encryption key to use for securing communications to the Easy VPN Server.
Step 2 (Optional) If the Easy VPN Server uses extended authentication (Xauth) to authenticate the PIX Firewall
client, enter the following command:
vpnclient username {xauth_username} password {xauth_password}
Replace xauth_username with the username assigned for Xauth. Replace xauth_password with the
password assigned for Xauth.
Step 3 Identify the remote Easy VPN Server by entering the following command:
vpnclient server {ip_primary} [ip_secondary_n]
Replace ip_primary with the IP address of the primary Easy VPN Server. Replace ip_secondary_n with
the IP address of one or more Easy VPN Servers. A maximum of ten Easy VPN Servers is supported
(one primary and up to nine secondary).
Step 4 Set the Easy VPN Remote mode by entering the following command:
vpnclient mode { client-mode | network-extension-mode }
• Client mode applies NAT to all IP addresses of clients connected to the inside (higher security)
interface of the PIX Firewall.
• Network extension mode—This option does not apply NAT to any IP addresses of clients on the
inside (higher security) interface of the PIX Firewall.
Step 6 (Optional) To display the current status and configuration of Easy VPN Remote, enter the following
command:
show vpnclient
Overview
Point-to-Point Protocol over Ethernet (PPPoE) combines two widely accepted standards, Ethernet and
PPP, to provide an authenticated method of assigning IP addresses to client systems. PPPoE clients are
typically personal computers connected to an ISP over a remote broadband connection, such as DSL or
cable service. ISPs deploy PPPoE because it supports high-speed broadband access using their existing
remote access infrastructure and because it is easier for customers to use.
PIX Firewall version 6.2 introduces PPPoE client functionality. This allows small office, home office
(SOHO) users of the PIX Firewall to connect to ISPs using DSL modems.
Note The PIX Firewall PPPoE client can only be enabled on the outside interface.
PPPoE provides a standard method of employing the authentication methods of the Point-to-Point
Protocol (PPP) over an Ethernet network. When used by ISPs, PPPoE allows authenticated assignment
of IP addresses. In this type of implementation, the PPPoE client and server are interconnected by Layer
2 bridging protocols running over a DSL or other broadband connection.
PPPoE is composed of two main phases:
• Active Discovery Phase—In this phase, the PPPoE client locates a PPPoE server, called an access
concentrator. During this phase, a Session ID is assigned and the PPPoE layer is established.
• PPP Session Phase—In this phase, PPP options are negotiated and authentication is performed.
Once the link setup is completed, PPPoE functions as a Layer 2 encapsulation method, allowing data
to be transferred over the PPP link within PPPoE headers.
At system initialization, the PPPoE client establishes a session with the AC by exchanging a series of
packets. Once the session is established, a PPP link is set up, which includes authentication using
Password Authentication (PAP) protocol. Once the PPP session is established, each packet is
encapsulated in the PPPoE and PPP headers.
Step 1 Define the VPDN group to be used for PPPoE, by entering the following command:
vpdn group group_name request dialout pppoe
In this command, replace group_name with a descriptive name for the group, such as “pppoe-sbc.”
Step 2 If your ISP requires authentication, select an authentication protocol by entering the following
command:
vpdn group group_name ppp authentication PAP|CHAP|MSCHAP
Replace group_name with the same group name you defined in the previous step. Enter the appropriate
keyword for the type of authentication used by your ISP:
• PAP—Password Authentication Protocol
• CHAP—Challenge Handshake Authentication Protocol
• MS-CHAP—Microsoft Challenge Handshake Authentication Protocol
Note When using CHAP or MS-CHAP, the username may be referred to as the remote system name,
while the password may be referred to as the CHAP secret.
Step 3 Associate the username assigned by your ISP to the VPDN group by entering the following command:
vpdn group group_name localname username
Replace group_name with the VPDN group name and username with the username assigned by your ISP.
Step 4 Create a username and password pair for the PPPoE connection by entering the following command:
vpdn username username password pass
Replace username with the username and pass with the password assigned by your ISP.
Note You must complete the configuration using the vpdn command, described in “Configuring the PPPoE
Client Username and Password,” before enabling PPPoE.
The PPPoE client functionality is turned off by default. To enable the PPPoE client, enter the following
command.
ip address ifName pppoe [setroute]
Reenter this command to clear and restart the PPPoE session. The current session will be shut down and
a new one will be restarted.
For example:
ip address outside pppoe
The PPPoE client is only supported on the outside interface of the PIX Firewall. PPPoE is not supported
in conjunction with DHCP because with PPPoE the IP address is assigned by PPP. The setroute option
causes a default route to be created if no default route exists. The default router will be the address of
the AC. The maximum transmission unit (MTU) size is automatically set to 1492 bytes, which is the
correct value to allow PPPoE transmission within an Ethernet frame.
This command causes the PIX Firewall to use the specified address instead of negotiating with the
PPPoE server to assign an address dynamically. To use this command, replace ifname with the name of
the outside interface of the PIX Firewall connected to the PPPoE server. Replace ipaddress and mask
with the IP address and subnet mask assigned to your PIX Firewall.
For example:
ip address outside 201.n.n.n 255.255.255.0 pppoe
Note The setroute option is an option of the ip address command that you can use to allow the access
concentrator to set the default routes when the PPPoE client has not yet established a connection. When
using the setroute option, you cannot have a statically defined route in the configuration.
Use the following command to enable debugging for the PPPoE client:
[no] debug pppoe event | error | packet
pix1# sh vpdn
Tunnel id 0, 1 active sessions
time since change 65862 secs
Remote Internet Address 10.0.0.1
Local Internet Address 199.99.99.3
6 packets sent, 6 received, 84 bytes sent, 0 received
Remote Internet Address is 10.0.0.1
Session state is SESSION_UP
Time since event change 65865 secs, interface outside
PPP interface id is 1
6 packets sent, 6 received, 84 bytes sent, 0 received
pix1#
pix1# sh vpdn session
PPPoE Session Information (Total tunnels=1 sessions=1)
Remote Internet Address is 10.0.0.1
Session state is SESSION_UP
Time since event change 65887 secs, interface outside
PPP interface id is 1
6 packets sent, 6 received, 84 bytes sent, 0 received
pix1#
pix1# sh vpdn tunnel
PPPoE Tunnel Information (Total tunnels=1 sessions=1)
Tunnel id 0, 1 active sessions
time since change 65901 secs
Remote Internet Address 10.0.0.1
Local Internet Address 199.99.99.3
6 packets sent, 6 received, 84 bytes sent, 0 received
pix1#
Use the following command to cause the DHCP server to use the WINS and DNS addresses provided by
the AC as part of the PPP/IPCP negotiations:
dhcpd auto_config [client_ifx_name]
This command is only required if the service provider provides this information as described in
RFC 1877. The client_ifx_name parameter identifies the interface supported by the DHCP auto_config
option. At this time, this keyword is not required because the PPPoE client is only supported on a single
outside interface.
Overview
PIX Firewall supports Dynamic Host Configuration Protocol (DHCP) servers and DHCP clients. DHCP
is a protocol that supplies automatic configuration parameters to Internet hosts. This protocol has two
components:
• Protocol for delivering host-specific configuration parameters from a DHCP server to a host (DHCP
client)
• Mechanism for allocating network addresses to hosts
A DHCP server is simply a computer that provides configuration parameters to a DHCP client, and a
DHCP client is a computer or network device that uses DHCP to obtain network configuration
parameters.
Note The PIX Firewall DHCP server can only be enabled on the inside interface.
The DHCP server within the PIX Firewall is typically used within a SOHO environment with a PIX 501 or
PIX 506 unit. Connecting to the PIX Firewall are PC clients and other network devices (DHCP clients) that
establish network connections that are either insecure (unencrypted) or secure (encrypted using IPSec) to
access an enterprise or corporate network. As a DHCP server, the PIX Firewall provides network
configuration parameters to the DHCP clients through the use of DHCP. These configuration parameters
provide a DHCP client the networking parameters used to access the enterprise network, and once in the
network, the network services to use, such as the DNS server.
Table 5-1 lists the number of DHCP clients that can be supported concurrently by different models and
versions of the PIX Firewall.
Note A host is considered active when the host has passed traffic through the PIX Firewall within the period
defined by the xlate timeout command, or it has an established NAT/PAT through the PIX Firewall, or
it has an established TCP connection or UDP session through the PIX Firewall, or it has an established
user authentication through the PIX Firewall.
You cannot configure a DHCP server for 256 clients, using a Class C netmask. For example, if a company
has a Class C network address of 172.17.1.0 with netmask 255.255.255.0, then 172.17.1.0 (network IP)
and 172.17.1.255 (broadcast) cannot be in the DHCP address pool range. Further, one address is used up
for the PIX Firewall interface. Thus, if a user uses a Class C netmask, they can only have up to 253
DHCP Clients.
Note The PIX Firewall DHCP server does not support BOOTP requests. The current version of the DHCP
server also does not support failover configurations.
The PIX Firewall commands used to implement the DHCP server feature are described in the dhcpd
command page and the debug command page in the Cisco PIX Firewall Command Reference. Refer to
these command pages for more information.
Step 1 Specify a DHCP address pool using the dhcpd address command. The PIX Firewall will assign to a client
one of the addresses from this pool to use for a given length of time. The default is the inside interface.
For example:
dhcpd address 10.0.1.101-10.0.1.110 inside
Step 2 (Optional) Specify the IP address(es) of the DNS server(s) the client will use. You can specify up to two
DNS servers.
For example:
dhcpd dns 209.165.201.2 209.165.202.129
Step 3 (Optional) Specify the IP address(es) of the WINS server(s) the client will use. You can specify up to
two WINS servers.
For example:
dhcpd wins 209.165.201.5
Step 4 Specify the lease length to be granted to the client. This lease equals the amount of time (in seconds) the
client can use its allocated IP address before the lease expires. The default value is 3600 seconds.
For example:
dhcpd lease 3000
Step 5 (Optional) Configure the domain name the client will use by entering the following command:
dhcpd domain example.com
Step 6 Enable the DHCP daemon within the PIX Firewall to listen for DHCP client requests on the enabled
interface. Currently, you can only enable the DHCP server feature on the inside interface, which is the
default.
For example:
dhcpd enable inside
The following example shows the configuration of a DHCP address pool and a DNS server address with
the inside interface being enabled for the DHCP server feature:
dhcpd address 10.0.1.100-10.0.1.108
dhcpd dns 209.165.200.227
dhcpd enable
The following example shows the configuration of a DHCP address pool and uses the auto_config
command to configure the dns, wins, and domain parameters:
dhcpd address 10.0.1.100-10.0.1.108
dhcpd auto_config
dhcpd enable
Example 5-3 is a partial configuration example of the DHCP server and IPSec features configured on a
PIX Firewall that is within a remote office. The PIX 506 unit’s VPN peer is another PIX Firewall that
has an outside interface IP address of 209.165.200.228 and functions as a gateway for a corporate
network.
When using option 66, replace server_name with the TFTP host name. A single TFTP server can be
identified using option 66.
When using option 150, replace server_ip1 with the IP address of the primary TFTP server and replace
server_ip2 with the IP address of the secondary TFTP server. A maximum of two TFTP servers can be
identified using option 150.
To disable option 66 or option 150, enter one of the following commands:
no dhcpd option 66
no dhcpd option 150
Note The PIX Firewall DHCP server can only be enabled on the inside interface and therefore can only
respond to DHCP option 150 and 66 requests from Cisco IP Phones or other network devices on the
internal network.
Overview
DHCP client support within the PIX Firewall is designed for use within a small office, home office
(SOHO) environment using a PIX Firewall that is directly connected to a DSL or cable modem that
supports the DHCP server function.
Note The PIX Firewall DHCP client can only be enabled on the outside interface.
With the DHCP client feature enabled on a PIX Firewall, the PIX Firewall functions as a DHCP client
to a DHCP server allowing the server to configure the outside interface with an IP address, subnet mask,
and optionally a default route. Use of the DHCP client feature to acquire an IP address from a generic
DHCP server is not supported. Also, the PIX Firewall DHCP client does not support failover
configurations.
The DHCP-acquired IP address on the outside interface can also be used as the PAT global address. This
makes it unnecessary for the ISP to assign a static IP address to the PIX Firewall. Use the global
command with the interface keyword to enable PAT to use the DHCP-acquired IP address of outside
interface. For more information about the global command, see the global command page in the
Cisco PIX Firewall Command Reference.
The ip address dhcp command enables the DHCP client feature on the outside PIX Firewall interface.
The optional setroute argument tells the PIX Firewall to set the default route using the default gateway
parameter the DHCP server returns. If the setroute argument is configured, the show route command
displays the default route set by the DHCP server.
Note Do not configure the PIX Firewall with a default route when using the setroute argument
of the ip address dhcp command.
To release and renew the DHCP lease from the PIX Firewall, reenter the ip address command, as
follows:
ip address outside dhcp [setroute] [retry retry_cnt]
Replace retry-cnt with the number of times the request should be issued before terminating. To clear the
DHCP default route, use the clear route static command.
Note The clear ip command can be also used to release and renew the DHCP lease, but this clears the
configuration of every PIX Firewall interface.
This chapter provides information about using IP Security Protocol (IPSec), Internet Key Exchange
(IKE), and certification authority (CA) technology with the PIX Firewall.
This chapter includes the following sections:
• How IPSec Works
• Internet Key Exchange (IKE)
• Using Certification Authorities
• Configuring IPSec
• Manual Configuration of SAs
• Viewing IPSec Configuration
• Clearing SAs
IKE Overview
IKE is a protocol used by IPSec for completion of Phase 1. IKE negotiates and assigns SAs for each
IPSec peer, which provide a secure channel for the negotiation of the IPSec SAs in Phase 2. IKE provides
the following benefits:
• Eliminates the need to manually specify all the IPSec security parameters at both peers
• Lets you specify a lifetime for the IKE SAs
• Allows encryption keys to change during IPSec sessions
• Allows IPSec to provide anti-replay services
• Enables CA support for a manageable, scalable IPSec implementation
• Allows dynamic authentication of peers
IKE negotiations must be protected, so each IKE negotiation begins by each peer agreeing on a common
(shared) IKE policy. This policy states the security parameters that will be used to protect subsequent
IKE negotiations. After the two peers agree upon a policy, the security parameters of the policy are
identified by an SA established at each peer, and these SAs apply to all subsequent IKE traffic during
the negotiation.
There are five parameters to define in each IKE policy. These parameters apply to the IKE negotiations
when the IKE SA is established. Table 6-1 provides the five IKE policy keywords and their permitted
values.
There is an implicit trade-off between security and performance when you choose a specific value for
each parameter. The level of security provided by the default values is adequate for the security
requirements of most organizations. If you are interoperating with a peer that supports only one of the
values for a parameter, your choice is limited to the other peer’s supported value.
You can create multiple IKE policies, each with a different combination of parameter values. For each
policy that you create, you assign a unique priority (1 through 65,534, with 1 being the highest priority).
If you do not configure any policies, your PIX Firewall will use the default policy, which is always set
to the lowest priority, and which contains each parameter’s default value. If you do not specify a value
for a specific parameter, the default value is assigned.
When the IKE negotiation begins, the peer that initiates the negotiation will send all its policies to the
remote peer, and the remote peer will try to find a match. The remote peer checks each of its policies in
order of its priority (highest priority first) until a match is found.
A match is made when both policies from the two peers contain the same encryption, hash,
authentication, and Diffie-Hellman parameter values, and when the remote peer’s policy specifies a
lifetime less than or equal to the lifetime in the policy being compared. If the lifetimes are not identical,
the shorter lifetime—from the remote peer’s policy—will be used. If no acceptable match is found, IKE
refuses negotiation and the IKE SA will not be established.
Configuring IKE
To enable and configure IKE, perform the following steps:
Note If you do not specify a value for a given policy parameter, the default value is assigned.
Step 1 Identify the policy to create. Each policy is uniquely identified by the priority number you assign.
isakmp policy priority
For example:
isakmp policy 20 …
For example:
isakmp policy 20 encryption des
For example:
isakmp policy 20 hash md5
For example:
isakmp policy 20 authentication rsa-sig
For further information about the two authentication methods, refer to the following sections:
• “Using IKE with Pre-Shared Keys”
• “Using Certification Authorities”
Step 5 Specify the Diffie-Hellman group identifier:
isakmp policy priority group 1 | 2
For example:
isakmp policy 20 group 2
For example:
isakmp policy 20 lifetime 5000
The following example shows two policies with policy 20 as the highest priority, policy 30 as the next
priority, and the existing default policy as the lowest priority:
isakmp policy 20 encryption des
isakmp policy 20 hash md5
isakmp policy 20 authentication rsa-sig
isakmp policy 20 group 2
isakmp policy 20 lifetime 5000
In this example, the encryption des of policy 20 would not appear in the written configuration because
this is the default for the encryption algorithm parameter.
Step 7 (Optional) View all existing IKE policies:
show isakmp policy
The following is an example of the output after the policies 20 and 30 in the previous example were
configured:
Protection suite priority 20
encryption algorithm: DES - Data Encryption Standard (56 bit keys)
hash algorithm: Message Digest 5
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #2 (1024 bit)
lifetime: 5000 seconds, no volume limit
Protection suite priority 30
encryption algorithm: DES - Data Encryption Standard (56 bit keys)
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 10000 seconds, no volume limit
Default protection suite
encryption algorithm: DES - Data Encryption Standard (56 bit keys)
hash algorithm: Secure Hash Standard
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds, no volume limit
Note Although the output shows “no volume limit” for the lifetimes, you can currently only configure
a time lifetime (such as 86,400 seconds) with IKE; volume limit lifetimes are not currently
configurable.
Disabling IKE
To disable IKE, you must make these concessions at the peers:
• All the IPSec security associations are manually specified in the crypto maps at all peers.
• IPSec security associations will never time out for a given IPSec session.
• The encryption keys never change during IPSec sessions between peers.
• Anti-replay services will not be available between the peers.
• CA support cannot be used.
To disable IKE, use the following command:
no crypto isakmp enable interface-name
For example:
no crypto isakmp enable outside
For example:
hostname mypixfirewall
For example:
domain-name example.com
Replace keystring with the password string that the PIX Firewall and its peer will use for authentication
Replace peer-address with the remote peer’s IP address.
For example:
isakmp key 1234567890 address 192.168.1.100
Note Netmask lets you configure a single key to be shared among multiple peers. You would use the
netmask of 0.0.0.0. However, we strongly recommend using a unique key for each peer.
Note The pre-shared key should be configured at both the PIX Firewall and its peer, otherwise the
policy cannot be used. Configure a pre-shared key associated with a given security gateway to
be distinct from a wildcard, pre-shared key (pre-shared key plus a netmask of 0.0.0.0) used to
identify and authenticate the remote VPN clients.
CA Overview
Certification authorities (CAs) are responsible for managing certificate requests and issuing digital
certificates. A digital certificate contains information that identifies a user or device, such as a name,
serial number, company, department, or IP address. A digital certificate also contains a copy of the
entity’s public key. A CA can be a trusted third party, such as VeriSign, or a private (in-house) CA that
you establish within your organization.
Supported CA Servers
Currently, the PIX Firewall supports the following CA servers:
• VeriSign support is provided through the VeriSign Private Certificate Services (PCS) and the OnSite
service, which lets you establish an in-house CA system for issuing digital certificates.
• Entrust, Entrust VPN Connector, version 4.1 (build 4.1.0.337) or higher. The Entrust CA server is
an in-house CA server solution.
• Baltimore Technologies, UniCERT Certificate Management System, version 3.1.2 or higher. The
Baltimore CA server is an in-house CA server solution.
• Microsoft Windows 2000, specifically the Windows 2000 Advanced Server, version 5.00.2195 or
higher. The Windows 2000 CA server is an in-house CA server solution.
Note The Microsoft CA must be a standalone root CA, not subordinated, or it will be rejected and a syslog
CRYPTO_PKI: WARNING message will be entered. Example: CRYPTO_PKI: WARNING: A
certificate chain could not be constructed while selecting certificate status.
Note You need to have a CA available to your network before you configure CA. The CA should support
Cisco’s PKI protocol, the simple certificate enrollment protocol.
When certificates are revoked, they are added to a certificate revocation list (CRL). When you implement
authentication using certificates, you can choose to use CRLs or not. Using CRLs lets you easily revoke
certificates before they expire, but the CRL is generally only maintained by the CA or its authorized
registration authority (RA). If you are using CRLs and the connection to the CA or RA is not available
when authentication is requested, the authentication request will fail.
Note Be sure that the PIX Firewall clock is set to GMT, month, day, and year before configuring CA.
Otherwise, the CA may reject or allow certificates based on an incorrect timestamp. Cisco’s PKI protocol
uses the clock to make sure that a CRL is not expired. The lifetime of a certificate and CRL is checked
in GMT time. If you are using IPSec with certificates, set the PIX Firewall clock to GMT to ensure that
CRL checking works correctly.
Follow these steps to enable your PIX Firewall to interoperate with a CA and obtain your PIX Firewall
certificate(s).
For example:
hostname mypixfirewall
For example:
domain-name example.com
For example:
ca generate rsa key 512
In this example, one general purpose RSA key pair is to be generated. The other option is to generate
two special-purpose keys. The selected size of the key modulus is 512.
Step 4 (Optional) View your RSA key pair(s):
show ca mypubkey rsa
The following is sample output from the show ca mypubkey rsa command:
show ca mypubkey rsa
For example:
ca identity myca.example.com 209.165.202.130
In this example, 209.165.202.130 is the IP address of the CA. The CA name is myca.example.com.
Note The CA may require a particular name for you to use, such as its domain name. When using
VeriSign as your CA, VeriSign assigns the CA name you are to use in your CA configuration.
Step 6 Configure the parameters of communication between the PIX Firewall and the CA:
ca configure ca_nickname ca | ra retry_period retry_count [crloptional]
For example:
ca configure myca.example.com ca 1 20 crloptional
If the PIX Firewall does not receive a certificate from the CA within 1 minute (the default) of sending a
certificate request, it will resend the certificate request. The PIX Firewall will continue sending a
certificate request every 1 minute until a certificate is received or until 20 requests have been sent. With
the keyword crloptional included within the command statement, other peer’s certificates can still be
accepted by your PIX Firewall even if the CRL is not accessible to your PIX Firewall.
Step 7 Authenticate the CA by obtaining its public key and its certificate:
For example:
ca authenticate myca.example.com 0123 4567 89AB CDEF 0123
The fingerprint (0123 4567 89AB CDEF 0123 in the example) is optional and is used to authenticate the
CA’s public key within its certificate. The PIX Firewall will discard the CA certificate if the fingerprint
that you included in the command statement is not equal to the fingerprint within the CA’s certificate.
You also have the option to manually authenticate the public key by simply comparing the two
fingerprints after you receive the CA’s certificate rather than entering it within the command statement.
Note Depending on the CA you are using, you may need to ask your local CA administrator for this
fingerprint.
Step 8 Request signed certificates from your CA for all of your PIX Firewall’s RSA key pairs. Before entering
this command, contact your CA administrator because they must authenticate your PIX Firewall
manually before granting its certificate(s).
ca enroll ca_nickname challenge_password [serial] [ipaddress]
For example:
ca enroll myca.example.com mypassword1234567 serial ipaddress
The keyword mypassword1234567 in the example is a password, which is not saved with the
configuration. The options “serial” and “ipaddress” are included, which indicates the PIX Firewall unit’s
serial number and IP address will be included in the signed certificate.
Note The password is required in the event your certificate needs to be revoked, so it is crucial that
you remember this password. Note it and store it in a safe place.
The ca enroll command requests as many certificates as there are RSA key pairs. You will only need to
perform this command once, even if you have special usage RSA key pairs.
Note If your PIX Firewall reboots after you issued the ca enroll command but before you received the
certificate(s), reissue the command and notify the CA administrator.
Step 9 Verify that the enrollment process was successful using the show ca certificate command:
show ca certificate
The following is sample output from the show ca certificate command including a PIX Firewall general
purpose certificate and the RA and CA public-key certificates:
Subject Name
Name: mypixfirewall.example.com
IP Address: 192.150.50.110
Status: Available
Certificate Serial Number: 36f97573
Key Usage: General Purpose
RA Signature Certificate
Status: Available
Certificate Serial Number: 36f972f4
Key Usage: Signature
CA Certificate
Status: Available
Certificate Serial Number: 36f972e5
Key Usage: Not Set
RA KeyEncipher Certificate
Status: Available
Certificate Serial Number: 36f972f3
Key Usage: Encryption
Configuring IPSec
This section provides background information about IPSec and describes the procedures required to
configure the PIX Firewall when using IPSec to implement a VPN. It contains the following topics:
• IPSec Overview
• Transform Sets
• Crypto Maps
• Applying Crypto Maps to Interfaces
• Access Lists
• IPSec SA Lifetimes
• Basic IPSec Configuration
• Using Dynamic Crypto Maps
• Site-to-Site Redundancy
IPSec Overview
IPSec tunnels are sets of security associations that are established between two remote IPSec peers. The
security associations define which protocols and algorithms should be applied to sensitive packets, and
also specify the keying material to be used by the two peers. IPSec SAs are used during the actual
transmission of user traffic. SAs are unidirectional and are established separately for different security
protocols (AH and/or ESP). IPSec SAs can be established in two ways:
• Manual SAs with Pre-Shared Keys —The use of manual IPSec SAs requires a prior agreement
between administrators of the PIX Firewall and the IPSec peer. There is no negotiation of SAs, so
the configuration information in both systems should be the same for traffic to be processed
successfully by IPSec.
• IKE-Established SAs—When IKE is used to establish IPSec SAs, the peers can negotiate the
settings they will use for the new security associations. This means that you can specify lists (such
as lists of acceptable transforms) within the crypto map entry.
The PIX Firewall can simultaneously support manual and IKE-established security associations.
Transform Sets
A transform set represents a certain combination of security protocols and algorithms. During the IPSec
security association negotiation, the peers agree to use a particular transform set for protecting a
particular data flow.
You can specify multiple transform sets, and then specify one or more of these transform sets in a crypto
map entry. The transform set defined in the crypto map entry will be used in the IPSec security
association negotiation to protect the data flows specified by that crypto map entry’s access list.
During IPSec security association negotiations with IKE, the peers search for a transform set that is the
same at both peers. When such a transform set is found, it is selected and will be applied to the protected
traffic as part of both peers’ IPSec security associations. With manually established security
associations, there is no negotiation with the peer, so both sides have to specify the same transform set.
If you change a transform set definition, the change will not be applied to existing security associations,
but will be used in subsequent negotiations to establish new security associations. If you want the new
settings to take effect sooner, clear all or part of the security association database by using the clear
[crypto] ipsec sa command. See “Clearing SAs” for further information.
Crypto Maps
Crypto maps specify IPSec policy. Crypto map entries created for IPSec pull together the various parts
used to set up IPSec security associations, including the following:
• Which traffic should be protected by IPSec (per a crypto access list)
• Where IPSec-protected traffic should be sent (who the peer is)
• The local address to be used for the IPSec traffic (See “Applying Crypto Maps to Interfaces” for
more details.)
• What IPSec security should be applied to this traffic (selecting from a list of one or more transform
sets)
• Whether security associations are manually established or are established via IKE
• Other parameters that might be necessary to define an IPSec SA
Crypto map entries with the same crypto map name (but different map sequence numbers) are grouped
into a crypto map set. Later, you will apply these crypto map sets to interfaces; then, all IP traffic passing
through the interface is evaluated against the applied crypto map set. If a crypto map entry sees outbound
IP traffic that should be protected and the crypto map specifies the use of IKE, a security association is
negotiated with the peer according to the parameters included in the crypto map entry; otherwise, if the
crypto map entry specifies the use of manual security associations, a security association should have
already been established via configuration. (If a dynamic crypto map entry sees outbound traffic that
should be protected and no security association exists, the packet is dropped.)
The policy described in the crypto map entries is used during the negotiation of security associations. If
the local PIX Firewall initiates the negotiation, it will use the policy specified in the static crypto map
entries to create the offer to be sent to the specified peer. If the peer initiates the negotiation, the
PIX Firewall will check the policy from the static crypto map entries, as well as any referenced dynamic
crypto map entries to decide whether to accept or reject the peer’s request (offer).
For IPSec to succeed between two peers, both peers’ crypto map entries have to contain compatible
configuration statements.
When two peers try to establish a security association, they should each have at least one crypto map
entry that is compatible with one of the other peer’s crypto map entries. For two crypto map entries to
be compatible, they should, at a minimum, meet the following criteria:
• The crypto map entries contain compatible crypto access lists (for example, mirror image access
lists). In the case where the responding peer is using dynamic crypto maps, the entries in the
PIX Firewall crypto access list must be “permitted” by the peer’s crypto access list.
• The crypto map entries each identify the other peer (unless the responding peer is using dynamic
crypto maps).
• The crypto map entries have at least one transform set in common.
You can apply only one crypto map set to a single interface. The crypto map set can include a
combination of IPSec/IKE and IPSec/manual entries.
If you create more than one crypto map entry for a given interface, use the seq-num of each map entry
to rank the map entries: the lower the seq-num, the higher the priority. At the interface that has the crypto
map set, traffic is evaluated against higher priority map entries first.
Create multiple crypto map entries for a given PIX Firewall interface, if any of the following conditions
exist:
• If different data flows are to be handled by separate peers.
• If you want to apply different IPSec security to different types of traffic (to the same or separate
peers); for example, if you want traffic between one set of subnets to be authenticated, and traffic
between another set of subnets to be both authenticated and encrypted. In this case, the different
types of traffic should have been defined in two separate access lists, and you create a separate
crypto map entry for each crypto access list.
• If you are configuring manual SAs to establish a particular set of IPSec security associations, and
want to specify multiple access list entries, create separate access lists (one per permit entry) and
specify a separate crypto map entry for each access list.
Note Binding a crypto map to an interface will also initialize the run-time data structures, such as the security
association database and the security policy database. If the crypto map is modified in any way,
reapplying the crypto map to the interface will resynchronize the various run-time data structures with
the crypto map configuration. In addition, any existing connections will be torn down and will be
reestablished after the new crypto map is triggered.
Access Lists
By default, IPSec and all packets that traverse the PIX Firewall are subjected to blocking as specified by
inbound conduit, outbound list, or interface access lists. To enable IPSec packets to traverse the
PIX Firewall, ensure that you have statements in conduits, outbound lists, or interface access lists that
permit the packets. Optionally, the sysopt connection permit-ipsec command can be configured to
enable IPSec packets to bypass the conduit, outbound list, and interface access list blocking.
Note The sysopt connection permit-ipsec command enables packets that have been processed by IPSec to
bypass the conduit, outbound list, and interface access list checks.
IPSec packets that are destined to an IPSec tunnel are selected by the crypto map access list bound to
the outgoing interface. IPSec packets that arrive from an IPSec tunnel are authenticated/deciphered by
IPSec, and are subjected to the proxy identity match of the tunnel.
Crypto access lists are used to define which IP traffic will be protected by crypto and which traffic will
not be protected by crypto. For example, access lists can be created to protect all IP traffic between
Subnet A and Subnet Y or between Host A and Host B. (These access lists are similar to access lists used
with the access-group command. With the access-group command, the access list determines which
traffic to forward or block at an interface.)
The access lists themselves are not specific to IPSec. It is the crypto map entry referencing the specific
access list that defines whether IPSec processing is applied to the traffic matching a permit in the access
list.
Crypto access lists associated with IPSec crypto map entries have four primary functions:
• Select outbound traffic to be protected by IPSec (permit = protect).
• Indicate the data flow to be protected by the new security associations (specified by a single permit
entry) when initiating negotiations for IPSec security associations.
• Process inbound traffic to filter out and discard traffic that should have been protected by IPSec.
• Determine whether or not to accept requests for IPSec security associations on behalf of the
requested data flows when processing IKE negotiation from the peer. (Negotiation is only done for
ipsec-isakmp crypto map entries.) For the peer’s request to be accepted during negotiation, the peer
should specify a data flow that is “permitted” by a crypto access list associated with an
ipsec-isakmp crypto map command entry.
If you want certain traffic to receive one combination of IPSec protection (for example, authentication
only) and other traffic to receive a different combination of IPSec protection (for example, both
authentication and encryption), you must create two different crypto access lists to define the two
different types of traffic. These different access lists are then used in different crypto map entries which
specify different IPSec policies.
Using the permit keyword causes all IP traffic that matches the specified conditions to be protected by
crypto, using the policy described by the corresponding crypto map entry. Using the deny keyword
prevents traffic from being protected by crypto IPSec in the context of that particular crypto map entry.
(In other words, it does not allow the policy as specified in this crypto map entry to be applied to this
traffic.) If this traffic is denied in all the crypto map entries for that interface, the traffic is not protected
by crypto IPSec.
The crypto access list you define will be applied to an interface after you define the corresponding crypto
map entry and apply the crypto map set to the interface. Different access lists should be used in different
entries of the same crypto map set. However, both inbound and outbound traffic will be evaluated against
the same “outbound” IPSec access list.
Therefore, the access list’s criteria are applied in the forward direction to traffic exiting your
PIX Firewall, and the reverse direction to traffic entering your PIX Firewall. In Figure 6-1, IPSec
protection is applied to traffic between Host 10.0.0.1 and Host 10.2.2.2 as the data exits PIX Firewall
A’s outside interface toward Host 10.2.2.2. For traffic from Host 10.0.0.1 to Host 10.2.2.2, the access list
entry on PIX Firewall A is evaluated as follows:
source = host 10.0.0.1
dest = host 10.2.2.2
For traffic from Host 10.2.2.2 to Host 10.0.0.1, that same access list entry on PIX Firewall A is evaluated
as follows:
source = host 10.2.2.2
dest = host 10.0.0.1
Figure 6-1 How Crypto Access Lists Are Applied for Processing IPSec
IPSec peers
Host
Internet 10.2.2.2
Host outside outside
10.0.0.1 PIX Firewall A PIX Firewall B
34791
IPSec Access List at "outside" interface:
access-list 101 permit ip host 10.0.0.1 host 10.2.2.2
IPSec Access List at "outside" interface:
access-list 111 permit ip host 10.2.2.2 host 10.0.0.1
If you configure multiple statements for a given crypto access list that is used for IPSec, in general the
first permit statement that is matched will be the statement used to determine the scope of the IPSec
security association. That is, the IPSec security association will be set up to protect traffic that meets the
criteria of the matched statement only. Later, if traffic matches a different permit statement of the crypto
access list, a new, separate IPSec security association will be negotiated to protect traffic matching the
newly matched access list statement.
Any unprotected inbound traffic that matches a permit entry in the crypto access list for a crypto map
entry flagged as IPSec will be dropped because this traffic was expected to be protected by IPSec.
Access lists for crypto map entries tagged as ipsec-manual are restricted to a single permit entry and
subsequent entries are ignored. In other words, the security associations established by that particular
crypto map entry are only for a single data flow. To support multiple manually established security
associations for different kinds of traffic, define multiple crypto access lists, and apply each one to a
separate ipsec-manual crypto map command entry. Each access list should include one permit
statement defining which traffic to protect.
Note If you clear or delete the last element from an access list, the crypto map references to the destroyed
access list are also removed.
If you modify an access list that is currently referenced by one or more crypto map entries, the run-time
security association database will need to be re initialized using the crypto map interface command.
See the crypto map command page for more information.
We recommend that for every crypto access list specified for a static crypto map entry that you define at
the local peer, you define a “mirror image” crypto access list at the remote peer. This ensures that traffic
that has IPSec protection applied locally can be processed correctly at the remote peer. (The crypto map
entries themselves should also support common transforms and refer to the other system as a peer.)
When you create crypto access lists, using the any keyword could cause problems. We discourage the
use of the any keyword to specify source or destination addresses.
The permit any any command statement is strongly discouraged, as this will cause all outbound traffic
to be protected (and all protected traffic sent to the peer specified in the corresponding crypto map entry)
and will require protection for all inbound traffic. Then, all inbound packets that lack IPSec protection
will be silently dropped.
You must be sure that you define which packets to protect. If you use the any keyword in a permit
command statement, preface that statement with a series of deny command statements to filter out any
traffic (that would otherwise fall within that permit command statement) that you do not want to be
protected.
IPSec SA Lifetimes
You can change the global lifetime values that are used when negotiating new IPSec security
associations. (These global lifetime values can be overridden for a particular crypto map entry.)
These lifetimes only apply to security associations established via IKE. Manually established security
associations do not expire.
There are two lifetimes: a “timed” lifetime and a “traffic-volume” lifetime. A security association
expires after the respective lifetime is reached and negotiations will be initiated for a new one. The
default lifetimes are 28,800 seconds (eight hours) and 4,608,000 kilobytes (10 megabytes per second for
one hour).
If you change a global lifetime, the new lifetime value will not be applied to currently existing security
associations, but will be used in the negotiation of subsequently established security associations. If you
wish to use the new values immediately, you can clear all or part of the security association database.
See the clear [crypto] ipsec sa command for more information within the crypto ipsec command page
of Cisco PIX Firewall Command Reference.
IPSec security associations use one or more shared secret keys. These keys and their security
associations time out together.
Assuming that the particular crypto map entry does not have lifetime values configured, when the
PIX Firewall requests new security associations it will specify its global lifetime values in the request to
the peer; it will use this value as the lifetime of the new security associations. When the PIX Firewall
receives a negotiation request from the peer, it will use the smaller of either the lifetime value proposed
by the peer or the locally configured lifetime value as the lifetime of the new security associations.
The security association (and corresponding keys) will expire according to whichever occurs sooner,
either after the seconds time out or after the kilobytes amount of traffic is passed.
A new security association is negotiated before the lifetime threshold of the existing security association
is reached to ensure that a new security association is ready for use when the old one expires. The new
security association is negotiated either 30 seconds before the seconds lifetime expires or when the
volume of traffic through the tunnel reaches 256 kilobytes less than the kilobytes lifetime (whichever
occurs first).
If no traffic has passed through the tunnel during the entire life of the security association, a new security
association is not negotiated when the lifetime expires. Instead, a new security association will be
negotiated only when IPSec sees another packet that should be protected.
For example:
access-list 101 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
In this example, the permit keyword causes all traffic that matches the specified conditions to be
protected by crypto.
Step 2 Configure a transform set that defines how the traffic will be protected. You can configure multiple
transform sets, and then specify one or more of these transform sets in a crypto map entry (Step 3d).
crypto ipsec transform-set transform-set-name transform1 [transform2, transform3]
For example:
crypto ipsec transform-set myset1 esp-des esp-sha-hmac
crypto ipsec transform-set myset2 ah-sha-hmac esp-3des esp-sha-hmac
In this example, “myset1” and “myset2” are the names of the transform sets. “myset1” has two
transforms defined, while “myset2” has three transforms defined.
Step 3 Create a crypto map entry by performing the following steps:
a. Create a crypto map entry in IPSec ISAKMP mode:
crypto map map-name seq-num ipsec-isakmp
For example:
crypto map mymap 10 ipsec-isakmp
In this example, “mymap” is the name of the crypto map set. The map set’s sequence number is 10,
which is used to rank multiple entries within one crypto map set. The lower the sequence number,
the higher the priority.
For example:
crypto map mymap 10 match address 101
For example:
crypto map mymap 10 set peer 192.168.1.100
The security association will be set up with the peer having an IP address of 192.168.1.100. Specify
multiple peers by repeating this command.
d. Specify which transform sets are allowed for this crypto map entry. List multiple transform sets in
order of priority (highest priority first). You can specify up to six transform sets.
crypto map map-name seq-num set transform-set transform-set-name1
[transform-set-name2, …transform-set-name6]
For example:
crypto map mymap 10 set transform-set myset1 myset2
In this example, when traffic matches access list 101, the security association can use either
“myset1” (first priority) or “myset2” (second priority) depending on which transform set matches
the peer’s transform set.
e. (Optional) Specify security association lifetime for the crypto map entry, if you want the security
associations for this entry to be negotiated using different IPSec security association lifetimes other
than the global lifetimes.
crypto map map-name seq-num set security-association lifetime {seconds seconds |
kilobytes kilobytes}
For example:
crypto map mymap 10 set security-association lifetime seconds 2700
This example shortens the timed lifetime for the crypto map “mymap 10” to 2700 seconds
(45 minutes). The traffic volume lifetime is not changed.
f. (Optional) Specify that IPSec should ask for perfect forward secrecy (PFS) when requesting new
security associations for this crypto map entry, or should require PFS in requests received from the
peer:
crypto map map-name seq-num set pfs [group1 | group2]
For example:
crypto map mymap 10 set pfs group2
This example specifies that PFS should be used whenever a new security association is negotiated
for the crypto map “mymap 10.” The 1024-bit Diffie-Hellman prime modulus group will be used
when a new security association is negotiated using the Diffie-Hellman exchange.
Step 4 Apply a crypto map set to an interface on which the IPSec traffic will be evaluated:
crypto map map-name interface interface-name
For example:
crypto map mymap interface outside
In this example, the PIX Firewall will evaluate the traffic going through the outside interface against the
crypto map “mymap” to determine whether it needs to be protected.
Step 5 Specify that IPSec traffic be implicitly trusted (permitted):
sysopt connection permit-ipsec
Note Only the transform-set parameter is required to be configured within each dynamic crypto map entry.
A dynamic crypto map set is included by reference as part of a crypto map set. Any crypto map entries
that reference dynamic crypto map sets should be the lowest priority crypto map entries in the crypto
map set (that is, have the highest sequence numbers) so that the other crypto map entries are evaluated
first; that way, the dynamic crypto map set is examined only when the other (static) map entries are not
successfully matched.
If the PIX Firewall accepts the peer’s request at the point that it installs the new IPSec security
associations, it also installs a temporary crypto map entry. This entry is filled in with the results of the
negotiation. At this point, the PIX Firewall performs normal processing, using this temporary crypto
map entry as a normal entry, even requesting new security associations if the current ones are expiring
(based upon the policy specified in the temporary crypto map entry). Once the flow expires (that is, all
the corresponding security associations expire), the temporary crypto map entry is then removed.
Dynamic crypto map entries, like regular static crypto map entries, are grouped into sets. A set is a group
of dynamic crypto map entries all with the same dynamic-map-name but each with a different
dynamic-seq-num. If this is configured, the data flow identity proposed by the IPSec peer should fall
within a permit statement for this crypto access list. If this is not configured, the PIX Firewall will
accept any data flow identity proposed by the peer.
You can add one or more dynamic crypto map sets into a crypto map set via crypto map entries that
reference the dynamic crypto map sets. You should set the crypto map entries referencing dynamic maps
to be the lowest priority entries in a crypto map set (that is, use the highest sequence numbers).
Note Use care when using the any keyword in permit entries in dynamic crypto maps. If it is possible for the
traffic covered by such a permit entry to include multicast or broadcast traffic, the access list should
include deny entries for the appropriate address range. Access lists should also include deny entries for
network and subnet broadcast traffic, and for any other traffic that should not be IPSec protected.
The procedure for using a crypto dynamic map entry is the same as the basic configuration described in
“Basic IPSec Configuration,” except that instead of creating a static crypto map entry, you create a
crypto dynamic map entry. You can also combine static and dynamic map entries within a single crypto
map set.
Create a crypto dynamic map entry by performing the following steps:
In this example, access list 101 is assigned to dynamic crypto map “dyn1.” The map’s sequence number
is 10.
Step 2 Specify which transform sets are allowed for this dynamic crypto map entry. List multiple transform sets
in order of priority (highest priority first).
crypto dynamic-map dynamic-map-name dynamic-seq-num set transform-set transform-set-name1,
[transform-set-name2, …transform-set-name9]
For example:
crypto dynamic-map dyn 10 set transform-set myset1 myset2
In this example, when traffic matches access list 101, the security association can use either “myset1”
(first priority) or “myset2” (second priority) depending on which transform set matches the peer’s
transform sets.
Step 3 Specify security association lifetime for the crypto dynamic map entry, if you want the security
associations for this entry to be negotiated using different IPSec security association lifetimes other than
the global lifetimes:
crypto dynamic-map dynamic-map-name dynamic-seq-num set security-association lifetime
{seconds seconds | kilobytes kilobytes}
For example:
crypto dynamic-map dyn1 10 set security-association lifetime 2700
This example shortens the timed lifetime for dynamic crypto map “dyn1 10” to 2700 seconds
(45 minutes). The time volume lifetime is not changed.
Step 4 Specify that IPSec should ask for PFS when requesting new security associations for this dynamic crypto
map entry, or should demand PFS in requests received from the peer:
crypto dynamic-map dynamic-map-name dynamic-seq-num set pfs [group1 | group2]
For example:
crypto dynamic-map dyn1 10 set pfs group1
Step 5 Add the dynamic crypto map set into a static crypto map set.
Be sure to set the crypto map entries referencing dynamic maps to be the lowest priority entries (highest
sequence numbers) in a crypto map set.
crypto map map-name seq-num ipsec-isakmp dynamic dynamic-map-name
For example:
crypto map mymap 200 ipsec-isakmp dynamic dyn1
Site-to-Site Redundancy
You can define multiple peers by using crypto maps to allow for redundancy. This configuration is also
most useful for site-to-site VPNs. If one peer fails, there will still be a protected path. The peer that
packets are actually sent to is determined by the last peer that the PIX Firewall heard from (received
either traffic or a negotiation request from) for a given data flow. If the attempt fails with the first peer,
IKE tries the next peer on the crypto map list.
For example:
access-list 101 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
In this example, the permit keyword causes all traffic that matches the specified conditions to be
protected by crypto.
Step 2 Configure a transform set that defines how the traffic will be protected. You can configure multiple
transform sets, and then specify one or more of these transform sets in a crypto map entry (Step 4d).
crypto ipsec transform-set transform-set-name transform1 [transform2, transform3]
For example:
crypto ipsec transform-set myset1 esp-des esp-sha-hmac
crypto ipsec transform-set myset2 ah-sha-hmac esp-3des esp-sha-hmac
In this example, “myset1” and “myset2” are the names of the transform sets. “myset1” has two
transforms defined, while “myset2” has three transforms defined.
Step 3 Create a crypto map entry by performing the following steps:
a. Create a crypto map entry in IPSec manual configuration mode:
crypto map map-name seq-num ipsec-manual
For example:
crypto map mymap 10 ipsec-manual
In this example, “mymap” is the name of the crypto map set. The map set’s sequence number is 10,
which is used to rank multiple entries within one crypto map set. The lower the sequence number,
the higher the priority.
b. Assign an access list to a crypto map entry:
crypto map map-name seq-num match address access-list-name
For example:
crypto map mymap 10 match address 101
For example:
crypto map mymap 10 set peer 192.168.1.100
The security association will be set up with the peer having an IP address of 192.168.1.100. Specify
multiple peers by repeating this command.
d. Specify which transform sets are allowed for this crypto map entry. List multiple transform sets in
order of priority (highest priority first). You can specify up to six transform sets.
crypto map map-name seq-num set transform-set transform-set-name1
[transform-set-name2, …transform-set-name6]
For example:
crypto map mymap 10 set transform-set myset1 myset2
In this example, when traffic matches access list 101, the security association can use either
“myset1” (first priority) or “myset2” (second priority) depending on which transform set matches
the peer’s transform set.
Step 4 If the specified transform set includes the AH protocol (authentication via MD5-HMAC or
SHA-HMAC), set the AH Security Parameter Index (SPI) and key to apply to inbound protected traffic.
If the specified transform set includes only the ESP protocol, skip to Step 6.
crypto map map-name seq-num set session-key inbound ah spi hex-key-data
For example:
crypto map mymaptwo 30 set session-key inbound ah 300
123456789A123456789A123456789A123456789A
In this example, the IPSec session key for AH protocol is specified within crypto map “mymaptwo” to
be used with the inbound protected traffic.
Step 5 Set the AH SPIs and keys to apply to outbound protected traffic:
crypto map map-name seq-num set session-key outbound ah spi hex-key-data
For example:
crypto map mymaptwo 30 set session-key outbound ah 400
123456789A123456789A123456789A123456789A
Step 6 If the specified transform set includes the ESP protocol, set the ESP SPIs and keys to apply to inbound
protected traffic. If the transform set includes an ESP cipher algorithm, specify the cipher keys. If the
transform set includes an ESP authenticator algorithm, specify the authenticator keys.
crypto map map-name seq-num set session-key inbound esp spi cipher hex-key-data
[authenticator hex-key-data]
For example:
crypto map mymaptwo 30 set session-key inbound esp 300 cipher 1234567890123456
authenticator 0000111122223333444455556666777788889999
Step 7 Set the ESP SPIs and keys to apply to outbound protected traffic. If the transform set includes an ESP
cipher algorithm, specify the cipher keys. If the transform set includes an ESP authenticator algorithm,
specify the authenticator keys.
crypto map map-name seq-num set session-key outbound esp spi cipher hex-key-data
[authenticator hex-key-data]
For example:
crypto map mymaptwo 30 set session-key outbound esp 300 cipher abcdefghijklmnop
authenticator 9999888877776666555544443333222211110000
Step 8 Apply a crypto map set to an interface on which the IPSec traffic will be evaluated:
crypto map map-name interface interface-name
For example:
crypto map mymap interface outside
In this example, the PIX Firewall will evaluate the traffic going through the outside interface against the
crypto map “mymap” to determine whether it needs to be protected.
Step 9 Specify that IPSec traffic be implicitly trusted (permitted):
sysopt connection permit-ipsec
Command Purpose
show crypto ipsec transform-set View your transform set configuration.
show crypto map [interface interface-name | tag View your crypto map configuration.
map-name]
show crypto ipsec sa [map map-name | address | View information about IPSec security
identity] [detail] associations.
show crypto dynamic-map [tag map-name] View information about dynamic crypto maps.
show crypto ipsec security-association lifetime View global security association lifetime values.
Clearing SAs
Certain configuration changes will only take effect when negotiating subsequent security associations.
If you want the new settings to take immediate effect, clear the existing security associations so that they
will be re-established with the changed configuration. For manually established security associations,
clear and reinitialize the security associations or the changes will never take effect. If the PIX Firewall
is actively processing IPSec traffic, it is desirable to clear only the portion of the security association
database that would be affected by the configuration changes (that is, clear only the security associations
established by a given crypto map set). Clearing the full security association database should be reserved
for large-scale changes, or when the PIX Firewall is processing a small number of other IPSec traffic.
Table 6-3 lists commands you can use to clear and reinitialize IPSec security associations.
Command Purpose
crypto map map-name interface interface-name Reinitialize the IPSec run-time security
association database and security policy database.
clear [crypto] ipsec sa Clear IPSec security associations.
or Note Using the clear [crypto] ipsec sa
command without parameters will clear
clear [crypto] ipsec sa peer ip-address |
out the full security association database,
peer-name
which will clear out active security
or sessions. You may also specify the peer,
clear [crypto] ipsec sa map map-name map, or entry keywords to clear out only
a subset of the security association
or database. For more information, see the
clear [crypto] ipsec sa entry destination-address clear [crypto] ipsec sa command within
protocol spi the Cisco PIX Firewall Command
Reference.
A site-to-site VPN protects the network resources on your protected networks from unauthorized use by
users on an unprotected network, such as the public Internet. The basic configuration for this type of
implementation has been covered in Chapter 6, “Configuring IPSec and Certification Authorities.” This
chapter provides examples of the following site-to-site VPN configurations:
• Using Pre-Shared Keys
• Using PIX Firewall with a VeriSign CA
• Using PIX Firewall with an In-House CA
• Using an Encrypted Tunnel to Obtain Certificates
• Manual Configuration with NAT
Note Throughout the examples in this chapter, the local PIX Firewall unit is identified as PIX Firewall 1 while
the remote unit is identified as PIX Firewall 2. This designation makes it easier to clarify the
configuration required for each.
Scenario Description
In the example illustrated in Figure 7-1, the intranets use unregistered addresses and are connected over
the public Internet by a site-to-site VPN. In this scenario, NAT is required for connections to the public
Internet. However, NAT is not required for traffic between the two intranets, which can be transmitted
using a VPN tunnel over the public Internet.
Note If you do not need to do VPN tunneling for intranet traffic, you can use this example without the
access-list or the nat 0 access-list commands. These commands disable NAT for traffic that matches the
access list criteria.
If you have a limited number of registered IP addresses and you cannot use PAT, you can configure
PIX Firewall to use NAT for connections to the public Internet, but avoid NAT for traffic between the
two intranets. This configuration might also be useful if you were replacing a direct, leased-line
connection between two intranets.
209.165.201.7 209.165.200.228
209.165.201.8 209.165.200.229
192.168.12.2 10.0.0.2
33351
New York San Jose
The configuration shown for this example uses an access list to exclude traffic between the two intranets
from NAT. The configuration assigns a global pool of registered IP addresses for use by NAT for all other
traffic. By excluding intranet traffic from NAT, you need fewer registered IP addresses.
This access list defines traffic from network 192.168.12.0 to 10.0.0.0. Both of these networks use
unregistered addresses.
Note Steps 5 and 6 are not required if you want to enable NAT for all traffic.
This excludes traffic matching access list 90 from NAT. The nat 0 command is always processed before
any other nat commands.
Step 7 Enable NAT for all other traffic:
nat (inside) 1 0 0
The pool of registered addresses are only used for connections to the public Internet.
Step 9 Define a crypto map:
crypto map toSanJose 20 ipsec-isakmp
crypto map toSanJose 20 match address 90
crypto map toSanJose 20 set transform-set strong
crypto map toSanJose 20 set peer 209.165.200.229
Note In this example, the following statements are not used when enabling NAT for all traffic:
nat 0 access-list 90
access-list 90 permit ip 192.168.12.0 255.255.255.0 10.0.0.0 255.0.0.0
This access list defines traffic from network 10.0.0.0 to 192.168.12.0. Both of these networks use
unregistered addresses.
Note Step 7 and Step 8 are not required if you want to enable NAT for all traffic.
This excludes traffic matching access list 80 from NAT. The nat 0 command is always processed before
any other nat commands.
Step 9 Enable NAT for all other traffic:
nat (inside) 1 0 0
The pool of registered addresses are only used for connections to the public Internet.
Step 11 Define a crypto map:
crypto map newyork 10 ipsec-isakmp
crypto map newyork 10 match address 80
crypto map newyork 10 set transform-set strong
crypto map newyork 10 set peer 209.165.201.8
Note In Example 7-2, the following statements are not used when enabling NAT for all traffic:
nat 0 access-list 80
access-list 80 permit ip 10.0.0.0 255.0.0.0 192.168.12.0 255.255.255.00
Scenario Description
The two VPN peers in the configuration examples are shown to be configured to enroll with VeriSign at
the IP address of 209.165.202.130 and to obtain their CA certificates from this CA server. VeriSign is a
public CA that issues its CA-signed certificates over the Internet. Once each peer obtains its CA-signed
certificate, tunnels can be established between the two VPN peers using digital certificates as the
authentication method used during IKE authentication. The peers dynamically authenticate each other
using the digital certificates.
Note VeriSign’s actual CA server address differs. The example CA server address is to be used for example
purposes only.
For the general procedures to configure the PIX Firewall for a CA, see “Using Certification Authorities”
in Chapter 6, “Configuring IPSec and Certification Authorities.”
This section provides an example configuration for the specific network illustrated in Figure 7-2.
VeriSign CA Server
example.com
209.165.202.130
209.165.201.7 209.165.200.228
209.165.201.8 209.165.200.229
outside outside
192.168.12.2 10.0.0.2
33353
New York San Jose
These commands are stored in the configuration. “2” is the retry period, “20” is the retry count, and the
crloptional option disables CRL checking.
Step 5 Authenticate the CA by obtaining its public key and its certificate:
ca authenticate example.com
“abcdef” is a challenge password. This can be anything. This command is not stored in the configuration.
Step 7 Verify that the enrollment process was successful using the show ca certificate command:
show ca certificate
Step 8 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Step 12 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong esp-3des esp-sha-hmac
Example 7-3 lists the configuration for PIX Firewall 1. PIX Firewall default configuration values and
certain CA commands are not displayed in configuration listings.
Note The following steps are nearly the same as those in the previous section “Configuring PIX Firewall 1
with a VeriSign CA” for configuring PIX Firewall 2. The differences are in Steps 1 and 2, and Steps 11
to 13, which are specific for the PIX Firewall 2 in this example.
Perform the following steps to configure PIX Firewall 2 for using a VeriSign CA:
These commands are stored in the configuration. “2” is the retry period, “20” is the retry count, and the
crloptional option disables CRL checking.
Step 5 Authenticate the CA by obtaining its public key and its certificate:
ca authenticate example.com
Before entering this command, contact your CA administrator because they will have to authenticate
your PIX Firewall manually before granting its certificate.
“abcdef” is a challenge password. This can be anything. This command is not stored in the configuration.
Step 7 Verify that the enrollment process was successful using the following command:
show ca certificate
Step 8 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Step 12 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong esp-3des esp-sha-hmac
Example 7-4 lists the configuration for PIX Firewall 2. PIX Firewall default configuration values and
certain CA commands are not displayed in a configuration listing.
Scenario Description
PIX Firewall supports the use of the following certification authorities (CAs):
• VeriSign support is provided through the VeriSign Private Certificate Services (PCS) and the OnSite
service, which lets you establish an in-house CA system for issuing digital certificates.
• Entrust, Entrust VPN Connector, version 4.1 (build 4.1.0.337) or higher. The Entrust CA server is
an in-house CA server solution.
• Baltimore Technologies, UniCERT Certificate Management System, version 3.1.2 or higher. The
Baltimore CA server is an in-house CA server solution.
• Microsoft Windows 2000, specifically the Windows 2000 Advanced Server, version 5.00.2195 or
higher. The Windows 2000 CA server is an in-house CA server solution.
These are all in-house CA servers, except for VeriSign, which provides both a public CA and a private
CA solution.
Note The example CA server address is to be used for example purposes only.
The in-house CA server in the following example is placed within the DMZ network of one PIX Firewall
network (PIX Firewall 1). The VPN peer, PIX Firewall 2, should enroll and obtain its CA-signed
certificates from the CA server residing within the network of PIX Firewall 1. PIX Firewall 2’s
enrollment and certificate request process is accomplished through the Internet.
The two VPN peers in the configuration examples are shown to be configured to enroll with and obtain
their CA-signed certificates from the Entrust CA server. PIX Firewall 1 will obtain its certificate from
the CA’s local IP address of 10.1.0.2. PIX Firewall 2 will obtain its certificate from the CA’s global IP
address of 209.165.202.131. After each peer obtains its CA-signed certificate, tunnels can be established
between the two VPN peers. The peers dynamically authenticate each other using the digital certificates.
209.165.201.7 209.165.200.228
209.165.201.8 209.165.200.229
DMZ outside outside
10.1.0.1
PIX Firewall 1 PIX Firewall 2
192.168.12.1 10.0.0.1
inside inside
This command is entered at the command line and does not get stored in the configuration.
Step 4 Define CA-related enrollment commands:
ca identity abcd 209.165.202.131 209.165.202.131
ca configure abcd ra 2 20 crloptional
These commands are stored in the configuration. 2 is the retry period, 20 is the retry count, and the
crloptional option disables CRL checking.
Note For a Microsoft CA server, specify the internal network address followed by a colon and the
pathname to the server executable, such as 10.1.0.2:/CERTSRV/mscep/mscep.dll.
Step 5 Authenticate the CA by obtaining its public key and its certificate:
ca authenticate abcd
This command is entered at the command line and does not get stored in the configuration.
Step 6 Request signed certificates from your CA for your PIX Firewall’s RSA key pair:
ca enroll abcd cisco
Before entering this command, contact your CA administrator because they will have to authenticate
your PIX Firewall manually before granting its certificate.
“cisco” is a challenge password. This can be anything. This command is entered at the command line
and does not get stored in the configuration.
Step 7 Verify that the enrollment process was successful using the show ca certificate command:
show ca certificate
Step 8 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Step 10 Permit the host (PIX Firewall 2) to access the global host via LDAP, port 389:
conduit permit tcp host 209.165.202.131 eq 389 209.165.200.229 255.255.255.255
Step 11 Permit the host (PIX Firewall 2) to access the global host via HTTP:
conduit permit tcp host 209.165.202.131 eq http 209.165.200.229 255.255.255.255
Step 13 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong esp-3des esp-sha-hmac
These commands are stored in the configuration. 2 is the retry period, 20 is the retry count, and the
crloptional option disables CRL checking.
Note For a Microsoft CA server, specify the external (global) network address followed by a colon
and the pathname to the server executable, such as 209.165.202.131:/certserv/mscep/mscep.dll.
This command is entered at the command line and does not get stored in the configuration.
Step 6 Get the public key and the certificate of the CA server:
ca authenticate abcd
This command is entered at the command line and does not get stored in the configuration.
Step 7 Contact your CA administrator and send your certificate request:
ca enroll abcd cisco
“cisco” is a challenge password. This can be anything. This command is entered at the command line
and does not get stored in the configuration.
Step 8 Configure supported IPSec transforms:
crypto ipsec transform-set strong esp-3des esp-sha-hmac
Step 9 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Note The example CA server address is to be used for example purposes only.
209.165.201.7 209.165.200.228
209.165.201.8 209.165.200.229
DMZ outside outside
10.1.0.1
PIX Firewall 1 PIX Firewall 2
192.168.12.1 10.0.0.1
inside inside
Step 6 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong esp-3des esp-sha-hmac
This command is entered at the command line and does not get stored in the configuration.
Step 11 Define CA-related enrollment commands:
ca identity abcd 10.1.0.2:/certsrv/mscep/mscep.dll
ca configure abcd ra 1 20 crloptional
Note The ca identity command shown is specific to the Microsoft CA. The ca identity you use
depends on the CA you are using.
Step 12 Get the public key and the certificate of the CA server:
ca authenticate abcd
This command is entered at the command line and does not get stored in the configuration.
Step 13 Contact your CA administrator and send your certificate request:
ca enroll abcd cisco
“cisco” is a challenge password. This can be anything. This command is entered at the
command line and does not get stored in the configuration.
Step 14 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Step 6 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong esp-3des esp-sha-hmac
This command is entered at the command line and does not get stored in the configuration.
Step 11 Define CA-related enrollment commands:
ca identity abcd 10.1.0.2:/certsrv/mscep/mscep.dll
ca configure abcd ra 1 20 crloptional
Note The ca identity command shown is specific to the Microsoft CA. The ca identity you use
depends on the CA you are using.
Step 12 Authenticate the CA by obtaining its public key and its certificate:
ca authenticate abcd
This command is entered at the command line and does not get stored in the configuration.
Step 13 Request signed certificates from your CA for your PIX Firewall’s RSA key pair. Before entering this
command, contact your CA administrator because they will have to authenticate your PIX Firewall
manually before granting its certificate:
ca enroll abcd cisco
“cisco” is a challenge password. This can be anything. This command is entered at the command line
and does not get stored in the configuration.
Step 14 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Step 5 Specify the authentication method of rsa-signatures for the IKE policy:
isakmp policy 8 auth rsa-sig
Step 4 Specify the authentication method of rsa-signatures for the IKE policy:
isakmp policy 8 auth rsa-sig
Note For manual keying, only one access-list permit command statement is permitted in the
configuration.
Step 3 Create the transform set for the crypto command statement entry.
Step 4 Define cryptographic state informations. These include SPI, and the necessary keys for manual keying
and policy negotiation for ISAKMP.
Step 5 Repeat Steps 1-4 for each group of policies.
Step 6 Associate the crypto map command statement with an interface.
names
pager lines 24
no logging timestamp
logging console debugging
logging monitor errors
logging buffered errors
no logging trap
logging facility 20
mtu outside 1500
mtu inside 1500
arp timeout 14400
nat (inside) 1 0 0
global (outside) 1 192.168.1.100-192.168.1.150
static (inside,outside) 192.168.128.3 10.1.1.3 netmask 255.255.255.255 0 0
no rip outside passive
no rip outside default
no rip inside passive
no rip inside default
route outside 0.0.0.0 0.0.0.0 192.168.1.49 1
timeout xlate 3:00:00 conn 1:00:00 half-closed 0:10:00 udp 0:02:00
timeout rpc 0:10:00 h323 0:05:00
timeout uauth 0:05:00 absolute
no snmp-server location
no snmp-server contact
snmp-server community public
no snmp-server enable traps
sysopt connection tcpmss 1380
sysopt connection permit-ipsec
crypto ipsec transform-set myset ah-md5-hmac esp-des
crypto map mymap 10 ipsec-manual
crypto map mymap 10 match address 10
crypto map mymap 10 set peer 192.168.1.100
crypto map mymap 10 set transform-set myset
crypto map mymap 10 set session-key inbound ah 400 123456789A123456789A123456789A12
crypto map mymap 10 set session-key outbound ah 300 123456789A123456789A123456789A12
crypto map mymap 10 set session-key inbound esp 400 cipher abcd1234abcd1234
crypto map mymap 10 set session-key outbound esp 300 cipher abcd1234abcd1234
telnet timeout 5
terminal width 80
crypto map mymap interface outside
Note For manual keying, only one access-list permit command statement is permitted in the
configuration.
Step 3 Create the transform set for the crypto command statement entry.
Step 4 Define cryptographic state informations. These include SPI, and the necessary keys for manual keying
and policy negotiation for ISAKMP.
Step 5 Repeat Steps 1-4 for each group of policies.
This chapter describes PIX Firewall configuration procedures that are specific to implementing remote
access VPNs. It also provides configuration examples using the VPN software clients supported by
PIX Firewall.
PIX Firewall can function as an Easy VPN Server in relation to an Easy VPN Remote device, such as a
PIX 501 or PIX 506/506E, or in relation to Cisco VPN software clients. When used as an Easy VPN
Remote device, the PIX Firewall can push VPN configuration to the VPN client or Easy VPN Remote
device, which greatly simplifies configuration and administration. For information about configuring a
PIX 501 or PIX 506/506E as an Easy VPN Remote device, refer to Chapter 5, “Using PIX Firewall in
SOHO Networks.”
This chapter includes the following sections:
• Supporting Clients with Dynamic Addresses
• Configuring Extended Authentication (Xauth)
• Assigning IP Addresses to VPN Clients with IKE Mode Config
• Cisco VPN 3000 Client Version 2.5/2.6 and Cisco VPN Client Version 3.x
• Cisco Secure VPN Client Version 1.1
• Xauth with RSA Ace/Server and RSA SecurID
• Configuring L2TP with IPSec in Transport Mode
• Windows 2000 Client with IPSec and L2TP
• Using PPTP for Remote Access
Note Use care when using the any keyword in permit command entries in dynamic crypto maps. If it is
possible for the traffic covered by such a permit command entry to include multicast or broadcast traffic,
the access list should include deny command entries for the appropriate address range. Access lists
should also include deny command entries for network and subnet broadcast traffic, and for any other
traffic that should not be IPSec protected.
For more information about configuring dynamic crypto maps, see “Using Dynamic Crypto Maps” in
Chapter 6, “Configuring IPSec and Certification Authorities.”
Overview
The PIX Firewall supports the Extended Authentication (Xauth) feature within the IKE protocol. Xauth
lets you deploy IPSec VPNs using TACACS+ or RADIUS as your user authentication method.
This feature, which is designed for VPN clients, provides user authentication by prompting the user for
username and password and verifies them with the information stored in your TACACS+ or RADIUS
database. Xauth is negotiated between IKE Phase 1 (IKE device authentication phase) and IKE
Phase 2 (IPSec SA negotiation phase). If the Xauth fails, the IPSec security association will not be
established and the IKE security association will be deleted.
Note The IKE Mode Config feature also is negotiated between these IKE Phase 1 and 2. If both features are
configured, Xauth is performed first.
The Xauth feature is optional and is enabled using the crypto map map-name client authentication
aaa-group-tag command. AAA must be configured on the PIX Firewall using the aaa-server group_tag
(if_name) host server_ip key timeout seconds command before Xauth is enabled. Use the same AAA
server name within the aaa-server and crypto map client authentication command statements. See the
aaa-server command and the crypto map command in the Cisco PIX Firewall Command Reference for
more information.
Note The VPN client remote user should be running the Cisco Secure VPN Client version 1.1, Cisco VPN
3000 Client version 2.5/2.6, or Cisco VPN Client version 3.x. We recommend Cisco VPN Client
version 3.x.
For example:
aaa-server TACACS+ (outside) host 10.0.0.2 secret123
This example specifies that the authentication server with the IP address 10.0.0.2 resides on the outside
interface and is in the default TACACS+ server group. The key “secret123” is used between the
PIX Firewall and the TACACS+ server for encrypting data between them.
Step 2 Enable Xauth. Be sure to specify the same AAA server group tag within the crypto map client
authentication command statement as was specified in the aaa-server command statement.
crypto map map-name client authentication aaa-group-tag
For example:
crypto map mymap client authentication TACACS+
In this example, Xauth is enabled at the crypto map “mymap” and the server specified in the TACACS+
group will be used for user authentication.
Step 3 (Optional) Perform this step for each site-to-site VPN peer that shares the same interface as the VPN
client(s) and is configured to use a pre-shared key. This step allows the PIX Firewall to make an
exception to the Xauth feature for the given site-to-site VPN peer.
isakmp key keystring address ip-address [netmask mask] [no-xauth] [no-config-mode]
For example:
isakmp key secretkey1234 address 10.2.2.2 netmask 255.255.255.255 no-xauth
Step 4 (Optional) To make an exception to the Xauth feature for the given site-to-site VPN peer, enter the
following command:
isakmp peer fqdn fqdn [no-xauth] [no-config-mode]
Perform this step for each site-to-site VPN peer that shares the same interface as the VPN client(s) and
is configured to use RSA-signatures.
For example:
isakmp peer fqdn hostname1.example.com no-xauth
Overview
The IKE Mode Configuration (Config) feature allows a security gateway (in this case a PIX Firewall) to
download an IP address (and other network level configuration) to a VPN client peer as part of an IKE
negotiation. Using this exchange, the PIX Firewall gives an IP address to the VPN client to be used as
an “inner” IP address encapsulated under IPSec. This provides a known IP address for a VPN client,
which can be matched against the IPSec policy.
Note If you use IKE Mode Config on the PIX Firewall, the routers handling the IPSec traffic must also support
IKE Mode Config. Cisco IOS Release 12.0(7)T and higher supports IKE Mode Config.
To implement IPSec VPNs between remote access VPN clients with dynamic (or virtual) IP addresses
and a corporate gateway, you must dynamically administer scalable IPSec policy on the gateway once
each client is authenticated. With IKE Mode Config, the gateway can set up scalable policy for a very
large set of clients irrespective of the IP addresses of those clients.
For example:
ip local pool ire 172.16.1.1-172.16.1.254
For example:
isakmp client configuration address-pool local csvc outside
For example:
crypto map mymap client configuration address initiate
Step 4 (Optional) Perform this step for each site-to-site VPN peer that shares the same interface as the VPN
client(s) and is configured to use a pre-shared key. This step allows the PIX Firewall to make an
exception to the IKE Mode Config feature for the given site-to-site VPN peer.
isakmp key keystring address ip-address [no-xauth] [no-config-mode]
For example:
isakmp key secretkey1234 address 10.2.2.2 255.255.255.255 no-config-mode
Step 5 (Optional) Perform this step for each site-to-site VPN peer that shares the same interface as the VPN
client(s) and is configured to use RSA-signatures. This step allows the PIX Firewall to make an
exception to the IKE Mode Config feature for the given site-to-site VPN peer.
isakmp peer fqdn fqdn [no-xauth] [no-config-mode]
For example:
isakmp peer fqdn hostname1.example.com no-config-mode
Example 8-1 shows a PIX Firewall that has been configured to both set IP addresses to clients and to
respond to IP address requests from clients whose packets arrive on the outside interface using dynamic
crypto map without explicitly specifying the peer.
:
crypto ipsec transform-set pc esp-des esp-md5-hmac
:
crypto dynamic-map dyn 10 set transform-set pc
: enable address assignment in crypto map
crypto map dyn client configuration address initiate
crypto map dyn client configuration address respond
:
crypto map dyn 10 ipsec-isakmp dynamic dyn
crypto map dyn interface outside
Cisco VPN 3000 Client Version 2.5/2.6 and Cisco VPN Client
Version 3.x
This section provides examples for configuring the PIX Firewall and Cisco VPN 3000 Client version
2.5/2.6 or the Cisco VPN Client version 3.x. It includes the following topics:
• Cisco VPN Client Overview
• Xauth, RADIUS, IKE Mode Config, and Wildcard, Pre-Shared Key
• Xauth, IKE Mode Config, and Digital Certificates
Note Earlier versions of PIX Firewall cannot establish a VPN tunnel to a client behind a device that performs
address translation. The NAT Traversal feature, introduced in PIX Firewall version 6.3, removes this
restriction when used with Cisco VPN clients version 3.6 or later.
This section provides two examples of how to configure the PIX Firewall and the Cisco VPN 3000 Client
for interoperability. The steps for configuring the Cisco VPN 3000 Client version 2.5/2.6 and the Cisco
VPN Client version 3.x are the same, except where noted.
The first example shows use of the following supported features:
• Extended Authentication (Xauth) for user authentication
• RADIUS authorization for user services authorization
Note If the Cisco Secure VPN Client version 1.1 is already installed on the computer, uninstall it from your
computer and ensure all directories containing this VPN client application are cleared of it before you
install the Cisco VPN 3000 Client version 2.5/2.6 or the Cisco VPN Client version 3.x.
Scenario Description
With the vpngroup command set, you configure the PIX Firewall for a specified group of Cisco VPN
3000 Client users, using the following parameters:
• Group name for a given group of Cisco VPN 3000 Client users.
• Pre-shared key or group password used to authenticate your VPN access to the remote server
(PIX Firewall).
Note This pre-shared key is equivalent to the password that you enter in the Group Password box of
the Cisco VPN 3000 Client while configuring your group access information for a connection
entry.
Note If split tunneling is not enabled, all traffic between the Cisco VPN 3000 Client and the
PIX Firewall will be encrypted.
• (Optional) Inactivity timeout setting for the Cisco VPN 3000 Client. The default is 30 minutes.
On the Cisco VPN 3000 Client, you would configure the vpngroup name and group password to match
that which you configured on the PIX Firewall.
When the Cisco VPN 3000 Client initiates ISAKMP with the PIX Firewall, the VPN group name and
pre-shared key are sent to the PIX Firewall. The PIX Firewall then uses the group name to look up the
configured client policy attributes for the given Cisco VPN 3000 Client and downloads the matching
policy attributes to the client during the IKE negotiation.
Figure 8-1 illustrates the example network.
Router 209.165.200.227
209.165.200.229
PIX
Firewall 192.168.101.1
10.0.0.1
192.168.101.2
AAA Server
partnerauth
10.0.0.14 10.0.0.15
DNS/WINS Server
44311
Note To configure the Cisco VPN Client version 3.x, include the isakmp policy 8 group 2 command
in this step.
Step 4 Create an access list that defines the PIX Firewall local network(s) requiring IPSec protection:
access-list 80 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
Step 5 Create access lists that define the services the VPN clients are authorized to use with the RADIUS
server:
access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq telnet
access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq ftp
access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq http
Note Configure the authentication server with the vendor-specific acl=acl_ID identifier to specify the
access-list ID. In this example, the access-list ID is 100. Your entry in the authentication server
would then be acl=100.
Step 7 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong-des esp-3des esp-sha-hmac
Specify which transform sets are allowed for this dynamic crypto map entry.
Step 9 Add the dynamic crypto map set into a static crypto map set:
crypto map partner-map 20 ipsec-isakmp dynamic cisco
Note To configure the Cisco VPN 3000 Client version 2.5/2.6, include the crypto map partner-map
client configuration address initiate command in this step.
Step 13 Configure Cisco VPN 3000 Client policy attributes to download to the Cisco VPN Client:
vpngroup superteam address-pool dealer
vpngroup superteam dns-server 10.0.0.15
The keyword “superteam” is the name of a VPN group. You will enter this VPN group name within the
Cisco VPN 3000 Client as part of the group access information. See Step 9 within “Configuring the
Cisco VPN 3000 Client.”
Step 14 Tell PIX Firewall to implicitly permit IPSec traffic:
sysopt connection permit-ipsec
Example 8-2 VPN Access with Extended Authentication, RADIUS Authorization, IKE Mode Config,
and Wildcard Pre-Shared Key
Note The crypto map partner-map client configuration address initiate command is only required
to configure the Cisco VPN 3000 Client version 2.5/2.6. The isakmp policy 8 group 2 command
is only required to configure the Cisco VPN Client version 3.x.
Note Both the PIX Firewall and the Cisco VPN 3000 Client are required to obtain digital certificates from the
same CA server so that both are certified by the same root CA server. The PIX Firewall only supports
use of one root CA server per VPN peer.
Scenario Description
For example purposes, the PIX Firewall is shown to interoperate with the Entrust CA server. The specific
CA-related commands you enter depend on the CA you are using.
Note The PIX Firewall supports CA servers developed by VeriSign, Entrust, Baltimore Technologies, and
Microsoft. See “Using Certification Authorities” in Chapter 6, “Configuring IPSec and Certification
Authorities,” for general configuration procedures. See Chapter 7, “Site-to-Site VPN Configuration
Examples,” for examples showing how to interoperate with different PIX Firewall-supported CA
servers.
On the PIX Firewall, configure the unit to interoperate with the CA server to obtain a digital certificate.
With the vpngroup command set, configure the PIX Firewall for a specified group of Cisco VPN 3000
Client users, using the following parameters:
• Pool of local addresses to be assigned to the VPN group
• (Optional) IP address of a DNS server to download to the Cisco VPN 3000 Client
• (Optional) IP address of a WINS server to download to the Cisco VPN 3000 Client
• (Optional) Default domain name to download to the Cisco VPN 3000 Client
• (Optional) Split tunneling on the PIX Firewall, which allows both encrypted and clear traffic
between the Cisco VPN 3000 Client and the PIX Firewall.
Note If split tunnelling is not enabled, all traffic between the Cisco VPN 3000 Client and the
PIX Firewall will be encrypted.
• (Optional) Inactivity timeout for the Cisco VPN 3000 Client. The default is 30 minutes.
On the Cisco VPN 3000 Client, configure the client to obtain a digital certificate. After obtaining the
certificate, set up your Cisco VPN 3000 Client connection entry to use the digital certificate.
When the Cisco VPN 3000 Client initiates ISAKMP with the PIX Firewall, the digital certificate is sent
to the PIX Firewall. The PIX Firewall uses the digital certificate to look up the configured client policy
attributes for the given Cisco VPN 3000 Client and downloads the matching policy attributes to the client
during the IKE negotiation.
Figure 8-2 illustrates the example network.
Router 209.165.200.227
209.165.200.228
209.165.200.229 CA Server
PIX
Firewall 192.168.101.1
10.0.0.1
192.168.101.2
AAA Server
partnerauth
10.0.0.14 10.0.0.15
DNS/WINS Server
44310
This command is entered at the command line and does not get stored in the configuration.
Step 5 Declare a CA:
ca identity abcd 209.165.200.228 209.165.200.228
This command is stored in the configuration. 1 is the retry period, 20 is the retry count, and the
crloptional option disables CRL checking.
Step 7 Authenticate the CA by obtaining its public key and its certificate:
ca authenticate abcd
This command is entered at the command line and does not get stored in the configuration:
Step 8 Request signed certificates from your CA for your PIX Firewall’s RSA key pair:
ca enroll abcd cisco
Before entering this command, contact your CA administrator because they will have to authenticate
your PIX Firewall manually before granting its certificate(s):
“cisco” is a challenge password. This can be anything. This command is entered at the command line
and does not get stored in the configuration.
Step 9 Verify that the enrollment process was successful using the show ca certificate command:
show ca certificate
Step 10 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Step 13 Create an access list that defines the PIX Firewall local network(s) requiring IPSec protection:
access-list 90 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
Step 15 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong-des esp-3des esp-sha-hmac
Step 16 Create a dynamic crypto map. Specify which transform sets are allowed for this dynamic crypto map
entry:
crypto dynamic-map cisco 4 set transform-set strong-des
Step 17 Add the dynamic crypto map into a static crypto map:
crypto map partner-map 20 ipsec-isakmp dynamic cisco
Step 22 Configure Cisco VPN 3000 Client policy attributes to download to the Cisco VPN 3000 Client:
vpngroup superteam address-pool dealer
vpngroup superteam dns-server 10.0.0.15
vpngroup superteam wins-server 10.0.0.15
vpngroup superteam default-domain example.com
vpngroup superteam split-tunnel 90
vpngroup superteam idle-time 1800
Note When configuring the VPN group name, make sure it matches the Organization Unit (OU) field in the
Cisco VPN 3000 Client certificate. The PIX Firewall uses the VPN group name to match a given VPN
client policy. For example, you would use the VPN group “superteam” if the OU field is “superteam.”
Example 8-3 shows the command listing. PIX Firewall default configuration and certain CA commands
do not appear in configuration listings.
Example 8-3 VPN Access with Extended Authentication, RADIUS Authorization, IKE Mode Config,
and Digital Certificates
no snmp-server contact
snmp-server community public
no snmp-server enable traps
crypto ipsec transform-set strong-des esp-3des esp-sha-hmac
crypto dynamic-map cisco 4 set transform-set strong-des
crypto map partner-map 20 ipsec-isakmp dynamic cisco
crypto map partner-map client authentication partnerauth
crypto map partner-map interface outside
isakmp enable outside
isakmp policy 8 encryption 3des
isakmp policy 8 hash md5
isakmp policy 8 authentication rsa-sig
vpngroup superteam address-pool dealer
vpngroup superteam dns-server 10.0.0.15
vpngroup superteam wins-server 10.0.0.15
vpngroup superteam default-domain example.com
vpngroup superteam split-tunnel 90
vpngroup superteam idle-time 1800
ca identity abcd 209.165.200.228 209.165.200.228
ca configure abcd ra 1 100 crloptional
sysopt connection permit-ipsec
telnet timeout 5
terminal width 80
Note The crypto map partner-map client configuration address initiate command is only required
to configure the Cisco VPN 3000 Client version 2.5/2.6.
Router 209.165.200.227
209.165.200.229
PIX
Firewall 192.168.101.1
10.0.0.1
192.168.101.2
AAA Server
partnerauth
10.0.0.14 10.0.0.15
DNS/WINS Server
44311
San Jose Office
Step 4 Create access lists that define the virtual IP addresses for VPN clients:
access-list 80 permit ip host 10.0.0.14 host 192.168.15.1
access-list 80 permit ip host 10.0.0.14 host 192.168.15.2
access-list 80 permit ip host 10.0.0.14 host 192.168.15.3
access-list 80 permit ip host 10.0.0.14 host 192.168.15.4
access-list 80 permit ip host 10.0.0.14 host 192.168.15.5
Step 6 Configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong-des esp-3des esp-sha-hmac
Step 7 Create a dynamic crypto map. Specify which transform sets are allowed for this dynamic crypto map
entry:
crypto dynamic-map cisco 4 set transform-set strong-des
Step 8 Add the dynamic crypto map into a static crypto map:
crypto map partner-map 20 ipsec-isakmp dynamic cisco
Example 8-4 PIX Firewall with VPN Client and Manual IP Address
Step 4 Click File>New Connection. Rename New Connection. For example, ToSanJose.
Step 5 Under Connection Security, click Secure.
Step 6 Under Remote Party Identity and Addressing, set the following preferences in the panel on the right:
a. ID Type—Click IP address.
b. Enter the IP address of the internal host within the PIX Firewall unit’s internal network to which the
VPN client will have access. Enter 10.0.0.14.
c. Click Connect using Secure Gateway Tunnel.
d. ID Type—Click IP address.
e. Enter the IP address of the outside interface of the PIX Firewall. Enter 209.165.200.229.
Step 7 In the Network Security Policy window, click the plus sign beside the ToSanJose entry to expand the
selection, and click My Identity. Set the following preferences in the panel on the right:
a. Select Certificate—Click None.
b. ID Type—Click IP address.
c. Port—Click All.
d. Local Network Interface—Click Any.
e. Click Pre-Shared Key. When the Pre-Shared Key dialog box appears, click Enter Key to make the
key field editable. Enter cisco1234 and click OK.
Step 8 In the Network Security Policy window, expand Security Policy and set the following preferences in the
panel on the right:
a. Under Select Phase 1 Negotiation Mode, click Main Mode.
b. Select the Enable Replay Detection check box.
Leave any other values as they were in the panel.
Step 9 Click Security Policy>Authentication (Phase 1)>Proposal 1 and set the following preferences in the
panel on the right:
a. Authentication Method—Click Pre-shared Key.
b. Encrypt Alg—Click Triple DES.
c. Hash Alg—Click MD5.
d. SA Life—Click Unspecified to accept the default values.
e. Key Group—Click Diffie-Hellman Group 1.
Step 10 Click Security Policy>Key Exchange (Phase 2)>Proposal 1 and select the following values in the
panel on the right:
a. Select the Encapsulation Protocol (ESP) check box.
b. Encryption Alg—Click Triple DES.
c. Hash Alg—Click SHA-1.
d. Encapsulation—Click Tunnel.
Step 11 Click File>Save Changes.
The VPN client is now activated.
You can view connection process by right-clicking the SafeNet/Soft-PK icon in the Windows taskbar.
Unless the taskbar is changed, this icon appears in lower right of the screen. Click Log Viewer to display
the View Log feature.
Example 8-5 shows a typical View Log session.
Terminology
ACE/Server: AAA server from RSA security.
ACE/Agent: A software program that makes it possible for workstations and third-party devices such as
communication servers and firewalls to be clients of an ACE/Server.
RSA SecurID: Provides strong, two-factor authentication using tokens in conjunction with the RSA
ACE/Server.
Token: Usually refers to a handheld device, such as an RSA SercurID Standard Card, Key Fob, or Pinpad
Card that display a value called tokencode. User password, RSA SecurID Smart Cards, and Software
Tokens are token types with individual characteristics. The token is one of the factors in the RSA
SecurID authentication system. The other factor is the user’s PIN.
Tokencode: The code displayed by the token. The tokencode along with the PIN make up the RSA
SecurID authentication system.
PIN: The user’s personal identification number.
Two-Factor authentication: The authentication method used by the RSA ACE/Server system in which
the user enters a secret PIN (personal identification number) and the current code generated by the user’s
assigned SecurID token.
PASSCODE: The PIN and the tokencode make up the PASSCODE.
Token Mode: The state the token is in. The token can be Enabled, Disabled, or be in the New PIN Mode,
Next Tokencode Mode.
New PIN mode: When the server puts a token in this mode, the user is required to receive or create a
new PIN to gain access to an RSA SecurID-protected system.
Next Tokencode mode: When the user attempts authentication with a series of incorrect PASSCODEs,
the server puts the token in this mode so that the user, after finally entering the correct code, is prompted
for another tokencode before being allowed access.
Pinpads: A SecurID hardware token that allows entering the PIN via a Pinpad and displays the
tokencode in an LCD display.
Key Fobs: Another form of SecurID hardware token, that displays the current tokencode.
Software Token: A software token is similar to the Pinpad, which can be installed on the user’s machine.
Introduction
The RSA Ace/Server and RSA SecurID combination can be used to provide authentication for the
Cisco VPN Client version 3.x, the Cisco VPN 3000 Client version 2.5/2.6, and the
Cisco Secure VPN Client version 1.1, which are supported by PIX Firewall. SecurId provides a
token-based authentication method in the form of Software Tokens, Pinpads, or Key Fobs. The user is
assigned a token and uses that value from the token, called the tokencode, for authentication. A PIN is
used along with the tokencode to obtain the Passcode.
The different modes that a token can use are:
• Enabled.
• Next Tokencode mode.
• New PIN mode.
The PIN length and type are as defined in the system parameters of the ACE/Server, and some parameters
can also be set on a per-user basis. When a token is assigned, it is enabled and is in a New PIN mode.
The PIN could be pre-assigned, or the RSA ACE/Server configuration can decide who can create that
PIN. The options for PINs are as follows:
• User-created PINs allowed
• User-created PINs required
These options can also be decided on a per user basis by selecting the appropriate check box on the Edit
User panel provided by the ACE/Server master database administration tool.
The “User-created PINs allowed” option provides a choice between the system generating the PIN, and
then providing it to the user, or the user selecting the PIN.
The “User-created PINs required” option requires the user to select the PIN.
Note The word “partner-auth” in the aaa-server command in Step 2 is a keyword that needs to match
the keyword in the following crypto map command.
Note The word “token” in the crypto map newmap client token authentication partner-auth
command is optional for the Cisco VPN Client version 3.x, and the Cisco Secure VPN Client
version 1.1.
Step 4 For the Cisco VPN Client version 3.x, you may need to change the existing IKE/ISAKMP policy or add
another policy depending on the requirements, using the following command:
isakmp policy policy number vpngroup 2
Step 5 For the Cisco VPN 3000 Client version 2.5/2.6 and the Cisco VPN Client version 3.x, the vpngroup
command configuration is also required:
vpngroup Cisco address-pool mypool
vpngroup Cisco dns-server 10.100.48.44
vpngroup Cisco wins-server 10.100.48.45
vpngroup Cisco default-domain Cisco.com
vpngroup Cisco split-tunnel myaccesslist
vpngroup Cisco password mysecretkey
Token Enabled
When a connection is being established to the PIX Firewall with the Cisco VPN Client version 3.x, the
user is prompted to enter the username and the password.
Enter the PIN in the Software Token dialog box or on the Pinpad, and enter the password in the box
indicated for the password entry (see Figure 8-4).
Token Enabled
When a connection is being established to the PIX Firewall, the user is prompted to enter the username
and passcode. The client can recognize that a Software Token has been installed on Windows NT systems
(provided the Token Software is installed), such that if the PIN is entered, then the passcode is
automatically obtained by the client Software Token, and is sent to the AAA server through the
PIX Firewall. With a Pinpad, or on operating systems other than Windows NT, the prompt requests a
username and passcode. Enter the PIN on the Pinpad or in the Software Token dialog box and use the
passcode displayed on the token (See Figure 8-5).
Figure 8-5 Software Token Dialog Box—Cisco VPN 3000 Client Version 2.5/2.6
Note Only the user-created PIN required option works on the Cisco VPN 3000 Client.
The next prompt requests that the user enter the next tokencode using the new PIN.
Token Enabled
When a connection is being established to the PIX Firewall with the Cisco Secure VPN Client version
1.1, the user is prompted to enter the username and the password. Enter the PIN in the Software Token
dialog box or on the Pinpad, and enter the password in the box indicated for the password entry (see
Figure 8-6).
Figure 8-6 Software Token Dialog Box—Cisco Secure VPN Client Version 1.1
L2TP Overview
Layer 2 Tunneling Protocol (L2TP) is a VPN tunneling protocol which allows remote clients to use the
public IP network to securely communicate with private corporate network servers. L2TP uses PPP over
UDP (port 1701) to tunnel the data. L2TP protocol is based on the client/server model. The function is
divided between the L2TP Network Server (LNS), and the L2TP Access Concentrator (LAC). The LNS
typically runs on a network gateway such as a router, while the LAC can be a dial-up Network Access
Server (NAS), or a PC with a bundled L2TP client such as Microsoft Windows 2000.
PIX Firewall with L2TP/IPSec support provides the capability to deploy and administer an L2TP VPN
solution alongside the IPSec VPN and PIX Firewall services in a single platform. To implement L2TP,
perform the following steps:
1. Configure IPSec transport mode to enable IPSec with L2TP.
2. Configure L2TP with a virtual private dial-up network VPDN group.
The primary benefit of configuring L2TP with IPSec in a remote access scenario is that remote users can
access a VPN over a public IP network without a gateway or a dedicated line, enabling remote access
from virtually anyplace with POTS. An additional benefit is that the only client requirement for VPN
access is the use of Windows 2000 with Microsoft Dial-Up Networking (DUN). No additional client
software, such as Cisco VPN client software, is required.
The configuration of L2TP with IPSec supports certificates using the pre-shared keys or RSA signature
methods, and the use of dynamic (as opposed to static) crypto maps. This summary of tasks assumes
completion of IKE, as well as pre-shared keys or RSA signature configuration. See “Xauth with RSA
Ace/Server and RSA SecurID” for the steps to configure pre-shared keys, RSA, and dynamic crypto
maps.
Note L2TP with IPSec, as introduced with PIX Firewall version 6.0, allows the L2TP LNS to interoperate with
the Windows 2000 L2TP client. Interoperability with LACs from Cisco and other vendors is currently
not supported. Only L2TP with IPSec is supported, native L2TP itself is not supported on PIX Firewall.
Note If the PIX Firewall IPSec lifetime is set to less than 300 seconds, then the Windows 2000 client ignores
it and replaces it with a 300 second lifetime because the minimum IPSec lifetime supported by the
Windows 2000 client is 300 seconds. This causes the IKE negotiation to fail.
Specifically, the Windows 2000 L2TP client does not accept a lower ISAKMP lifetime value from the
PIX Firewall. If the PIX Firewall has a lower ISAKMP SA (Internet Security Association and Key
Management Protocol security association) lifetime, then the Windows 2000 client sends a notify payload
of NO_PROPOSAL_CHOSEN and the IKE negotiation fails. To workaround this, specify an ISAKMP
SA lifetime value that is greater than or equal to the Windows 2000 ISAKMP SA lifetime value.
information in the IP header. However, the Layer 4 header will be encrypted, limiting the examination
of the packet. Unfortunately, transmitting the IP header in clear text, transport mode allows an attacker
to perform some traffic analysis.
IP HDR Data
23246
IP HDR Data
Transport mode
Windows 2000 uses IPSec transport mode when tunneling L2TP data. Transport mode should be
configured on the PIX Firewall to receive the L2TP IPSec transport mode data from a Windows 2000
client.
Step 1 Specify IPSec to use transport mode rather than tunnel mode:
crypto ipsec transform-set trans_name mode transport
Step 4 Specify PPP protocol and authentication protocol (PAP, CHAP, or MS-CHAP):
vpdn group group_name ppp authentication pap/chap/mschap
Step 5 Specify the local address pool used to allocate the IP address to the client:
vpdn group group_name client configuration address local address_pool_name
Step 6 (Optional) Instruct the PIX Firewall to send DNS server IP addresses to the client:
vpdn group group_name client configuration dns dns_server_ip1 dns_server_ ip2
Step 7 (Optional) Instruct the PIX Firewall to send WINS server IP addresses to the client:
vpdn group group_name client configuration wins wins_server_ip1 wins_server_ip2
Step 8 Specify authentication using the PIX Firewall local username/password database. If set to aaa,
authenticate using the AAA server.
vpdn group group_name client authentication aaa aaa_server_tag
or
vpdn group group_name client authentication local
Step 9 (Optional) Generate a AAA accounting start and stop record for an L2TP (and PPTP) session:
vpdn group group_name client accounting aaa_server_tag
Step 10 If local authentication is used, the following command specifies username/password entries:
vpdn username username password password
The default timeout value is 60, and the lower and upper limits are 10 and 300, respectively.
Step 12 Enable vpdn function on a PIX Firewall interface:
vpdn enable ifname
Overview
The example shows the use of IPSec with L2TP, which requires that IPSec be configured in transport
mode. Refer to the “Using PPTP for Remote Access” section for IPSec transport mode configuration
information. For detailed command reference information, refer to the Cisco PIX Firewall Command
Reference.
Note For information on configuring the PIX Firewall for RSA signatures or pre-shared keys as the
authentication method, refer to the isakmp command in page within the Cisco PIX Firewall Command
Reference. For information on obtaining certificates for RSA signature authentication from a CA, refer
to “Using Certification Authorities” in Chapter 6, “Configuring IPSec and Certification Authorities.”
Note In this example, PIX Firewall uses PAP and AAA authentication. No conduit commands are included,
as the sysopt connection permit-l2tp option is set in Step 23. This command also permits L2TP traffic.
Note Steps 2-10 use RSA signatures as the authentication method for ISAKMP negotiation. If you
want to use pre-shared keys as the authentication method, skip Steps 2-10 and configure the
following: isakmp my secretkey address 0.0.0.0 netmask 0.0.0.0 and isakmp policy 1
authentication pre-share .
This command is entered at the command line and does not get stored in the configuration.
Step 5 Declare a CA:
ca identity abcd 209.165.200.228 209.165.200.228
The second address is configured if LDAP is used by that CA server. This command is stored in the
configuration.
Step 6 Configure the parameters of communication between the PIX Firewall and the CA:
ca configure abcd ra 1 20 crloptional
This command is stored in the configuration. 1 is the retry period, 20 is the retry count, and the
crloptional option disables CRL checking.
Step 7 Authenticate the CA by obtaining its public key and its certificate:
ca authenticate abcd
This command is entered at the command line and does not get stored in the configuration.
Step 8 Request signed certificates from your CA for your PIX Firewall’s RSA key pair:
ca enroll abcd cisco
Before entering this command, contact your CA administrator because they must authenticate your
PIX Firewall manually before granting its certificate(s).
“cisco” is a challenge password. This can be anything. This command is entered at the command line
and does not get stored in the configuration.
Step 9 Verify that the enrollment process was successful using the show ca certificate command:
show ca certificate
Step 10 Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory
Note Use the ca save all command any time you add, change, or delete ca commands in the
configuration. This command is not stored in the configuration.
Note Always configure the IKE lifetime on PIX Firewall for the same or more time than the IKE
lifetime configured on the Windows 2000 L2TP/IPSec client, or the IKE negotiation will fail
(CSCdt 48570).
Step 14 Create an access list that defines the PIX Firewall network(s) requiring IPSec protection:
access-list 90 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
Note The Windows 2000 L2TP/IPSec client uses IPSec transport mode, so transport mode should be
selected on the transform set.
Step 17 Create a dynamic crypto map, and specify which transform sets are allowed for this dynamic crypto map
entry:
crypto dynamic-map cisco 4 set transform-set basic
Note Specify which transform sets are allowed for this dynamic crypto map entry.
Step 18 Add the dynamic crypto map into a static crypto map:
crypto map partner-map 20 ipsec-isakmp dynamic cisco
Note The AAA server used for accounting does not need to be the same server as the AAA
authentication server.
Step 22 Enable the VPDN function on the outside interface of the PIX Firewall:
vpdn enable outside
Step 23 Configure the PIX Firewall to implicitly permit L2TP traffic and bypass conduit/access list checking:
sysopt connection permit-l2tp
Step 24 (Optional) If AAA authentication is not required, local authentication can be used by configuring the
username and password on the PIX Firewall:
vpdn username user1 password test1
Step 25 The following debug commands (some of which can only be used from the console) can be used for
troubleshooting:
debug cry isa
debug cry ipsec
debug cry ca
debug vpdn packet
debug vpdn event
debug vpdn error
debug ppp error
debug ppp negotiation
Note The PIX Firewall does not establish an L2TP/IPSec tunnel with Windows 2000 if either the Cisco VPN
Client version 3.x or the Cisco VPN 3000 Client version 2.5/2.6 is installed. Disable the Cisco VPN
Service for the Cisco VPN Client version 3.x, or the ANetIKE Service for the Cisco VPN 3000 Client
version 2.5/2.6 from the Services panel in Windows 2000 (click Start>Programs>Administrative
Tools>Services). Then restart the IPSec Policy Agent Service from the Services panel, and reboot the
machine.
Overview
PIX Firewall provides support for Microsoft PPTP, which is an alternative to IPSec handling for VPN
clients. While PPTP is less secure than IPSec, PPTP is easier to implement and maintain.
The vpdn command implements the PPTP feature for inbound connections between the PIX Firewall
and a Windows client. Point-to-Point Tunneling Protocol (PPTP) is a layer 2 tunneling protocol which
lets a remote client use a public IP network to communicate securely with servers at a private corporate
network. PPTP tunnels the IP protocol. RFC 2637 describes the PPTP protocol.
Support is provided for only inbound PPTP and only one PIX Firewall interface can have the vpdn
command enabled.
Supported authentication protocols include: PAP, CHAP, and MS-CHAP using external AAA (RADIUS
or TACACS+) servers or the PIX Firewall local username and password database. Through the PPP IPCP
protocol negotiation, PIX Firewall assigns a dynamic internal IP address to the PPTP client allocated
from a locally defined IP address pool.
PIX Firewall PPTP VPN supports standard PPP CCP negotiations with Microsoft Point-To-Point
Encryption (MPPE) extensions using RSA/RC4 algorithm. MPPE currently supports 40-bit and 128-bit
session keys. MPPE generates an initial key during user authentication and refreshes the key regularly.
In this release, compression is not supported.
When you specify MPPE, use the MS-CHAP PPP authentication protocol. If you are using an external
AAA server, the protocol should be RADIUS and the external RADIUS server should be able to return
the Microsoft MSCHAP_MPPE_KEY attribute to the PIX Firewall in the RADIUS Authentication
Accept packet. See RFC 2548, “Microsoft Vendor Specific RADIUS Attributes,” for more information
on the MSCHAP_MPPE_KEY attribute.
CiscoSecure ACS 2.5/2.6 and higher releases support the MS-CHAP/MPPE encryption.
PIX Firewall PPTP VPN has been tested with the following Microsoft Windows products: Windows 95
with DUN1.3, Windows 98, Windows NT 4.0 with SP6, and Windows 2000.
Note If you configure PIX Firewall for 128-bit encryption and if a Windows 95 or Windows 98 client does not
support 128-bit or greater encryption, then the connection to the PIX Firewall is refused. When this
occurs, the Windows client moves the dial-up connection menu down to the screen corner while the PPP
negotiation is in progress. This gives the appearance that the connection is accepted when it is not. When
the PPP negotiation completes, the tunnel terminates and PIX Firewall ends the connection. The
Windows client eventually times out and disconnects.
PPTP Configuration
Use the vpdn command with the sysopt connection permit-pptp command to allow PPTP traffic to
bypass checking of access-list command statements.
The show vpdn command lists tunnel and session information.
The clear vpdn command removes all vpdn commands from the configurations and stops all the active
PPTP tunnels. The clear vpdn all command lets you remove all tunnels, and the clear vpdn id tunnel_id
command lets you remove tunnels associated with tunnel_id. (You can view the tunnel_id with the show
vpdn command.)
The clear vpdn group command removes all the vpdn group commands from the configuration. The
clear vpdn username command removes all the vpdn username commands from the configuration. The
clear vpdn command removes all vpdn commands from the configuration.
You can troubleshoot PPTP traffic with the debug ppp and debug vpdn commands.
The ip local pool command specifies the IP addresses assigned to each VPN client as they log in to the
network. The Windows client can Telnet to host 192.168.0.2 through the global IP address 209.165.201.2
in the static command statement. The access-list command statement permits Telnet access to the host.
This chapter describes how to configure and use the tools and features provided by the PIX Firewall for
monitoring and configuring the system, and for monitoring network activity. It contains the following
sections:
• Command Authorization and LOCAL User Authentication
• Using Network Time Protocol
• Managing the PIX Firewall Clock
• Using Telnet for Remote System Management
• Using SSH for Remote System Management
• Enabling Auto Update Support
• Capturing Packets
• IDS Syslog Messages
• Using SNMP
Privilege Levels
PIX Firewall version 6.2 introduces support for up to 16 privilege levels. This is similar to what is
available with Cisco IOS software. With this feature, you can assign PIX Firewall commands to one of
16 levels. Also, users logging into the PIX Firewall are assigned privilege levels.
Note Users with a privilege level greater than or equal to 2 have access to the enable and configuration mode
and therefore the PIX Firewall prompt changes to #. Users with a privilege level 0 or 1 see the prompt >.
When a user tries to access enable mode, if the message “T+ enable privilege too low" appears on the
AAA server, set the Max privilege of the AAA client to Level1 in the Advanced TACACS options.
To enable different privilege levels on the PIX Firewall, use the enable command in configuration mode.
To assign a password to a privilege level, enter the following command:
pix(config)# enable password [password] [level level] [encrypted]
Replace password with a character string from three to sixteen characters long, with no spaces. Replace
level with the privilege level you want to assign to the enable password.
Note The encrypted keyword indicates to the PIX Firewall that the password supplied with the enable
command is already encrypted.
For example, the following command assigns the enable password Passw0rD to privilege Level 10:
enable password Passw0rD level 10
The following example shows the usage of the enable password command with the encrypted keyword:
enable password .SUTWWLlTIApDYYx level 9 encrypted
Note Encrypted passwords that are associated with a level can only be moved among PIX Firewall units along
with the associated levels.
Once the different privilege levels are created, you can gain access to a particular privilege level from
the > prompt by entering the enable command, as shown below:
pix> enable [privilege level]
Replace privilege level with the privilege level to which you want to gain access. If the privlege level is
not specified, the default of 15 is used. By default, privilege level 15 is assigned the password cisco. It
will always have a password associated with it unless someone assigns it a blank password using the
enable password command.
User Authentication
This section describes how to configure the PIX Firewall to use LOCAL user authentication. It includes
the following topics:
• Creating User Accounts in the LOCAL Database
• User Authentication Using the LOCAL Database
• Viewing the Current User Account
Replace username with a character string from four to fifteen characters long. Replace password with a
character string from three to sixteen characters long. Replace privilege level with the privilege level you
want to assign to the new user account (from 0 to 15). Use the nopassword keyword to create a user
account with no password. Use the encrypted keyword if the password you are supplying is already
encrypted.
Note The username database that you configure can be moved among PIX Firewall units with the rest of the
configuration. Encrypted passwords can only be moved along with the associated username in the
database.
For example, the following command assigns a privilege level of 15 to the user account admin.
username admin password passw0rd privilege 15
If no privilege level is specified, the user account is created with a privilege level of 2. You can define
as many user accounts as you need.
Use the following command to create a user account with no password:
username username nopassword
Replace username with the user account that you want to create without a password.
To delete an existing user account, enter the following command:
no username username
Replace username with the user account that you want to delete. For example, the following command
deletes the user account admin.
no username admin
To remove all the entries from the user database, enter the following command:
clear username
Note The LOCAL database can be used only for controlling access to the PIX Firewall, and not for controlling
access through the PIX Firewall.
To enable authentication using the LOCAL database, enter the following command:
pix(config)# aaa authentication serial|telnet|ssh|http|enable console LOCAL
After entering this command, the LOCAL user accounts are used for authentication.
You can also use the login command, as follows, to access the PIX Firewall with a particular username
and password:
pix> login
The login command only checks the local database while authenticating a user and does not check any
authentication or authorization (AAA) server.
When you enter the login command, the system prompts for a username and password as follows:
Username:admin
Password:********
Note Users with a privilege level greater than or equal to 2 have access to the enable and configuration modes
and the PIX Firewall prompt changes to #. Users with the privilege level 0 or 1 see the prompt >.
Use the following command to log out from the currently logged in user account:
logout
The system displays the current user name and privilege level, as follows:
Username:admin
Current privilege level: 15
Current Mode/s:P_PRIV
As mentioned in the section “Privilege Levels,” you use the enable command to obtain access to
different privilege levels with the following command:
pix> enable [privielge level]
When you assign a password to a privilege level, the privilege level is associated with the password in
the LOCAL database in the same way a username is associated with a password. When you obtain access
to a privilege level using the enable command, the show curpriv command displays the current privilege
level as a username in the format enable_n, where n is a privilege level from 1 to 15.
An example follows:
pix# show curpriv
Username : enable_9
Current privilege level : 9
Current Mode/s : P_PRIV
When you enter the enable command without specifying the privilege level, the default privilege level
(15) is assumed and the username is set to enable_15.
When you log into the PIX Firewall for the first time or exit from the current session, the default user
name is enable_1, as follows:
pix> show curpriv
Username : enable_1
Current privilege level : 1
Current Mode/s : P_UNPR
Command Authorization
This section describes how to assign commands to different privilege levels. It includes the following
topics:
• Overview
• Configuring LOCAL Command Authorization
• Enabling LOCAL Command Authorization
• Viewing LOCAL Command Authorization Settings
• TACACS+ Command Authorization
Overview
LOCAL and TACACS+ Command Authorization is supported in PIX Firewall version 6.2. With the
LOCAL command authorization feature, you can assign PIX Firewall commands to one of 16 levels.
Caution When configuring the Command Authorization feature, do not save your configuration until you are sure
it works the way you want. If you get locked out because of a mistake, you can usually recover access
by simply restarting the PIX Firewall from the configuration that is saved in Flash memory. If you still
get locked out, refer to the section “Recovering from Lockout.”
Replace level with the privilege level and command with the command you want to assign to the
specified level. You can use the show, clear, or configure parameter to optionally set the privilege level
for the show, clear, or configure command modifiers of the specified command. Replace command with
the command for which you wish to assign privileges. For the full syntax of this command, including
additional options, refer to the PIX Firewall Command Reference Guide.
For example, the following commands set the privilege of the different command modifiers of the
access-list command:
privilege show level 10 command access-list
privilege configure level 12 command access-list
privilege clear level 11 command access-list
The first line sets the privilege of show access-list (show modifier of cmd access-list) to 10. The second
line sets the privilege level of the the configure modifier to 12, and the last line sets the privilege level
of the clear modifier to 11.
To set the privilege of all the modifiers of the access-list command to a single privilege level of 10, you
would enter the following command:
privilege level 10 command access-list
For commands that are available in multiple modes, use the mode parameter to specify the mode in
which the privilege level applies.
The following are examples of setting privilege levels for mode-specific commands:
privilege show level 15 mode configure command configure
privilege clear level 15 mode configure command configure
privilege configure level 15 mode configure command configure
privilege configure level 15 mode enable command configure
Note Do not use the mode parameter for commands that are not mode-specific.
By specifying LOCAL, the user’s privilege level and the privilege settings that have been assigned to the
different commands are used to make authorization decisions.
When users log in to the PIX Firewall, they can enter any command assigned to their privilege level or
to lower privilege levels. For example, a user account with a privilege level of 15 can access every
command because this is the highest privilege level. A user account with a privilege level of 0 can only
access the commands assigned to level 0.
The system displays the current assignment of each CLI command to a privilege level. The following
example illustrates the first part of the display:
pix(config)# show privilege all
privilege show level 15 command aaa
privilege clear level 15 command aaa
privilege configure level 15 command aaa
privilege show level 15 command aaa-server
privilege clear level 15 command aaa-server
privilege configure level 15 command aaa-server
privilege show level 15 command access-group
privilege clear level 15 command access-group
privilege configure level 15 command access-group
privilege show level 15 command access-list
privilege clear level 15 command access-list
privilege configure level 15 command access-list
privilege show level 15 command activation-key
privilege configure level 15 command activation-key
To view the command assignments for a specific privilege level, enter the following command:
show privilege level level
Replace level with the privilege level for which you want to display the command assignments.
For example, the following command displays the command assignments for privilege Level 15:
show privilege level 15
To view the privilege level assignment of a specific command, enter the following command:
show privilege command command
Replace command with the command for which you want to display the assigned privilege level.
For example, the following command displays the command assignment for the access-list command:
show privilege command access-list
Caution Only enable this feature with TACACS+ if you are absolutely sure that you have fulfilled the following
requirements.
1. You have created entries for enable_1, enable_15, and any other levels to which you have assigned
commands.
2. If you are enabling authentication with usernames:
– You have a user profile on the TACACS+ server with all the commands that the user is permitted
to execute.
– You have tested authentication with the TACACS+ server.
3. You are logged in as a user with the necessary privileges. You can see this by entering the show
curpriv command.
4. Your TACACS+ system is completely stable and reliable. The necessary level of reliability typically
requires that you have a fully redundant TACACS+ server system and fully redundant connectivity
to the PIX Firewall.
Caution When configuring the Command Authorization feature, do not save your configuration until you are sure
it works the way you want. If you get locked out because of a mistake, you can usually recover access
by simply restarting the PIX Firewall from the configuration that is saved in Flash memory. If you still
get locked out, refer to the section “Recovering from Lockout.”
After command authorization with a TACACS+ server is enabled, for each command entered, the
PIX Firewall sends the username, command, and command arguments to the TACACS+ server for
authorization.
To enable command authorization with a TACACS+ server, enter the following command:
aaa authorization command tacacs_server_tag
Use the tacacs_server_tag parameter to identify the TACACS+ server and use the if_name parameter if
you need to specifically identify the PIX Firewall interface connected to the TACACS+ server. Replace
ip_address with the IP address of the TACACS+ server. Replace the optional key parameter with a
keyword of up to 127 characters (including special characters but excluding spaces) to use for encrypting
data exchanged with the TACACS+ server. This value must match the keyword used on the TACACS+
server. Replace seconds with a number up to 30 that determines how long the PIX Firewall waits before
retrying the connection to the TACACS+ server. The default value is 5 seconds.
The PIX Firewall only expands the command and the command modifier (show, clear, no) when it sends
these to the TACACS+ server. The command arguments are not expanded.
For effective operation, it is a good idea to permit the following basic commands on the AAA server:
• show curpriv
• show version
• show aaa
• enable
• disable
• quit
• exit
• login
• logout
• help
For Cisco PIX Device Manager (PDM) to work with Command Authorization using a TACACS+ Server,
the AAA server administrator should authorize the user for the following commands:
This occurs because the TACACS+ server does not have a user profile for the user account that you used
for logging in. To prevent this problem, make sure that the TACACS+ server has all the users configured
with the commands that they can execute. Also make sure that you are logged in as a user with the
required profile on the TACACS+ server.
Overview
The Network Time Protocol (NTP) is used to implement a hierarchical system of servers that provide a
source for precisely synchronized time among network systems. This kind of accuracy is required for
time-sensitive operations such as validating a certificate revocation lists (CRL), which includes a precise
time stamp.
PIX Firewall version 6.2 introduces an NTP client that allows the PIX Firewall to obtain its system time
from NTP version 3 servers, like those provided with Cisco IOS routers.
Enabling NTP
To enable the PIX Firewall NTP client, enter the following command:
[no] ntp server ip_address [key number] source if_name [prefer]
This command causes the PIX Firewall to synchronize with the time server identified by ip_address. The
key option requires a authentication key when sending packets to this server. When using this option,
replace number with the authentication key. The interface specified by if_name is used to send packets
to the time server. If the source keyword is not specified, the routing table will be used to determine the
interface. The prefer option makes the specified server the preferred server to provide synchronization,
which reduces switching back and forth between servers.
To enable authentication for NTP messages, enter the following command:
[no] ntp authenticate
[no] ntp authentication-key number md5 value
[no] ntp trusted-key number
The ntp authenticate command enables NTP authentication. If you enter this command, the
PIX Firewall will not synchronize to an NTP server unless the server is configured with one of the
authentication keys specified using the ntp trusted-key command.
The ntp authentication-key command is used to define authentication keys for use with other NTP
commands to provide a higher degree of security. The number parameter is the key number (1 to
4294967295). The value parameter is the key value (an arbitrary string of up to 32 characters). The key
value will be replaced with ‘********’ when the configuration is viewed with either the write terminal,
show configuration, or show tech-support commands.
Use the ntp trusted-key command to define one or more key numbers corresponding to the keys defined
with the ntp authentication-key command. The PIX Firewall will require the NTP server to provide this
key number in its NTP packets. This provides protection against synchronizing the PIX Firewall system
clock with an NTP server that is not trusted.
To remove NTP configuration, enter the following command:
clear ntp
This command removes the NTP configuration, disables authentication, and removes all the
authentication keys.
Example 9-1 shows sample output from the show ntp associations command:
The first characters in a display line can be one or more of the following characters:
• * —Synchronized to this peer
• # —Almost synchronized to this peer
• + —Peer selected for possible synchronization
• - —Peer is a candidate for selection
• ~ —Peer is statically configured
• Table 9-1 describes the meaning of the values in each column:
Example 9-2 provides sample output for the show ntp association detail command:
Example 9-2 Sample Output for show ntp association detail Command
Table 9-2 Output Description for show ntp association detail Command
Table 9-2 Output Description for show ntp association detail Command (continued)
Example 9-3 provides sample output for the show ntp status command:
This command displays the system time. The detail option displays the clock source and the current
summer-time setting. PIX Firewall version 6.2 provides milliseconds, timezone, and day.
For example:
16:52:47.823 PST Wed Feb 21 2001
Replace hh:mm:ss with the current hours (1-24), minutes, and seconds. Replace month with the first
three characters of the current month. Replace day with the numeric date within the month (1-31), and
replace year with the four-digit year (permitted range is 1993 to 2035).
The summer-time keyword automatically switches to summer time (for display purposes only).
The recurring keyword indicates that summer time should start and end on the days specified by the
values that follow this keyword. If no values are specified, the summer time rules default to United States
rules. The week option is the week of the month (1 to 5 or last). The weekday option is the day of the
week (Sunday, Monday,…). The month parameter is the full name of the month (January, February,…).
The hh:mm parameter is the time (24-hour military format) in hours and minutes. The offset option is
the number of minutes to add during summer time (default is 60).
Use either of the following commands when the recurring keyword cannot be used:
clock summer-time zone date date month year hh:mm date month year hh:mm [offset]
clock summer-time zone date month date year hh:mm month date year hh:mm [offset]
The date keyword causes summer time to start on the first date listed in the command and to end on the
second specific date in the command. Two forms of the command are included to enter dates either in
the form month date (for example, January 31) or date month (for example, 31 January).
In both forms of the command, the first part of the command specifies when summer time begins, and
the second part specifies when it ends. All times are relative to the local time zone.
If the starting month is after the ending month, the Southern Hemisphere is assumed.
The zone parameter is the name of the time zone (for example, PDT) to be displayed when summer time
is in effect. The week option is the week of the month (1 to 5 or last). The weekday option is the day of
the week (Sunday, Monday,…). The date parameter is the date of the month (1 to 31). The month
parameter is the full name of the month (January, February,…). The year parameter is the four-digit year
(1993 to 2035). The hh:mm parameter is the time (24-hour military format) in hours and minutes. The
offset option is the number of minutes to add during summer time (default is 60).
To set the time zone for display purposes only, enter the following command:
clock timezone zone hours [minutes]
The clock timezone command sets the time zone for display purposes (internally, the time is kept in
UTC). The no form of the command is used to set the time zone to Coordinated Universal Time (UTC).
The zone parameter is the name of the time zone to be displayed when standard time is in effect. The
hours parameter is the hours offset from UTC. The minutes option is the minutes offset from UTC.
The clear clock command will remove the summer time setting and set the time zone to UTC.
Note SSH provides another option for remote management of the PIX Firewall using a lower security
interface. For further information, refer to “Using SSH for Remote System Management.”
Note See the telnet command page within the Cisco PIX Firewall Command Reference for more information
about this command.
To Telnet to a lower security interface, refer to “Allowing a Telnet Connection to the Outside Interface.”
Step 2 If required, set the duration for how long a Telnet session can be idle before PIX Firewall disconnects
the session.
The default duration, 5 minutes, is too short in most cases and should be increased until all
pre-production testing and troubleshooting has been completed. Set a longer idle time duration as shown
in the following example.
telnet timeout 15
Step 3 To protect access to the console with an authentication server, use the aaa authentication telnet console
command.
This requires that you have a username and password on the authentication server. When you access the
console, PIX Firewall prompts you for these login credentials. If the authentication server is off line, you
can still access the console by using the username pix and the password set with the enable password
command.
Step 4 Save the commands in the configuration using the write memory command.
Example 9-4 shows commands for using Telnet to permit host access to the PIX Firewall console.
The first telnet command permits a single host, 10.1.1.11 to access the PIX Firewall console with Telnet.
The 255 value in the last octet of the netmask means that only the specified host can access the console.
The second telnet command permits PIX Firewall console access from all hosts on the 192.168.3.0
network. The 0 value in the last octet of the netmask permits all hosts in that network access. However,
Telnet only permits 16 hosts simultaneous access to the PIX Firewall console over Telnet.
Overview
This section also applies when using the Cisco Secure Policy Manager version 2.0 or higher. It is
assumed you are using the Cisco VPN Client version 3.x, Cisco Secure VPN Client version 1.1, or the
Cisco VPN 3000 Client version 2.5/2.6, to initiate the Telnet connection.
Note Use the auth-prompt command for changing the login prompt for Telnet sessions through the
PIX Firewall. It does not change the login prompt for Telnet sessions to the PIX Firewall.
Once you have configured Telnet access, refer to “Using Telnet” for more information about using this
command.
Note You must have two security policies set up on your VPN client. One security policy is used to secure
your Telnet connection and another is used to secure your connection to the inside network.
Step 1 Create an access-list command statement to define the traffic to protect from the PIX Firewall to the
VPN client using a destination address from the virtual local pool of addresses:
access-list 80 permit ip host 168.20.1.5 10.1.2.0 255.255.255.0
Step 2 Specify which host can access the PIX Firewall console with Telnet:
telnet 10.1.2.0 255.255.255.0 outside
Specify the VPN client’s address from the local pool and the outside interface.
Step 3 Within the VPN client, create a security policy that specifies the Remote Party Identity IP address and
gateway IP address as the same IP address—the IP address of the PIX Firewall’s outside interface. In
this example, the IP address of the PIX Firewall’s outside is 168.20.1.5.
Step 4 Configure the rest of the security policy on the VPN client to match the PIX Firewall’s security policy.
Note To complete the configuration of the VPN client, refer to the vpngroup command in the Cisco PIX
Firewall Command Reference.
Using Telnet
Perform the following steps to test Telnet access:
Step 1 From the host, start a Telnet session to a PIX Firewall interface IP address.
If you are using Windows 95 or Windows NT, click Start>Run to start a Telnet session. For example, if
the inside interface IP address is 192.168.1.1, enter the following command.
telnet 192.168.1.1
Enter cisco and press the Enter key. You are then logged into the PIX Firewall.
The default password is cisco, which you can change with the passwd command.
You can enter any command on the Telnet console that you can set from the serial console, but if you
reboot the PIX Firewall, you will must log back into the PIX Firewall after it restarts.
Some Telnet applications such as the Windows 95 or Windows NT Telnet sessions may not support
access to the PIX Firewall’s command history feature used with the arrow keys. However, you can access
the last entered commands by pressing Ctrl-P.
Step 3 Once you have Telnet access available, you may want to view ping information while debugging.
You can view ping information from Telnet sessions with the debug icmp trace command. The Trace
Channel feature also affects debug displays, which is explained in “Trace Channel Feature.”
Messages from a successful ping appear as follows:
Outbound ICMP echo request (len 32 id 1 seq 512) 209.165.201.2 > 209.165.201.1
Inbound ICMP echo reply (len 32 id 1 seq 256) 209.165.201.1 > 209.165.201.23
Step 4 In addition, you can use the Telnet console session to view syslog messages:
a. Start message displays with the logging monitor 7 command. The “7” will cause all syslog message
levels to display.
If you are using the PIX Firewall in production mode, you may wish to use the logging buffered 7
command to store messages in a buffer that you can view with the show logging command, and clear
the buffer for easier viewing with the clear logging command. To stop buffering messages, use the
no logging buffered command.
You can also lower the number from 7 to a lesser value, such as 3, to limit the number of messages
that appear.
b. If you entered the logging monitor command, then enter the terminal monitor command to cause
the messages to display in your Telnet session. To disable message displays, use the terminal no
monitor command.
If a debug command does not use Trace Channel, each session operates independently, which means any
commands started in the session only appear in the session. By default, a session not using Trace Channel
has output disabled by default.
The location of the Trace Channel depends on whether you have a simultaneous Telnet console session
running at the same time as the console session, or if you are using only the PIX Firewall serial console:
• If you are only using the PIX Firewall serial console, all debug commands display on the serial
console.
• If you have both a serial console session and a Telnet console session accessing the console, then no
matter where you enter the debug commands, the output displays on the Telnet console session.
• If you have two or more Telnet console sessions, the first session is the Trace Channel. If that session
closes, the serial console session becomes the Trace Channel. The next Telnet console session that
accesses the console then becomes the Trace Channel.
The debug commands are shared between all Telnet and serial console sessions.
Note The downside of the Trace Channel feature is that if one administrator is using the serial console and
another administrator starts a Telnet console session, the output from the debug commands on the serial
console will suddenly stop without warning. In addition, the administrator on the Telnet console session
will suddenly be viewing debug command output, which may be unexpected. If you are using the serial
console and debug command output is not appearing, use the who command to see if a Telnet console
session is running.
Overview
SSH (Secure Shell) is an application running on top of a reliable transport layer, such as TCP/IP that
provides strong authentication and encryption capabilities. PIX Firewall supports the SSH remote shell
functionality provided in SSH version 1. SSH version 1 also works with Cisco IOS software devices. Up
to five SSH clients are allowed simultaneous access to the PIX Firewall console.
Note Before trying to use SSH, generate an RSA key-pair for the PIX Firewall. To use SSH, your PIX Firewall
requires a DES or 3DES activation key.
Another method of remotely configuring a PIX Firewall unit involves using a Telnet connection to the
PIX Firewall to start a shell session and then entering configuration mode. This connection method can
only provide as much security as Telnet provides, which is only provided as lower-layer encryption (for
example, IPSec) and application security (username/password authentication at the remote host).
Note The PIX Firewall SSH implementation provides a secure remote shell session without IPSec, and only
functions as a server, which means that the PIX Firewall cannot initiate SSH connections.
Note SSH v1.x and v2 are entirely different protocols and are not compatible. Make sure that you download
a client that supports SSH v1.x.
Note To use Tera Term Pro with SSH, download TTSSH. TTSSH provides a Zip file that you copy
to your system. Extract the zipped files into the same folder that you installed Tera Term Pro.
• Linux, Solaris, OpenBSD, AIX, IRIX, HP/UX, FreeBSD, and NetBSD—download the SSH v1.x
client from the following website:
http://www.openssh.com
• Macintosh (international users only)—download the Nifty Telnet 1.1 SSH client from the following
website:
http://www.lysator.liu.se/~jonasw/freeware/niftyssh/
Note The netmask parameter is optional if you omit the interface name and if you use the default
subnet mask (255.255.255.255). The netmask parameter is required if you specify the interface
name or if you do not use the default subnet mask.
• Replace interface_name with the PIX Firewall interface name on which the host or network
initiating the SSH connection resides.
To specify the duration in minutes that a session can be idle before being disconnected, enter the following
command:
ssh timeout number
Replace number with a value from 1 to 60 (minutes). The default duration is 5 minutes.
To disconnect a specific session, enter the following command:
ssh disconnect session_id
Replace session_id with the identifier for the specific session that you want to disconnect. To display the
identifiers for the active sessions, use the show ssh sessions command.
To remove all ssh command statements from the configuration, enter the following command:
clear ssh
Use the no keyword to remove selected ssh command statements from the configuration.
Note To use SSH, your PIX Firewall must have a DES or 3DES activation key and you must
generate an RSA key-pair for the PIX Firewall before clients can connect to the
PIX Firewall console. Use the ca generate rsa key 512 command to generate a key; change
the modulus size from 512, as needed. After generating the RSA key, save the key using
the ca save all command.
Use the -c option to identify the cipher used. PIX Firewall accepts 3des and des. Use the -l option to
identify the password used for connecting to the PIX Firewall. If no authentication is enabled on the SSH
connection, use the default user name pix. Use the -v option to enable verbose mode, and replace
ipaddress with the address of the PIX Firewall.
Note Windows and Macintosh SSH clients typically have graphic interfaces where you enter the required
information.
The password used to perform local authentication is the same as the one used for Telnet access. The
default for this password is cisco. To change this password, enter the following command:
passwd string
SSH permits up to 100 characters for a username and up to 50 characters for the password.
The display of the dot does not affect the functionality of SSH. The dot appears at the console when
generating a server key or decrypting a message using private keys during SSH key exchange before user
authentication occurs. These tasks can take up to two minutes or longer. The dot is a progress indicator
that verifies that the PIX Firewall is busy and has not hung.
The Session ID is a unique number that identifies an SSH session. The Client IP is the IP address of the
system running an SSH client. The Version lists the protocol version number that the SSH client
supports. The Encryption column lists the type of encryption the SSH client is using. The State column
lists the progress the client is making as it interacts with the PIX Firewall. The Username column lists
the login username that has been authenticated for the session. The “pix” username appears when
non-AAA authentication is used.
Overview
The Auto Update specification provides the infrastructure necessary for remote management
applications to download PIX Firewall configurations, software images, and to perform basic monitoring
from a centralized location.
The Auto Update specification allows the Auto Update Server to either push configuration information
and send requests for information to the PIX Firewall, or to cause the PIX Firewall to periodically poll
the Auto Update Server. The Auto Update Server can also send a command to the PIX Firewall to send
an immediate polling request at any time. Communication between the Auto Update Server and the
PIX Firewall requires a communications path and local CLI configuration on each PIX Firewall.
Only one server can be configured. Replace url with a URL using the following syntax:
[http[s]://][user:password@]location[:port]/pathname
SSL will be used when https is specified. The user and password segment is used for Basic
Authentication when logging in to the server. The user and password are replaced with ‘********’ when
the configuration is viewed with either the write terminal, show configuration or show tech-support
commands.
Replace location with the IP address (or a DNS host name that resolves to the IP address) of the server.
The port segment specifies the port to contact on the server. The default is 80 for HTTP and 443 for
HTTPS. The pathname segment is the name of the resource.
The verify-certificate option specifies that the certificate returned by the server should be verified.
The no auto-update server command disables polling for updates by terminating the Auto Update
daemon running on the PIX Firewall.
The auto-update device-id command is used to identify the device ID to send when communicating
with the Auto Update Server. The identifier used is determined by using one of the following parameters:
• hardware-serial—Use the PIX Firewall serial number
• hostname option—Use the PIX Firewall host name
• ipaddress option—Use the IP address of the interface with the name if-name. If the interface name
is not specified, it will use the IP address of the interface used to communicate with the Auto Update
Server.
• mac-address option—Use the MAC address of the interface with the name if-name. If the interface
name is not specified, it will use the MAC address of the interface used to communicate with the
Auto Update Server.
• string—Use the specified text identifier, which cannot contain white space or the characters ‘, “, ,
>, & and ?.
Use the no auto-update device-id command to reset the device ID to the default of host name.
To specify how often to poll the Auot Update server for configuration or image updates, enter the
following command:
[no] auto-update poll-period poll-period [retry-count [retry-period]]
The poll-period parameter specifies how often (in minutes) to check for an update. The default is 720
minutes (12 hours). The retry-count option specifies how many times to try re-connecting to the server
if the first attempt fails. The default is 0. The retry-period option specifies how long to wait (in minutes)
between retries. The default is 5.
Use the no auto-update poll-period command to reset the poll period to the default.
To cause the PIX Firewall to stop all new connections if the Auto Update server has not been contacted
for a period of time, enter the following command:
[no] auto-update timeout period
Use this command to ensure that the PIX Firewall has the most recent image and configuration. This
condition will be reported with the existing syslog %PIX-3-201008.
To remove the entire Auto Update configuration, enter the following command:
clear auto-update
Capturing Packets
This section describes the packet capture utility introduced with PIX Firewall version 6.2. It includes the
following topics:
• Overview
• Configuration Procedure
• Packet Capture Output Formats
• Packet Capture Examples
Overview
Capturing packets is sometimes useful when troubleshooting connectivity problems or monitoring
suspicious activity. You can use the PIX Firewall packet capture utility to capture specific types of traffic
on any PIX Firewall interface.
The packet capture utility provides the following features:
• Capture of packets to a linear buffer
• Capture of ARP and other Layer 2 packets
• Timestamp of captured packets based from the PIX Firewall clock (in milliseconds)
• Selective packet capture and display based on access lists
• Display of captured buffer on any console or using a web browser
• Brief and expanded view of capture data
• Export of captured packets in libpcap format
Configuration Procedure
To capture and display packets on a PIX Firewall interface, perform the following steps:
Step 1 To define a packet capture and begin capturing packets on a specific interface, enter the following
command:
capture capture-name [access-list acl_id][buffer bytes] [ethernet-type type][interface
name][packet-length bytes]
Replace capture-name with an alphanumeric identifier that you will use to display or copy the captured
packets. The PIX Firewall captures packets on the interface specified by name until the packet capture
buffer is full.
Replace acl_id with the name of any existing access list, which can limit the capture based on one or
more of the following selection criteria:
• IP protocol type
• Source or destination addresses
• TCP or UDP port
• ICMP type
For information about configuring an access control list, refer to “Controlling Outbound Connectivity”
in Chapter 3, “Controlling Network Access and Use.”
To use the buffer option, replace bytes with the number of bytes you want to assign to the packet capture
buffer, subject to the memory available on the PIX Firewall. The default buffer size is 512 K. You can
run multiple packet captures on different interfaces concurrently if the PIX Firewall has sufficient
memory.
To use the ethernet option, replace type with one of the following packet types: ip, arp, rarp, vlan,
802.1Q, ipx, ip6, pppoed, pppoes, or any number in the range from 1 to 65536 (corresponding to the
protocol type specified in the Ethernet packet). When using 802.1Q (VLAN), the 802.1Q tag is
automatically skipped and the inner ethernet-type is used for matching. If you enter ethernet-type 0, all
packet types are captured.
To use the packet-length option, replace bytes with the maximum number of bytes from each packet that
you want copied to the capture buffer. By default, the limit is 68 bytes.
Step 2 To view the contents of the packet capture buffer, enter the following command:
show capture [capture-name][access-list acl_id][count count][detail] [dump]
Replace capture-name with the identifier you assigned to the packet capture. Replace acl_id with the
name of an access control list to restrict the display of the captured packets. Replace count with the
number of packets to display.
The fields included when you use the detail option are listed within square brackets ([]) in Table 9-4.
The dump option displays a hexadecimal display of the packet transported over the data link transport.
Note that Media Access Control (MAC) information is not shown. A dump is also displayed if no
protocol is available.
Use the show capture command without any parameters to display the current runtime configuration for
packet captures.
Step 3 To view a packet capture using a web browser, enter the following command:
https://pix-host/capture/capture-name[/pcap]
Replace pix-host with the IP address or host name of the PIX Firewall where the packet capture
occurred. Replace capture-name with the name of the packet capture you want to view.
The pcap option causes the packet capture to be downloaded to the web browser in libpcap format. After
you save the packet capture from the browser, you can view a libpcap file with tcpdump or other
applications.
Step 4 To copy the contents of the packet capture buffer to a TFTP server, enter the following command:
copy capture:capture-name tftp://location/path [pcap]
Replace capture-name with the name of the packet capture you want to view. Replace location and path
with the host name, path name, and file name of the file where you want to store the captured packets.
Some TFTP servers may require that the file already exists with write permission assigned to “world.”
The pcap option causes the file to be created in libpcap format, which can be viewed with tcpdump or
other applications.
Step 5 To clear the packet capture buffer, enter the following command:
clear capture capture-name
Step 6 To clear the packet capture definition and release the resources allocated for it, enter the following
command:
no capture capture-name
Replace capture-name with the name of the packet capture you want to clear.
Step 7 To stop the packet capture and save the current contents of the packet capture buffer, enter the following
command:
no capture capture-name [interface name]
Replace capture-name with the name of the packet capture you want to stop. When you use the interface
option to identify a specific interface, replace name with the name assigned to the interface.
Step 8 To remove the access list from a running packet capture, enter the following command:
no capture capture-name access-list acl_id
Replace capture-name with the name of the packet capture and replace acl_id with the name of the
access list.
In the following example, traffic is captured from an outside client at 209.165.200.225 to an inside HTTP
server:
access-list http permit tcp host 10.120.56.15 eq http host 209.165.200.225
access-list http permit tcp host 209.165.200.225 host 10.120.56.15 eq http
capture capweb access-list http packet-length 74 interface inside
Example 9-6 illustrates how to display a packet capture using a web browser.
The following command downloads a libpcap file to a local machine, using a web browser such as
Internet Explorer or Netscape Communicator:
https://209.165.200.226/capture/http/pcap
Example 9-7 copies an FTP trace to the file “ftp-dump” on the TFTP server 209.165.200.226.
+-----------------------------------------------------------------+
| pixfirewall# capture arp ethernet-type arp interface outside |
| pixfirewall# show capture |
| capture arp ethernet-type arp interface outside |
| pixfirewall# show capture arp |
| 6 packets captured, 6 packets to be shown |
| 10:46:25.452369 arp who-has 209.165.200.225 (ff:ff:ff:ff:ff:ff) |
| tell 209.165.200.235 |
| 10:46:26.312850 arp who-has 209.165.201.2 tell 209.165.200.227 |
| 10:46:26.392283 arp who-has 209.165.200.225 (ff:ff:ff:ff:ff:ff) |
| tell 209.165.200.235 |
| 10:46:28.923368 arp who-has 209.165.200.226 (ff:ff:ff:ff:ff:ff |
| tell 209.165.200.235 |
| 10:46:29.255998 arp who-has 209.165.202.129 |
| tell 209.165.202.130 (0:2:b9:45:bf:7b) |
| 10:46:29.256136 arp reply 209.165.202.129 is-at 0:a0:c9:86:8e:9c|
+-----------------------------------------------------------------+
+--------------------------------------------------------------------+
| pixfirewall# capture pppoed ethernet-type pppoed interface outside |
| pixfirewall(config)# show capture |
| capture pppoed ethernet-type pppoed interface outside |
| pixfirewall(config)# show capture pppoed |
| 3 packets captured, 3 packets to be shown |
| 02:13:21.844408 ffff.ffff.2ac5 ffff.ffff.ffff 0x8863 32: |
| 1109 0000 000c 0101 0000 0103 0004 386c |
| f280 |
| 02:13:25.841738 ffff.ffff.3cc0 ffff.ffff.ffff 0x8863 32: |
| 1109 0000 000c 0101 0000 0103 0004 386c |
| f280 |
| 02:13:33.841875 ffff.ffff.76c0 ffff.ffff.ffff 0x8863 32: |
| 1109 0000 000c 0101 0000 0103 0004 386c |
| f280 |
+--------------------------------------------------------------------+
Example 9-9 illustrates a packet capture on multiple interfaces. The example captures an FTP session to
an FTP server at host 209.165.202.129.
+--------------------------------------------------------------------------+
| pixfirewall(config)# access-list ftp tcp any host 209.165.202.129 eq ftp |
| pixfirewall(config)# access-list ftp tcp host 209.165.202.129 eq ftp any |
| pixfirewall# capture ftp access-list ftp |
| pixfirewall# capture ftp interface inside interface outside |
| pixfirewall# show capture |
| capture ftp access-list ftp interface outside interface inside |
| pixfirewall# |
| pixfirewall# show capture ftp |
| 5 packets captured, 5 packets to be shown |
| 11:21:17.705041 10.1.1.15.2158 > 10.1.1.15.2158: |
| S 3027585165:3027585165(0) win 512 <mss 1460> |
| 11:21:17.705133 209.165.202.130.2158 > 209.165.202.130.2158: |
| S 4192390209:4192390209(0) win 512 <mss 1380> |
| 11:21:17.705651 10.1.1.15.2158 > 10.1.1.15.2158: |
| . ack 3463843411 win 32120 |
| 11:21:17.705667 209.165.202.130.2158 > 209.165.202.130.2158: |
| . ack 3463843411 win 32120 |
| 11:21:20.784337 10.1.1.15.2158 > 10.1.1.15.2158: |
| . ack 3463843521 win 32120 |
+--------------------------------------------------------------------------+
For example:
%PIX-4-400013 IDS:2003 ICMP redirect from 10.4.1.2 to 10.2.1.1 on interface dmz
%PIX-4-400032 IDS:4051 UDP Snork attack from 10.1.1.1 to 192.168.1.1 on interface outside
Note Cisco IDS signature number 1101 is not supported by PIX Firewall. When an unsupported signature
number is entered, PIX Firewall returns an error message.
Table 9-5 lists the values and the meaning of each syslog output parameter.
Table 9-6 summarizes the commands that you can use to determine the messages that are displayed.
Command Effect
ip audit signature signature_number disable Attaches a global policy to a signature. Used to
disable or exclude a signature from auditing.
no ip audit signature signature_number Removes the policy from a signature. Used to
reenable a signature.
show ip audit signature [ signature_number] Displays disabled signatures.
ip audit info [ action [ alarm] [drop] [ reset]] Specifies the default action to be taken for
signatures classified as informational signatures.
The alarm option indicates that when a signature
match is detected in a packet, PIX Firewall reports
the event to all configured syslog servers. The
drop option drops the offending packet. The reset
option drops the offending packet and closes the
connection if it is part of an active connection. The
default is alarm. To cancel event reactions,
specify the ip audit info command without an
action option.
no ip audit info Sets the action to be taken for signatures classified
as informational and reconnaissance to the default
action.
show ip audit info Displays the default informational actions.
ip audit attack [ action [alarm] [ drop] Specifies the default actions to be taken for attack
[ reset]] signatures. The action options are as previously
described.
Command Effect
no ip audit attack Sets the action to be taken for attack signatures to
the default action.
show ip audit attack Displays the default attack actions. An audit
policy (audit rule) defines the attributes for all
signatures that can be applied to an interface along
with a set of actions. Using an audit policy the user
may limit the traffic that is audited or specify
actions to be taken when the signature matches.
Each audit policy is identified by a name and can
be defined for informational or attack signatures.
Each interface can have two policies; one for
informational signatures and one for attack
signatures. If a policy is defined without actions,
then the configured default actions will take effect.
Each policy requires a different name.
ip audit name audit_name info [action All informational signatures except those disabled
[ alarm] [ drop] [reset]] or excluded by the ip audit signature command
are considered part of the policy. The actions are
the same as described previously.
no ip audit name audit_name [ info] Remove the audit policy audit_name.
ip audit name audit_name attack [ action All attack signatures except those disabled or
[ alarm] [ drop] [reset]] excluded by the ip audit signature command are
considered part of the policy. The actions are the
same as described previously.
no ip audit name audit_name [attack] Removes the audit specification audit_name.
show ip audit name [ name [info | attack]] Displays all audit policies or specific policies
referenced by name and possibly type.
ip audit interface if_name audit_name Applies an audit specification or policy (via the ip
audit name command) to an interface.
no ip audit interface [ if_name] Removes a policy from an interface.
show ip audit interface Displays the interface configuration.
Using SNMP
This section describes how to enable SNMP for monitoring the PIX Firewall with a network
management system (NMS). It includes the following topics:
• Overview
• MIB Support
• SNMP CPU Utilization
• SNMP Usage Notes
• SNMP Traps
• Compiling Cisco Syslog MIB Files
Overview
The snmp-server command causes the PIX Firewall to send SNMP traps so that the PIX Firewall can
be monitored remotely. Use snmp-server host command to specify which systems receive the SNMP
traps.
The PIX Firewall SNMP MIB-II groups available are System and Interfaces. The Cisco Firewall MIB
and Cisco Memory Pool MIB are also available.
All SNMP values are read only (RO).
Using SNMP, you can monitor system events on the PIX Firewall. SNMP events can be read, but
information on the PIX Firewall cannot be changed with SNMP.
The PIX Firewall SNMP traps available to an SNMP management station are as follows:
• Generic traps:
– Link up and link down (cable connected to the interface or not; cable connected to an interface
working or not working)
– Cold start
– Authentication failure (mismatched community string)
• Security-related events sent via the Cisco Syslog MIB:
– Global access denied
– Failover syslog messages
– syslog messages
Use CiscoWorks for Windows or any other SNMP V1, MIB-II compliant browser to receive SNMP traps
and browse an MIB. SNMP traps occur at UDP port 162.
MIB Support
Note The PIX Firewall does not support browsing of the Cisco syslog MIB.
You can browse the System and Interface groups of MIB-II. Browsing an MIB is different from sending
traps. Browsing means doing an snmpget or snmpwalk of the MIB tree from the management station
to determine values.
The Cisco Firewall MIB and Cisco Memory Pool MIB are available.
PIX Firewall does not support the following in the Cisco Firewall MIB:
• cfwSecurityNotification NOTIFICATION-TYPE
• cfwContentInspectNotification NOTIFICATION-TYPE
• cfwConnNotification NOTIFICATION-TYPE
• cfwAccessNotification NOTIFICATION-TYPE
• cfwAuthNotification NOTIFICATION-TYPE
• cfwGenericNotification NOTIFICATION-TYPE
Note Because all current PIX Firewall hardware platforms support a single CPU, PIX Firewall
returns only one row from cpmCPUTotalTable and the index is always 1.
• entPhysicalIndex of the physical entity for which the CPU statistics in this entry are maintained (the
value of this object will be zero because the entPhysicalTable of Entity MIB is not supported on the
PIX SNMP agent)
• Overall CPU busy percentage in the last five-second period
• Overall CPU busy percentage in the last one-minute period
• Overall CPU busy percentage in the last five-minute period
The values of the last three elements will be the same as the output of the show cpu usage command.
PIX Firewall does not support the following new MIB objects in the cpmCPUTotalTable:
• cpmCPUTotal5secRev
• cpmCPUTotal1minRev
• cpmCPUTotal5minRev
SNMP Traps
Traps are different than browsing; they are unsolicited “comments” from the managed device to the
management station for certain events, such as link up, link down, and syslog event generated.
An SNMP object ID (OID) for PIX Firewall displays in SNMP event traps sent from the PIX Firewall.
PIX Firewall provides system OID in SNMP event traps & SNMP mib-2.system.sysObjectID variable
based on the hardware platform.
Table 9-8 lists the system OID in PIX Firewall platforms:
The SNMP service running on the PIX Firewall performs two different functions:
• Replies to SNMP requests from management stations (also known as an SNMP client)
• Sends traps (event notifications) to management stations or other devices that are registered to
receive them from the PIX Firewall. PIX Firewall supports two types of traps: generic traps and
syslog traps.
Step 1 Identify the IP address of the SNMP management station with the snmp-server host command.
Step 2 Set the snmp-server options for location, contact, and the community password as required.
If you only want to send the cold start, link up, and link down generic traps, no further configuration is
required.
If you only want to receive SNMP requests, no further configuration is required.
Step 3 Add an snmp-server enable traps command statement.
Step 4 Set the logging level with the logging history command:
logging history debugging
We recommend that you use the debugging level during initial set up and during testing. Thereafter, set
the level from debugging to a lower value for production use.
(The logging history command sets the severity level for SNMP syslog messages.)
Step 5 Start sending syslog traps to the management station with the logging on command.
Step 6 To disable sending syslog traps, use the no logging on command or the no snmp-server enable traps
command.
The commands in Example 9-11 specify that PIX Firewall can receive the SNMP requests from host
192.168.3.2 on the inside interface but does not send SNMP syslog traps to any host.
The location and contact commands identify where the host is and who administers it. The community
command specifies the password in use at the PIX Firewall SNMP agent and the SNMP management
station for verifying network access between the two systems.
Note With certain applications, only files with a .mib extension may show in the file selection window
of the SNMPc. The Cisco syslog MIB files with the .my extension will not be shown. In this
case, you should manually change the .my extension to a .mib extension.
Note These instructions are only for SNMPc (CiscoWorks for Windows).
ipAddrTable Notes
Use of the SNMP ip.ipAddrTable entry requires that all interfaces have unique addresses. If interfaces
have not been assigned IP addresses, by default, their IP addresses are all set to 127.0.0.1. Having
duplicate IP addresses causes the SNMP management station to loop indefinitely. The workaround is to
assign each interface a different address. For example, you can set one address to 127.0.0.1, another to
127.0.0.2, and so on.
SNMP uses a sequence of GetNext operations to traverse the MIB tree. Each GetNext request is based
on the result of the previous request. Therefore, if two consecutive interfaces have the same IP 127.0.0.1
(table index), the GetNext function returns 127.0.0.1, which is correct; however, when SNMP generates
the next GetNext request using the same result (127.0.0.1), the request is identical to the previous one,
which causes the management station to loop infinitely.
For example:
GetNext(ip.ipAddrTable.ipAddrEntry.ipAdEntAddr.127.0.0.1)
In SNMP protocol, the MIB table index should be unique for the agent to identify a row from the MIB
table. The table index for ip.ipAddrTable is the PIX Firewall interface IP address, so the IP address
should be unique; otherwise, the SNMP agent will get confused and may return information of another
interface (row), which has the same IP (index).
In the HP OpenView Browse MIB application’s “MIB values” window, if failover is disabled, a sample
MIB query yields the following information:
cfwHardwareInformation.6 :
cfwHardwareInformation.7 :
cfwHardwareStatusValue.6 :0
cfwHardwareStatusValue.7 :0
cfwHardwareStatusDetail.6 :Failover Off
cfwHardwareStatusDetail.7 :Failover Off
From this listing, the table index, cfwHardwareType, appears as either .6 or .7 appended to the end of
each of the subsequent objects. The cfwHardwareInformation field is blank, the
cfwHardwareStatusValue is 0, and the cfwHardwareStatusDetail contains Failover Off, which indicates
the failover status.
When failover is enabled, a sample MIB query yields the following information:
cfwHardwareInformation.6 :
cfwHardwareInformation.7 :
cfwHardwareStatusValue.6 : active
cfwHardwareStatusValue.7 : standby
cfwHardwareStatusDetail.6 :
cfwHardwareStatusDetail.7 :
In this listing, only the cfwHardwareStatusValue contains values, either active or standby to indicate
the status of each unit.
You can access the MIB objects from the following path:
.iso.org.dod.internet.private.enterprises.cisco.ciscoMgmt.ciscoMemoryPoolMIB.
ciscoMemoryPoolObjects.ciscoMemoryPoolTable
In the HP OpenView Browse MIB application’s “MIB values” window a sample MIB query yields the
following information:
ciscoMemoryPoolName.1 :PIX system memory
ciscoMemoryPoolAlternate.1 :0
ciscoMemoryPoolValid.1 :true
ciscoMemoryPoolUsed.1 :12312576
ciscoMemoryPoolFree.1 :54796288
ciscoMemoryPoolLargestFree.1 :0
From this listing, the table index, ciscoMemoryPoolName, appears as the .1 value at the end of each
subsequent object value. The ciscoMemoryPoolUsed object lists the number of bytes currently in use,
12312576, and the ciscoMemoryPoolFree object lists the number of bytes currently free 54796288. The
other objects always list the values described in Table 9-10.
The cfwConnectionStatTable object table can be accessed from the following path:
.iso.org.dod.internet.private.enterprises.cisco.ciscoMgmt.ciscoFirewallMIB.
ciscoFirewallMIBObjects.cfwSystem.cfwStatistics.cfwConnectionStatTable
In the HP OpenView Browse MIB application’s “MIB values” window a sample MIB query yields the
following information:
cfwConnectionStatDescription.40.6 :number of connections currently in use by the entire firewall
cfwConnectionStatDescription.40.7 :highest number of connections in use at any one time since system startup
cfwConnectionStatCount.40.6 :0
cfwConnectionStatCount.40.7 :0
cfwConnectionStatValue.40.6 :15
cfwConnectionStatValue.40.7 :88
From this listing, the table index, cfwConnectionStatService, appears as the .40 appended to each
subsequent object and the table index, cfwConnectionStatType, appears as either .6 to indicate the
number of connections in use or .7 to indicate the most used number of connections. The
cfwConnectionStatValue object then lists the connection count. The cfwConnectionStatCount object
always returns 0 (zero).
Table 9-12 lists the objects required to view the system block usage.
Note The three rows repeat for every block size listed in the output of the show blocks command.
In the HP OpenView Browse MIB application’s “MIB values” window a sample MIB query yields the
following information:
cfwBufferStatInformation.4.3 :maximum number of allocated 4 byte blocks
cfwBufferStatInformation.4.5 :fewest 4 byte blocks available since system startup
cfwBufferStatInformation.4.8 :current number of available 4 byte blocks
cfwBufferStatInformation.80.3 :maximum number of allocated 80 byte blocks
cfwBufferStatInformation.80.5 fewest 80 byte blocks available since system startup
cfwBufferStatInformation.80.8 :current number of available 80 byte blocks
cfwBufferStatInformation.256.3 :maximum number of allocated 256 byte blocks
cfwBufferStatInformation.256.5 :fewest 256 byte blocks available since system startup
cfwBufferStatInformation.256.8 :current number of available 256 byte blocks
From this listing, the first table index, cfwBufferStatSize, appears as first number appended to the end
of each object, such as .4 or .256. The other table index, cfwBufferStatType, appears as .3, .5, or .8 after
the first index. For each block size, the cfwBufferStatInformation object identifies the type of value and
the cfwBufferStatValue object identifies the number of bytes for each value.
This chapter describes the PIX Firewall failover feature, which lets you add a second PIX Firewall unit
that takes control if the primary unit fails. It includes the following topics:
• Failover Unit System Requirements
• Understanding Failover
• Configuring Failover with a Failover Cable
• Configuring LAN-Based Failover
• Changing from Cable-Based Failover to LAN-Based Failover
• Verifying Failover Configuration
• Additional Failover Information
• Failover Configuration Examples
Note For instructions about upgrading failover from a previous version, refer to “Upgrading Failover Systems
from a Previous Version” in Chapter 11, “Changing Feature Licenses and System Software.”
Note Neither PIX 501 or PIX 506/506E units can be used for failover, either as the primary or secondary unit.
Understanding Failover
Failover lets you connect a second PIX Firewall unit to your network to protect your network should the
first unit go off line. If you use Stateful Failover, you can maintain operating state for the TCP connection
during the failover from the primary unit to the standby unit.
When failover occurs, each unit changes state. The unit that activates assumes the IP and MAC addresses
of the previously active unit and begins accepting traffic. The new standby unit assumes the failover IP
and MAC addresses of the unit that was previously the active unit. Because network devices see no
change in these addresses, no ARP entries change or time out anywhere on the network.
Once you configure the primary unit and attach the necessary cabling, the primary unit automatically
copies the configuration over to the standby unit.
The ACT indicator light on the front of the PIX 515, PIX 525, and PIX 535 is on when the unit is the
active failover unit. If failover is not enabled, this light is on. If failover is present, the light is on when
the unit is the active unit and off when the unit is the standby unit.
Failover works with all Ethernet interfaces.
Note For Stateful Failover on a PIX 535, if you have Gigabit Ethernet (GE) interfaces, then the failover link
must be GE.
Cabling two PIX Firewall units together for failover requires a high-speed serial cable when using
cable-based failover, or a dedicated Ethernet connection to a dedicated switch (or VLAN) when using
LAN-based failover. If you are using Stateful Failover, a separate dedicated connection is required when
running cable-based failover and is recommended when running LAN-based failover. The minimum
connection speed for a Stateful Failover link is 100 Mbps full-duplex.
Caution You must use an interface card and bus for a Stateful Failover LAN port that is at least as fast as the
fastest card used for the network interface ports.
The failover feature causes the PIX Firewall to ARP for itself every 15 seconds (depending on the time
set with the failover poll command). This ARPing can only be stopped by disabling failover.
Note Improper use of the static command on an interface may prevent failover from functioning correctly.
The static command, used without a specific port, translates the address of any traffic received on an
interface. However, a standby failover unit must be able to communicate with the active unit on each
enabled interface to determine if the interface is still active.
For example, the following command would break failover communication between a pair of PIX
Firewall units and should NOT be used:
static (inside,outside) interface 192.168.100.1
This command causes all traffic received on the outside interface to be translated and forwarded to IP
address 192.168.100.1, including the failover messages sent by the standby unit. Because the standby
unit does not receive a reply to these messages, it assumes that the interface is down and becomes the
active unit.
To create a static translation without breaking failover, include a port number with the static command.
When you specifiy the port number, only traffic to that port will be translated. Because failover uses a
unique port number (port 105), it will not be translated. For example, the following command works
properly with failover:
static (inside, outside) tcp interface 80 192.168.100.1 80
This use of the static command only translates HTTP traffic (port 80), so failover messages are not
affected. If you need to translate other kinds of traffic, issue the static command for each port number.
Configuring the primary PIX Firewall for failover requires using the following commands:
• failover command to enable failover
• failover ip address command to assign IP addresses to the standby unit
• failover link command to enable Stateful Failover
• failover lan command to configure LAN-based failover
Note See “Additional Failover Information” for information on Stateful Failover, how failover occurs, and
frequently asked questions.
Note If you have already powered on the standby unit, power it off and leave it off until instructed in the steps
that follow.
Step 1 Because the PIX Firewall clock is stored in the CMOS, if you have not done so already, specify the clock
set time command on the active PIX Firewall to synchronize the time on both PIX Firewall units.
Step 2 Attach a network cable between the primary and secondary units for each network interface to which
you have configured an IP address.
Step 3 Connect the failover cable to the primary PIX Firewall unit ensuring that the end of the cable marked
“Primary” attaches to the primary unit and that the end marked “Secondary” connects to the secondary
unit.
Step 4 Only configure the primary unit. Changes made to the standby unit are not copied to the primary unit
and are lost during the next reboot. When you are done configuring the PIX Firewall and enter the write
memory command to save the configuration to Flash memory, the primary unit automatically updates
the secondary unit.
Note Do not power on the secondary unit until prompted by the system. First configure the primary
unit and then power on the secondary unit only when prompted to do so.
Step 6 Ensure that you have not used the auto or the 1000auto option in any interface command in your
configuration. To view interface commands in your configuration, use the write terminal command.
Reenter an interface with new information to correct a command you wish to change. Always specify
the speed for the interface, such as 10baset for 10 Mbps or 100basetx for 100 Mbps. Ensure that the
same speeds and duplexes are the same for any devices on the subnets including switches and routers.
Note If you are using Stateful Failover, set the Stateful Failover dedicate interface speed using the
100full or 1000sxfull option to the interface command. This is extremely important and should
be performed even if you are using a crossover connector to connect the PIX Firewall units
directly to each other. Also, the maximum transmission unit (MTU) size must be 1500 or larger
on the Stateful Failover link.
You must use an interface card and bus for a Stateful Failover LAN port that is at least as fast as the
fastest card used for the network interface ports. For example, if the inside and outside interfaces are
PIX-1GE-66 cards installed in bus 0, then the Stateful Failover interface must be a PIX-1GE-66 card
installed in bus 1. In this case, you could not use a PIX-1GE or PIX-1FE card. Nor could you use any
card installed in bus 2 or sharing bus 1 with a slower card.
Step 7 Use the clear xlate command after changing the interface command.
Step 8 If you have not done so already, use the ip address command statement to assign IP addresses to each
interface on the primary unit. If you make a mistake while entering an ip address command, reenter the
command again correctly.
Use the show ip address command to view the addresses you specified:
show ip address
System IP Addresses:
ip address outside 192.168.1.1 255.255.255.0
ip address inside 10.1.1.1 255.255.255.0
ip address intf2 192.168.2.1 255.255.255.0
ip address intf3 192.168.3.1 255.255.255.0
ip address 4th 172.16.1.1 255.255.255.0
Current IP Addresses:
ip address outside 192.168.1.1 255.255.255.0
ip address inside 10.1.1.1 255.255.255.0
ip address intf2 192.168.2.1 255.255.255.0
ip address intf3 192.168.3.1 255.255.255.0
ip address 4th 172.16.1.1 255.255.255.0
The Current IP Addresses are the same as the System IP Addresses on the failover active unit. When the
primary unit fails, the Current IP Addresses become those of the standby unit.
Step 9 Use the failover command statement to enable failover on the primary unit.
Step 10 Use the show failover command to verify that the primary unit is enabled by checking for the following
statement:
This host: primary - Active
Sample output from the show failover command follows:
show failover
Failover On
Cable status: Other side powered off
Reconnect timeout 0:00:00
Poll frequency 15 seconds
This host: primary - Active
Active time: 225 (sec)
Interface 4th (172.16.1.1): Normal (Waiting)
Interface intf3 (192.168.3.1): Normal (Waiting)
Interface intf2 (192.168.2.1): Normal (Waiting)
Interface outside (192.168.1.1): Normal (Waiting)
Interface inside (10.1.1.1): Normal (Waiting)
Other host: secondary - Standby
Active time: 0 (sec)
Interface 4th (0.0.0.0): Unknown (Waiting)
Interface intf3 (0.0.0.0): Unknown (Waiting)
Interface intf2 (0.0.0.0): Unknown (Waiting)
Interface outside (0.0.0.0): Unknown (Waiting)
Interface inside (0.0.0.0): Unknown (Waiting)
The Cable Status that displays with the show failover command has these values:
• My side not connected—Indicates that the serial cable is not connected to the unit on which you
entered the show failover command.
• Normal—Indicates that the active unit is working and that the standby unit is ready.
• Other side is not connected—Indicates that the serial cable is not connected to the other unit (the
unit opposite from where you entered the show failover command).
• Other side powered off—Indicates that the unit not shown as active is powered off.
The failover interface flags appear to the right of each interface’s IP address in the show failover
command display. The failover flags indicate the following:
• Failed—The interface has failed.
• Link Down—The interface line protocol is down.
• Normal—The interface is working correctly.
• Shut Down—The interface has been administratively shut down (the shutdown option is enabled in
the interface command statement in the configuration).
• Unknown—The IP address for the interface has not been configured and failover cannot determine
the status of the interface.
• Waiting—Monitoring of the other unit's network interface has not yet started.
Step 11 Enter a failover ip address command statement for each interface to specify the standby unit’s interface
addresses. It is not necessary for the two units to be configured for this command to work correctly. The
IP addresses on the standby unit are different from the active unit’s addresses, but should be in the same
subnet for each interface. The following example sets the IP addresses for the interfaces on the standby
unit.
failover ip address inside 10.1.1.2
failover ip address outside 192.168.1.2
failover ip address intf2 192.168.2.2
failover ip address intf3 192.168.3.2
failover ip address 4th 172.16.1.2
Sample output from the show failover command shows that the secondary unit now has IP addresses for
each interface:
show failover
Failover On
Cable status: Other side powered off
Reconnect timeout 0:00:00
Poll frequency 15 seconds
This host: primary - Active
Active time: 510 (sec)
Interface 4th (172.16.1.1): Normal (Waiting)
Interface intf3 (192.168.3.1): Normal (Waiting)
Interface intf2 (192.168.2.1): Normal (Waiting)
Interface outside (192.168.1.1): Normal (Waiting)
Interface inside (10.1.1.1): Normal (Waiting)
Other host: secondary - Standby
Active time: 0 (sec)
Interface 4th (172.16.1.2): Unknown (Waiting)
Interface intf3 (192.168.3.2): Unknown (Waiting)
Interface intf2 (192.168.2.2): Unknown (Waiting)
Interface outside (192.168.1.2): Unknown (Waiting)
Interface inside (10.1.1.2): Unknown (Waiting)
Step 12 If you are configuring Stateful Failover, use the failover link command to specify the name of the
dedicated interface you are using. For example, assume the “4th” interface will be used for Stateful
Failover and enter the following command.
failover link 4th
Step 13 After enabling Stateful Failover, use the show failover command and additional information is provided
as follows:
show failover
Failover On
Cable status: Other side powered off
Reconnect timeout 0:00:00
Poll frequency 15 seconds
This host: primary - Active
Active time: 510 (sec)
Interface 4th (172.16.1.1): Normal (Waiting)
Interface intf3 (192.168.3.1): Normal (Waiting)
Interface intf2 (192.168.2.1): Normal (Waiting)
Interface outside (192.168.1.1): Normal (Waiting)
Interface inside (10.1.1.1): Normal (Waiting)
Other host: secondary - Standby
Active time: 0 (sec)
Interface 4th (172.16.1.2): Unknown (Waiting)
Interface intf3 (192.168.3.2): Unknown (Waiting)
Interface intf2 (192.168.2.2): Unknown (Waiting)
Interface outside (192.168.1.2): Unknown (Waiting)
Interface inside (10.1.1.2): Unknown (Waiting)
The items in the top row of the “Stateful Failover Logical Update Statistics” section of the show failover
command are as follows:
• Stateful Obj—PIX Firewall stateful object
• xmit—Number of transmitted packets to the other unit
• xerr—Number of errors that occurred while transmitting packets to the other unit
• rcv—Number of received packets
• rerr—Number of errors that occurred while receiving packets from the other unit
The items in the first column provide an object static count for each statistic:
• General—Sum of all stateful objects
• sys cmd—Logical update system commands; for example, LOGIN and Stay Alive
• up time—Up time, which the active unit passes to the standby unit
• xlate—Translation information
• tcp conn—CTCP connection information
• udp conn—Dynamic UDP connection information
• ARP tbl—Dynamic ARP table information
• RIF Tbl—Dynamic router table information
The items in the “Logical Update Queue Information” list the current, maximum, and total number of
packets in the receive (Recv) and transmit (Xmit) queues.
Step 14 If you want to set a time shorter than 15 seconds for the units to exchange “hello” packets to ensure each
unit is available, use the failover poll seconds command. The default is 15 seconds. The minimum value
is 3 seconds and the maximum is 15 seconds. Set to a lower value for Stateful Failover. With a faster poll
time, PIX Firewall can detect failure and trigger failover faster. However, faster detection may cause
unnecessary switchovers when the network is temporarily congested or a network card starts slowly.
Step 15 Power on the secondary unit. As soon as the secondary unit starts, the primary unit recognizes it and
starts synchronizing the configurations. As the configurations synchronize, the messages “Sync Started”
and “Sync Completed” appear.
Step 16 After the standby unit comes up, use the show failover command on the primary unit to verify status:
show failover
Failover On
Cable status: Other side powered off
Reconnect timeout 0:00:00
Poll frequency 15 seconds
This host: primary - Active
Active time: 510 (sec)
Interface 4th (172.16.1.1): Normal
Interface intf3 (192.168.3.1): Normal
Interface intf2 (192.168.2.1): Normal
Interface outside (192.168.1.1): Normal
Interface inside (10.1.1.1): Normal
Other host: secondary - Standby
Active time: 0 (sec)
Interface 4th (172.16.1.2): Normal
Interface intf3 (192.168.3.2): Normal
Interface intf2 (192.168.2.2): Normal
Interface outside (192.168.1.2): Normal
Step 17 Use the write memory to save the configuration to Flash memory and to synchronize the configuration
on the standby unit with the primary unit.
Note A dedicated LAN interface and a dedicated switch (or VLAN) is required to implement LAN-based
failover. You cannot use a crossover Ethernet cable to connect the two PIX Firewalls.
With LAN-based failover, failover messages may be transmitted over Ethernet connections that are
relatively less secure than the dedicated Failover cable used in previous versions of the PIX Firewall. For
LAN-based failover, PIX Firewall version 6.2 provides message encryption and authentication using a
manual pre-shared key.
For failover, both PIX Firewall units should be the same model number, have at least as much RAM, have
the same Flash memory size, and be running the same software version.
Follow these steps to configure failover:
Step 1 Because the PIX Firewall clock is stored in the CMOS, if you have not done so already, specify the clock
set time command on the active PIX Firewall to synchronize the time on both PIX Firewall units.
Step 2 Attach a network cable between the primary and secondary units for each network interface to which
you have configured an IP address, except for the interface to be used for LAN-based failover.
Step 3 If the Failover cable is connected to the PIX Firewall, disconnect it.
Step 4 Only configure the primary unit. Changes made to the standby unit are not copied to the primary unit
and are lost during the next reboot. When you are done configuring the PIX Firewall and enter the write
memory command to save the configuration to Flash memory, the primary unit automatically updates
the secondary unit.
Step 5 Enter configuration mode with the configure terminal command.
Step 6 Ensure that you have not used the auto or the 1000auto option in any interface command in your
configuration. To view interface commands in your configuration, use the write terminal command.
Reenter an interface with new information to correct a command you wish to change. Always specify
the speed for the interface, such as 10baset for 10 Mbps or 100basetx for 100 Mbps. Ensure that the
same speeds and duplexes are the same for any devices on the subnets including switches and routers.
Step 7 If you are using Stateful Failover, set the Stateful Failover dedicated interface speed using the 100full
or 1000sxfull option to the interface command. This is extremely important and should be performed even
if you are using a crossover connector to connect the PIX Firewall units directly to each other.
Caution You must use an interface card and bus for a Stateful Failover LAN port that is at least as fast as the
fastest card used for the network interface ports.
Step 8 Use the clear xlate command after changing the interface command.
Step 9 If you have not done so already, use the ip address command statement to assign IP addresses to each
interface on the primary unit. If you make a mistake while entering an ip address command, reenter the
command again correctly.
Use the show ip address command to view the addresses you specified:
show ip address
System IP Addresses:
ip address outside 192.168.1.1 255.255.255.0
ip address inside 10.1.1.1 255.255.255.0
ip address intf2 192.168.2.1 255.255.255.0
ip address intf3 192.168.3.1 255.255.255.0
ip address 4th 172.16.1.1 255.255.255.0
Current IP Addresses:
ip address outside 192.168.1.1 255.255.255.0
ip address inside 10.1.1.1 255.255.255.0
ip address intf2 192.168.2.1 255.255.255.0
ip address intf3 192.168.3.1 255.255.255.0
ip address 4th 172.16.1.1 255.255.255.0
The Current IP Addresses are the same as the System IP Addresses on the failover active unit. When the
primary unit fails, the Current IP Addresses become those of the standby unit.
Step 10 Use the failover command statement to enable failover on the primary unit.
Step 11 Use the show failover command to verify that the primary unit is enabled by checking for the following
statement:
This host: primary - Active
The Cable Status that displays with the show failover command has these values:
• My side not connected—Indicates that the serial cable is not connected to the unit on which you
entered the show failover command.
• Normal—Indicates that the active unit is working and that the standby unit is ready.
• Other side is not connected—Indicates that the serial cable is not connected to the other unit (the
unit opposite from where you entered the show failover command).
• Other side powered off—Indicates that the unit not shown as active is powered off.
The failover interface flags appear to the right of each interface’s IP address in the show failover
command display. The failover flags indicate the following:
• Failed—The interface has failed.
• Link Down—The interface line protocol is down.
• Normal—The interface is working correctly.
• Shut Down—The interface has been administratively shut down (the shutdown option is enabled in
the interface command statement in the configuration).
• Unknown—The IP address for the interface has not been configured and failover cannot determine
the status of the interface.
• Waiting—Monitoring of the other unit's network interface has not yet started.
Step 12 Enter a failover ip address command statement for each interface to specify the standby unit's interface
addresses. It is not necessary for the two units to be configured for this command to work correctly. The
IP addresses on the standby unit are different from the active unit's addresses, but should be in the same
subnet for each interface. The following example sets the IP addresses for the interfaces on the standby
unit.
failover ip address inside 10.1.1.2
failover ip address outside 192.168.1.2
failover ip address intf2 192.168.2.2
failover ip address intf3 192.168.3.2
failover ip address 4th 172.16.1.2
To use these commands to configure your PIX Firewall, replace intf3 with the interface name on the
primary PIX Firewall used to connect to the secondary unit. Replace the IP addresses with the values
appropriate for your network.
The following sample output from the show failover command shows that the secondary unit now has
IP addresses for each interface:
show failover
Failover On
Cable status: Unknown
Reconnect timeout 0:00:00
Poll frequency 15 seconds
This host: primary - Active
Active time: 510 (sec)
Interface 4th (172.16.1.1): Normal (Waiting)
Interface intf3 (192.168.3.1): Link Down
Interface intf2 (192.168.2.1): Normal (Waiting)
Interface outside (192.168.1.1): Normal (Waiting)
Interface inside (10.1.1.1): Normal (Waiting)
Other host: secondary - Standby
Replace intf3 with the interface used for the failover connection. Replace 1234567 with the key used for
encrypting traffic over the failover interface.
Step 14 If you are configuring Stateful Failover, use the failover link command to specify the name of the
dedicated interface you are using. For example, assume the “4th” interface will be used for Stateful
Failover and enter the following command.
failover link 4th
Step 15 After enabling Stateful Failover, use the show failover command and additional information is provided
as shown in the following example:
show failover
Failover On
Cable status: Unknown
Reconnect timeout 0:00:00
Poll frequency 15 seconds
This host: primary - Active
Active time: 510 (sec)
Interface 4th (172.16.1.1): Normal (Waiting)
Interface intf2 (192.168.2.1): Normal (Waiting)
Interface outside (192.168.1.1): Normal (Waiting)
Interface inside (10.1.1.1): Normal (Waiting)
Other host: secondary - Standby
Active time: 0 (sec)
Interface 4th (172.16.1.2): Unknown (Waiting)
Interface intf2 (192.168.2.2): Unknown (Waiting)
Interface outside (192.168.1.2): Unknown (Waiting)
Interface inside (10.1.1.2): Unknown (Waiting)
The items in the top row of the “Stateful Failover Logical Update Statistics” section of the show failover
command are as follows:
• Stateful Obj—PIX Firewall stateful object
• xmit—Number of transmitted packets to the other unit
• xerr—Number of errors that occurred while transmitting packets to the other unit
• rcv—Number of received packets
• rerr—Number of errors that occurred while receiving packets from the other unit
The items in the first column provide an object static count for each statistic:
• General—Sum of all stateful objects
• sys cmd—Logical update system commands; for example, LOGIN and Stay Alive
• up time—Up time, which the active unit passes to the standby unit
• xlate—Translation information
• tcp conn—CTCP connection information
• udp conn—Dynamic UDP connection information
• ARP tbl—Dynamic ARP table information
• RIF Tbl—Dynamic router table information
The items in the “Logical Update Queue Information” list the current, maximum, and total number of
packets in the receive (Recv) and transmit (Xmit) queues.
Step 16 Power on the secondary unit (without the LAN-based failover interface connected) and enter the
following commands:
nameif ethernet3 intf3 security40
interface ethernet3 100full
ip address intf3 192.168.3.1 255.255.255.0
failover ip address intf3 192.168.3.2
failover lan unit secondary <--optional
failover lan interface intf3
failover lan key 1234567
failover lan enable
failover
wr mem
reload
These are the commands necessary to configure the secondary unit to connect to the primary unit through
the interface chosen for LAN-based failover. Once this connection is made, the rest of the configuration
is replicated from the primary unit over the failover connection.
To use these commands to configure your PIX Firewall, replace intf3 with the interface name on the
secondary PIX Firewall used to connect to the primary unit. Replace the IP addresses and the subnetwork
mask with the values appropriate for your network. Replace 1234567 with the string that you want to
use to establish security over the LAN-based failover connection.
Step 17 After the secondary unit boots, connect the LAN-based failover interface to the network and use the
show failover command to verify LAN-based failover status:
show failover
Failover On
Cable status: Unknown
Reconnect timeout 0:00:00
Poll frequency 15 seconds
Note The display in this example is only for illustration and is not complete.
Step 18 Use the write memory command to save the configuration to Flash memory and to synchronize the
configuration on the secondary unit with the primary unit.
Step 3 Use the show failover command to verify that LAN-based failover is running on the primary unit, as
shown in the following example:
show failover
Failover On
After the secondary unit finishes reloading, use the show failover command to verify that LAN-based
failover is running correctly, as shown in the following example:
show failover
Failover On
Cable status: Unknown
Reconnect timeout 0:00:00
Poll frequency 15 seconds
This host: primary - Active
Active time: 510 (sec)
Interface 4th (172.16.1.1): Norml
Interface intf2 (192.168.2.1): Normal
Interface outside (192.168.1.1): Normal
Interface inside (10.1.1.1): Normal
Other host: secondary - Standby
Active time: 0 (sec)
Step 5 Use the write memory command to save the configuration to Flash memory and to synchronize the
configuration on the secondary unit with the primary unit.
Step 1 If you have access to a syslog server, such as a UNIX system, enable logging so you can view the syslog
messages as you proceed with the steps that follow. For information on syslog messages, refer to Cisco
PIX Firewall System Log Messages, which is available online at the following website:
http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_62/index.htm
Additional information on syslog is available on the logging command page in the Cisco PIX Firewall
Command Reference.
To enable logging to a server with the example address 10.1.1.5 on the inside interface, use the following
commands:
logging host inside 10.1.1.5
logging trap debugging
logging on
The logging trap debugging command statement lets all levels of syslog messages be sent, which can
produce a large number of messages on a system in production, but is very helpful for debugging. When
you are done testing failover, use the logging trap error command to reduce the number of syslog
messages to only those messages displaying an alert, critical condition, or error.
Step 2 Test the secondary unit by powering off the primary unit.
Step 3 Use the show failover command to verify that the secondary unit is now active.
Step 4 Use FTP to send a file between hosts on different interfaces.
Step 5 Use the show interface command to verify that traffic is being processed.
Step 6 You can also use the debug fover option command. Choose an option from the following table.
Option Description
cable Failover cable status
fail Failover internal exception
fmsg Failover message
get IP network packet received
ifc Network interface status trace
open Failover device open
put IP network packet transmitted
rx Failover cable receive
rxdmp Cable recv message dump (serial console only)
rxip IP network failover packet received
tx Failover cable transmit
txdmp Cable xmit message dump (serial console only)
txip IP network failover packet transmit
verify Failover message verify
switch Failover Switching status
Step 7 When ready, power on the primary unit and it will take over automatically as the active unit.
The system will display the following message:
“Verifying LAN-Based Failover Configuration:”
In PIX Firewall version 6.2, the show failover command provides additional information about the
status of LAN-based failover if it is implemented. Example 10-1 shows the output from this command
when LAN-based failover is enabled.
Note Some of the output has been omitted from this example.
A new command, show failover lan shows only the status of LAN-based failover.
The command show failover lan detail command provides information for debugging purposes.
Example 10-2 shows the output from this command.
PIX Firewall version 6.2 also provides four new debug options for debugging LAN-based failover:
• lanrx—Display debug messages on LAN-based failover receive process
• lanretx—Display debug messages on LAN-based failover retransmit process
• lantx—Display debug messages on LAN-based failover transmit process
• lancmd —Display debug messages on LAN-based failover main thread
Failover Communication
Both units in a failover pair communicate through either a dedicated LAN connection or a special
Failover cable. The Failover cable is a modified RS-232 serial link cable that transfers data at 117,760
baud (115 K). The data provides the unit identification of primary or secondary, the power status of the
other unit, and serves as a communication link for various failover communications between the two
units.
The two units send special failover “hello” packets to each other over all network interfaces and the
failover connection every 15 seconds. The failover poll seconds command lets you determine how long
failover waits before sending special failover “hello” packets between the primary and secondary units
over all network interfaces and the failover connection. The default is 15 seconds. The minimum value
is 3 seconds and the maximum is 15 seconds. Set to a lower value for Stateful Failover. With a faster poll
time, PIX Firewall can detect failure and trigger failover faster. However, faster detection may cause
unnecessary switchovers when the network is temporarily congested or a network card starts slowly.
The failover feature in PIX Firewall monitors failover communication, the power status of the other unit,
and hello packets received at each interface. If two consecutive hello packets are not received within a
time determined by the failover feature, failover starts testing the interfaces to determine which unit has
failed, and transfers active control to the secondary unit.
You can choose the Stateful Failover option if you have interfaces with a minimum connection speed of
100 Mbps full-duplex. If you are using Stateful Failover, connection states are relayed from the primary
unit to the secondary unit. Without Stateful Failover, the standby unit does not maintain the state
information of each connection. This means that all active connections will be dropped when failover
occurs and that client systems should reestablish connections.
You must use an interface card and bus for a Stateful Failover LAN port that is at least as fast as the
fastest card used for the network interface ports. For example, if the inside and outside interfaces are
PIX-1GE-66 cards installed in bus 0, then the Stateful Failover interface must be a PIX-1GE-66 card
installed in bus 1. In this case, you could not use a PIX-1GE or PIX-1FE card. Nor could you use any
card installed in bus 2 or sharing bus 1 with a slower card.
Note If the failover IP address has not been set, failover does not work, and the Network Activity, ARP, and
Broadcast ping tests are not performed.
Failover uses the following tests to determine if the other unit is available:
• Link Up/Down test—This is a test of the NIC card itself. If an interface card is not plugged into an
operational network, it is considered failed (for example, a switch failed, has a failed port, or a cable
is unplugged).
• Network Activity test—This is a received network activity test. The unit will count all received
packets for up to 5 seconds. If any packets are received at any time during this interval, the interface
is considered operational and testing stops. If no traffic is received, the ARP test begins.
• ARP test—The ARP test consists of reading the unit’s ARP cache for the 10 most recently acquired
entries. One at a time the unit sends ARP requests to these machines attempting to stimulate network
traffic. After each request, the unit counts all received traffic for up to 5 seconds. If traffic is
received, the interface is considered operational. If no traffic is received, an ARP request is sent to
the next machine. If at the end of the list no traffic has been received, the ping test begins.
• Broadcast Ping test—The ping test consists of sending out a broadcast ping request. The unit then
counts all received packets for up to 5 seconds. If any packets are received at any time during this
interval, the interface is considered operational and testing stops. If no traffic is received, the testing
starts over again with the ARP test.
Note When running LAN-based failover, then loss of power on the peer unit cannot be detected by the
PIX Firewall.
Configuration Replication
The two PIX Firewall units should be configured exactly the same and running the same software
release. Configuration replication occurs over the failover connection from the active unit to the
secondary unit in three ways:
• When the standby unit completes its initial bootup, the active unit replicates its entire configuration
to the standby unit.
• As commands are entered on the active unit they are sent across the failover connection to the
standby unit.
• Entering the write standby command on the active unit forces the entire configuration in memory
to be sent to the standby unit.
The configuration replication only occurs from memory to memory. After replication, use the write
memory command to write the configuration into Flash memory. When a Failover cable is used, the
replication can take a long time to complete with a large configuration. If a switchover occurs during the
replication, the new active unit will have a partial configuration. The unit will reboot itself to recover the
configuration from the Flash memory or re-synchronize with the other unit. When the replication starts,
the PIX Firewall console displays the message “Sync Started,” and when complete, displays the message
“Sync Completed.” During the replication, information cannot be entered on the PIX Firewall console.
Stateful Failover
The Stateful Failover feature passes per-connection stateful information to the standby unit. After a
failover occurs, the same connection information is available at the new active unit. End user
applications are not required to do a reconnect to keep the same communication session.
The state information passed to the standby unit includes the global pool addresses and status,
connection and translation information and status, the negotiated H.323 UDP ports, the port allocation
bit map for PAT, and other details necessary to let the standby unit take over processing if the primary
unit fails.
Depending on the failure, the PIX Firewall takes from 15 to 45 seconds to cause a switchover.
Applications not handled by Stateful Failover will then require time to reconnect before the active unit
becomes fully functional.
Stateful Failover requires an interface with a minimum connection speed of 100 Mbps full-duplex that
can be used exclusively for passing state information between the two PIX Firewall units.
The Stateful Failover interface can be connected to any of the following:
• Cat 5 crossover cable directly connecting the primary unit to the secondary unit.
• 100BaseTX full duplex on a dedicated switch or dedicated VLAN of a switch.
• 1000BaseTX full duplex on a dedicated switch or dedicated VLAN of a switch.
Caution You must use an interface card and bus for a Stateful Failover LAN port that is at least as fast as the
fastest card used for the network interface ports.
Data is passed over the dedicated interface using IP protocol 105. No hosts or routers should be on this
interface.
Figure 10-1 shows two PIX Firewall units connected for use with Stateful Failover.
Power
PIX 515
Primary unit PIX 515
Standby unit
PIX-515
DO NOT INSTALL INTERFACE
100 Mbps Link CARDS WITH POWER APPLIED
FDX 100 Mbps Link FAILOVER
FDX
27883
10/100 ETHERNET 1
PIX-515
10/100 ETHERNET 0
Stateful Failover
CONSOLE
10/100 ETHERNET 1
10/100 ETHERNET 0
CONSOLE
dedicated interface
cable UPS
(not supplied)
Failover
serial cable
Outside switch
Inside switch
Internet Inside
network
Note All enabled interfaces should be connected between the active and standby units. If an interface is not in
use, use the shutdown option to the interface command to disable the interface.
Disabling Failover
You can disable failover with the no failover command. If failover is disabled, the following messages
display when you enter the show failover command.
show failover
Failover Off
Cable Status: My side not connected
Reconnect timeout: 0:00:00
Note In CAT OS 5.4 a new command was added: set port host. This command executes the following
commands: spantree portfast enable, set trunk off, and set port channel off. This command
provides a convenient way to configure host/access ports to a mode that allows the port to
forward traffic in less than one second from link up.
2. The PIX Firewall failover unit is intended to be used solely for failover and not in standalone mode.
If a failover unit is used in standalone mode, the unit will reboot at least once every 24 hours until
the unit is returned to failover duty. When the unit reboots, the following message displays at the
console.
=========================NOTICE ==========================
This machine is running in secondary mode without
a connection to an active primary PIX. Please
check your connection to the primary system.
REBOOTING....
==========================================================
3. If a failover-only PIX Firewall is not attached to a failover connection or is attached to the primary
end of a Failover cable, then it will hang at boot time. It should be a secondary unit.
4. Changes made on the standby unit are not replicated on the active unit.
Failover messages always have a syslog priority level of 2, which indicates a critical condition. Refer to
the logging command in the Cisco PIX Firewall Command Reference for more information on syslog
messages. For a complete list of messages, refer to Cisco PIX Firewall System Log Messages.
PIX Firewall documentation is available at the following website:
http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_62/index.htm
To receive SNMP syslog traps (SNMP failover traps), configure the SNMP agent to send SNMP traps to
SNMP management stations, define a syslog host, and compile the Cisco syslog MIB into your SNMP
management station. See the snmp-server and logging command in the Cisco PIX Firewall Command
Reference for more information.
Cable-Based Failover
• What happens when failover is triggered?
A switch can be initiated by either unit. When a switch takes place, each unit changes state. The
newly active unit assumes the IP address and MAC address of the previously active unit and begins
accepting traffic for it. The new standby unit assumes the IP address and MAC address of the unit
that was previously the standby unit.
LAN-Based Failover
• What is the advantage of using LAN-based failover?
– Using LAN-based failover, the distance between PIX Firewall units can be longer than 6 feet
(the maximum Failover Cable length).
• What is the disadvantage of using LAN-based failover?
– PIX Firewall cannot detect peer failure due to loss of power or reload, so it will take longer for
a PIX Firewall unit to fail over if that happens.
– User need to configure the secondary PIX Firewall unit before it can communicate with the
primary unit.
• Can users put a router between the PIX Firewall units when running LAN-based failover?
– No, only a switch or VLAN is allowed. All interfaces of the two units still need to be on the
same subnet.
• What happen if the interface for LAN-based failover is down?
– If the LAN-based failover command interface link goes down, then the PIX Firewall notifies the
peer through “other” interfaces, and if the active PIX Firewall’s interface goes down, then the
standby unit will take over.
Note When the command interface goes down and the PIX Firewall becomes a standby unit, the
PIX Firewall cannot become active until the interface comes back up again.
• What happens if the connectivity of LAN-based failover command interface is down due to reasons
other than the link down (for example, each PIX is connected to a separate switch and two switches
are connected using ISL).
– The PIX Firewall will try to use “other” interfaces to poll the peer status, and then failover if
necessary.
• Is it possible to have both PIX Firewall unites become active at the same time?
– If all connectivity between the two PIX Firewall units is lost, then this can happen. Therefore,
it is best to use a separate switch for the LAN-based failover command interface, so a failed
switch will not cause all connectivity to be lost between the two PIX Firewall units.
Internet
PAT Global
209.165.201.3 209.165.201.4
Hub
Static Global
PIX Firewall PIX Firewall
209.165.201.5
Primary unit Secondary unit
outside
209.165.201.1 209.165.201.2
192.168.254.1 failover 192.168.254.2
Hub
192.168.2.5
Web Server
34029
Follow these steps to configure the PIX Firewall units for use with failover:
Note If the secondary unit has been previously configured, before you connect it to the Failover cable
to the primary unit, boot it up, and enter the write erase command to remove any configuration.
This will ensure a smooth synchronization.
Step 6 Enter the write standby command from the active unit to synchronize the current configuration to the
Flash memory on the standby unit.
In the example configuration illustrated in Figure 10-2, the Ethernet2 interface (labeled “failover”) is
used as the dedicated interface for Stateful Failover. The Ethernet3 interface is a previously unconfigured
interface and is currently not connected to any active network. There is a cross-over Ethernet cable
connecting the unused interface so that the failover check up messages can be sent and received.
Note PIX Firewall requires that unused interfaces be connected to the standby unit and that each unused
interface be assigned an IP address. Even if an interface is administratively shut down, the PIX Firewall
will try to send the failover check up messages to all internal interfaces.
Example 10-4 shows the configuration listing for the primary unit when implementing LAN-based
failover.
Example 10-5 shows the configuration listing for the primary unit with LAN-based Failover.
This chapter describes how to change (upgrade or downgrade) the feature license or software image on
your Cisco PIX Firewall. It contains the following sections:
• Upgrading Your License by Entering a New Activation Key
• Using HTTP to Copy Software and Configurations
• Getting a Console Terminal
• Downloading the Current Software
• Installing and Recovering PIX Firewall Software
• Downgrading to a Previous Software Version
• Upgrading Failover Systems from a Previous Version
• TFTP Download Error Codes
PIX Firewall displays a warning message if the configuration file (stored in Flash memory) is newer than
the PIX Firewall software version currently being loaded. This message warns you of the possibility of
unrecognized commands in the configuration file. For example, if you install version 6.0 software when
the current version is 6.2, the following message appears at startup:
Configuration Compatibility Warning:
The config is from version 6.2(1).
but the image is version 6.0(1).
In the message, “config” is the version in Flash memory and “image” is the version you are installing.
Caution Before upgrading from a previous version, save your configuration and write down your activation key.
Note You must reboot the PIX Firewall after entering the new activation key for the change to take effect in
the running image.
In this command, replace activation-key-four-tuple with the activation key you obtained with your new
license.
For example:
activation-key 0x12345678 0xabcdef01 0x2345678ab 0xcdef01234
The leading “0x” hexadecimal indicator is optional. If it is omitted, the parameter is assumed to be a
hexadecimal number, as in the following example.
activation-key 12345678 abcdef01 2345678ab cdef01234
After you enter the activation key, the system displays the following output when the activation key has
been successfully changed:
pixfirewall(config)# activation-key 0x01234567 0x89abcdef01 0x23456789 0xabcdef01
Serial Number: 12345678 (0xbc614e)
As indicated by this message, after entering the new activation key, you must reboot the PIX Firewall to
enable the new license.
If you are upgrading the image to a newer version and the activation key is also being changed, reboot
the system twice, as shown in the following procedure:
1. Install the new image.
2. Reboot the system.
The newer image can use the old key because all license keys are backward compatible, so the reload
should not fail because of a bad activation key.
3. Update the new activation key.
4. Reboot the system.
After the key update is complete, the system is reloaded a second time, so the updated licensing
scheme can take effect in a running image.
If you are downgrading an image, you only need to reboot once, after installing the new image. In this
situation, the old key is both verified and changed with the current image, then the image can be updated
and finally the system is reloaded.
Problems may occur if an image is copied to Flash memory using the copy tftp flash:image command
that is not compatible with the activation key in the Flash memory. You may need to use a different
activation key and/or install from monitor mode or Boothelper to restore the unit if this happens.
To view your current activation key, enter the following command:
show activation-key
Example 11-1, Example 11-2, and Example 11-3 show the output from this command under different
circumstances.
SSL will be used when https is entered. The user and password options are used for basic authentication
when logging in to the server. The location option is the IP address (or a name that resolves to the IP
address) of the server. The port option specifies the port to contact on the server. It will default to 80 for
HTTP and 443 for HTTPS. The pathname option is the name of the resource that contains the
configuration to retrieve.
SSL will be used when https is entered. The user and password options are used for basic authentication
when logging in to the server. The location option is the IP address (or a name that resolves to the IP
address) of the server. The port option specifies the port to contact on the server. It will default to 80 for
HTTP and 443 for HTTPS. The pathname option is the name of the resource that contains the image or
PDM file to copy.
The output of this command is the same as that from the copy tftp command. For an image, the success
and failure responses, respectively, are as follows:
• Image installed
• Image not installed
Step 1 Connect the serial port of your PC to the console port of the PIX Firewall with the serial cable supplied
in the PIX Firewall accessory kit.
Step 2 Locate HyperTerminal by opening the Windows 95 or Windows NT Start menu and clicking
Programs>Accessories>HyperTerminal.
Step 3 Select the Hypertrm accessory. The New Connection window opens with the smaller Connection
Description dialog box in the center.
Step 4 Enter the name of the connection. You can use any name such as PIX Console. Click OK when you are
ready to continue.
Step 5 At the Phone Number dialog box, ignore all the fields except “Connect using.” In this field, click the
arrow at the right to view the choices. Click Direct to Com 1, unless you are using another serial port.
Click OK to continue.
Step 6 At the COM1 Properties dialog box, set the following fields:
• Bits per second to 9600.
• Data bits to 8.
• Parity to None.
• Stop bits to 1.
• Flow control to Hardware.
Step 7 Click OK to continue.
Step 8 The HyperTerminal window is now ready to receive information from the PIX Firewall console. If the
serial cable is connected to the PIX Firewall, power on the PIX Firewall and you should be able to view
the console startup display.
If nothing happens, first wait 60 seconds. The PIX Firewall does not send information for about 30
seconds. If messages do not appear after 60 seconds, press the Enter key. If still nothing appears, ensure
that the serial cable is attached to COM1 and not to COM2 if your computer is so equipped. If garbage
characters appear, ensure that the bits per second setting is 9600.
Step 9 On the File menu, click Save to save your settings.
Step 10 On the File menu, click Exit to exit HyperTerminal. HyperTerminal prompts you to be sure you want to
disconnect. Click Yes.
HyperTerminal saves a log of your console session that you can access the next time you use it.
To restart HyperTerminal, double-click the connection name you chose in the HyperTerminal folder.
When HyperTerminal starts, drag the scroll bar up to view the previous session.
Note If you are using a PIX Firewall unit that contains a diskette drive, use a “Boothelper” diskette to
download the PIX Firewall image with TFTP. If your site has a Cisco router, the use of TFTP is similar
to the way you download Cisco IOS software to your router.
You should have a TFTP server to install the PIX Firewall software. If your computer runs the Windows
operating system and you have a CCO account, you can download a TFTP server from Cisco from the
Web or by FTP.
You can download the server software from the following website:
http://www.cisco.com/cgi-bin/tablebuild.pl/tftp
Follow these steps to download the server by FTP:
Step 1 Start your FTP client and connect to ftp.cisco.com. Use your CCO username and password.
Step 2 Enter the command cd /cisco/web/tftp and use the ls command to view the directory contents.
Step 3 Use the get command to copy the TFTP executable file to your directory.
Step 1 Start your FTP client and connect to ftp.cisco.com. Use your CCO username and password.
Step 2 You can view the files in the main directory by entering the ls command.
Step 3 Enter the cd /cisco/ciscosecure/pix command and then use the ls command to view the directory
contents.
Step 4 Use the get command to copy the proper file to your workstation as described at the start of the current
section.
Step 5 Enter the cd /cisco/web/tftp command. Then use the get command to copy the TFTP executable file to
your directory.
You can use this command with any PIX Firewall running Version 5.1 or higher. When you enter this
command, the PIX Firewall prompts for the specific values required to complete the operation. You can
also use a colon (:) to take the parameters from the tftp-command settings, or you can explicitly specify
each parameter. For details, refer to the copy tftp flash command in the Cisco PIX Firewall Command
Reference.
Caution Never download a PIX Firewall image earlier than Version 4.4 with TFTP. Doing so will corrupt the
PIX Firewall Flash memory unit.
Note You must use a 1FE or 4FE card installed in a 32-bit slot for installing image software with monitor
mode. You cannot use monitor mode to connect to a TFTP server through a Gigabit Ethernet card, a
4FE-66 card, or a Fast Ethernet card installed in a 64-bit slot.
Use the following steps to download an image over TFTP using the monitor mode:
Step 1 Immediately after you power on the PIX Firewall and the startup messages appear, send a BREAK
character or press the Esc (Escape) key.
The monitor> prompt appears.
Step 2 If desired, enter a question mark (?) to list the available commands.
Step 3 Use the address command to specify the IP address of the PIX Firewall unit’s interface on which the
TFTP server resides.
Step 4 Use the server command to specify the IP address of the host running the TFTP server.
Step 5 Use the file command to specify the filename of the PIX Firewall image. In UNIX, the file needs to be
world readable for the TFTP server to access it.
Step 6 If needed, enter the gateway command to specify the IP address of a router gateway through which the
server is accessible.
Step 7 If needed, use the ping command to verify accessibility. Use the interface command to specify which
interface the ping traffic should use. If the PIX Firewall has only two interfaces, the monitor mode
defaults to the inside interface. If this command fails, fix access to the server before continuing.
Step 8 Use the tftp command to start the download.
An example follows:
Rebooting....
PIX BIOS (4.0) #47: Sat May 8 10:09:47 PDT 2001
Platform PIX-525
Flash=AT29C040A @ 0x300
PIX admin loader (3.0) #0: Mon Aug 7 10:43:02 PDT 1999
Flash=AT29C040A @ 0x300
Flash version 6.0.1, Install version 6.0.1
Installing to flash
…
Using Boothelper
If your PIX Firewall unit has a diskette drive, you need to obtain the Boothelper binary image file
bh5nn.bin (where nn is the latest version available) and create a diskette.
This section contains the following topics:
• Get the Boothelper Binary Image
• Preparing a Boothelper Diskette with UNIX, Solaris, or LINUX
• Preparing a Boothelper Diskette on a Windows System
Step 1 Log in to CCO and continue to the PIX Firewall software directory, as described in the previous section,
“Downloading Software from the Web” or “Downloading Software with FTP.”
Step 2 Download the latest Boothelper image (bh5nn.bin; where nn is the latest version available) from CCO
and prepare a diskette as described in the sections that follow.
Note The Boothelper installation only supports PIX Firewall version 5.1, 5.2, 5.3, 6.0, and later. After
Boothelper downloads the PIX Firewall image via TFTP, it verifies the checksum of the image.
If it is not version 5.1 or later, it displays the message “Checksum verification on flash image
failed” and reboots the PIX Firewall.
Step 3 Download the PIX Firewall software binary image file pix6nn.bin (where nn is the latest version
available) from CCO and store this file in a directory accessible by your TFTP server.
Step 1 To prepare a UNIX, Solaris, or LINUX TFTP server to provide an image to the PIX Firewall, edit the
inetd.conf file to remove the # (comment character) from the start of the “tftp” statement.
Step 2 Determine the process ID of the current inetd process.
Step 3 Use the kill -HUP process_id command to kill the process. The process will restart automatically.
Step 4 Use the dd command to create the Boothelper diskette for the PIX Firewall unit. For example, if the
diskette device name is rd0, use the following command.
dd bs=18b if=./bh510.bin of=/dev/rd0
This command copies the binary file to the output device file with a block size of 18 blocks.
Note The diskette may have a name other than rd0 on some UNIX systems.
Step 5 Eject the diskette, insert it in the PIX Firewall diskette drive, and power cycle the unit. Alternately, if
available, use your unit’s Reset switch, or enter the reload command from the PIX Firewall console. The
PIX Firewall then boots from the new diskette.
Step 1 Locate an IBM formatted diskette that does not contain useful files. Do not use the PIX Firewall boot
diskette that came with your original PIX Firewall purchase—you will need this diskette for system
recovery should you need to downgrade versions.
Step 2 Enter rawrite at the MS-DOS command prompt and you are prompted for the name of the .bin binary
file, the output device (a: or b: for a 3.5-inch diskette), and to insert a formatted diskette. A sample
rawrite session follows.
C:\pix> rawrite
RaWrite 1.2 - Write disk file to raw floppy diskette
Ensure that the binary filename is in the “8.3” character format (8 characters before the dot; 3 characters
after the dot).
Step 3 When you are done, eject the diskette, insert it in the PIX Firewall diskette drive, and power cycle the
unit. Alternately, if available, use your unit’s Reset switch, or enter the reload command from the
PIX Firewall console. The PIX Firewall then boots from the new diskette.
Step 1 Download a PIX Firewall image from CCO (Cisco Connection Online) and store it on the host running
the TFTP server.
Step 2 Start the TFTP server on the remote host and point the TFTP server to the directory containing the
PIX Firewall image. On the Cisco TFTP Server, access the View>Options menu and enter the name of
the directory containing the image in the TFTP server root directory box.
Step 3 Connect a console to the PIX Firewall and ensure that it is ready.
Step 4 Put the Boothelper diskette you prepared in the PIX Firewall and reboot it. When the PIX Firewall starts,
the pixboothelper> prompt appears.
Step 5 You can now enter commands to download the binary image from the TFTP server. In most cases, you
need only specify the address, server, and file commands, and then enter the tftp command to start the
download. The commands are as follows:
a. If needed, use a question mark ( ?) or enter the help command to list the available commands.
b. Use the address command to specify the IP address of the network interface on which the TFTP
server resides.
c. Use the server command to specify the IP address of the host running the TFTP server.
d. Use the file command to specify the filename of the PIX Firewall image.
e. If needed, use the gateway command to specify the IP address of a router gateway through which
the server is accessible.
f. If needed, use the ping command to verify accessibility. If this command fails, fix access to the
server before continuing. You can use the interface command to specify which interface the ping
traffic should use. The Boothelper defaults to the interface 1 (one).
g. Use the tftp command to start the download.
Step 6 After the image downloads, you are prompted to install the new image. Enter y.
Step 7 When you are prompted, enter your activation key.
Step 8 After you enter your activation key, PIX Firewall prompts you to remove the Boothelper diskette. You
have 30 seconds to remove the diskette. During this time you have three options:
a. Remove the diskette and reboot the unit with the reboot switch.
b. Use the reload command while the diskette is in the unit.
c. After the interval, the PIX Firewall will automatically boot from the Boothelper diskette.
After Boothelper downloads the PIX Firewall image via TFTP, it verifies the checksum of the image. If
it is not version 5.1 or later, it displays the message “Checksum verification on flash image failed” and
reboots the PIX Firewall.
Keep the Boothelper diskette available for future upgrades. You will need to repeat these steps whenever
you download an image to your PIX Firewall unit. Alternatively, you can use the copy tftp flash
command to download an image directly from the PIX Firewall command line.
Note Always use the most recent version of the PIX Firewall software to take advantage of the latest security
features and functionality. Earlier versions of the PIX Firewall will not support the configuration of
features introduced in a later version.
Step 1 Connect a separate console to the primary unit and one to the secondary unit.
Step 2 Reload both PIX Firewall units, and bring them to monitor mode.
Step 3 On the primary unit, use monitor mode TFTP to load the new PIX Firewall image. You will want to save
the image to Flash memory and let it boot up. Enter a show failover command to ensure everything looks
fine.
Step 4 Repeat Step 3 on the secondary unit.
Step 5 Once the standby (secondary) unit completes booting and is up, the active (primary) unit will start to
synchronize the configuration from the primary unit to the secondary. Wait until the configuration
replication is finished, then use the show failover command on both PIX Firewall units to ensure the
failover is running correctly.
Step 1 Connect a separate console to the primary unit and one to the secondary unit.
Step 2 Place the boothelper diskette in the diskette drive of the primary unit and reboot the system.
When the PIX Firewall starts, the pixboothelper> prompt appears.
Step 3 As the primary unit reboots, PIX Firewall prompts you to write the image to Flash memory. Before
entering a reply, read the next three substeps and be ready to move quickly to complete them. When
ready, enter y for yes at the prompt.
a. Immediately remove the diskette from the primary unit and insert it into the standby unit. Locate the
reset button on the front of the standby unit.
b. When the PIX Firewall Cisco banner appears on the primary unit’s console, press the reset button
on the standby unit to load the new image.
c. On the primary unit, enter the show failover command to make sure the primary unit is active and
the secondary unit is in standby mode after the upgrade of the primary unit.
Step 4 Wait for the standby unit to finish booting. Once the standby unit is up, the two units synchronize during
which time the primary unit’s console does not accept input. On the standby unit, use the show failover
command to monitor progress. When both PIX Firewall units report Normal, the replication is done.
Also, tracing will show “A” and “T” for ARP and timeouts, respectively. Receipt of non-IP packets
causes the protocol number to display inside parentheses.
Error
Code Description
-1 Timeout between the PIX Firewall and TFTP server.
2 The packet length as received from the Ethernet device was not big enough to be a valid
TFTP packet.
Error
Code Description
3 The received packet was not from the server specified in the server command.
4 The IP header length was not big enough to be a valid TFTP packet.
5 The IP protocol type on the received packet was not UDP, which is the underlying protocol
used by TFTP.
6 The received IP packet's destination address did not match the address specified by the
address command.
7 The UDP ports on either side of the connection did not match the expected values. This
means either the local port was not the previously selected port, or the foreign port was not
the TFTP port, or both.
8 The UDP checksum calculation on the packet failed.
9 An unexpected TFTP code occurred.
10 A TFTP transfer error occurred.
-10 The image filename you specified cannot be found. Check the spelling of the filename and
that permissions permit the TFTP server to access the file. In UNIX, the file needs to be
world readable.
11 A TFTP packet was received out of sequence.
Installing PIX Firewall requires a thorough knowledge of your company’s network topology and security
policy. To get the PIX Firewall running immediately, fill in the information in Table A-1 to Table A-4,
and proceed to Chapter 2, “Establishing Connectivity.” To configure the PIX Firewall for specific types
of network traffic, fill in the information in Table A-5 through Table A-8, and follow the instructions in
Chapter 3, “Controlling Network Access and Use.”
Information may not appear in the same order in the forms as it does in a configuration listing. The Cisco
PIX Firewall Command Reference provides the complete syntax for all PIX Firewall commands.
This appendix includes the following sections:
• PIX Firewall Network Interface Information
• Routing Information
• Network Address Translation
• Static Address Translation
• Inbound Access Control
• Outbound Access Control
• Authentication and Authorization
For specific information about your network environment, contact your network administrator.
Routing Information
Table A-2 provides a form for entering route information. Refer to the Cisco PIX Firewall Command
Reference for complete information on the route command and the rip command. The router IP
addresses should not be the same as the PIX Firewall interface IP address, or the same as any global
address specified in Table A-3.
Outside or
Perimeter NAT ID Number Beginning of IP End of IP Address
Interface Name from Table A-3 Address Range Range (Optional)1 Comments
1. Do not enter an ending IP address for PAT assignments. PAT uses only a single IP address.
Table A-4 maps internal (inside) or perimeter network addresses with global network addresses on other
interfaces in the PIX Firewall.
Note Static addresses should not be members of the global address pool specified in Table A-3. If the internal
host requires Internet access, the static address should be a NIC-registered address.
Interface Name
Interface on Where the
Which the Global Address
Host Resides Resides Host IP Address Static IP Address Comments
Network
Protocol: Source Address: Destination Address:
Access UDP, TCP, External Host or Network Static IP Address and
List Permit ICMP, or IP Address(es) and Network Mask from Table Destination Interface To
Identifier or Deny Number Network Mask A-51 Ports 2 Bind List
The following is a list of literal port names that you can use when configuring an access-list command
statement: DNS, ESP, FTP, H323, HTTP, IDENT, NNTP, NTP, POP2, POP3, PPTP, RPC, SMTP, SNMP,
SNMPTRAP, SQLNET, TCP, Telnet, TFTP, and UDP. You can also specify these ports by number. Port
numbers are defined in RFC 1700.
You should have two access-list command statement definitions to permit access to the following ports:
• DNS, Discard, Echo, Ident, NTP, RPC, SUNRPC, and Talk each require one definition for TCP and
one for UDP.
• PPTP requires one definition for port 1723 on TCP and another for port 0 and GRE.
• TACACS+ requires one definition for port 65 on TCP and another for port 49 on UDP.
You can also specify a port with the source address, but this is seldom used.
Precede host addresses with the host parameter.
Use the interface name with the access-group command.
Refer to Appendix D, “TCP/IP Reference Information,” for a list of protocol values. In addition, you can
specify protocols by number.
Note If your configuration requires a host on an outside (lower security level) interface to initiate connections
with a host on a local (higher security level) interface, create static and access-list command statements
for that connection as defined in Tables A-5 and A-6.
Prior to defining authentication and authorization requirements, identify the authentication server you
are using, along with the IP address of the server, and the server encryption key on the PIX Firewall.
Enter the information in the following form:
Authentication server (TACACS+ or RADIUS):_________________________
IP address: _________________________ Encryption key:_________________________
If you have additional authentication servers, list them separately.
1. For a local interface, this is the internal host or network address from which connections originate. For an outside interface, this is the internal host or
network address to which connections are sought.
2. For a local interface, this is the internal host or network address to which connections are sought. For an outside interface, this is the external host or
network address from which connections originate.
This appendix lists the acronyms and abbreviations used in this document. Refer to the Cisco PIX
Firewall Command Reference for information on the commands described in this section.
For more information on acronyms used in this guide, refer to the Internetworking Terms and Acronyms
guide, which can be viewed online at the following website:
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ita/index.htm
Acronym Description
AAA authentication, authorization, and accounting.
ACE Access Control Entry
ACL access control list
AH Authentication Header.
ARP Address Resolution Protocol—A low-level TCP/IP protocol that maps a node’s
hardware address (called a “MAC” address) to its IP address. Defined in RFC 826.
An example hardware address is 00:00:a6:00:01:ba. (The first three groups specify
the manufacturer, the rest identify the host’s motherboard.)
BGP Border Gateway Protocol—While PIX Firewall does not support use of this
protocol, you can set the routers on either side of the PIX Firewall to use RIP
between them and then run BGP on the rest of the network before the routers.
BOOTP Bootstrap Protocol—Lets diskless workstations boot over the network and is
described in RFC 951 and RFC 1542.
CA certification authority.
CHAP Challenge Handshake Authentication Protocol. Security feature supported on
lines using PPP encapsulation that prevents unauthorized access.
CPP Combinet Proprietary Protocol.
chargen Character Generation—Via TCP, a service that sends a continual stream of
characters until stopped by the client. Via UDP, the server sends a random number
of characters each time the client sends a datagram. Defined in RFC 864.
conn Connection slot in PIX Firewall—Refer to the xlate command page for more
information.
CPU Central Processing Unit.
CRL certificate revocation list.
Acronym Description
DES Data Encryption Standard.
DHCP Dynamic Host Configuration Protocol.
DNS Domain Name System—Operates over UDP unless zone file access over TCP is
required.
DoS Denial of Service.
EEPROM Electrically Erasable Programmable Read-Only Memory.
EGP Exterior Gateway Protocol—While PIX Firewall does not support use of this
protocol, you can set the routers on either side of the PIX Firewall to use RIP
between them and then run EGP on the rest of the network before the routers.
EIGRP Enhanced Interior Gateway Routing Protocol—While PIX Firewall does not
support use of this protocol, you can set the routers on either side of the
PIX Firewall to use RIP between them and then run EIGRP on the rest of the
network before the routers.
ESP Encapsulating Security Protocol. Refer to RFC 1827 for more information.
FDDI Fiber Distributed Data Interface—Fiber optic interface.
FTP File Transfer Protocol.
gaddr Global address—An address set with the global and static commands.
GRE Generic Routing Encapsulation protocol—Commonly used with Microsoft’s
implementation of PPTP.
HSRP Hot-Standby Routing Protocol.
HTTP Hypertext Transfer Protocol—The service that handles access to the World Wide
Web.
https Secure Hypertext Transfer Protocol.
IANA Internet Assigned Number Authority—Assigns all port and protocol numbers for
use on the Internet. You can view port numbers at the following site:
http://www.iana.org/assignments/port-numbers
You can view protocol numbers at the following site:
http://www.iana.org/assignments/protocol-numbers
ICMP Internet Control Message Protocol—This protocol is commonly used with the
ping command. You can view ICMP traces through the PIX Firewall with the
debug trace on command. Refer to RFC 792 for more information.
IFP Internet Filtering Protocol.
IGMP Internet Group Management Protocol.
IGRP Interior Gateway Routing Protocol.
IKE Internet Key Exchange.
IKMP Internet Key Management Protocol.
ISAKMP Internet Security Association and Key Management Protocol.
IP Internet Protocol.
IPCP IP Control Protocol. Protocol that establishes and configures IP over PPP.
Acronym Description
IPinIP IP-in-IP encapsulation protocol.
IPSec IP Security Protocol efforts in the IETF (Internet Engineering Task Force).
IRC Internet Relay Chat protocol—The protocol that lets users access chat rooms.
ISAKMP Internet Security Association and Key Management Protocol.
KDC Key Distribution Center.
L2TP Layer Two Tunneling Protocol
laddr Local address—The address of a host on a protected interface.
MD5 Message Digest 5—An encryption standard for encrypting VPN packets. This
same encryption is used with the aaa authentication console command to encrypt
Telnet sessions to the console.
MIB Management Information Base—Used with SNMP.
MPPE Microsoft Point-To-Point Encryption.
MS-CHAP Microsoft CHAP (Challenge Handshake Authentication Protocol). See “CHAP”
for more information.
MSRPC Microsoft Remote Procedure Call.
MTU maximum transmission unit—The maximum number of bytes in a packet that can
flow efficiently across the network with best response time. For Ethernet, the
default MTU is 1500 bytes, but each network can have different values, with serial
connections having the smallest values. The MTU is described in RFC 1191.
NAT Network Address Translation.
NetBIOS Network Basic Input Output System—An application programming interface
(API) that provides special functions for PCs in local-area networks (LANs).
NIC Network Information Center.
NNTP Network News Transfer Protocol—News reader service.
NOS Network Operating System.
NTP Network Time Protocol—Set system clocks via the network.
NVT Network virtual terminal.
OSPF Open Shortest Path First protocol.
PAP Password Authentication Protocol. Authentication protocol that lets PPP peers
authenticate one another.
PAT Port Address Translation.
PDM PIX Device Manager.
PFS perfect forward secrecy.
PFSS PIX Firewall Syslog Server.
PIX Private Internet Exchange.
PKI Public Key Infrastructure.
POP Post Office Protocol.
PPPoE Point-to-Point Protocol over Ethernet.
Acronym Description
PPP Point-to-Point Protocol. Provides PIX Firewall-to-router and host-to-network
connections over synchronous and asychronous circuits.
PPTP Point-to-Point Tunneling Protocol. RFC 2637 describes the PPTP protocol.
RA registration authority.
RADIUS Remote Authentication Dial-In User Service—User authentication server
specified with the aaa-server command.
RAS The registration, admission, and status protocol. Provided with H.323 support.
RC4 RC4 is stream cipher designed by Rivest for RSA Data Security, Inc. It is a
variable key-size stream cipher with byte-oriented operations. The algorithm is
based on the use of a random permutation.
RFC Request For Comment—RFCs are the defacto standards of networking protocols.
RIP Routing Information Protocol.
RPC Remote Procedure Call.
RSA Rivest, Shamir, and Adelman. RSA is the trade name for RSA Data Security, Inc.
RTP Real-Time Transport Protocol.
RTCP RTP Control Protocol.
RTSP Real Time Streaming Protocol.
SA security association.
SCCP Simple (Skinny) Client Control Protocol
SDP Session Description Protocol.
SIP Session Initiation Protocol.
SSH Secure Shell.
SMR Stub Multicast Routing.
SMTP Simple Mail Transfer Protocol—Mail service. The fixup protocol smtp command
enables the Mail Guard feature. The PIX Firewall Mail Guard feature is compliant
with both the RFC 1651 EHLO and RFC 821 section 4.5.1 commands.
SNMP Simple Network Management Protocol—Set attributes with the snmp-server
command.
SPC Shared Profile Component.
SPI Security Parameter Index—A number which, together with a destination IP
address and security protocol, uniquely identifies a particular security association.
SQL*Net SQL*Net is a protocol Oracle uses to communicate between client and server
processes. (SQL stands for Structured Query Language.) The protocol consists of
different packet types that PIX Firewall handles to make the data stream appear
consistent to the Oracle applications on either side of the firewall. SQL*Net is
enabled with the fixup protocol sqlnet command, which is provided in the default
configuration.
SYN Synchronize sequence numbers flag in the TCP header.
TACACS+ Terminal Access Controller Access Control System Plus.
TCP Transmission Control Protocol. Refer to RFC 793 for more information.
Acronym Description
TurboACL Turbo Access Control List—A feature introduced with PIX Firewall version 6.2
that improves the performance of large ACLs.
TFTP Trivial File Transfer Protocol.
Triple DES Triple Data Encryption Standard. Also known as 3DES.
uauth User authentication.
UDP User Datagram Protocol.
URL Universal Resource Locator.
UUIE user-user information element.
VPDN virtual private dial-up network.
VPN Virtual Private Network.
WWW World Wide Web.
Xauth extended authentication.
XDMCP X Display Manager Control Protocol.
xlate Translation slot in PIX Firewall.
This appendix explains how you can configure the PIX Firewall to support Microsoft Exchange by
creating access-list command statements for NetBIOS and TCP. The example that follows will work for
two Windows NT Servers; one on the inside network of the PIX Firewall, and the other on the external
network from where you want to send and receive mail. Once Microsoft Exchange is functioning across
the PIX Firewall, users can send and receive mail with mail clients on platforms other than Windows NT.
Before starting, complete the following:
• Determine the PIX Firewall’s global address you will use in the static command statement.
• Have previously installed Microsoft Exchange on both Windows NT systems.
• Select the Windows NT system from the Administrator login.
• Determine the IP address, computer name, and domain name of each Windows NT system. Click
Start>Settings>Control Panel>Network and click the entry for the Ethernet adapter. Then click
Properties. The information you need appears on the IP Address tab and DNS Configuration tab.
This appendix includes the following sections:
• Configuring the Microsoft Exchange Servers
• Configuring the PIX Firewall
• Configuring the Outside Server
• Configuring the Inside Server
• Configuring Both Systems After Rebooting
Note To use the procedure that follows, you should be completely familiar with Microsoft Exchange and the
administrative functionality of your Windows NT Server.
To help understand the procedure discussed in this appendix, Table C-1 lists the host names, their
IP addresses, and the domains.
The PIX Firewall static command statement uses 209.165.201.5 as its global address. An administrative
domain is created with the Microsoft Exchange Administrator application named CISCO in this
example. This domain includes both servers.
The sections that follow show how to configure the Microsoft Exchange servers and the PIX Firewall.
Complete each section before moving to the next.
Step 1 Create static and access-list commands to permit the outside server access to the inside server via the
global address in the PIX Firewall.
For example:
static (inside,outside) 209.165.201.5 192.168.42.2 0 0
access-list acl_out permit tcp host 209.165.201.2 host 209.165.201.5 eq 139
access-list acl_out permit udp host 209.165.201.2 host 209.165.201.5 eq 137
access-list acl_out permit udp host 209.165.201.2 host 209.165.201.5 eq 138
access-list acl_out permit tcp host 209.165.201.2 host 209.165.201.5 eq 135
access-group acl_out in interface outside
The static command statement permits the inside server, 192.168.42.2 to be accessible from the outside
at global address 209.165.201.5. The access-list commands give the outside server, 209.165.201.2,
access to the inside server’s global address, 209.165.201.5. Port 139 gives access to NetBIOS over TCP.
Access to UDP ports 137 and 138 is also required.
The last access-list command statement for TCP port 135 permits the outside server to come in via
MSRPC (Microsoft Remote Procedure Call), which uses TCP.
The access-group command statement binds the access-list command statements to the outside
interface.
Step 2 The static command statement in Step 1 also allows outbound initiation, but requires an established
command statement to allow back connections:
established tcp 135 permitto tcp 1024-65535
This command statement allows the RPC back connections from the outside host on all high ports (1024
through 65535) to deliver mail.
Step 3 Enter the syslog console command statement so that you can watch for messages after you configure the
two servers.
Step 1 On the outside Microsoft Exchange server, click the Network entry in the Start>Settings>Control
Panel. In the Ethernet adapter Properties section, set the primary WINS (Windows Internet Name
System) address to the IP address of the outside system, in this case, 209.165.201.2. Set the secondary
WINS address to the global address from the static command statement, 209.165.201.5.
Step 2 Also in the Network entry, click Services>Computer Browser. Ensure that the outside server is the
master browser for the server’s outside domain, which in this case, is pixout.
Step 3 Click Start>Programs>WINS Manager. Click Mappings>Static Mappings. Add a static mapping for
the inside server’s domain, pixin, with the global address from the static command statement,
209.165.201.5. Also add a unique mapping for the inside server’s name, inserver, and set it as well to
the global address from the static command statement. Then save the new information and exit the WINS
Manager.
Step 4 Next, establish a trusted, trusting relationship between the outside server’s domain, pixout and the inside
server’s domain, pixin.
a. Click Start>Programs>Administrative Tools>User Manager for Domains.
b. Click Policies>Trust Relationship and then click Trusting Domain.
c. Add a trusting domain for the inside server’s domain and assign a password to it.
d. Establish a trusted domain for pixin by clicking Trusted Domain.
Step 5 Exit the application and reboot the Windows NT system.
Step 1 On the inside server, click Settings>Control Panel>Network, set the primary WINS address to the
address of that system, 192.168.42.2, and set the secondary WINS address to the inside address of the
PIX Firewall, 192.168.41.1.
In the Network entry, click Services>Computer Browser. Ensure that the inside server is the master
browser for the domain, which in this case, is pixin.
In the Network entry, click Protocols>TCP/IP Protocol>WINS Configuration. Set the primary and
secondary WINS address to that of the inside server, in this case, 192.168.42.2. On the Default Gateway
tab, set the address to the inside address of the PIX Firewall, in this case, 192.168.42.1.
Step 2 Click Start>Programs>WINS Manager, and specify a static mapping for the outside server’s domain,
pixout, and a unique mapping for the outside server, outserver. Set both to the address of the outside
server, 209.165.201.2.
On the Server menu, click Replication Partners and add a Pull Partner for the outside server, in this
case, 209.165.201.2. This permits pulling the outside server’s database to the inside server’s local
database. This incorporates the two server’s databases so that user information is shared across the
firewall. Use the default options in the remainder of this dialog box.
You can view the information you entered by clicking Mappings>Show Database.
Step 3 Establish a trusted, trusting relationship between the inside server’s domain, pixin and the outside
server’s domain, pixout.
a. Click Start>Programs>Administrative Tools>User Manager for Domains.
b. Click Policies>Trust Relationship and click Trusting Domain.
c. Add a trusting domain for the outside server’s domain and assign a password to it.
d. Establish a trusted domain for pixout by clicking Trusted Domain.
Step 4 Exit the application and reboot the Windows NT system.
Step 1 After the systems are usable, on the inside server, click Start>Find>Computer and look up the outside
server, in this case, by entering \\outserver. Then go to the outside server and find inserver.
Step 2 On each server, configure Microsoft Exchange by clicking Start>Programs>Microsoft Exchange
Administrator to connect to the other server. Declare a network name, in this case, CISCO on both
servers. On each server, declare the site name to be the respective server’s domain name. In this case, on
the inside server, the site name is pixin. On the outside server, it is pixout.
Click File>Connect to Server to connect to the other server.
Step 3 From the Administrator application, configure the site connector. Double-click your site name in the
Configure/Connections field and the Connections list appears. Ensure you have a site connector
installed. If you followed the defaults when you installed Microsoft Exchange, this should be present. If
not, add the site connector for the server’s respective domains, just as you did in Step 2. For the cost, use
the default. For the Messaging Bridge Head, use the name of that server. For the Target Server, use the
name of the other server. You can ignore the Address Space field.
Step 4 Once both sites are connected, the Administrator application should show the other site available for
access. Ensure that at least one username is specified on each server that you can use as a test login.
Step 5 Then test email from a mail client with the username. The global address list in the address book should
list the other server and users on either side. Send the email message.
On the PIX Firewall, you should now be able to see syslog messages indicating a MSRPC connection.
If you are sending mail from the inside network to the outside network, you should see a MSRPC
connection going from the inside server to the outside server on port 135. Then you should see another
high-port connection being built between the outside server and the inside server. Your email should flow
through almost immediately.
IP Addresses
• IP address classes are defined as follows:
– Class A—If the first octet is between 1 and 127 (inclusive), the address is a Class A address. In
a Class A address, the first octet is the one-byte net address and the last three octets are the host
address. The network mask for Class A addresses is 255.0.0.0.
– Class B—If the first octet is between 128 and 191 (inclusive), the address is a
Class B address. In a Class B address, the first two octets are the net address and the last two
octets are the host address. The network mask for Class B addresses is 255.255.0.0.
– Class C—If the first octet is 192 or higher, the address is a Class C address. In a
Class C address, the first three octets are the net address and the last octet is the host address.
The network mask for Class C addresses is 255.255.255.0.
– Class D—These addresses are used for multicast transmissions and within the range from
224.0.0.0 to 239.255.255.255. Some of these addresses are assigned to multicasts used by
specific TCP/IP protocols. Other Class D addresses are assigned to applications, such as
streaming video, that send data to many recipients simultaneously. For information about
enabling the PIX Firewall to transmit multicast traffic, refer to “Enabling Stub Multicast
Routing” in Chapter 2, “Establishing Connectivity.”
• We recommend that you use RFC 1918 IP addresses for inside and perimeter addresses. These
addresses follow:
– Class A: 10.0.0.0 to 10.255.255.255
– Class B: 172.16.0.0 to 172.31.255.255
– Class C: 192.168.0.0 to 192.168.255.255
– Class D: 224.0.0.0 to 239.255.255.255
• PIX Firewall requires that IP addresses in the ip address, static, global, failover, and virtual
commands be unique. These IP addresses cannot be the same as your router IP addresses.
• In this guide, the use of “address” and “IP address” are synonymous.
• IP addresses are primarily one of these values:
– local_ip—An untranslated IP address on the internal, protected network. In an outbound
connection originated from local_ip, the local_ip is translated to the global_ip. On the return
path, the global_ip is translated to the local_ip. The local_ip to global_ip translation can be
disabled with the nat 0 0 0 command. In syslog messages, this address is referenced as laddr.
– global_ip—A translated global IP address in the pool or those addresses declared with the
global or static commands. In syslog messages, this address is referenced as gaddr.
– foreign_ip—An untranslated IP address on an external network. foreign_ip is an address for
hosts on the external network. If the alias command is in use, an inbound message originating
for the foreign_ip source address is translated to dnat_ip by PIX Firewall.
– dnat_ip—(dual NAT) A translated (by the alias command) IP address on an external network.
In an outbound connection destined to dnat_ip, it will be untranslated to foreign_ip. In syslog
messages, this address is referenced as faddr.
– virtual_ip—(used with the virtual command) A fictitious public or private IP address that is not
the address of a real web server on the interface you are accessing. We recommend that you use
an RFC 1918 address or one you make up.
Ports
The following literal names can be used instead of a numerical port value in command lines:
PIX Firewall permits the following TCP literal names: bgp, chargen, cmd, daytime, discard, domain,
echo, exec, finger, ftp, ftp-data, gopher, h323, hostname, http, ident, irc, klogin, kshell, lpd, nntp,
pop2, pop3, pptp, rpc, smtp, sqlnet, sunrpc, tacacs, talk, telnet, time, uucp, whois, and www.
PIX Firewall uses port 1521 for SQL*Net. This is the default port used by Oracle for SQL*Net. This
value, however, does not agree with IANA port assignments.
PIX Firewall listens for RADIUS on ports 1645 and 1646. If your RADIUS server uses ports 1812 and
1813, you will need to reconfigure it to listen on ports 1645 and 1646.
Permitted UDP literal names are biff, bootpc, bootps, discard, dnsix, echo, mobile-ip, nameserver,
netbios-dgm, netbios-ns, ntp, rip, snmp, snmptrap, sunrpc, syslog, tacacs, talk, tftp, time, who, and
xdmcp.
Note To assign a port for DNS access, use domain, not dns. The dns keyword translates into the port value
for dnsix.
Note PIX Firewall does not pass multicast packets. Many routing protocols use multicast packets to transmit
their data. If you need to send routing protocols across the PIX Firewall, configure the routers with the
Cisco IOS software neighbor command. We consider it inherently dangerous to send routing protocols
across the PIX Firewall. If the routes on the unprotected interface are corrupted, the routes transmitted
to the protected side of the firewall will pollute routers there as well.
Table D-2 lists the numeric values for the protocol literals.
Note In some networks, broadcasts are also sent on the network address.
Masks
For the PIX Firewall commands that accept network masks, specify the correct mask for a network
address. For hosts, use 255.255.255.255. However, for the ip address command, use a network mask,
and for the global command, use a network address for both Port Address Translation (PAT) addresses
and when specifying a pool of global addresses.
For the conduit and access-list commands, precede host addresses with the host parameter and without
specifying a mask.
The following are examples of commands in which a mask can be specified:
ip address inside 10.1.1.1 255.255.255.0
ip address outside 209.165.201.1 255.255.255.224
nat (inside) 1 10.1.1.0 255.255.255.0
global (outside) 1 209.165.201.2 netmask 255.255.255.224
static (inside,outside) 209.165.201.3 10.1.1.3 netmask 255.255.255.255
access-list acl_out permit tcp any host 209.165.201.3 eq www
aaa authentication include http outside 209.165.201.3 255.255.255.255 0 0 TACACS+
route outside 0 0 209.165.201.4 1
telnet 10.1.1.2 255.255.255.255
In these examples, the ip address commands specify addresses for the inside and outside network
interfaces. The ip address command only uses network masks. The inside interface is a Class A address,
but only the last octet is used in the example network and therefore has a Class C mask. The outside
interface is part of a subnet so the mask reflects the .224 subnet value.
The nat command lets users start connections from the inside network. Because a network address is
specified, the class mask specified by the ip address inside command is used.
The global command provides a PAT address to handle the translated connections from the inside. The
global address is also part of the subnet and contains the same mask specified in the ip address outside
command.
The static command maps an inside host to a global address for access by outside users. Host masks are
always specified as 255.255.255.255.
The access-list command permits any outside host to access the global address specified by the static
command. The host parameter is the same as if you specified 209.165.201.3 255.255.255.255.
The aaa command indicates that any users wishing to access the global address must be authenticated.
Because authentication only occurs when users access the specified global which is mapped to a host,
the mask is for a host. The “0 0” entry indicates any host and its respective mask.
The route statement specifies the address of the default router. The “0 0” entry indicates any host and
its respective mask.
The telnet command specifies a host that can access the PIX Firewall unit’s console using Telnet.
Because it is a single host, a host mask is used.
If you are using subnet masks, refer to “Using Subnet Masks,” to be sure that each IP address you choose
for global or static addresses is in the correct subnet.
The subnet masks are also identified by the number of bits in the mask. Table D-3 lists subnet masks by
the number of bits in the network ID.
Network # of # of Hosts on
ID Bits Host ID Bits Subnet Example Notation Subnets Each Subnet
24 8 .0 192.168.1.1/24 1 254
25 7 .128 192.168.1.1/25 2 126
26 6 .192 192.168.1.1/26 4 62
27 5 .224 192.168.1.1/27 8 30
28 4 .240 192.168.1.1/28 16 14
29 3 .248 192.168.1.1/29 32 6
30 2 .252 192.168.1.1/30 64 2
Subnet mask information is especially valuable when you have disabled Network Address Translation
(NAT) using the nat 0 command. PIX Firewall requires that IP addresses on each interface be in different
subnets.
However all the hosts on a PIX Firewall interface between the PIX Firewall and the router must be in the
same subnet as well. For example, if you have an address such as 192.168.17.0 and you are not using
NAT, you could use the 255.255.255.192 subnet mask for all three interfaces and use addresses
192.168.17.1 through 192.168.17.62 for the outside interface, 192.168.17.65 through 192.168.17.126
for the perimeter interface, and 192.168.17.129 through 192.168.17.190 for the inside interface.
This appendix lists the VPN standards supported by PIX Firewall version 6.2. It contains the following
sections:
• IPSec
• Internet Key Exchange (IKE)
• Certification Authorities (CA)
IPSec
• IPSec—IP Security Protocol. IPSec is a framework of open standards that provides data
confidentiality, data integrity, and data authentication between participating peers. IPSec provides
these security services at the IP layer; it uses IKE to handle negotiation of protocols and algorithms
based on local policy and to generate the encryption and authentication keys to be used by IPSec.
IPSec can be used to protect one or more data flows between a pair of hosts, between a pair of
security gateways, or between a security gateway and a host.
IPSec is documented in a series of Internet RFCs, all available at the following website:
http://www.ietf.org/html.charters/ipsec-charter.html
The overall IPSec implementation is guided by “Security Architecture for the Internet Protocol,”
RFC 2401.
• Internet Key Exchange (IKE)—A hybrid protocol that implements Oakley and SKEME key
exchanges inside the Internet Security Association and Key Management Protocol (ISAKMP)
framework. While IKE can be used with other protocols, its initial implementation is with the IPSec
protocol. IKE provides authentication of the IPSec peers, negotiates IPSec security associations, and
establishes IPSec keys.
IPSec as implemented in PIX Firewall supports the following additional standards:
• AH—Authentication Header. A security protocol that provides data authentication and optional
anti-replay services. AH is embedded in the data to be protected (a full IP datagram).
The AH protocol (RFC 2402) allows for the use of various authentication algorithms; PIX Firewall
has implemented the mandatory MD5-HMAC (RFC 2403) and SHA-HMAC
(RFC 2404) authentication algorithms.
• ESP—Encapsulating Security Payload. A security protocol that provides data privacy services and
optional data authentication, and anti-replay services. ESP encapsulates the data to be protected.
The ESP protocol (RFC 2406) allows for the use of various cipher algorithms and (optionally)
various authentication algorithms. The PIX Firewall implements the mandatory 56-bit DES-CBC
with Explicit IV (RFC 2405); as the encryption algorithm, and MD5-HMAC (RFC 2403) or
SHA-HMAC (RFC 2404) as the authentication.
This appendix is intended for the Private Link users who are migrating from the PIX Firewall Private
Link feature to the IPSec feature. This section describes the main differences between the Private Link
commands and the corresponding IPSec commands, and provides a procedure for how to convert a
Private Link configuration into an IPSec configuration using IKE to establish security associations.
Private Link is no longer supported in the PIX Firewall starting with version 5.0. It is supported in
version 4. The Private Link feature allows Virtual Private Networks (VPNs) to be established between
PIX Firewalls that are connected to the same public network, such as the Internet. It enables incoming
Private Link packets to bypass the Network Address Translation (NAT) and Adaptive Security Algorithm
(ASA) features and terminate on the corresponding sending interface of the destination network. A
sending interface is the interface from which the IPSec packet was sent from. For example, IPSec packets
sent from a perimeter interface from one network would be terminated at the equivalent perimeter
interface at the destination network.
The PIX Firewall currently can simulate the Private Link inside termination with the use of the sysopt
ipsec pl-compatible command, but the termination on the inside interface is not a true termination. The
use of the sysopt ipsec pl-compatible command allows IPSec packets to bypass the NAT and ASA
features, and enables incoming IPSec packets to terminate on the inside interface only after initially
terminating on the outside interface.
See the sysopt command in the Cisco PIX Firewall Command Reference for more information regarding
the sysopt ipsec pl-compatible command.
This section contains the following topics:
• Basic Difference between Private Link and IPSec
• Private Link Versus IPSec Commands
• Private Link to IPSec Conversion
For more information about the IPSec-related commands listed in Table F-1, refer to the following
command pages in the Cisco PIX Firewall Command Reference:
• access-list
• crypto ipsec
• crypto map
• isakmp
• sysopt
Link
The link command creates an encrypted path between Private Link-equipped PIX Firewall units. This
command also enables Private Link to associate the shared private keys between the local host and a
remote peer. The isakmp key command in IPSec enables the local host to associate a shared key with a
remote peer.
Note Private Link uses up to seven shared keys between two hosts and rotates among the seven keys. ISAKMP
uses only one shared key between any two hosts to authenticate and dynamically negotiate other keys to
protect the communication as necessary.
The link command allows for the configuration of per packet authentication protection. In IPSec, the
analogous protection is provided by the transform-set combination of ah-md5-hmac or esp-md5-hmac.
You configure a transform set using the crypto ipsec transform-set command. See the set
transform-set command in the Cisco PIX Firewall Command Reference for more information regarding
this command.
Example F-1 defines two transform sets and specifies that they can both be used within a crypto map
entry. This example applies only when IKE is used to establish security associations. With crypto maps
used for manually established security associations, only one transform set can be included in a given
crypto map entry.
In this example, when traffic matches access list 101, the security association can use either transform
set my_t_set1 (first priority) or my_t_set2 (second priority) depending on the transform set that matches
the transform set on the remote peer.
Linkpath
The linkpath command identifies the internal and external network interfaces on the remote peer
running Private Link. The linkpath address selectors are used to select inbound traffic at the local,
internal interface to encrypt and tunnel to the remote peer. In the reverse direction, the linkpath address
selectors are used to decrypt outbound traffic, which originated from the remote peer, at the internal
interface.
The PIX Firewall can have two or more network interfaces. For any pair of interfaces, one of the
interfaces is the local, or internal interface, and one is the outside interface. The relative security level
of the interface defines whether it is the local or outside interface; that is, the interface with the higher
security level is the local interface, while the interface with the lower security level is the outside
interface. For example, a perimeter interface with a security level of 70 is the local interface relative to
another perimeter interface with a security level of 40.
The linkpath command identifies the internal and external network interfaces on the remote peer
running Private Link. The linkpath command address selectors are used to select inbound traffic at the
inside interface to encrypt and tunnel to the remote peer. In the reverse direction, the linkpath command
address selectors are used to decrypt outbound traffic, which originated from the remote peer, at the
inside interface.
In IPSec, the access-list command statement address selectors in the crypto map are used to select
outbound traffic from the internal interface to encrypt and tunnel to the remote peer. In the reverse
direction, the access-list command statement address selectors are used to decrypt inbound traffic, which
originated from the remote peer, at the outside interface.
Use the following steps to convert from a linkpath tunnel into an IPSec tunnel. These steps are included
within “Private Link to IPSec Conversion:”
Step 1 Define an access-list command statement that has the same address selectors as your linkpath command
statement. (Step 6 in "Private Link to IPSec Conversion.")
Step 2 Associate the defined access-list command statement with a crypto map entry. (Step 7 in "Private Link
to IPSec Conversion.")
Step 3 Associate the linkpath remote peer as the crypto map peer. (Step 10 in "Private Link to IPSec
Conversion.")
Age
Private Link selects the next shared key in a “round-robin” method. The age command is used to define
the number of minutes a current shared key is used before the rotation.
In IPSec, the crypto ipsec security-association lifetime seconds command is used to define the
duration the current shared key and the security association are used before their set time expires.
Figure F-1 shows the Private Link network diagram example to which to refer in this section.
Global Global IP
IP Address: Address:
192.168.35.8- 192.168.35.1 192.168.37.8-
192.168.35.23 (Outside) 192.168.37.2 192.168.37.23
PIX PIX
Router A Internet Router B
Firewall A Firewall B
29612
10.1.0.0 10.3.0.0
Network A Network B
The Private Link network diagram shown in Figure F-1 corresponds to the following configurations.
On PIX Firewall A, the Private Link configuration is as follows:
link 192.168.37.1 1 fadebacfadebac
link 192.168.37.1 2 bacfadefadebac
link 192.168.37.1 3 baabaaafadebac
link 192.168.37.1 4 beebeeefadebac
linkpath 10.3.0.0 255.255.255.0 192.168.37.1
In this configuration, the link command specifies 192.168.35.1 as the external network interface IP
address of PIX Firewall B, and 192.168.37.1 as the external network interface IP address of PIX Firewall
A. The key IDs are 1 through 4. The four keys to be shared between the two PIX Firewall units are
fadebacfadebac, bacfadefadebac, baabaaafadebac, and beebeeefadebac.
The linkpath command identifies the internal and external network interfaces belonging to the remote
peer. So on the PIX Firewall A, PIX Firewall B’s internal network interface IP address of 10.3.0.0 with
a netmask of 255.255.255.0 and its external network interface IP address of 192.168.37.1 is set. On
PIX Firewall B, PIX Firewall A’s internal network interface IP address of 10.1.0.0 with a netmask of
255.255.255.0 and its external network interface IP address of 192.168.35.1 is set.
Follow these steps to convert your Private Link configuration to an IPSec configuration where IKE is
used to establish security associations. Perform your configuration on each PIX Firewall:
PIX Firewall B:
sysopt ipsec pl-compatible
Step 2 Specify that a pre-shared key will be used between PIX Firewall A and PIX Firewall B for
authentication.
PIX Firewall A:
isakmp policy 10 authentication pre-share
PIX Firewall B:
isakmp policy 10 authentication pre-share
Step 3 Specify a pre-shared key that PIX Firewall A and PIX Firewall B will share.
For example:
PIX Firewall A:
isakmp key fadebacfadebac address 192.168.37.1
PIX Firewall B:
isakmp key fadebacfadebac address 192.168.35.1
Step 4 Define a crypto map entry that uses IKE to establish security associations.
For example:
PIX Firewall A:
crypto map Firewall-A 10 ipsec-isakmp
PIX Firewall B:
crypto map Firewall-B 10 ipsec-isakmp
Step 5 Apply the crypto map set to the interface through which IPSec traffic will flow.
For example:
PIX Firewall A:
crypto map Firewall-A interface outside
PIX Firewall B:
crypto map Firewall-B interface outside
Step 6 Create an access list to define the traffic to protect. Use the same address selectors used in your linkpath
command statement.
For example:
PIX Firewall A:
access-list linkpath-aclA permit ip any 10.3.0.0 255.255.255.0
PIX Firewall B:
access-list linkpath-aclB permit ip any 10.1.0.0 255.255.255.0
Step 7 Assign the access list to the crypto map entry you defined.
For example:
PIX Firewall A:
crypto map Firewall-A 10 match address linkpath-aclA
PIX Firewall B:
crypto map Firewall-B 10 match address linkpath-aclB
Step 8 Configure the transform set that defines how the traffic will be protected. Use either esp-des
ah-md5-hmac or esp-md5-hmac. Either one provides the analogous Private Link standard encryption and
authentication protection.
For example:
PIX Firewall A:
crypto ipsec transform-set private-link-base esp-des ah-md5-hmac
PIX Firewall B:
crypto ipsec transform-set private-link-base esp-des ah-md5-hmac
Step 9 Specify the transform set to be used with the crypto map entry.
For example:
PIX Firewall A:
crypto map Firewall-A 10 set transform-set private-link-base
PIX Firewall B:
crypto map Firewall-B 10 set transform-set private-link-base
Step 10 Specify the remote peer to which the IPSec protected traffic can be forwarded. Specify the remote peer
specified in your linkpath statement.
For example:
PIX Firewall A:
crypto map Firewall-A 10 set peer 192.168.37.1
PIX Firewall B:
crypto map Firewall-B 10 set peer 192.168.35.1
Step 11 Apply the crypto map set to an interface through which IPSec traffic will flow.
Step 12 For example:
PIX Firewall A:
crypto map Firewall-A interface outside
PIX Firewall B:
crypto map Firewall-B interface outside
commands
D
command line editing 1-26
command output paging 1-26 database application inspection 4-19
configuring privilege levels 9-1 to 9-2 Data Encryption Standard
creating comments 1-26 See DES
displaying 1-26 debugging
compiling MIBs 9-35 IPSec 8-38
conduits 1-7 SMR 2-31
Configurable Proxy Pinging default configurations 1-27
description 1-13 default routes 2-1
L2TP
M
configuring 8-33
configuring Windows 2000 client 8-34, 8-37 MacOS
description 8-31 default routes 2-3
transport mode 8-33 manual configuration of SAs 6-22
LAN-based failover 10-8 to 10-15 masks
advantage 10-24 See subnet masks
changing from cable-based failover 10-13 MD5 6-3
configuring 10-8 description E-1, E-2
example 10-28 IKE policy keywords (table) 6-3
FAQ 10-24 Message Digest 5
LAN-to-LAN VPNs See MD5
See site-to-site VPNs MIBs 9-32
Layer 2 Tunneling Protocol MIB II groups 9-32
See L2TP 8-31 updating file 9-35
LDAP Microsoft Challenge Handshake Authentication Protocol
application inspection 4-21 See MS-CHAP
ILS 1-13 Microsoft Exchange
lease configuring C-1
releasing DHCP 5-12 Microsoft Remote Procedure Call
renewing DHCP 5-12 See MSRPC
licenses, software Microsoft Windows 2000 CA
requirements for Stateful Failover 10-25 supported 6-9, 7-14
See also UR licenses modes
upgrading 1-22, 11-2 to 11-5 See access modes
link up and link down, SNMP 9-32 monitor mode
LINUX description 1-24
default routes 2-2 using 11-10
literal port values D-2 More prompt 1-26
load sharing with crypto maps 6-24 MS-CHAP 8-39
LOCAL database MSRPC
Command Authorization with 9-5 See also RPC
user authentication to the PIX Firewall with 9-3 multicasts
lockout forwarding 2-29
recovering from 9-9 receiving 2-27
SCCP 1-12
X
VoIP
application inspection 4-11, 4-15 X.509v3 certificates E-3
gateways and gatekeepers 4-13 Xauth
H.323 1-12 configuring 8-2, 8-3
proxy servers 4-15 configuring Cisco VPN client, example 8-21