防火墙(ASA)高级配置之URL过滤、日志管理、透明模式

对于防火墙产品来说,最重要的一个功能就是对事件进行日志记录。本篇博客将介绍如何对ASA进行日志管理与分析、ASA透明模式的原理与配置、利用ASA防火墙的IOS特性实施URL过滤。

一、URL过滤

利用ASA防火墙IOS的特性URL过滤可以对访问的网站域名进行控制,从而达到某种管理目的。

实施URL过滤一般分为以下三个步骤:

(1)创建class-map(类映射),识别传输流量。

(2)创建policy-map(策略映射),关联class-map。

(3)应用policy-map到接口上。

案例:如下图所示,实现网段192.168.1.0/24中的主机禁止访问www.4399.com,但允许访问其他网站,如www.163.com

配置步骤如下:

(1)配置接口IP,实现全网互通(略)

(2)创建class-map(类映射),识别传输流量。

1

2

3

4

5

6

7

8

9

10

11

12

13

asa(config)# access-list aaa permit tcp 192.168.1.0 255.255.255.0 any eq www   //创建ACL

asa(config)# class-map aaa1            //创建class-map

asa(config-cmap)# match access-list aaa          //在class-map中定义允许的流量

asa(config-cmap)# exit

asa(config)# regex urla "\.4399\.com"           //定义名称为urla的正则表达式,表示URL扩展名是"4399.com"

asa(config)# class-map type regex match-any urla1        //创建class-map,类型为regex,match-any表示匹配任何一个

asa(config-cmap)# match regex urla                   //定义URL

asa(config-cmap)# exit

asa(config)# class-map type inspect http urla2         //创建class-map,类型为inspect http(检查http流量)

asa(config-cmap)# match request header host regex class urla1

//在http请求报文头中的host域中的URL扩展名如果是"4399.com",将被丢弃。regex class urla1表示调用名称为urla1的class-map

(3)创建policy-map(策略映射),关联class-map。

1

2

3

4

5

6

7

asa(config)# policy-map type inspect http policy1      //创建policy-map,类型为inspect http(检查http流量)

asa(config-pmap)# class urla2                  //调用之前创建的class-map

asa(config-pmap-c)# drop-connection log         //drop数据包且关闭连接,并发送系统日志

asa(config)# policy-map policy2                //创建policy-map,将应用到接口

asa(config-pmap)# class aaa1                //调用之前创建的class-map

asa(config-pmap-c)# inspect http policy1           //检查http流量

(4)应用policy-map到接口上。

1

asa(config)# service-policy policy2 interface inside

注意:一个接口只能应用一个policy-map。

二、日志管理

对于任何防火墙产品来说,最重要的功能之一就是对事件进行日志记录,ASA使用同步日志(syslog)来记录在防火墙上发生的所有事件。

1.日志信息的安全级别

日志信息的安全级别分为八个等级,如图所示:

信息的紧急程度按照重要性从高到低排列,emergencies(非常紧急)的重要性最高,而debugging(调试)的重要性最低。

2.配置日志

日志信息可以输出到Log Buffer(日志缓冲区)、ASDM和日志服务器。

在配置日志前,一般需要先配置时区和时间,配置如下:

(1)配置时区,命令如下:

1

asa(config)# clock timezone peking 8

其中peking用来指明所在时区的名字,8是指相对于国际标准时间的偏移量,这个值的取值范围为-23…23。

(2)配置时间,命令如下:

1

asa(config)# clock set 19:30:00 24 Sep 2017

然后可以分别配置Log Buffer、ASDM和日志服务器。

(3)配置Log Buffer,命令如下:

1

2

asa(config)# logging enable

asa(config)# logging buffered informational  //配置日志的级别,也可以写6,表示6以上的级别(0-6级别)

注:Log Buffer(日志缓冲区) 的默认大小是4KB。

1

2

asa(config)# show logging           //查看Log Buffer

asa(config)# clear logging buffer       //清除Log Buffer

(4)配置ASDM日志,命令如下:

1

2

3

asa(config)# logging enable

asa(config)# logging asdm informational         //表示6以上的级别 ,informational可用6表示

asa(config)# clear logging  asdm              //清除ASDM

(5)配置日志服务器

目前,有很多日志服务器软件。Firewall Analyzer是一款基于Web的防火墙日志分析软件,利用该软件能够监控网络周边安全设备、收集和归档日志,并生成报表。Firewall Analyzer能够帮助网络安全管理员有效监控带宽和防火墙安全事件,全面了解网络的安全状况;监控使用/未使用的防火墙策略并优化策略;通过趋势分析规划网络容量等。Firewall Analyzer支持多种设备/厂商,支持Windows和Linux平台。

案例:如下图所示,在win 2008上安装Firewall Analyzer 6

①在ASA防火墙的配置如下:

1

2

3

4

asa(config)# logging enable

asa(config)# logging timestamp         //启用时间戳

asa(config)# logging trap informational

asa(config)# logging host inside 192.168.0.1    //定义日志服务器的IP地址以及ASA的接口

ASA与日志服务器的通信默认使用UDP协议514端口。

