在Cisco ASA上实现僵尸流量过滤

一.僵尸流量过滤介绍

1.什么是僵尸网络

僵尸网络(Botnet)是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络.

如下图所示:

攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。攻击者通过远程控制这些计算机发起拒绝服务器(DOS)攻击.

之所以用僵尸网络这个名字,是为了更形象地让人们认识到这类危害的特点:众多的计算机在不知不觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被人利用的一种工具。

那么Cisco ASA是如何实现僵尸流量过滤的呢?在ASA上启用BTF(Botnet Traffic Filter)特性,检测僵尸流量的活跃程度,丢弃被感染主机与攻击者的通讯流量。

注:DOS攻击:利用僵尸网络中的大量主机,发起对目标主机的攻击行为,使目标主机无法提供正常的服务,最常见的攻击有计算机网络带宽攻击和连通性攻击。

2.僵尸流量过滤工作流程

1. 当ASA设备上开启BTF功能后,ASA支持维护2个数据库:

  • 动态数据库(SensorBase):存储全球范围已知的僵尸网络攻击源(Botnet control Server)信息,此数据通过互联网,从Cisco官方服务器定期自动更新下载。

  • 静态数据库(Static):存放管理员添加的攻击源(Botnet control Server)和非攻击源信息,管理员以白名单(非攻击源的IP地址或域名)和黑名单(攻击源的IP地址或域名)的形式添加,可选配置。

2. 针对不同数据库信息,ASA工作流程分如下2种情况:

动态数据库中BTF处理流程.

  • 被感染的内部主机被互联网恶意服务器控制,被感染主机与恶意服务器通讯,通过DNS Request 消息,查询恶意服务器的域名所对应的IP地址。当流量到达ASA,ASA会将解析域名与动态数据下载的域名做比较(ASA需开启DNS Snooping功能,读取DNS报文。),如果一致,将记录此域名。然后转发此DNS Request消息到DNS服务器。如果不一致,直接转发。

  • 当ASA收到DNS Server 发送的DNS Reply消息时,将之前记录的域名与IP地址对应关系加入自己的DNS反向查询记录中。

  • 当被感染内部主机通过IP地址对恶意服务器进行访问时,ASA将查询DNS反向查询记录,访问目的IP与DNS反向查询记录匹配,则记录此可以流量,或根据管理员配置,丢弃流量。

如下图所示:

恶意软件服务器为了隐蔽身份,通常使用域名提供给被感染主机访问,而使用非固定IP地址。所以BTF中推荐使用域名识别恶意软件服务器流量。

静态数据库中BTF处理流程.

  • 管理员将可疑攻击源的主机名添加到ASA的黑名单中,ASA为所有添加的主机名执行一次DNS Request。

  • 收到DNS Reply后将对应关系添加到ASA本地DNS主机缓存中。

  • 当被感染主机对可疑攻击源IP发起连接时,ASA将数据包的目的IP与DNS主机缓存中IP进行比较,如果一致,产生相关日志,或者丢弃该数据包。

如下图所示:

3.僵尸流量地址类型

在Cisco ASA上开启BTF特性后,为了监控僵尸流量的活跃程度,识别有哪些活动的僵尸流量,将对如下4类IP地址做监控:

  • 已知的恶意地址:这些地址在动态数据库和静态黑名单标识的黑名单中。

  • 被允许的地址:这些地址在白名单中,当一个地址同时存在动态数据库和静态白名单时,静态白名单优先。

  • 不明确地址:这些地址与多个域名相关联,但并非所有这些域名都在静态数据库黑名单中。则这些地址在灰名单中。

  • 未知地址:此类地址不会出现在ASA的任何列表中。

4.僵尸流量的过滤动作

当开启BTF特性后,ASA会记录可疑流量,产生相关日志信息,管理员也可以设置为自动阻止可以流量通过,针对未知地址产生的流量,不会产生任何日志信息,针对已知的恶意地址,被允许的地址,不明确的地址产生的流量,ASA会产生按类型区分的日志信息。

二.部署僵尸流量过滤的准备

1. 部署BTF特性,必须具备以下方面

  • 具备Botnet Traffic Filter(BTF)license许可。
  • 具备DNS服务器:ASA用来做DNS解析。
  • 开启DNS Snooping:使ASA可以识别受感染主机发送的DNS Reply消息,然后与本地做比对。
  • 具备互联网连通性(应用与动态数据库的情况):使ASA可以通过互联网从Cisco 官方下载全球攻击源信息。

三.在Cisco ASA中部署僵尸流量过滤

1.实验拓扑
2.实验需求

如拓扑图所示,R3模拟合法主机,域名为yes.ha.com,R4模拟非法主机,域名为no.ha.com,都连接在ASA的outside方向,R2模拟内网主机,连接在防火墙的inside方向,R5为DNS服务器,同时ASA通过交换机连接到互联网。

激活Botnet Traffic Filter(BTF)功能,完成如下需求;

  • 使ASA通过互联网同步动态数据库信息(此处暂不考虑NAT情况)。

  • 添加“yes.ha.com"到静态数据库的白名单

  • 添加”no.ha.com“到静态数据库的黑名单

  • 实现inside路由器R2可以通过域名访问"yes.ha.com",不能通过域名访问"no.ha.com"

3.实验配置
  • IP地址规划
