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

本文涉及的产品
云防火墙,500元 1000GB
日志服务 SLS,月写入数据量 50GB 1个月
简介:

    对于防火墙产品来说,最重要的一个功能就是对事件进行日志记录。本篇博客将介绍如何对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

wKiom1nHdySS3QrsAADpyb-eAUQ007.png

配置步骤如下:

(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.日志信息的安全级别

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

wKioL1nHiK-SSY_IAACovh9MF7g504.png

    信息的紧急程度按照重要性从高到低排列,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

wKioL1nHklKQ9QBUAACq2MJE1jw628.png

①在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界面上就可以查看到相应的事件。

wKioL1nHmDLTsoL-AAKyFxLgJxE194.png

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


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

wKiom1nHmRrxqwe4AALfcavmdxU592.png



三、透明模式

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

wKiom1nHm1rAeAFxAACkDlNKUu4399.png

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

wKioL1nHn0eB0rV0AACO60iG6Rw288.png

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

wKiom1nHpc_yUUhqAACPSTnUjks008.png

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,如需转载请自行联系原作者
目录
相关文章
|
3天前
|
监控 安全 网络安全
|
26天前
|
Java 测试技术
深入理解Logback异步日志配置及性能优化
深入理解Logback异步日志配置及性能优化
51 2
|
11天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在online模式下增量抓取Oracle数据时,在archive_log切换时,出现数据丢失的情况,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
20天前
|
Python
Django日志配置(4)
【7月更文挑战第4天】在Django中配置日志的方法非常简单,只需要在 setting 文件中添加配置项,系统会自动生成相应的日志文件,也可以配置调试时显示内容,报错发送邮件等操作。
31 0
|
1月前
|
关系型数据库 数据库
|
24天前
|
消息中间件 NoSQL Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
|
24天前
|
消息中间件 应用服务中间件 Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
|
1月前
|
SQL 关系型数据库 MySQL
|
29天前
|
运维 监控 Serverless
函数计算产品使用问题之如何配置YAML以自动打开日志功能
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1月前
|
监控 Unix 虚拟化
libvirtd 配置日志
libvirtd 配置日志
15 0