1、思科ASA和PIX防火墙配置手册一、 配置基础21.1 用户接口21.2 防火墙许可介绍31.3 初始配置3二、 配置连接性42.1 配置接口42.2 配置路由62.3 DHCP72.4 组播的支持7三、 防火墙的管理73.1 使用Security Context建立虚拟防火墙(7.x特性)73.2 管理Flash文件系统83.3 管理配置文件93.4 管理管理会话93.5 系统重启和崩溃103.6 SNMP支持10四、 用户管理114.1 一般用户管理114.2 本地数据库管理用户114.3 使用AAA服务器来管理用户114.4 配置AAA管理用户124.5 配置AAA支持用户Cut-Thr
2、ough代理124.6 密码恢复12五、 防火墙的访问控制125.1 防火墙的透明模式125.2 防火墙的路由模式和地址翻译135.3 使用ACL进行访问控制15六、 配置Failover增加可用性176.1 配置Failover176.2 管理Failover19七、 配置负载均衡197.1 配置软件实现 (只在6500 native ios模式下)197.2 配置硬件实现207.3 配置CSS实现22八、 日志管理228.1 时钟管理228.2 日志配置238.3 日志消息输出的微调248.4 日志分析25九、 防火墙工作状态验证259.1 防火墙健康检查259.2 流经防火墙数据的监控2
3、69.3 验证防火墙的连接性26十、 Syslog服务28Syslog简介28Syslog服务器的部署2910.1 内置syslogd的配置2910.2 配置基于linux的syslog-ng服务器2910.3 配置基于Windows的syslog服务器3010.4 路由器下syslog支持的配置3010.5 交换机下syslog支持的配置3110.6 PIX防火墙下syslog支持的配置3210.7 VPN Concentrator下syslog支持的配置33十一、 Cisco PIX 防火墙的问题集锦3311.1 如何允许外网用户Telnet至PIX的outside?3311.2 我想通过
4、在pix 515e 上进行设置使某些内网用户只能上一个特定的网站3411.3 请教pix515 acl 如何屏蔽一个网段?3511.4 在515E中配置DHCP网关的命令是什么3611.5 pix能不能实现dmz和inside透明模式呢?3611.6 如何配置PIX透明模式?3711.7 为什么ping不通515E的outside地址?3711.8 pix515的问题40 一、 配置基础1.1 用户接口思科防火墙支持下列用户配置方式:Console,Telnet,SSH(1.x或者2.0,2.0为7.x新特性,PDM的http方式(7.x以后称为ASDM)和VMS的Firewall Manag
5、ement Center。支持进入Rom Monitor模式,权限分为用户模式和特权模式,支持Help,History和命令输出的搜索和过滤。注:Catalyst6500的FWSM没有物理接口接入,通过下面CLI命令进入:Switch# session slot slot processor 1 (FWSM所在slot号)用户模式:Firewall 为用户模式,输入enable进入特权模式Firewall#。特权模式下可以进入配置模式,在6.x所有的配置都在一个全局模式下进行,7.x以后改成和IOS类似的全局配置模式和相应的子模式。通过exit,ctrl-z退回上级模式。配置特性:在原有命令前
6、加no可以取消该命令。Show running-config 或者 write terminal显示当前配置,7.x后可以对show run 的命令输出进行搜索和过滤。Show running-config all显示所有配置,包含缺省配置。Tab可以用于命令补全,ctrl-l可以用于重新显示输入的命令(适用于还没有输入完命令被系统输出打乱的情况),help和history相同于IOS命令集。Show命令支持 begin,include,exclude,grep 加正则表达式的方式对输出进行过滤和搜索。Terminal width 命令用于修改终端屏幕显示宽度,缺省为80个字符,pager命令
7、用于修改终端显示屏幕显示行数,缺省为24行,pager lines 0命令什么效果可以自己试试。1.2 防火墙许可介绍防火墙具有下列几种许可形式,通过使用show version命令可以看设备所支持的特性:Unrestricted (UR) 所有的限制仅限于设备自身的性能,也支持FailoverRestricted (R) 防火墙的内存和允许使用的最多端口数有限制,不支持FailoverFailover (FO) 不能单独使用的防火墙,只能用于FailoverFailover-Active/Active (FO-AA) 只能和UR类型的防火墙一起使用,支持active/active failo
8、ver 注:FWSM内置UR许可。activation-key 命令用于升级设备的许可,该许可和设备的serial number有关(show version输出可以看到),6.x为16字节,7.x为20字节。1.3 初始配置跟路由器一样可以使用setup进行对话式的基本配置。二、 配置连接性2.1 配置接口接口基础:防火墙的接口都必须配置接口名称,接口IP地址和掩码(7.x开始支持IPv6)和安全等级。接口可以是物理接口也可以是逻辑接口(vlan),从6.3贾?lt;/SPANtrunk,但只支持802.1Q封装,不支持DTP协商。接口基本配置:注:对于FWSM所有的接口都为逻辑接口,名字也
9、是vlan后面加上vlanid。例如FWSM位于6500的第三槽,配置三个接口,分别属于vlan 100,200,300.Switch(config)# firewall vlan-group 1 100,200,300Switch(config)# firewall module 3 vlan-group 1Switch(config)# exitSwitch# session slot 3 processor 1经过此配置后形成三个端口vlan100.vlan200,vlan300PIX 6.xFirewall(config)# interface hardware-id hardware
10、-speed shutdown (Hardware-id可以用show version命令看到)PIX 7.xFirewall(config)# interface hardware-idFirewall(config-if)# speed auto | 10 | 100 | nonegotiateFirewall(config-if)# duplex auto | full | halfFirewall(config-if)# no shutdown命名接口FWSM 2.xFirewall(config)# nameif vlan-id if_name securitylevel PIX 6
11、.xFirewall(config)# nameif hardware-id | vlan-id if_name securitylevel PIX 7.xFirewall(config)# interface hardware_id.subinterfaceFirewall(config-if)# nameif if_nameFirewall(config-if)# security-level level注:Pix 7.x和FWSM 2.x开始支持不同接口有相同的security level,前提是全局配置模式下使用same-security-traffic permit inter-in
12、terface命令。配置IP地址静态地址:Firewall(config)# ip address if_name ip_address netmask动态地址:Firewall(config)# ip address outside dhcp setroute retry retry_cnt注:setroute参数可以同时获得来自DHCP服务器的缺省路由,再次输入此命令可以renew地址。PPPOE:Firewall(config)# vpdn username JohnDoe password JDsecretFirewall(config)# vpdn group ISP1 localn
13、ame JohnDoeFirewall(config)# vpdn group ISP1 ppp authentication chapFirewall(config)# vpdn group ISP1 request dialout pppoeFirewall(config)# ip address outside pppoe setroute验证接口Firewall# show ipIPv6地址配置(7.x新特性)暂略ARP配置配置一个静态的ARP条目:Firewall(config)# arp if_name ip_address mac_address alias配置timeout时间
14、:Firewall(config)# arp timeout seconds 缺省为4小时注:一般情况下使用clear arp会清除所有的ARP缓存,不能针对单个的条目,但是可以通过以下变通方法:配置一个静态的条目,映射有问题的ip为一个假的mac地址,然后no掉该命令就会重新建立一个arp条目。MTU和分段配置MTU:Firewall(config)# mtu if_name bytes 使用show mtu (6.3) 或者show running-config mtu (7.x)来验证分段(fragment)的几个命令:限制等待重组的分段数Firewall(config)# fragme
15、nt size database-limit if_name限制每个包的分段数Firewall(config)# fragment chain chain-limit if_name限制一个数据包分段到达的时间Firewall(config)# fragment timeout seconds if_name配置接口的优先队列(7.x新特性)暂略2.2 配置路由启用PRF防止地址欺骗 Firewall(config)# ip verify reverse-path interface if_name配置静态路由Firewall(config)# route if_name ip_address
16、 netmask gateway_ip metric配置RIP被动听RIP更新(v1,v2)Firewall(config)# rip if_name passive version 1 (Firewall(config)# rip if_name passive version 2 authentication text | md5 key (key_id))宣告该接口为缺省路由Firewall(config)# rip if_name default version 1 | 2 authentication text | md5 key key_id配置OSPF定义OSPF进程 Firew
17、all(config)# router ospf pid指定相应网络到OSPF区域 Firewall(config-router)# network ip_address netmask area area_id可选:定义Router ID Firewall(config-router)# router-id ip_address记录OSPF邻居状态更新 Firewall(config-router)# log-adj-changes detail启用OSPF更新认证 Firewall(config-router)# area area_id authentication message-di
18、gest宣告缺省路由 Firewall(config-router)# default-information originate always metric value metric-type 1 | 2 route-map name调节OSPF参数 Firewall(config-router)# timers spf spf_delay spf_holdtime |lsa-group-pacing seconds2.3 DHCP配置成为DHCP Server:配置地址池 Firewall(config)# dhcpd address ip1-ip2 if_name (最多256个客户端)
19、配置DHCP参数 Firewall(config)# dhcpd dns dns1 dns2 Firewall(config)# dhcpd wins wins1 wins2 Firewall(config)# dhcpd domain domain_name Firewall(config)# dhcpd lease lease_length Firewall(config)# dhcpd ping_timeout timeout启用DHCP服务 Firewall(config)# dhcpd enable if_name验证:show dhcdp, show dhcpd bindings,
20、 show dhcpd statistics配置DHCP中继:定义真实DHCP Server Firewall(config)# dhcprelay server dhcp_server_ip server_ifc(最多4个)中继参数Firewall(config)# dhcprelay timeout seconds Firewall(config)# dhcprelay setroute client_ifc启用中继 Firewall(config)# dhcprelay enable client_ifc验证 show dhcprelay statistics2.4 组播的支持暂略三、
21、防火墙的管理 3.1 使用Security Context建立虚拟防火墙(7.x特性) 特性介绍:从PIX7.0和FWSM 2.2(1)开始,可以把物理的一个防火墙配置出多个虚拟的防火墙,每个防火墙称为context,这样一个防火墙就支持两种工作模式:single-context和multiple-context,处于后者工作模式的防火墙被分为三个功能模块:system execution space(虽然没有context的功能,但是是所有的基础),administrative context(被用来管理物理的防火墙) 和 user contexts(虚拟出来的防火墙,所有配置防火墙的命令都
22、适用) 配置:首先使用show activation-key来验证是否有multiple-context的许可,然后通过mode multiple和mode single命令在这两个模式之间进行切换,当然也可以用show mode来验证现在工作在什么模式下。在不同context下进行切换使用Firewall# changeto system | context name,由于所有的context的定义都必须在system execution space下,所以要首先使用changeto system转入该模式,Firewall(config)# context name 接着要把物理接口映射到
23、context中 只要这样才能在相应的context下显示出物理接口,从而配置其属性 Firewall(config-ctx)# allocate-interface physical-interface map-name 最后定义context 的startup-config的存放位置Firewall(config-ctx)# config-url url 通过show context验证 注:当防火墙工作在multiple-context模式下,admin context就自动生成。(show context来验证) 由于所有的context都共享设备的资源,所以要限制各个context的
24、资源分配 首先定义class Firewall(config)# class name 然后Firewall(config-class)# limit-resource all number% Firewall(config-class)# limit-resource rate resource_name number% 最后在相应的context配置下Firewall(config-ctx)# member class 通过以下命令验证 show class, show resource allocation, show resource usage等 注:缺省telnet,ssh,IPs
25、ec 5 sessions,MAC address 65535条目 3.2 管理Flash文件系统 6.x文件系统 只有六种文件可以保存到Flash,没有文件名只有代号,没有目录结构 0 OS镜像 1 启动文件 2 VPN和密匙证书 3 PDM镜像 4 崩溃信息 5 0的文件大小 show flashfs 显示flash文件 7.x和FWSM文件系统 7.x和FWSM更像IOS的文件系统,具有层级目录,要被格式化后才可以使用,7.x使用flash:/代表Flash文件系统,FWSM分别使用flash:/ (系统镜像)和disk:/(配置文件) 由于该系统使用类Unix的指令,所以可以使用下列常
26、用命令来对该文件系统操作: dir pwd cd more delete copy rename mkdir rmdir format erase fsck(检查文件系统完整性) 6.x在Flash里面只能保存一个系统镜像,7.x则废除了此种限制通过使用Firewall(config)# boot system flash:filename来选取不同的系统镜像,show bootvar进行验证 OS升级 见附录 3.3 管理配置文件 7.0以后可以使用多个启动配置文件Firewall(config)# boot config url 显示启动配置文件Firewall# show startup
27、-config Firewall# show configuration (6.x为show configure) 保存当前配置文件 write memory, copy running-config startup-config, write net server-ip-address:filename (7.x也支持copy至tftp) 强制standby同步当前配置文件 write standby 删除启动配置文件 write erase 合并启动配置文件为当前配置文件 configure memory 从Web导入配置文件configure https:/user:passwordlo
28、cation:port/ http-pathname (7.x支持copy自以上源) 合并配置文件自自动更新服务器 Firewall(config)# auto-update device-id hardware-serial | hostname | ipaddress if_name | mac-address if_name | string text Firewall(config)# auto-update server https:/username:password AUSserver-IP-address:port/autoupdate/AutoUpdateServlet ve
29、rify-certificate 3.4 管理管理会话 Firewall(config)# console timeout minutes 配置console登录的超时(缺省0不超时) 禁止来自outside端口的telnet,启用telnet Firewall(config)# telnet ip_address netmask if_name Firewall(config)# telnet timeout minutes 配置telnet超时 启用SSH配置 首先生成RSA密匙对 Firewall(config)# domain-name name Firewall(config)# c
30、a generate rsa key modulus (7.x 使用crypto key generate rsa general-keys modulus modulus) Firewall(config)# ca save all (7.x自动保存) 使用show ca mypubkey rsa来验证(7.x show crypto key mypubkey rsa) ca zeroize rsa作废原有密匙对(7.x crypto key zeroize rsa default) 最后允许ssh会话 Firewall(config)# ssh ip_address netmask if_
31、name ssh version命令可以选择ssh的版本,ssh timeout定义超时时间 PDM/ASDM配置 由于PDM存放位置固定,所以不需要指定镜像的位置,ASDM使用Firewall(config)# asdm image device:/path 来指定镜像位置,如果没有可以使用copy命令来安装。然后配置访问许可Firewall# http ip_address subnet_mask if_name 启用HTTP进程Firewall# http server enable 使用https:/ip-address/admin来访问。 Banner配置 Firewall(conf
32、ig)# banner exec | login | motd text 对banner不能修改,只能用no来删除,或者clear banner来清除所有的banner(7.0 clear configure banner) 监控管理会话 who监控telnet会话 kill telnet-id来清除会话,show ssh sessions监控ssh会话,ssh disconnect session-id清除ssh会话,show pdm sessions监控pdm会话,pdm disconnect session-id清除pdm会话 3.5 系统重启和崩溃 通常使用reload命令重启系统,从
33、7.0以后支持在特定的时间重启系统Firewall# reload at hh:mm month day | day month max-hold-time minutes | hhh:mm noconfirm quick save-config reason text或者经过一定的时间间隔后重启Firewall# reload in minutes | hh:mm max-hold-time minutes | hhh:mm noconfirm quick save-config reason text 启用崩溃信息生成 Firewall(config)# crashinfo save en
34、able (7.0 no crashinfo save disable) show crashinfo 来看崩溃信息 clear crashinfo删除信息(FWSM使用crashdump) 3.6 SNMP支持 系统SNMP信息 Firewall(config)# snmp-server location string (contact string) SNMP访问许可 Firewall(config)# snmp-server host if_name ip_addr poll | trap Firewall(config)# snmp-server community key四、 用户管
35、理4.1 一般用户管理 注:缺省情况下认证用户仅需要password,这样的一般用户缺省用户名就是enalbe_1,在ssh情况下缺省用户名就是pix,然后用password来认证。 非特权模式密码配置 Firewall(config)# password | passwd password encrypted (恢复缺省密码cisco 用clear password | passwd) 特权模式密码配置 Firewall(config)# enable password pw level priv_level encrypted 4.2 本地数据库管理用户 定义用户 Firewall(con
36、fig)# username username nopassword | password password encrypted privilege level 启用本地认证 Firewall(config)# aaa authentication serial | telnet | ssh | http console LOCAL 注:缺省情况特权模式密码使用enable password定义,这样用户通过认证后使用enable来进入特权模式,而不管用户初始什么等级的权限,所有用户使用相同的密码。这里也可以使用本地enable认证(aaa authentication enable cons
37、ole LOCAL),用户使用username password的密码来进入enable,用户enable密码独立从而增加安全性。 本地授权:Firewall(config)# aaa authorization command LOCAL 配置命令的特权等级:Firewall(config)# privilege show | clear | configure level level mode enable | configure command command 使用show privilege来看当前命令的特权等级(7.x使用show run all privilege) 4.3 使用A
38、AA服务器来管理用户 定义AAA服务器组和协议 Firewall(config)# aaa-server server_tag protocol tacacs+ | radius (7.x还增加了kerberos,ldap,nt,sdi协议的支持) 加入服务器到组 Firewall(config)# aaa-server server_tag (if_name) host server_ip key timeout seconds 可选命令 定义服务器失败阀值 FWSM Firewall(config)# aaa-server server_tag max-attempts number PI
39、X 6.x Firewall(config)# aaa-server server_tag max-failed-attempts number PIX 7.x Firewall(config-aaa-server-group)# max-failed-attempts number 定义统计策略(7.x特性) Firewall(config-aaa-server-group)# accounting-mode single | simultaneous 具体各协议参数配置暂略 4.4 配置AAA管理用户 启用鉴权 Firewall(config)# aaa authentication se
40、rial | telnet | ssh | http console server_tag LOCAL 启用授权 Firewall(config)# aaa authorization command server_tag LOCAL 启用统计 Firewall(config)# aaa accounting command privilege level server_tag 注:AAA服务器配置略 4.5 配置AAA支持用户Cut-Through代理 4.6 密码恢复五、 防火墙的访问控制 5.1 防火墙的透明模式 特性介绍:从PIX 7.0和FWSM 2.2开始防火墙可以支持透明的防火墙
41、模式,接口不需要配置地址信息,工作在二层。只支持两个接口inside和outside,当然可以配置一个管理接口,但是管理接口不能用于处理用户流量,在多context模式下不能复用物理端口。由于连接的是同一地址段的网络,所以不支持NAT,虽然没有IP地址但是同样可以配置ACL来检查流量。 进入透明模式 Firewall(config)# firewall transparent (show firewall 来验证当前的工作模式,由于路由模式和透明模式工作方式不同,所以互相切换的时候会清除当前配置文件) 配置接口 Firewall(config)# interface hardware-id F
42、irewall(config-if)# speed auto | 10 | 100 |nonegotiate Firewall(config-if)# duplex auto | full | half Firewall(config-if)# no shutdown Firewall(config-if)# nameif if_name Firewall(config-if)# security-level level 注:不用配置IP地址信息,但是其它的属性还是要配置的,接口的安全等级一般要不一样,same-security-traffic permit inter-interface命令
43、可以免除此限制。 配置管理地址 Firewall(config)# ip address ip_address subnet_mask Firewall(config)# route if_name foreign_network foreign_mask gateway metric MAC地址表的配置 Firewall# show mac-address-table 显示MAC地址表 Firewall(config)# mac-address-table aging-time minutes 设置MAC地址表过期时间 Firewall(config)# mac-address-table
44、static if_name mac_address 设置静态MAC条目 Firewall(config)# mac-learn if_name disable 禁止特定接口地址学习(show mac-learn验证) ARP检查 Firewall(config)# arp if_name ip_address mac_address 静态ARP条目 Firewall(config)# arp-inspection if_name enable flood | no-flood 端口启用ARP检查 为非IP协议配置转发策略 Firewall(config)# access-list acl_i
45、d ethertype permit | deny any | bpdu | ipx | mpls-unicast | mpls-multicast | ethertype Firewall(config)# access-group acl_id in | out interface if_name 5.2 防火墙的路由模式和地址翻译 特性介绍:从高安全等级到低安全等级的访问称为outbound访问,需要配置地址翻译和outbound访问控制,PIX缺省情况下不用配置ACL就允许此类访问,FWSM则需要配置ACL来允许此类型的访问。而从低安全等级到高安全等级的访问称为inboud访问,也需要
46、配置地址翻译和inboud访问控制,此类型必须配置ACL.同一安全等级的访问也可以配置地址翻译。 支持下列几种NAT类型 Translation Type Application Basic Command Direction in Which Connections Can Be Initiated Static NAT Real source addresses (and ports) are translated to mapped addresses (and ports) static Inbound or outbound Policy NAT Conditionally tran
47、slates real source addresses (and ports) to mapped addresses static access-list Inbound or outbound Identity NAT No translation of real source addresses nat 0 Outbound only NAT exemption No translation of real source addresses matched by the access list nat 0 access-list Inbound or outbound Dynamic NAT Translates real source addre