②Firewall Analyzer 6安装后,默认会启用两个SyslogServer,分别监听UDP的514端口和1514端口。首先使用Firewall Analyzer 启动服务程序,然后使用“Firewall Analyzer Web Client”进入用户端界面,输入初始用户名和密码。

③在主机Windows7上运行命令ping  192.168.0.1  -l  10000  -t 模拟攻击,然后在Firewall  Analyzer的Web界面上就可以查看到相应的事件。

在“安全统计”下单击“查看Syslogs”可以查看详细的日志信息。

④可以通过Firewall Analyzer的事件概要报表、安全报表生成报告。

三、透明模式

ASA安全设备可以工作在两种模式下,即路由模式和透明模式,默认情况下ASA处于路由模式。

1.透明模式

ASA从7.0版本开始支持透明模式。

在路由默认下,ASA充当一个三层设备,基于目的Ip地址转发数据包;在透明模式下,ASA充当一个二层设备,基于目的MAC地址转发数据桢(没有配置NAT时)。

在8.0之前的版本中,透明模式下不支持NAT,8.0及其后续版本支持NAT配置。如果配置了NAT,ASA转发数据包仍然使用路由查找。

处于透明模式下的ASA虽然是一个二层设备,但与交换机处理数据桢存在着不同。

* 对于目的MAC地址未知的单播数据桢,ASA不会泛洪而是直接丢弃。

* ASA不参与STP(生成树协议)。

透明模式下默认允许穿越的目的MAC地址如下:

* 广播MAC地址:FFFF.FFFF.FFFF

* Ipv4组播MAC地址从0100.5E00.0000到0100.5EFE.FFFF。

* Ipv6组播MAC地址从3333.0000.0000到3333.FFFF.FFFF。

* BPDU组播MAC地址:0100.0CCC.CCCD (Cisco私有)。

* AppleTalk组播MAC地址从0900.0700.0000到0900.07FF.FFFF。

透明模式下默认允许的三层流量如下:

* 允许Ipv4流量自动从高级别接口到低级别接口,而不必配置ACL。

* 允许ARP流量双向穿越,而不必配置ACL。

ASA在透明模式下运行时,继续使用应用层智能执行状态检测和各项常规防火墙功能,但只支持两个区域。

透明模式下不需要再接口上配置Ip地址,这样就不用重新设计现有的Ip网络,方便部署。

2.透明模式的配置

(1)切换到透明模式,命令如下:

1

2

asa(config)# firewall transparent

ciscoasa(config)#

需要注意的是:切换时会清除当前的配置。

查看当前的工作模式的命令如下:

1

ciscoasa(config)# show firewall

如果要重新切换到路由模式,需要使用命令:no firewall  transparent。

(2)管理IP地址

需要为ASA分配一个IP地址用于管理目的,管理Ip地址必须处于同一个连接子网。ASA将管理IP地址用作源于ASA的分组的源IP地址,如系统消息、AAA或SYSLOG服务器。

管理IP地址的配置命令如下

1

ciscoasa(config)#ip address ip [mask]

(3)MAC地址表及学习

1

2

3

4

ciscoasa# show mac-address-table        //查看MAC地址表

ciscoasa(config)# mac-address-table aging-time minutes      //设置动态MAC条目的过期时间(默认5分钟)

ciscoasa(config)# mac-address-table static logical_if_name mac_address      //设置静态MAC条目

ciscoasa(config)# mac-learn logical_if_name disable       //禁止特定接口的MAC地址学习

案例1:如图所示,公司为了网络安全,新增了一台防火墙,为了方便部署,将ASA配置为透明模式,管理IP地址配置为192.168.1.253

ASA的配置如下:

1

2

3

4

5

6

7

8

9

10

11

12

ciscoasa(config)# firewall transparent

ciscoasa(config)# hostname asa

asa(config)# int e0/0

asa(config-if)# no sh

asa(config-if)# nameif outside

asa(config-if)# security-level 0

asa(config)# int e0/1

asa(config-if)# no sh

asa(config-if)# nameif inside

asa(config-if)# security-level 100

asa(config-if)# exit

asa(config)# ip add 192.168.1.253 255.255.255.0       //配置管理IP地址

案例2:如下图所示,为了增强托管服务器的安全,增加了一台ASA并配置为透明模式,管理IP地址为209.165.201.1/28

ASA的配置如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

ciscoasa(config)# firewall transparent

ciscoasa(config)# hostname asa

asa(config)# int e0/0

asa(config-if)# no shut

asa(config-if)# int e0/0.10

asa(config-if)# vlan 10

asa(config-if)# nameif inside

asa(config-if)# int e0/0.20

asa(config-if)# vlan 20

asa(config-if)# nameif outside

asa(config)# ip add 209.165.201.1 255.255.255.240

asa(config)# access-list ysf permit icmp any any

asa(config)# access-list ysf permit tcp any any eq 80

asa(config)# access-list ysf permit tcp any any eq 21

asa(config)# access-list ysf permit tcp any any eq 25

asa(config)# access-list ysf deny ip any any

asa(config)# access-group ysf in interface outside

本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/1968241,如需转载请自行联系原作者

上一篇:iptables实战系列:公共网络服务防火墙
下一篇:网御防火墙命令行管理操作