设备 接口 IP地址
ASA GigabitEthernet0/0 100.0.0.254/24
ASA GigabitEthernet0/1 192.168.2.254/24
ASA GigabitEthernet0/2 192.168.1.254/24
R2 Ethernet 0/0 192.168.1.2/24
R3 Ethernet 0/0 100.0.0.3/24
R4 Ethernet 0/0 100.0.0.4/24
R5 Ethernet 0/0 192.168.2.5/24
  • ASA,R2,R3,R4,DNS服务器的常规配置

  • ASA的IP地址,路由以及DNS服务器配置。

interface GigabitEthernet0/0
 nameif outside
 security-level 0
 ip address 100.0.0.254 255.255.255.0 

interface GigabitEthernet0/1
 nameif DMZ
 security-level 0
 ip address 192.168.2.254 255.255.255.0 

interface GigabitEthernet0/2
 nameif inside
 security-level 100
 ip address 192.168.1.254 255.255.255.0
 
 route outside 0 0 100.0.0.100
 
 dns domain-lookup DMZ
 
dns server-group DefaultDNS
    name-server 192.168.2.5 
    domain-name ha.com
  • R2的IP地址,路由以及指定DNS服务器配置
 interface Ethernet0/0
 ip address 192.168.1.2 255.255.255.0
 
 ip route 0.0.0.0 0.0.0.0 192.168.1.254
 
 ip name-server 192.168.2.5
  • R3的IP地址和路由和和Telnet配置
interface Ethernet0/0
 ip address 100.0.0.3 255.255.255.0
 
 ip route 192.168.1.0 255.255.255.0 100.0.0.254
 
 line vty 0 4
  password cisco
  login
  transport input telnet
  • R4的IP地址,路由和Telnet配置
interface Ethernet0/0
 ip address 100.0.0.4 255.255.255.0

ip route 192.168.1.0 255.255.255.0 100.0.0.254

 line vty 0 4
  password cisco
  login
  transport input telnet
  • DNS Server IP地址和DNS服务器配置
interface Ethernet0/0
 ip address 192.168.2.5 255.255.255.0

 ip route 0.0.0.0 0.0.0.0 192.168.2.254

 ip dns server
 ip host yes.ha.com 100.0.0.3
 ip host no.ha.com 100.0.0.4
  • 测试inside设备到yes.ha.com和no.ha.com的联通性。
R2#telnet yes.ha.com
Translating "yes.ha.com"...domain server (192.168.2.5) [OK]
Trying yes.ha.com (100.0.0.3)... Open

User Access Verification

Password: 


R2#telnet no.ha.com
Translating "no.ha.com"...domain server (192.168.2.5) [OK]
Trying yes.ha.com (100.0.0.4)... Open

User Access Verification

Password: 
  • 在ASA上配置动态数据库
dynamic-filter updater-client enable
dynamic-filter use-database
  • 查看数据库同步情况
Ciscoasa(config)# show dynamic-filter updater-client 
Dynamic Filter updater client is enabled
Updater server URL is https://update-manifests.ironport.com
Application name: threatcast, version: 1.0
Encrypted UDI:
0bb93985f42d941e50dc8f022350d1a8108dd6bf9e2c2bdcfbc3cc6f22d26e142449d642674f46a8cd6c2126e4a92e4e
Last update attempted at 00:18:21 UTC Feb 14 2019,
  with result: Downloaded file successfully
Next update is in 00:52:07
Database file version is '1550118168' fetched at 00:18:21 UTC Feb 14 2019, size: 2097151
  • 在ASA上配置静态数据库中的白名单/黑名单(可选),开启BTF监控,当监控接口收到可疑流量,则Drop该流量。
dynamic-filter whitelist
 name yes.ha.com
 
dynamic-filter blacklist
 name no.ha.com
 
dynamic-filter enable interface inside 
dynamic-filter drop blacklist interface inside
  • 在ASA上开启DNS Snooping功能,在默认的policy中添加对DNS报文的监测功能。
policy-map global_policy
 class inspection_default
 inspect dns migrated_dns_map_1 dynamic-filter-snoop
4.实验效果验证
  • 从inside方向分别telnet yes.ha.com和no.ha.com查看效果。
R2#telnet yes.ha.com
Translating "yes.ha.com"...domain server (192.168.2.5) [OK]
Trying yes.ha.com (100.0.0.3)... Open


User Access Verification

Password: 


R2#telnet no.ha.com 
Translating "no.ha.com"...domain server (192.168.2.5) [OK]
Trying no.ha.com (100.0.0.4)... 
% Connection refused by remote host

inside#
  • 在ASA上查看被限制访问内网主机,有3个被丢弃的报文。
ciscoasa# show dynamic-filter reports infected-hosts all 
Total 1 infected-hosts in buffer
Host (interface)                        Latest malicious conn time, filter action  Conn logged, dropped
%=======================================================================================================
**192.168.1.2 (inside)   **                 09:55:42 UTC Feb 14 2019, dropped                    3      3
Malware-sites connected to (not ordered)
Site                                            Latest conn port, time, filter action   Conn logged, dropped Threat-level Category
%-------------------------------------------------------------------------------------------------------
100.0.0.4 (no.ha.com)                            23, 09:55:42 UTC Feb 14 2019, dropped            ** 3  **    3   very-high  admin-added
%==============================================================================

Last clearing of the infected-hosts report: Never
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容