5
网络与信息安全丛书
瞧! 3产
、
0
实用解决方案 8110 :
111 1181011 06*6011011 (美)《02;01
著
吴溥峰孙默许诚等译 张玉清审
一
1011-115100 061601*101...
19 downloads
1030 Views
15MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
5
网络与信息安全丛书
瞧! 3产
、
0
实用解决方案 8110 :
111 1181011 06*6011011 (美)《02;01
著
吴溥峰孙默许诚等译 张玉清审
一
1011-115100 061601*1011 \ 汶"500 1
&机械工业出版社
5
186〃 7-111,15701〃 1?, 4097 0
封 面
设 计 旭 洲
企 划 刘 古
网络与信息安全丛书 产
1人卿 力籴
.
1
.
】賺 ,?,,
,"壽
# |
,
1 158 1 7-" 1-1570卜X
89址:北?
百巧
;街223
眹系电活:( ! ) 68326294 9 7871
57014
定价:33.00元
邮战码:100037
网址:\\ \11
00 0 \ I
网络与信息安全丛书
81101-1入侵检测实用解决方案 〈美 !
1 02101
著
吴溥峰孙默许诚等译 张玉清审
0 机械工业出版社
本朽在介 人侵检测系统的 础1-对&进行了深人地剖析,详 细介绍广&011在实际应川屮的安装,使用及维护―全书儿14章,分别讣 广入@检测基础、利用、100进行人#检测,剖折: 时,安装 :"1的 计&. 10"运行的基础---8忭和操作系统.建立服务器,建立传感器. 建立分折员拧制台,其他&作系统卜'的安装、调整和减少 报、实时报 本规则的编写.升 和维护&10!!以及有 人侵防范的高级话题: 瞀 ,
本书内容涵盖了
0 1实际&用的各个方面」
本书无论是对具体的商业 用,还是对教学,科研工作都有相当大的 参考价0: &(! ! !! ! !! !"! I!"0111 11(1.1810 I 1 0X101 1
.!)!!!"!!. 111II 11:11 !"! ) !"! 1311 11.1 ( ! """ 1環讀X 4
11111111.-11111 117 631-5011 & !.! ! 1011 !:!!'. 口 1)1111.4111冯
1 1、.』乂1
、6~ 1 [ !0 11 1 111 @
! &;! :屯.
2003 1
;101111 。「
3117 111&"!:!." : ,'!"'【I!,"!1: 0!" 11,&:! 'I ― 1110111 111 口 110【'!110 IV'!!; ! '] !! ! )! 卜V ";;\ ; 11(011, 1311:'" 5;."11 1 1; ; 1: 11 1 【10111 !"'!".'! 1-3011 10(1110,-111011 : ||、「 (―'!"11、2311; 51 \1卩1」卜'111 ; 1311 113 6 8(1111011 1 1 111X1; 1)1 10 2004 ! !
;
'!!!',
"
本书中文简体字版由美同 ?〔培生教育出扳集团)授 ' 权机械工业出钣社在中 人陆境内独家出版发行.未经出版者 "了,不得 以任何方式抄袭.复制或节5本书屮的任何 分.. 北京市肽权局著作权合同登记号:图宇01.20(13-45(19
图书在版编目((: )数据 5晰,人 检测实用解决方案/(;美)科瑞奧 0|丄1 著;吴 峰等译.一北6:机械工业出版社,2005.1 (网络4信息安全丛书) 【
、 711115701
11. 科…」"...III國计算机 」乂 「 .!) 30 : 5 治件丄具,&10 1
毒―防
中8版本闬书馆数据核字(?!!! )第124430 机械工业出版社《北京市百万"化122号邮政编5 1110037〕 仔编辑:工颖
任印制:石冉
三河 宏达印刷有限公 印剐 新华书店北京发行所发打 扁:!' I 1
I呔'第1次印II!'I
,"賺,'川",。"17印张'417 1":!:价:3 1 011己 .
凡购本13书,如有缺页. 贞,脱页,由本社发行部调換 &46 本社购书热线电话:!010)68493821 68326294,68320718
封面无防伪标均为盗版
关于作者 』 1; 1 0 01足芝加哥地区一家主要财政机构的信息安全长官,负
企业范围内的安全.
先前,他在一家在线健 护理公3和网络药 的信息安全部门供职 18&为信息安全汆志供 稿 并发表广-些有关人侵检测的文章:.他教授有关083「考试和"黑客及其防护"的课稃.. .
自从1998年以来,知丄在一些大的生产环境屮构建,维护及管理5110!"1和其他的人侵椅 测系统。他也为一些专门的应用软件撰写311 1特征集:
致谢 首先,我要感谢我的父母
和 !
.他们教导我"只
你专心,你可以做任何事"我
也要感谢我的哥哥(: ,他用他的'3险精神鼓舞了我。 我也要感谢&教育集团的人们,他们给了我做这个项目的机会并给了些基础性 3 300和8130 7 1 1 161",开发编辑 的指导。我衷心祝福我的资料编辑1± 3 1 叩,』 11 匕& 丁"1) 11和1 3 ( 「 以及所有为广;!本书的出版而牟-勤工作的人们。
这本书的质量及其与实际的结合性归功十我的技术编辑5 (
和 ??
11;
。他们的学识非常渊博,相信在将来会取指史 大的成绩。 '
更要感谢50-1工作组的成员,他们幵发丫世界上最好的人侵检测系统。?《自己 我们 这个团体都感谢他们在( 发表他们的成眾并遵循/开放源代码的精神。 最后我要感谢那些耐心地等待了我6个月专心致志、闭门写书的人们:.他们是(排名是随 1( 1(1110'?, (;) , 1 10 机的):出屺1 021018 1: 0 ! :"?! , 1 16 8 1-1(761 【 】3001150113, 1 1-10
01305 1311 ! !! , 0』 1「|071,\ 30 「》11 0 1 当然,还有「〕;11& ,罾
1 117 。3!"「60 0313
,
13
11
11 3\\'?11
0
还要感谢1 3巧1-10 111911对我的宽容。
我们期待你的来信! 作为这本书的读者,你们是我们最重要的批评家和评论家。我们很電视你们的意见,想知 道我们哪些地方做得对,哪些可以做得更好.你们对出版哪些领域的内容感 些你们想要告诉我们的..
趣.以&其他一
你们可以发电子邮件或直接写信给我,告诉我你们喜欢或不喜欢这本书的哪些内容(也包 括我们可以对该书所作的改进)。 在你们的信中,请注意标明该书的主题,作萏以及你的姓名、电活和电子邮件地址。我将 与编辑一起仔细地评审你们的评论。 寄信地址: III
1 1&丁 3
!"
331715 !1 !) 115111115 201 \
《103 6 811-661
;闘― , 11x1 46290 口
读者服务 想得到有关该书更多的信息以及& 3出版社其他书目的信息,请浏览我们的主页 :. . 请在搜索框中键人书的138"编号(不包括连字符)或书名来查找你需要 的书。
巧
译者序 &!!!. 105〉的作用是监控网络和计算机系统是否出 人侵检测系统("【!! 。!! 061 1(011 现被人侵或滥用的征兆。作为监控和识别攻击的标准解决方案.105系统已经成为安防体系 的重要组成部分。
11:18系统不需要人工干预就01以不间断地运行,能够发现异于正常行为的操作。计算机 安防领域的知名专家81 21161:对安防问题做了比较形象的比喻:如果把计算机安防问题 比喻为城堡,那么防火墙就可以作为城堡的护城桥(只允许自己方面的队伍通过),105可以比 作是城堡里的了望哨(监视是否有敌方,或者其他误人城堡的人出现 ,由此可见【133系统的 苇要性。一个好的105系统还要有容错功能,能够适应系统行为的长期变化,而且可以灵活
定制,满足个人和组织的需求.同时系统升级要方便,以便保持领先。 511011在各种各样的现实环境中都是一种实现人侵检测的实用解决方案,被比喻为安全从 业者的瑞士军刀。5001 的适应性强巳在全世界范围内得到证实,5110!:【拥有广大的用户群和 强有力的5 「【社区的技术支持-围绕着8 11开发广大量的适用于各种需求和各种应用环 境的应用工具.相信大家读完该书后会有深刻的体会。 但是另一方面,&! 难于安装、使用和维护也是大家公认的3 51)01 的开发者们倾心于添 加新的属性,修正缺陷,因此说明文档的编写做的比较少。虽然有一些关于 100的文档,但 是都不够充分,中文方面的权威资料就更少,芮此.我们觉得有必要翻译一本关于5 1 人侵 检测方面的书。 本书在介绍人侵检测系统的基础上,详细介绍丁 !!; 的使用。书中不但对对做了简
洁明确的介绍,还对它进行了深人的剖析,详细全面地介绍了安装、使用和维护&!011的各个 方面,并对各个细节也做了具体说明。阅读本书后,读者完全可以建立一个真正实用的 人侵检测系统,况&&10"及其相关软件都是开放源代码的自由软件.可以在书中介绍的相 关网站免费下载。本书无论是对具体的商业应用,还是对教学,科研工作都有相与大的帮助. 对于人侵检测感兴趣的读者阅读此书后一定会有所收获的。 参加本书翻译的人员除书面署名者外,还有朱静和康效龙两位同志。 由于时间和能力有限,难以做到尽善尽美,6当之处在所难免,恳请读者批评指正。我们 1 的电子1言箱是:211311 (1 111 。 译者 于国家计箅机网络人侵防范中心
V
目
录
关于作者 译者序 雜
1
第1章入侵检測基础
3
1
.
1不同类型的人侵检测系统 1 1 .
1 1 .
2基?网络的入
.
检;01系统
4
6
2检测人侵的方法
6
.
3
.
-种
.
1 2 -
.
1 2
.
.
.
7
8
.
.
1
.
.
2内
的
9
4攻击的歩骤 1 4 .
1 4 .
.
.
1 4
.
.
9
1计划阶段
10
2侦察阶段
10
3攻击阶段
13
4后攻击阶段
16
.
1 4 -
5人侵检测系统的观状 1 5 .
1 5
1入
.
检181系统匸能检
2人检测系
不能
17
所有的人侵聿件
攻击做出哬
17
3人侵梡测系统的配置及维护比较困难-
17
.
1 5
.
6小结
18
第2章利用 化 进行网络入侵检测 2
.
1
1安装的必要条件
21
2带宽考虑
2!
.
.
2 1
.
.
2
20
2 1 .
3
0.1
'种开放
代码的应用程序…--
2通过特征检测可疑流鼂
.
.
2 2
.
.
2
.
\1
2检测
体协议元索
23 24
3启发式的可 流量检测 4采集人侵数据
24 25
.
.
22
3川客户规则?1展揮盖面
2 2
2
二1
1检测4疑净
2 2 -
20
5。。"的规格I兑明
2 1 .
!7
-…
.
.
-
3完整性检
8
1 3
1
7
1外部的威胁
.
.
6
3攻击的来源 1 3
1
1特征检测
2异常检测
.
1 2 .
1
4
台的方1丄
1 1
1
3 ,
1基于主机的人浸检测系统
.
.
2丄】 估威胁 2 4 2预处理 .
2
-
输出插件进行报臀 集数据
5利 2 5 1
.
.
.
统-格式和 1 31」程序记录0志
二7
2
2 5
3报??
27
6分层报警
28
.
.
.
.
报警
2 -1无优先 2 6 .
.
2 6 .
2
26 27
2 5 .
2
」5 2.5
28
4定制的优先级报警
29
2 7
1第--层一传感器层
2 7
2第二 13―报务器层
2 7
3第三层一-分析员控制台
31
8
安全的31 「1
31
5的缺陷
31
.
.
29
.
.
.
2
3
分市式311。「【休系 .
.
化
.
7
.
2
2
2严格编码的优先级报
.
9
2 9
1灵活性带来复杂性
31
2 9
2误报的问题
32
24
3市场
.
.
.
.
寧
3
第3章剖析5[!0「1
3? 35
.
2
.
3
.
'!
10
1 用【-;1 1:3&输送 1101-1:包 2预处理程序
15
.
3
.
3 2 .
.
1
36
4「醫4
32 3
;'1
.
.
.
3 2 .
.
.
.
3 2
-
38 :
11-4
4
3 2 5
36
"-362
3 2 2 .
.
!
。.,
4
41
鮮 (!
42
-
.
6
3 2 7 .
.
.)
43
丁"11 1
380、』1:
―
3
43
2
43
.
3 2 9 .
.
!
/
44
' . .
3 2
12
1x 1-1 03112
46
1:
5 \1 :
46
3 2
.
3 2
.
.
3
45
.
.
3
111〖I這I
.
3检测引
47
-
4输出插件
.
3 4 1 .
.
!! 1
3 4 2
八1吖'
3 4 3
入
3 4 4
八1。0
.
,
.
.
-
―
.
.
―
&1
48
11
48 化
11111 !]"!、"'!;
49
1
3 4 .
.
5
1X1
49 ―
3 4
6
49
3 4
7
50
.
.
.
.
3 4 8 .
.
处'"
―0
―
3 4 .
3 4 .
3
.
9数据库输出
51
10统一格式输出
52
/!
53
.
.
5
第4章安装 ! 4
.
.
4 1 .
4 1 .
4 1 .
4
.
55
行为
56
4不适当行为
56
.
.
1外部网络连接监控
4 2
3重要计算资源监控
59
3设计&1011体系结构
59
.
1三层结构
59
4 3
2单展结构
60
3监控网段
60
4维护计划
61
5事件响应
62
.
.
.
4 5
1事件响应计划
4 5 .
.
2
4 5 .
.
4 5
.
.
.
.
事件响应
3恢复
66
4测试计划
66
-
.
.
.
3监控网段 5 3 .
.
1网内9
72 监控
8?八X端口监控
75
5 3
3
丁
76
.
.
监控
4多传感器分流
.
5 /!、 第6章建立服务器 6 1安装指南 6 2 歸431 "丽7.3的安装 .
.
.
6 2 .
1
73
2
-
5
66 68 68 70
5 3 .
5
62 64
6 '! 第5聿基础一硬件和操作系统 5 1硬件性能的度量 5 2操作系统平台的选择 5
57
:……59
4 3
.
4
57
2内部网络关键点监控
.
.
.
2可疑行为 3异
4 3
4
55
.
.
.
.
54
'
4 2 .
4
恶意行为
54
4 2 .
.
1
.
2决定要监控的内容 .
4
的计划
1制定人侵检测系统的策略
4 1
5
.
1分区策略
,, 78
80 80 80 80
.
81
1网络&!置
0 2
.
3防火垴配置 1 .2.4时区选择 6 2 5账弓设置 0丄&选扦需要安装的软付包
81 81
6
3后安装任务
82
6
4安装3110"服务器组件
86
0 2
.
.
.
.
.
.
.
安
1
6 4
.
之2 6 4 -
.
6 4 .
.
5
安苌!~
94
6
配置「""
97
―
7安装一
98
安装? ?
99
力安装八 !;讪
102
安装/ !
105
5 4
10
6 4
11安装八1:10
.
.
90
539
.
&
6
安装0
93
0 4.8
.
6
88
下载: ) .
.
6 4 .
51
安装&"。 11」
4
.
6 4
82 82
.
.
!
-.
5小结
111
第7章建立传據器 7 1安装指南
〃3 门3
.
1
7 1 .
.
7 1 .
7
.
.
2后安装任务
114
2安装
7 2
3
7 2
4安装!
!1
118
7 2
5安装(:
;&
119
7 2
6安装? 50[客-端
1:0
7安装、丁?
120
安装300〃
121
.
.
.
.
.
.
.
.
.
3
7 3 .
.
7 3 .
.
1
配置?
2
运行
123
131
""
1
配置 "
132
运行&I! '31(1
1 4
3
用! ? !
.
7 4 .
.
7 4
.
.
― "
2
7 4 .
〃6 117
"屯|、
安装(:) "! 1
安装
4
.
116
.
7 2
請
脚木实现! ?、';
5 : 第8素建立分析员控制台 8
116
1安装 [
-
7
113
7 2 .
7
11x7.3的安装
72 .
.
1 (1 1
2安装&1。"传感器组件
.
7
1
106
-
1
.
;"。"、下的安装
1 1.1安装
4
的自动启动与停止
35
135 37 137 [化
8 1 .
8
.
2
1
玄-装01x
8 2
2
\ 七浏览器
.
.
8
.
.
11
139 139
139
4使用八00
140
1搜索
142
2督报组
147
小结
149
8 4
.
8 4
.
.
.
.
138
3测试控制台
.
8
138
"化"下的安装
8 2 -
8
浏览器
2
.
5
第9章其他操作系统下的安装方法 9
1混合服务器7传感器
9
2 3
.
.
9
.
150 150
基于0 0850的&!。" 基于" ;! 。 的300!"(:
9 3 .
.
1
151 153
界;! 。?的安装
2基本程序的安装 3 81 1应用程序的安装 3 4人侵检测中心的安装
9 3 .
.
9 3
.
9
.
.
.
155 160 !61
4小结 第10章调整和减少误报 10.1预调行为 10.2调整网络 10.3 用800!"I过滤流量
;63 165 766 ;67 168
10.3.1网络变量 包过滤
』69
10.4调整预处理程序
169
9
-
168
10.3.2 3614 1
10.4.1 调整1)0 10.4.2
170
调整011
0。 (!
00?
!;和(!!。!
170
10.4.3调整【! 2
170
10.4.4
頃整51 「631114
10.4.5
调整51!"6&!114
10.4.6
调整111115 3, 416(1x1 和I&
10.4,7
调整 1-18 802和03111 1 .-11100
; 72 ―
了!
!
―
173 ―
10.5细化规则集
10.5.8 11111 1116(113.1 1
174
I 74
174
10.5.1 ( ! .!!!!《规则 10.5.2 (记 .?"规则 10.5.3 (卬.印 规则 10.5.4 1( 110(0.111103规贝!]") 10-5.5〖",化((!.""规则( ) 10.5.6 ;!!&.规则 10.5.7 111 .11110规则 X
一
规贝!|
;76 ;76 276 !76 176 176 !76 ;77
10.5.9 "山 '[-1(13.11 3规则
。1
10.5.10 ': .? 规则 1(1.5.11 " .?"规则 10.5.12 1X ,1 1《规则
??? 77 177
111.5.13 10.5. 14
已?"规则
"! 、、1
177
.111163规则
178
10.6组织规则
178
10.7设汁目标规则集
179
10.8
调整
181
10.9
调整八00
182
10.9.1报1?的存档
183
10.9.2报養的删除
183
10.9.3缓存展性的调整
183
小结
10.10
184
第1,章实时报警
186
概述
186
11.2警报的分级
!87
11.1
11.2.1事件
187
11.2-2有目标的攻击
187
11.2.3自定义规则
188
11.2.4用( 11.2.5
(
!.001 8定义优先级
优 级。1100选项
189
11.3泯合型报饕 11.3.1
189
安装& 化"
190
11.3.2配置& 忙!)
190
11.4分布式&1。"报警 11.4.1
193
配置&!。"并安装
化』
《11.4.3为传感器配置 -化 11.4.4在服务器上安装5 1 -1 11.4.5为服务器配置 州叩-叩 11-4.6 为实时报警配置3 0 -06 11.4.2在传感器[安装
11-4.7 11.5
用"加密?:
188
早-
小结
第12章基本规则的编写
会活
193
194
194 195 196 196 197 198
200
12.1聽
200
12.2舰
202
12.2.1
规则头
12.2.2规则选项
12.3编写规则的方法 12.3.1修改已存在的规则
2(12
204
217 2\, XI
12.3.2利用网络知识创造新 则 12.3.3利用流量分析创建新规则 12.4小结
219 219 221
第13隶升级和维护&10「1 13.1选择300"管理应用软件 13.2入侵检测系统策略管理器
222 222 223
13.2.1安装
:23
13.2.2配琶
224
!3.3
001-10111
13. .1
13.3.2
226
1000 化!"的安装
300【10
226
巧传感器代理.安装
228
13.3.3配置
229
舰
230
13.4
"
13.5
232
第14章入侵防范离级话理 14.1 一个关于人侵防范的警告
233 233
14.2制定人侵防范策略
234
14.2.1未打补丁的服务器
235
14.2-2新的漏洞
235
14.2.3公开的可访问的高权限主机
235
14. .4从不产生误报的规则
235
修补程序
236
14.3
31101! !!!!;
14.-1.1安装
237 丄1?
14.3.2配燹
143
&1
1防范型
":!)规则编写
14.3.4建立规则集 14.4
25〃
239
01-1:53111
240
14.4.1安装
241
14.4.2配置
241
14丄3在规则中插人阻塞响&
246
14.5小结 [ ,
247 244
附录厶疑难解答
249
附录6规则文件
253
1
绪
论
我写本书的目的足想给渎者提供一本在现实环境下利用51101 的第一手的、全面的指 资料。我曾在大大小小的组织中从事过人侵检测工作,并且使用过大量的人侵检测系统技术, 在此基础上,我觉得有必要写一本关于安全产业的最有效、最神秘的工具之一-方面 的15。
刀,因为它在各种各样的现实环境中都是一种实现 人侵检测的实用解决方案。800.1的适应忡很强,在全世界范围内被广泛安装和使用《据统计 已超过100 000例),但由于51101"(被公认是难以安装、维护和使用的,因此,在某种程度1:这也 是一个难对付的问题 大量必需的设置、特征及与其运行相关的应用程序使得第一次使用 50011常被比喻为安全从业者的瑞上
。
&101*1变得让人难以接受。
失望的用户求助于昂贵的,未开放源代码的其他人侵检测系统,从而失去了灵活配置人侵 检测系统以使其适应于具体应用的能力,或者因为缺乏必要的财力而放弃了整个人侵检测。 像许多开放源代码的应用程序一样,51100的开发者们倾心于添加新的属性,修正缺陷,而 不是专心于说明文档的编写。尽管存在许多有关于31103的文档,但常常都是不够充分的,面
且阅读这些文挡的前提是读者巳有了关于5110打或人侵检测的经验(通常假设读者把人侵检 测作为一种职业)。这本书的目的就是给渎者一个以5001"【为中心的开放源代码的监测人侵 的军械库,以便根据实际需要选择要用的武器。
5:10 构造了一个优秀的人侵检测系统,伹仅此而巳。这是丙为它缺乏易于使用的图形用 户界面的管理工具,没有通过寻呼或电子邮件传送警报的方法,呈现出紊乱的没有经过組织的
警报信息显示方式。00的开发者致力于使其成为最好的人侵检测系统,把剩下的事留给其 他人去做.:幸运的是有成百上千的辅助应用程序、丁-具或脚本可以配合一起使用。但 与此同时找到适当的应用程序、工具或脚本来配合811011的使用却更加困难。在这本书中我 为大家做了资料收集和调杳研究的工作,内容涵盖/能与 100配合使用的最流行,最有效的 各种辅助应用程序。 本书对拥有图形用户界面的报警管理工具八00做了详细地描述,并且提到丫两种产生 -叱)。对其他特征管理器的使用也做了介绍,比如人侵检 实时报瞽的方法( !汕和 测策略管理器将帮助读者使用&10『1。 一些高级的人侵防范工與,像500115 等在最后一章 也做了介绍。 如果不仔细彻底地讨论511011的工作方式,这本书就是不完整的。第3章"剖析3 !!"专 注于介绍5110「【的内部函数以及一些很少有文档说明的元件,比如像指示311011如何运行的预 处理程序。 在渎者已经具备了关于&101 如何工作的知识后,第4章"安装的计划"将指导读者 如何完成这个艰难的任务。这个任务常会被忽略,但因此会导致整个&1011应用的失败。像 传感器的布置,事件响应过程及其发展等这些重要的因素在第4章也考虑到了。第5章"基础 ―硬件和操作系统 将带领读者完成硬件及操作系统的选择,并且告诉了读者一个通过修改 ''
5类网线来保护传感器的新颖的方法。 本书的核心部分,第6到第9章详细地介绍I"在家用网络和企业级网络使用&00将会 遇到的安装问题及其相关问题的解决方案。接! 來讨论了 01-1工作在多层式拓扑结构的有 关问题 包栝传感器.服务器和控制台等。同时介绍了在不间的平台上乂包括"'"( ' 和1 0)0安装 101"【的问题。
即使读者得到一个公开源代码的人侵检测系统,但这个系统也是有一些保留的,这主要是 为了提供一个真正有效的人侵检测系统。所有的人浸检测系统面临的一个难题就是错误判断 (也即误报警》。如果 !0!"I在默认的配置下安装,将会产生大量的误报警。误报警的数量会
使得第一次使用 ,00的用户很失望。通过调整来减少误报警的数暈势在必行.第10 章 调整和减少误报''洋细地讨论了这一问题。3-个重要的配置任务,使5 0"能够实现实 时报警在第11章中做了描述。 第12章到第14章讨论更高级的话题,像用户对5 1 特征定制(术语称"规则"〉的编写, 3110 的升级与维护,以及将51 1 作为一个人浸防范工具等问题。3001 区别于其他不开放 源代码的.商业性的人侵检测系统的最大优点就是它允许书写高级规则。这些用户定制的规 则使得自己的组织对不愿意接受的或特定的怀有恶意的行为可以实行监听,比加一个从用& 的化 服务器到一个可疑的国外I?地址连接的了通信行为。 活性及类似语言的各种 细小规则的定制特性也是3003被广泛接受的重要因素〈任何有相关知识的人都可以书写规 则并与5 "组分享它们 "
最后两个附录作为已存在的&1071规则的参考,涵盖了一些最普通的安装及应用话题。 当读完这本书的时候,读者就会拥有一个相当坚固的人侵检测系统,这个系统可与读苕花 了几百万美元所搭建的商 人侵检测系统相比拟,有时还优于读商用系统:
2
第1章入侵检测基础 人侵检测系统(
丁&11310
05:11:0 10、 5 51
3 ,【!
)已经发展成为安全网络体系
中的一个关键性组件。但是,对于许多从事信息安全的人员和系统管理员来说,105可能还是 一个陌牛的概念 本章给出人侵检测的概要描述,并通过例子说明为什么103会成为一门重 。
要的技术。
人侵检测系统可以是硬件,,软件或者两者的结合,它对单个系统或网络系统中的恶意行为
进行监控。人侵检测系统常常被比喻为防窃报警装置。就防窃报警装置而言,传感器通常布 置在人II和出口等公共地点。从逻辑上讲,防窃报警装置主要集中于建筑物最薄弱的最易受 到人侵者攻击的地方。在保护某些有重大价值的地点时,可以采用一些能检测运动甚至是温 度和气压变化的敏感传感器来加强监控力度:.传感器收集到数据后递交给某个专业人员,该 人员随后必须决定威胁的性质并采取相应的行动措施。103在网络世界中采用一套相似的规 则运作。传感器被设置在易受攻击的人口等处。对于越有价值的信息资源,受监控所采用的 传感器越敏感。就像防窃报警装置一样,105也依赖专业人员根据它所收集的数据开展相应 的行动措施。
103是深度防御信息安全策略的一个关键性组件。深度防御是一种采用一系列重叠防御
机制,保护信息资源的方法。其思想是,如果某一防御措施由于某种原因失去作用 其他措施 ,
仍然能协调一致地阻止攻击。
提供深度防御必须和加固的主机,安全的路由器,正确放置的防火墙和其他附加设备的配 合 103透人这一网络基础设施并对滥用进行监控。初学人侵检测的人常常会错误地认为 。
105本身就是一整套安全解决方案。实际上应该根据防窃报警装置来考虑『5:如果你在一 座热闹城市的人行道上放置一堆金币,而只用一个报警器来进行保护的话 这些金币很快就会 失窃。显然,除了报謇器之外还需要一套安全设施。对于105也一样,要使103有效地发挥 作用,一套配寳恰当的安全基础设施是必需的。 人侵检测系统是对敌对攻击在适当的时间内进行检测并做出响应的惟一工具 105能对 现代网络进行完全监控,对一个组织的信息系统所面临的威胁进行实时监控:如果不设置 1013,一个组织可能会被反复攻击并危及安全而毫无察觉 11:〕5是一种非攻击性技术。如果正确的进行配置 它不会损害或千扰正常业务:而其他 安全技术 比如防火墙)在实施时4能会出现故障并带来很大风险。 本章首先介绍几种不同类型的103。然后简单地介绍一下能产生一些普通类别流量的典 型攻击。最后,出于客观性,对103存在的一些问题进行探讨 ,
。
。
,
。
1
1不同类型的入侵检测系统
.
11〕3从本质上可以分成两类:网络型1133(川化力和主机型。 (! ! )。这两种1【:
的出
现也标志着105步人成熟。主机型105驻留在一台机器上 监控那些有人侵尝试的机器:.网 ,
3
型105更为流行,它对流动在网络中的其他主机发送和接收的流量进行监控。这两种类型 &有优缺点,分别适用于不同的情况" 1 1 .
1基丁-芏机的人浸检测系统
.
基于主机的 [ (! ! )在操作系统,应用程序或内核层次上对攻击进行监控。9103有 权检查日忐、错误消息,服务和应用程序权限、以及受监控主机的任何可用资源。另外,9103 应该了解应用程序。它应该知道如何区分正常的应用程序数据和异常数据,并且能够监控进 行解码和操作的应用程序数据:9103的优点在于它拥有对主机的访问特权, 911:13能更好地确定攻击是否成功。由于恶意的流量看起来与正常的流量非常相似,所 以网络型! 冗)常常会产生错误警报。由于9103产生误报量比"1135少,因此81138 在检测真正的人侵上更为准确。 误报和漏报 对正常行为产生的警报称为误报。误报是令103分柝家们感到棘手的一个主要问
因为他们会因误报浪费宝贵的时间和资源。通过调整11 5反映网络的方式可以将误 报降低到易于管理的水平。 题
,
103应试产生相当数量的误报,如果I[:15不产生任何
报,就很可能会产生漏报。漏
报是误报的反面,它是指103未能检测出真正的攻击。对于103来说,宁可产生一些误 报也不能漏过真正的攻击。61此,出于谨锬,最好调整108,引起一些误报来避免漏掁。
9103借助它的访问特权,监控主机中不易被其他系统访何的特殊组件。操作系统的特
殊组件,如!
乂系统的 8
文件和讽;!!
系统的注册表,可以被监控以防滥用。如果
这一类型的组件被 105监控则要冒很大的风险
。
9103要与它所驻留的系统协调一致 并且要具备读被监控主机的一些深人的仅能为116 ,
所知的知识。因此9105要具备一些关于主机和其正常行为的特殊知识。发送到主机的流量 可能被 1105检测为完全正常,但是可能会被!"1105认为是异常和恶意的。因此,4103能发 现 103所不能发现的攻击,
基于主机的人侵检测系统也有一些重大缺点。因为它们柱留在受监控主机,所以对整1 网络的拓扑结构认识有限。1 11 不能检测出针对未安装?!!!冗主机的攻击。攻击者可以控 制一台未安装9116的机器 然后对受保护的主机进行合法访问,这时8103将毫无用处。为 了监控人侵尝试,必须安置在每一台危险的主机上。如 一个组织中危险主机的数量 不断增长,这将导致成本过高。在主机层次上运行103意味着你需要为想要保护的每一种操 怍系统准备一个版本的?1105。即使你的组织能够负担这些费用,有勉强够用的版本的8105 或者仅仅能维持系统的运行,也不可能提供完全的保护。 ,
从本质上说,8105是在主机受到攻击之后通过检查日志和错误消息来进行检测的 这带 来厂各种问题。一些攻击在数据写入日志之前就控制了主机 有效地避开了 4103, 9103依 钸主机与入侵分析员的通信.因此一些使主机完全失去能力的攻击由于阻断了主机与人侵分 ,
,
折员的通讯而可以不被注意地进行: 1 1 .
.
2基于网络的人侵检測系统
网络人侵检测系统( 化 4
故置在网络基础设沲的关键区域 监控流向其他主机的流量。 ,
荜于网络的人侵检测系统发展迅速并且比只 低
,
更为人们所接受.~103的成本比 111
史
因为它通过一个装置就能保护一大片网段。通过口103,入侵分析员可以对网络内部和其
周围发半的情况有 全方位的认识。对特殊主机或攻击者的监控力度可以相对容易地加强或 是减弱。
与811:15相比, 11)8更为安全也不易中断。 化应该运行在一台加固的主机卜.,该主机 应该只支持人侵检测相关的服务,这样该机就更为健壮。口11: 没有依赖于受监控主机的完 整性和可用性的缺点,闶而它的监控不易被中断:
由于不依赖主机的安全性,与9103相比, 仏的证据不易被破坏。那是因为"105将 其捕获的数据存储在不问的机 器上,所以攻击者不能轻易地删除攻击的证据。 由千设计上的因素,"103存在一些固有的缺点。 11 为了保持效率就必须非常卨效地 -
捕获网络上的大量流量。当网络流量随时问以指数规律增长时,、105必须能够抓取所有这
些流量并即时进行分析。通常,? 03必须小心放置.调整以避免丢包。因此常常需嫛在中心 路由器或音交换机的下游放冒多个川10、 川03也易受到105逃避技术的攻击。黑客们已经发现了许多隐藏恶意流量以躲开 11:6检测的方法。 什么是"黑客"?
黑客"已经成为一个被过于滥用的媒体术语,因而失去了它原有的意义。没有人真
1'
的了解这一术语的真正起源。根据推测,最初的黑客是一些编程专家,他们致力于减小程 序的规模以适应早期计算机有限的内核空间。总体来说,这些人是如此了解系统以致于 他们能直接用机器代码写程序,因而他们能够&意删改代码以求改进代码使之适合内核
的要求。后来,"黑客"这 术语被用于描述那些试图通过对一个系统开展逆向工程设计, 来对其进行深入研究的人。I客 会敌出一些未经批:往的 !:进,并且利用系 去实现一
些以前没有的功能。在20世紀70年代,这些黑客文化的信仰者对羑国的电话系统越来 越感并趣。他们想尽办法开发系统来实现免费逸话,切换通话线路等,有时也引起电话系
统的一些故障―.当《华盛頓邮报 报道了一篇关于这些电话?客行为的文章所有的事 情都改变了,长途电话业采取措施起诉这些狡搰的黑客们。从此, 客行为声名狼藉,公 众开始錯误地理解黑客直到现在。
人 区 开。"道祙的黒客"、:滲透试驗者"、"白情;:
、
"
安全研究者"等术语都可:
特指那些有 趣对系统进行逆向工程设计和发现安全漏;同的黑客。"恶意黑客",1'解密 者
和 黑I1冒子"等术语遂常指那些攻击系统试困获馭未授权的访问权的,胃,客。另一个
"
"
术 "灰帽子"则是指那些界于安全研究和未授权攻击两者之间的黑客。灰客可能会在 某家著名的公司从事合法的信息安全研究,但是下班后可能会在家开始攻击一些信息系 统
。
在本书中,''黑客"这一术语主要指那些对网络进行攻击的人。
其中一个方法是在网络连接时发送超出最大容许长度的包来避开口103的检测。当出现 包过长时,数据会被分隔在多个包内,这称为分段。主机接受了这些分段的包后 必须重新装 .
配它们以正确渎取数据。不同的操作系统用不同的规则装配这些包:有些从第一个包开始依 5
次向&.然而有些则相反.只要分段 连续不重叠的.用什么装配规则无关紧要。如果对有重 叠的分段进行装配.根据不同的装配规则结果&各不相同,选择正确的装配规则来检测分段 攻击是 11;
曲'临的一们4题
另一个避卄103的方法更为简单
。
因为 111)3捕获在网络中传输的流量,所以阻挠窃听
的安全措施会阻止"105的这一丁作。加密流量常常被用于安全的互联网网络通信并且円益 成为递送保密情报的标准。攻击者可以利用这一点在加密对话期发送攻击,能有效地隐藏攻 -躲过 103的检测。冇些 108支持在1133引擎分析之前对流量信息解密,但是这乂产生 I 一个新的问题 即一些组织可能不愿接受这种功能 '
。
,
1 1 -
3
-
一种混
的方法
只要止确地配置和维护.卜.述阀种入侵检测模型都能成为深度防御的有效组件,值得注
意的一点是,你不必只选择其中-种而排斥另一种。
05能有效地保护一大片网络基础设
41133能为承担重要任务的主机提供协助保护,
施
:
大多数组织一开始都是采用 10
随着对人侵检测的了解,他们逐渐在那些关键且昼
夜工作的主机上放置4103。这-方法为组织提供了完全的人侵检测保护。 1
.
2检测入侵的方法 【03有几种检测入侵的方法.它们分别适用于监控不同类型的人侵,1133 -般会采用几种
检测方法。 1 2 .
.
1特征检測
特征检测对那些试图以非标准手段使用系统的安全事件进行鉴别。105中存储着已知的
人侵行为描述,以此为根据比较系统行为。当某方面的系统调用与一种已知的人侵行为描述 匹配时,一次饕报就会被提交给105分析员。 对已知人侵行为的描述称为特征。特征必须能准确描述某一种特殊人侵行为的特点,同 吋要避免其他行为引起的误报。在~【03中,通过对协议元素或是网络流量的内容进行匹配 时产牛一类恃殊的特征。当~103检测出流量与某一特征匹配时.就会发出警报。针对 、 安全系统81 1 6 IX印的大量10 1?包远程拒绝服务([ )攻击就是一个易于理解的 例子。
31
1
06 11(161是一套常见的针对家庭和小企业使用的个人防火墙 一位安全研究者 。
发现通过向受&1 保护的主机发送非常大的10 1?包会引起该机器的远程主机系统崩 ? 。为了检测针对93&1 的攻击,任意一个长度超过10 000字节的10 ?包就被描述为 条特征二实际卜.超出这一长度的10 包是不常见的 因此这一特征不会引起大量的误 -
,
报
.
待征检测是检测已知攻击的最为准确的技术。当一个特征与一次人侵匹配时 就会产生 个警报。另外,差不多每一种类型的恶意流量都能被一种惟一的特征所鉴别 因此,大部分 恶意流量都能被11)5用特征检测捕获,.虽然存在一些攻击能逃过特征检测 伹是它们是很小 ,
--
。
,
一部分并11可以用其他手段检测出来 6
。
特征检测也具有一些局限性。特征检测并不关心进行特征匹配的行为的意图,因此即使 是」1:常流量也会触发警报。正常流量常常4恶意流量极为相似,因而采用特征检测的: 103 容易产生误报。
特征检测需要提前/解攻击,以便对其给出精确的特征描述。这使得采用特征检测的 103对末知攻击由于没有准确的特征描述而几乎无能为力。有时候,仅仅修改一个比特就能 使攻击避开105的检测。
新的攻击需要新的特征,攻击手段的增长使得特征库随之也不断增长。在105检测人 侵时,每一个包都要与所冇的特征进行匹配。随着网络带宽的增长,计算花费代价也越来越 大 当带宽超出了 105的承受能力时,11)3就会漏包或者丢包。这种情况下,漏报就会变的 :.
很严重。
虽然特征检测存在上述缺点,但是目前在市场卜.,采用特征检测的103还是性能最突出, 最可靠的。
2异常检測
1 2 .
.
异常检测通过对标准的测量来检测滥用行为,如果一个行为的模式与标准不同,就会产生 一个膂报 异常检测有许多形式。 ,
异常检测被用于应用程序层次来监控用户的行为。异常检测103从用户的系统行为中 收集一组数据。这一基准数据集被视为"正常调用"。如果用户偏离了正常调用模式 就会产 生警报。如果一个用户在几个月内都是在 !:.班时间登录一个系统,那么某天他突然在凌晨3 ,
.
点登录,异常检测105就会发出警报.:
异常检测可以用来监控权限升级攻击:如果一个正常用户的帐户没有权限访问一个重要 0?5操作系统的5八 !文件,但是该用户却被发现可以随意地访问 的操作系统文件,例如\ 该文件,105就认为发生了潜在的破坏行为并且发出警报。
异常检测103能更好的捕获那些富有经验的攻击者,攻击者可以在一个受到控制的环 境中复制一个特征匹配105。攻击者可以尝试进行潜在的人侵来观察哪些能被特征匹配105 发现。然而,对于异常检测103,攻击者不能预知哪 人侵行为可以不被发现 异常检测105独特的优点在于它不依赖于对已知攻击的识别。只要103能检查出攻击 者与正常调用有较大的不同,它就能检测出攻击。 与特征检测一样,异常检测也有一些局限性。这种监控恶意调用的方法在学习期行:在一 个问题:那就是你必须假定基准数据集中收集的数据是无恶意的正常的行为 如果在11)3 。
―
收集基准数据集时就有一个用户每天凌晨3点都窃取公司机密,那么它就会认为这是正常行 为 不会发出繁报,在这种情况下异常检测103更容易产生漏报。 ,
异常检测误报率也相对较髙。假定一种类型的流量非常罕见 但又是正常的、无恶意的。 ,
如果这一流量不能在105产生基准数据时被捕获,当103遇到这种流量时就会产生误报。这 是一个重大的问题 因为网络流量随着时间的推移会包含很多偶然出现的罕见数据。这使得 ,
异常检测既不如特征检测精确也不如它受欢迎。 1 2 .
3完整性检验
.
完整性检验是一种简单且高效的监控人侵者的方法 它为系统的每个文件生成一个校验 。
7
然后定期地将这个校验和与源文件比较,以确保文件没有被修改。如果文件被未授权修
和
,
改 就会发出警报.
11何一个系统3:常运作吋都会带宋大量文忭规则的变化。闪此.必须小心调整完整性检 验103,以避免误报。当发生合法的変化时,需要重置校验和二 完整性检验可以用于检测网页的篡改。攻击者常常可以进人未打补丁的对外的讽 服 器以篡改\ 吐服务器显示的内容。完整性检验105能对特殊的"页面文件产生校验和 并对其监控。当攻击者改变讽6 页面的内容时,校验和检验失败,从而引起相关人员的注意: 网站发布的网贞文件不能频繁更改,否则会引起大量误报。另外,105可以被配置成自动回滚 恢复到文件的初始状态。
完整性检验也有其局限性。完整性检验技术的主要缺点是需要访问受监控主机上的敏感
义件。这就意味着它是一种严格的基于主机的人侵检测系统,也就是说,它继承了 9105所有 的功能缺陷和缺点。另外,校验和会因与搀假的源文件进行匹配而改变,从而使完整性检验 103失去作用。将校验和存储在专用的加固的服务器上,能降低这一风险,但不能完全将其排 除
-
:
1
.
3攻击的来源
信息资源面临多种不同形式的威胁,很简单的手段就能危及信息的安全。例如内部人员 能带走机密客户信息的备份磁带。尽管数字基础设施而临许多威胁,但本节只关注105能监 控到的存在于网络上的威胁。
基于网络的威胁可以分为两大类:内部威胁和外部威胁。大部分组织的网络安全可以比 作一个鸡蛋:坚硬的外壳稍微有些难以攻破,但是外壳被打破后,内部就是柔软的,没有任何保
!; 护的了。防火墙、:;,(! 非军事区),加固的主机和11)5构成城堡一样的防 御 使得从外部渗人组织内部相对艰难。但是内部就完全不同了,未经加密的机密通信,没有 ,
正确维护的主机,松獬的安全控制便得攻击易于得手且难以检测。统计表明大约8096的成功 攻击都是来自内部。
攻击的起源对于人侵检测领域很重要.你必须知道攻击从哪里开始才能有针对性地进行 监控, 1 3 .
.
1外部的威胁
统计表明, 化的组织的防御重点针对外部威胁。绝大部分的尝试性攻击来自外部而不 是内部。但是绝大部分的外部攻击都以失败告终,而大部分内部攻击都能取得一定程度上的 成功。
这并不是说让组织对外部威胁不子重视。外部防御只要被攻破一点裂缝就会带来重大损 一 远程暴露的主机 不管是路由器,防火墙 邮件服务器或者其他面向外部的设备.都会 带来严重的损失。即使被危及安全的主机自身没有太大价值 攻击者也能借助该机渗透到更 失
。
,
,
深人的层次。攻击者常常利用受控的而向外部的主机访问那些没有严格的安全控制措施的内 部主机。
很多组织常常觉得它们不会成为公共目标而忽略外部安全。中小型组织会错误地认为它 8
们的地位并不重要,不会吸引黑客注意。很多人也常常认为自己的家庭计算机没有多大保护 价值。事实上,1&6-61上的大部分黑客并不会选择一些特殊目标。黑客常常扫描"化? 寻 找那些有漏洞的主机以试验自3获得的或者开发的攻击代码:这种情况下,黑客主要是想看 看一段新的攻击是否有效 并不逛要刻意控制某一台主机。因此某个毫无准备的家庭用户的 计算机并不见得就比一个大金融机构的商业应用程序更不易受到这种攻击。 ,
有贵任心的互联网公民
也许你认为你没有能引起黑客兴趣的数据,也许你是对的, 是你的有些东西是黑客 想要得到的:从一 1、度名系统开始攻击来隐藏他们的身份。恶意里客通常会控制一系 系统,通过它们发出攻击。另外,他们会在系统内安装远程攻去工具来配合拒绝服务攻 击。网络安全不仅&是保护自己的数据,也意味着你是否是一名有责任心的互联网公民,. 即使你不关心你的系统是否被用来攻击他人,保护好自己的系统也是对自己有利的「國 如果机器被用于一次后果严重的攻击,你可能要花大量的时间来
实你自己没有参与其
中 否则可能要负法律责任。如果能很好的对入侵进行检测,那么也许你自己就有可能制 止它们。另外,也许将来有一天,某个人的系统极不安全,被衮客利用对他人系统造成损 ,
害 这个人或许也会被追究法律责任。因此,我们应读做一名有责任心的互联网公民,并 ,
保证面向外部的系统的安全性。 1 3 .
.
2内部的威胁
对网络基础设沲取得成功的攻击大部分都是内部攻击:内部攻击破坏性强且很难被发 现。造成这种情况的一个因素是公司内部人员对安全控制非常了解并且有足够的时间;十划一
次攻击。内部人员能够通过事先获得的授权权限来获得未授权的额外权限来访问系统, 内部攻击比外部攻击更难被检测。因为组织对内部监控不像对外部那样严格。一次内部 攻击可能是一个雇员在几年或者几十年内逐渐提升访问权限和收集信息的结果。 员工的无知或大意也能给内部网络基础设施带来威胁。防火墙对用户安装的对等(巧?) 文件共享和即时通等应用程序不起作用,这都会给内部安全带来危害。一些对等应用程序捆
绑有嗅探软件或具有能够悄悄地将整1、硬盘设成共享的功能。即时通软件,比如六即吋 通 就能够用来穿过公司防火墙的仟意开放端口。 一些新的病毒被打包在大量攻击载荷中.这 些载荷可以开放系统进行病毒传播。大部分非技术用户可能根本没有想到他们所做的9常行 ,
为会产生一个安全突破口。
放置在内部一边的1133能检測蓄意的内部攻击和违反公司规定的行为。它能检测出大 部分?2?工具、对" ? 不恰当的使用和即时通软件的特征。这是除了人侵之外的监校能 力。这些能力使得内部103成为一个非常强大的安全应用程序。 由于企业网技术的支持,内部和外部的界限由于企业的合伙公司.变得越来越模糊 攻击 。
者可以从一个企业网跳到另一个,从而使得攻击来源不易被发现。随着越来越多的内部违反 安全性事件被发现,组织需要在将来寻求提卨内部安全的途径。 1
-
4攻击的步骤 冬节简要介绍恶意流量的分类,这些流量将会在你使用3恥「「时用到。这里决不是全面 9
细致地讲述技术,关于恶意流量的分折有大垦的出版物和在线资源,如果你想深入地研究特 征分析这门技术,本节将帮助你粗略地理解攻击的不同分类和它们相关的目的。 基于网络的攻击一般可以分为这样儿个阶段(见图1-11 计划阶8 无论黑客是随意选择一个系统还是针对一个特殊公司的系统
侦褰阶段
进行攻士,他都会遵循这样一套可靠的方法论卜
实际上没有一套黑客必须严格遵循的行动歩骤,之所以他 们按照这一模式是因为这足汗展攻击最有效的一套方法。如 果恶意照客发现了另一套更为有效的攻击网络的方法,他们一 定会加以采用。了
攻击阶段
人所采用的方法能帮助你检测出即将
来临的攻击的早期警报信号并采取行动对其进行阻止。
图1-1攻击的阶段
1计划阶段
1 4 .
后攻击阶&
.
黑客们在攻击一个系统前常常先做好计划。攻击计划可以采取几种不同的形式。攻击 者在开始攻击前常常按计划的方式利用系统。他可能会在一个在线交易系统签下一个帐 单 或者登录一个公共 ?服务器。这种可利用的公开合法访问能帮助他确定攻击的范围和 ,
目标。
在最初的准备完成后,黑客将决定这次攻击的范8。攻击者可能出于几种不同的目标,包 括: 拒绝服务; ,搓升合法权限:
攀未授权访问; #数据操作。
攻击的动机通常决定选择哪一种目标,.黑客仅仅出于报复或是恶作剧,常常选择拒绝服 务攻击。这几种类型攻击单独使用几乎不会带来实际回报,除非黑客纯粹以挫败他人为乐。 拒绝服务攻击效果一般比较直观。 1 4 -
.
2侦察阶段
攻击者接下来开始对你的网络收集信息或是进行侦察。攻击者实行多种不同的具有精确 目的的査询以图确定一种攻击方法。在网络世殍进行侦察的方式与在现实世界相似:在现实 世界中窃賊受目标驱动,对人口和出口等地点拍照并注意观察。他可能会通过访问可利用的 公共信息来斶査目标,例如设计图和假期安排。窃贼甚至假扮房主要求公共事业部门或者防 窃报警装置公司停止服务。
在数字世界,黑客的目标局限于成千上万的攻击手段,这些攻击手段针对网络存在的为数 不多的漏洞。攻击者尽可能使他们的侦察不被发现。但是 虽然有众多不同的侦察手段,其中 还是有一些能被人侵检测系统检测到。 ,
1
.
利用合法的公共数据
令人吃惊的是,一些重要的公开信息资源可以被黑客利用来危及网络的安全 这些数据 资源可能是由处于你的网络外部的第三方提1共的,使得黑客难以被跟踪 黑客也可能通过你 的网络上的一些资源得到一些本来应该保密的信息。这些信息资源包括: 。
。
10
#公共论坛上的讨论 公共佰息数据库 9公共监控工具 1) 5域变换
雇员们常常会参与I&上的--些公共论坛并且讨论一些与工作有关的主题,这会辅 助攻击者签别目标。系统管理员可能会利用新闻组来发现并解决一些这些讨论的问题.这可 能会暴搽网络的漏洞。为了获取一些精确的援助,系统管理员常常不得不具体地描述系统的 . 这样的站 一些故障 包括版本号、1?地址和连接要求等:攻击者通过在像 ., . .
点进行搜索,很容易就能获得一些知名的雇员或企业的域名. 黑客也能利用公共数据库收集信息:? 数据库(例如胃 . ;!!. )和垃圾邮件工 具(例如?胃.331113! 。! )能被用来查明一个组织的II5地址段。这些工具还可以被用来弄 清一个组织是否能够在肉部使用公共应用程序或者另一家公司是否可靠 公共监控工具能用来发现与攻击3标相关的特殊信息:你可以利用胃?丄 「3卜 网站提供的服务来查明运行在一 特别域名的操作系统和乩服务器。01- .0 网站 的。! ! 1 1"数据库能用于发现一台主机是否易受到 71311转播的攻击。 。
另-种广泛采用的收集公共信息的方法是利用配置错误的! : "
5服务器。1
眼务器一
般都保存有关于网络内主机和主机间关系的重大信息。攻击者常常试图攻击1) 5域变换来 获得你的网络内的 地址和主机名的映射。 1 扫描漏洞 攻击者利用公共数据资源收集/网络的相关信息后,将试图找出可利用的漏洞。黑客可 以利用众多不同的扫描工具来发现主机。 .
攻击 可以简单地 ―个I?地址看是否有一台主机在这个地址收听。很 加固的 外部网络基础设施被配置成不对 请求应答.因此这一方法常常不起作用。另一个方法 是执行一次丁。!1连接扫描.这样可以找出开放的端0来确定19地址是否处于激活 状态。
当确定一个选出的疋地址上存在主机时,攻击者可以用丁。?和1X1?全连接扫描来搜索 开放端口。这次扫描可以弄清哪些端口有服务进行监听:IX:?连接是最基础的一种 描。 -次丁0?扫描通过完成丁三次握手来确定是否有服务在监听。攻击者向主机发送一个 包:如果收到一个5丫?7八包I兑明这一端口是开放的。如果攻击者收到了一 1 ( !"/ 八0 包,也可以安全地获知该主机的这仑特別的丁(:?端口是关闭的。
因为110?协议是面向无连接的,所以1115?
描稍有不同。它不像丁连接那样要建立
三次握手。当扫描者向一台主机的1 ?端口发送( )?数据包时,如果该端口不可用,则主机 会用一 1 10 ?端口无法到达来应答。如果没有收到应答,叮以推断该1!! 端口是开放的。 1 1?扫描没有扫描准确。
端口扫描也可以收到一些服务响应的旗标。旗标显示的信息很少,一般出现在验之前。 下面就是一个丁61 1手动显示的旗标:
'
"赠192.168,1,155…
I 1 11 1: 1 10 1 111181.3
1'!] ]
. 11031:
001 1
11
1.11111X
!
VI 11
!
3
6,1 (!"!"
01 1 2 , 2 1 - 4111 11 111 011
1 86
这台主机友好的告诉丫我们它的操作系统、 ;!!! 类别,内核版本和芯片集。根据这些可 以很容易地确定一种针对这台主机的特殊的丁 攻击手段。另一种不太准确的方法是将 开放端口与标准端口清单进行对照,大部分服务运行在一些众所周知的标准端口,因此攻击 者至少可以通过查阅端口清单来确定服务的类型。结合端口清单和旗标,攻击者町以很容易 地了解哪些类型的服务可以进行攻击。 安全的主机通常被配置成不显示旗标并且将相关服务运行在非标准端口。在这种情况 下 攻击者不得不多花些功夫来确定在那些特别的端口上运行的是什么服务。攻击者必须手 ,
动操作丁 !6【进人服务并且键人一些无用的命令观察服务的输出以刺探服务的属性。 大部分远程利用攻击都只能针对一种操作系统。攻击者必须查明操作系统和版本号以便 采用恰当的攻击手段。如果从服务的旗标中不能获知操作系统,可以使用操作系统指纹「具
来识别操作系统。该工具能发送多种特殊构造的包,不同的操作系统收到后的反应也小-同.这 样就能对操作系统进行鉴别。「 嗅探器就是其中的一种工具。通过发送一个!"' 包或者 是任意不含八[ 或5 标志的包,该工具就能缩小远程操作系统的种类范围。对于这种异 常包,操作系统的正确反应应该是不予应答。但是,一些没有正确运行的I?栈会用一个& 进行应答。?包应答只是众多特殊构造包技术的一种,利用这些技术的工具可用来识别操 作系统。 针对传统的对外开放端口的扫描和嗅探的方法能被103轻易地检测到。针对几千个端 口进行IX;?连接的端口扫描能被任何一种105在1秒内发现并发出报警。因此有经验的黑 客很少采用这种笨拙的、容易被发现的侦察方法。更好的可以逃过现有105检测的扫描方法 己经被开发出来了。
这些能逃过检测的方法通常也使用特殊构造包,这些包从本质上类似于操作系统指纹识 別方法使用的包。一些扫描者使用一种被称为扫描的方法。这种方法由于用到全部 丁 (:?标志,所以被称为 !!!化扫描或圣诞树扫描。因为使用了全部丁(:?标志,这种包就像一 棵''点亮的圣诞树'',因此得名。这种扫描在刚出现时被证明可以逃过大部分【05的检测,攻 击者利用它可以不被察觉地进行端口扫描。 另一种有效的扫描方法是在几个小时或是几天内缓慢地进行慢速扫描
108-般是通过
。
监控一定时间内达到一定数量的试探性端口访问来检测端口扫描。如果攻击者的慢速扫描的 速度低于这一限度,就不会被察觉。甚至在慢速扫描试图连接了大量的未正常使用端口后 异 常检测103才可能会认定这是可疑的流量。另一个隐蔽的扫描方法是使扫描来自多个不同 的源端。攻击者秘密地使用一个重要的I?地址段通过不同的源地址尝试扫描。由于11:6是 针对单个I?检测端口扫描的,所以这种方法能逃过检测。黑客们可以有条不紊地同时使用这 ,
些逃避技术逃过103的检测。
为了成功地收坷祯察信息,黑客必须使用具有某个源【?地址的计算机或者利用中介丙 此
信息收集很少利用欺骗的源II'地址。
,
12
"地址欺骗
川地址欺骗包括用一个伪造的源I?地址产生丁(:?/!!5包。在10
&上,发送包只
需要用到目的1?地址。当包& I化611化1上传送时,路由器 略了源1?地址?尸、冇在3 的机器收到包后向源机器应 时,才用到源I?地址。
伪造的沩I?地址会使应答被镇误发送到被欺蝙的源地址。假如 地址是欺骗的,就 不可能与攻击客户端建立起完綮的网络连接。在许多不需要应答的网络攻击中, 地址 欺蹁是一种有效的技术。 一
,
― ―
欺骗的地址和恶意黑客的合法
地址进行间样的端口扫描,以希望真实的I?地址在大 '
量欺骗的地址中难以被发现。当 你在尽力查清真正的攻击来源时,攻击者已经得到了池
所需要的系统信息。 即使得到了攻击主机真正的
她址,也不能保证攻击者本人就在使用那台主机:攻击者
常常会用一些受控的机器作牺牲品来掩护他们端口扫描的阬脏工作。 不过,当你的11)5报告出信息收集尝试不断增多时,这些迹象说明你的网络成为了攻击 的目标。研究表明侦察往往只是即将到来的攻击的警告信号。 1 4 -
.
3攻击阶段
在最初的计划和侦察工作完成后.下一步就是利用收集的信息攻击网络。攻击产生的流
量可以采闬很多不同的形式。从远程利用攻击代码到可疑的常态流量.这一切都意味眷试探 性攻击即将开始。 1 拒绝服务
拒绝服务(! )攻击是一种干扰系统功能,使合法用户无法访问的攻 。拒绝服务攻击 可以针对大部分的网络设备,包括路由器,服务器、防火墙、远程访问机器和儿乎其他所有 网络资源。拒绝服务攻击也可以针对一种服务,例如?丁!1,或者针对整个机器―.柜绝服&的 种类很多很广.佢是它们可以分成与入侵检測相关的截然不同的两大类:资源消耗和恶意包 攻击。
恶意包拒绝腋务攻击通过向主机发送异常流量引起服务或主机本身崩溃:.特殊构造包拒 绝服务攻击出现时,软件没有合适的代码处理异常或是罕见的流量。不合规格的流量常常会 引起软件流量出乎意料的错误反应和导致软件的崩顼。攻击者能用特殊构造包拒绝服务攻击
击败105,甚至是&!?I。特殊构造的长度为1的11: 包能引起511011 1.8.3版对存储器内 容进行清除。这一版本的51101 没有适当地定义101?报头长度的最小值,使得拒绝服务攻 击有机可趁。
除了不合规格的流量外,恶意包也能包含一些能导致系统崩溃的载荷,包的载荷被输人 眼务,如果输入不能被适当检验,应用程序就可能被攻击者利用。 微软 拒绝服务攻击证明了黑客有众多不同的拒绝服务攻击手段可利用.该攻击首 先要建立一次合法的! 卞连接。然后攻击者键人一个由通配符(例如#或?)构成的命令 在 :
服务器内部,负责处理 ?命 中的通配符的功能在进行模式匹配时不能分到足够的内 存 ! 丁!3服务可能因此崩溃。这种拒绝服务攻击和&11 1?拒绝服务攻击只是上千种拒 ,
绝服务攻击中的两1例子。 \3
资源消耗拒绝服务攻击通过提交给服务大量的像洪 水一样的 正常"流量使得合法用户无法访问该服务。攻击者用正常流量耗尽带宽,内存,处理 器等有限的资源来达到淹没服务的8的。37、洪水攻击是一个典型的消耗内存的拒绝服务 攻击。它利用丁二次握手过稃。握手以客户端发送一个'1X 3丫X包开始,随后主机发送 一亡3\"戾0 应答 客户端再以一个/应答完成握手。如果主机不能收到返冋的八0 主机就处于空闲等待.这-对话也继续幵放。每一个开放的对活都会消耗一定量的内存。如 果开始了足够多的三次握手过程,主机会因等 大量的八0 应答而消耗尽所有的可用内存。 洪水攻击产生的流量表而上看是正常的.实际上却能带来危害。 此,目前大部分服务 另一种拒绝服务的途径是资源消耗
。
''
,
器都被配置成只开放--定数量的IX:?连接。
攻击利用开放的网络广播地址起作用. 广播地址将所有的包发送给9的子网内的每台主机目的子网内的每一台主机都会对向谘广 播地址发送流量的源地址做出应答。攻击者可以对一个广播地址发送一串10 ?响应请求或 者对其执行 化命令。这样单独的一个响应请求被放大了 250倍,.另外,攻击者对源 &攻击是另一种典型的资源消耗攻击,. 11
地址进行欺骗,使目标主机接收全部对汇 响应做出应答的流量。这样,攻击者利用 128 7 051.带宽的化化!: 网络连接就能产生32 113厶的31111 洪水攻击。 拒绝服务攻击通常利用欺骗的 地址,这样即使应答发到其他地址,攻击也能成功。攻 击者不需要应答,或者不惜任何代价避免应狞,比如31111 攻击。这使得拒绝服务攻击难以防 御 更难以追踪。 ,
远程利用
远程利用是最高级的对系统进行未授权访问的方法。它是一种利用软件代码漏洞来威胁 和控制主机的攻击。 远程利用采用和先前描述的恶意载荷流量拒绝服务攻击相同的工作方式。它利用了不能 得到正确检验的输人或者软件工程师的配置错误2
缓冲区溢出是远程利用主机的常用方法。当攻击者输人超出缓冲区(通常是一个数组)处 理能力的数据时就会导致缓冲区溢出。这时数据就会溢出缓冲区的地址空间。通常这种办法 仅仅能引起软件崩潸。当输人待殊构造的数据时,对其进行处理可能会引起难以预料的系统 行为,通常包括以超级用户权限生成一个511?11。现在的计算机体系结构不能区分应用程序代 码和输人数据使得缓冲区溢出成为可能。
八大块编码利用是一个主要的远程缓冲区溢出。当处理以大块编码机制编写的请 求时,由于对无符号整数的值不能正确解释,/ 化 不能计算出所需要的缓冲区大小。利用 这一缓冲区溢出就能危及运行于各种不同平台的八?
。这一攻击也是过去5年中第一 1、
针吋八13 116的远程利用。
大部分远程利用被发现后,软件的开发商或公开源代码组织就会在几天内发布补丁来纠 存在的漏洞。如果在一个完美的世界里,这也许能使远程利用失去作用。但实际上 这是不 可能的,因为11 013上的绝大部分系统都存在不同程度能被远程利用的漏洞。 远程利用也有许多不需要缓冲区溢出条件的形式。黑客还常常会找到在系统中引起一个 应用程序执行系统的任意命令或是二进制代码的方法。针对微软115的口!! 远程利用的 ,
是借助目录遍历存在的一个漏洞。这一方法利用一个!;! 16 14
表示的目录定界符"/,来犏取
许用户从 吐服&器的根目录进行遍历,攻击者 此可以访问! 冼服务器卜的任一
文件,包括
丄?文件,这个文件可以用来运行任何003命令:下面的命令可以列出& \
的内
〖足"/"的1 100 表示。攻击者也可以利用001丄&?命令建立一个与服 务器的连接,从受控的机器上来回传递文件。攻击者可以盗窃一些存储在服务器上的机密信 息 或者执行恶意代码,来做进一步的访问:. ,
远枵利用也能针对讽 应用稈序。如果输人不能被正确检验,运行?9?、巧!1或八511等 动态代码的讽 应用程序,如果不能对输人进行正确的校验就容易受到攻击。讽 应用程序 常用01 0令脾或&来保持应用程序和用户间的状态。 00 6被用来验址用户对应用程 序的权限。攻击者可以通过诱使用户点 恶意连接的方法来获取验证0001 6。这类攻 被称 为跨站脚本(乂 )。当用户点击一个恶意的乂53连接时,0001 就从易受攻击的主机传送到 巳被攻击者控制的主机,然后攻击者就能以受害者的身份访问系统。 501注射是另一种常用的攻击V&应用程序的方法。如果一个应用程序不能正确地检
验用户的输人,它就容易受到501注射的攻击。301注射攻击通过在用户的输人中插人 801命令来实现。如果插人了特殊构造的801,攻击者就能以难以意料的方式修改应用程序 的301逻辑应用功能。攻击者能通过终止 语句来绕过一个登录脚本。攻击者也可以利 36 61" 用801的特权来执行命令。对微软的301 ,攻击者可以运行邛―011 511611命令来执行 任意命令。也可以用类似前面描述的方法那样通过丁?! 3
服务器来移动数据。
特洛伊木马和后门
通过安置一个后门或特洛伊木马,黑客可以绕过正常的安全控制,从而获得对主机未经授 权的访问特权。给一个系统安置后门有多种不同的方法。有恶意的软件工程师可以在合法的 软件代码中加人后门。在软件开发生命周期中,为了合法维护, 以安置后门,伹是到软件完 成后后门常常被忘记去掉。 特洛伊木-马稍有不同,它是指那些假装成良性应用程序的软件,就像希腊罗马吋代的特洛
伊木马一样。特洛伊这一术语也可以用来描述一种攻击系统的方法。典型的远程控制特洛伊 木马会像一个真正的应用程序一样监听一个端口。通过这个开放端口,攻击者可以远程控制 木马-特洛伊木马可以用来执行所在主机的许多功能。一些特洛伊木马还具有端口扫描和拒 绝服务的特点。其他的能利用屏幕和讽 捕获信息并发回攻击者。一个黑客团队曾在一 个网站上张贴出从本地 捕获的受害者的头像,受害者才意识到他们是中了特洛伊木 马的攻击。 特洛伊木马和后!'』传统上是对丁0〕或111 端口进行监听,这使得安全工作者便于对装 有特谘伊木马的主机进行端口扫描。近来,特谘伊木马不断发展,它们不再需要对IX:?或者 ! )?端口进行监昕。这些新型的特洛伊木马,例如5 001",就是在处理命令之前对一系列特
殊事件进行监昕。即使结合预知的源地址,IX:?头信息或者伪造的目的端口,其作用都无法 与一个监听装置相比 特洛伊木马能利用一些更聪明的手段来掩饰它们的存在。常用的特洛 伊木马158& 0 ;化和攻击者之间采用加密通 。其他的特洛伊木马利用一些隐蔽的通信信 道(例如[〔: )。这些新型的特洛伊木马 要116分析员付出更多的劳动加以研究。 。
15
1滥用合法访问
恶意黑客可以滥用合法访问权限或者可信的访问权限来展开攻击:108在发现这类访问 中起着很大作用.人们常常认为破坏一个组织必须巧妙避开或绕过安全控制-艽实不然.攻 出者可以利用很多机会仅仅通过合法访问就可以轻易地损害一个系统。 攻击者常常试图通过控制认证信息来对合法帐兮进行未授权操作。这些方法往往技术含 量不髙,就像假扮援救人员通过电话从毫不怀疑的用户那里询问他们的用户名和口令一样简 有吋甚至更简单:相当多的设备都有默认的用户名和口令。通常这些默认的用户名和口 令在安装后并未删除或更改。10160 上存在大量默认口令可供恶意黑客们参考。501 &业6蠕虫证实; 连接到"化? 上的大量系统安装有默认口令。这种蠕虫能搜索保留有默 超级用户 5:\ 口令为空的微软 !" 在几 小时内,该矮虫就在[?? 上感染了 几万台主机。
攻击者坯有更高级的收集认证信息的方法。攻击者常常使用口令破解工具,这种工具用 穷举法髙速地对用户名和口令进行自动组合以求破解。该工具可以强制对字符进行每一种可 能的组合,或者导人一个包含常见用户名和口令的字典文件。这种口令破解行为过亍嘈杂,
108检测起来相对容易一些。当未加密的认证信息在网络传送时,攻击者也能用工具予以捕 获 在攻击者尝试使用一台主机发给另一台主机的台法证书后,这种攻击才可能会被检测到。 。
关注不寻常的用户行为的异常检测11)5也可能会检测到这种攻击。 在可疑的或者不寻常的情况下,流量即使是规则的,正常的,也有可能预示着一次入侵。 如果你突然发现一台本地服务器的20和21端口完成了 !!:!1三次握手.而本地的! ? 服务器并没有运行,很可能有一些可疑的事情正在进行。
4后攻击阶段
1 4 .
.
攻击者成功渗人网络上的一台主机后,进一步的行动会遵循什么模式就很难预测。这-阶段攻击者会开展他的计划,利用他认为合适的信息资源。下面列出了一些攻击者可能会进 行的活动: #掩盖踪迹; ,渗人更深的网络基础设施; 鲁利用主机攻击其他网络; 攀收集 操作或者破坏数据; 、
,将主机控制权移交给朋友或者黑客团队; ,悄然离开
。
如果攻击者比较有经验,他就会试图掩盖他的踪迹。有几种可用的方法,大部分都包含删 除证据和复琼被修改的系统文件。复厣系统文件可以隐藏人侵者的行为。在" 中 通过 修改文件就能隐藏一个监听特殊端口的特洛伊木马。黑客也可以通过破坏系统或安 全日志文件来掩盖行踪,因为这些文件可能会向管理员暴露他的行为。删除日志也能使 9105失去作用.因为4108依赖日志检蒯恶意行为 利用一些自动脚本可以通过一个命今来 ,
。
完成所有这些行动,这些脚本通常称作70 1 3。
处于大的网络拓扑中的面向外部的服务器上很少有对攻击者有用的数据 应用逻辑 。
(八叩11 11011 108和数据通常存储在被防火墙分开的并列层上 攻击者可能会利用攻破的主 。
16
机按照前面的三个阶段再进行攻击来进--歩渗人系统的下层结构。恶意黑客也可能用主机作 为攻击或 描装置。当有 验的黑客打算渗人更严密的网络时,他常常会攻陷一连串主机来 隐截他的行踪。
攻击者最有可能进行收集.操作或者破坏数据的活动。攻击者可能会窃取信用卡 然 后格式化服务器.:攻击者也可能会从交易业务数据库中窃取金钱,可能发生的事是无止境 的
。
有时攻1者仅仅是想看看3己 &能侵人有漏洞的主机。熟练的黑客以成功实现复杂的 攻[&为并不热衷于进行破坏。他可能会把攻破的系统转交给合作攻击的朋友或者他所属 的黑客团队。黑客高手也许会认为自己成为了顶尖高手并且去攻击更引人注目的主机,比如 军方或者大金融机构的主机,并希望最&能不被发现的离开: 1
5入侵检测系统的现状
.
现在你巳经对108的作用,分类和它能检测的流量有了很好的了解,下面介绍105的现 状和它存在的弱点。
105刚刚问世时,倍受网络安全界的推崇。人们认为只要有了 11
就不必再扣心网络安
全了。现扛103的光环巳经褪去,人们对它的作用和缺点有了较为清醒的认识。 1.5.1人侵检測系统不能检测所有的人侵事伴
精明的销售商向你推销新型的105时不会告诉你这些实情,但是即使是目前最先进的特
征检测和异常检测103也不能检测所有的人侵事件。特征检测和异常检测在如何检测人侵 上都存在难以逾越的难题。基于特征的检测对已知人侵有很好的检测效果,但对未知人侵的 检测却很困难。异常检测技术在如何建、7一一个与将来行为比较的准确的基准上遇到了莨正的 麻烦-
即使今天出现了一种能检测出所有入侵的108,黑客们也会设讣出一种新的方法来逃过 它的检测。因此105甚至成了黑客们进行创造的动力。 1 5 .
.
2人侵检測系统不能对攻击做出响应
事实上每一种人侵柃测系统都不能对攻击做出响应,它们仅仅只能检测人侵,11 3自身 并不能制止人侵。它需要有人来对警报分析并做出反应来阻止人侵。 人侵检测是一种以人为中心的应用枵序。105决不是一种自动化的技术 即使是存在理 想化的能检测出所有可能入侵的11 ,也仍然需要有人来采取正确的行动, ,
1 5 .
3人侵检測系统的配置及维护比较困难
.
103是一种很麻烦的应用程序。要花很大功夫调试105以确保误报保持在便于管理的水 平1:。针对误报进行两试时,分析员必须非常小心以避免漏报。保持好这一平衡,需要对被监 控系统有非常深人的研究,这使得运行176变成了一项困难的任务。另外 103必须小心放置 在网络基础设施里以保证它能检测出可能的人侵。 108需要操作者对许多不同的操作系统,网络协议和应用程序有广泛的了解。为厂了解 ,
17
并避免针对某一系统的攻击,分折员必须成为这一系统的专家。分析员不但要具备坚实的II 技能.还必须掌握103的相关技术和坚守在控制台前的献身精神。不管是哪一种1133,都需要 -
个聪明的富有经验的人来使检测入15成为可能.
述的缺点在11)3界里是众所周知的。人们对下一代105寄予厚望。这一团体研究的 方向并不仅仅局限于对人侵的检测一开放源代码团队巳经讦发了一个与防火埯技术结 的入 侵防范应用稗序,这一应用程序采用3110『1特征对捕获的包进行规则匹配。该应用程序40& 将在第14章 人侵防范高级话题"里阐述。
?;! 1
''
.
6小结 木章介绍了人侵枸测技术。】1)3为信息资源提供保护.已经成为深度防御策略中的重要
绗件:人侵检测系统与现实世界钽的防窃报警装置类似。他们都对人侵进行监控,当发现町 疑行为时,就向特定的 事人发出警报:是项重要的技术.因为它是惟--一种对网络入 浸进行实时监控的工具:.. 11)5分为两类:主机 化 )和网 【 (! ! )。 14103安装在受监控主机上,拥有对 敏感文件的访问特权。闩105利用这一访问特权对异常行为进行监控。 1135存在于网络中, 通过捕获发往其他主机的流量来保护大量网络设施。和 1133都有各肖的优点和缺点, 完整的安全解决方案应包括这两种105,
入侵检测系统有三种不同的技术可用于检测人侵:特征检测,异常检测和完整件检验。特 征检测将独特的恶意行为模式记录为特征。特征用来与发生的行为进行比较,如果匹配就发
出 报。异常检测105产生一个行为基准并且以它为标准。当发生的行为与这一标准不同 时就发出瞀报。完整性检验对重要的系统文件生成校验和。每隔一定时间间隔就用校验和与 当前文件进行比较,如果两者不匹配,就发-出警报。 现代网络的威胁来自两个位置:组织的内部和外部。大部分外部攻击都能被阻止.但大部 分内部攻击都能成功。因为公司内部人员对系统了解很深且有合法访问权限,所以内部攻击 更容易成功。外部攻击也同样危险,因为外部攻击者发现并利用一个安全漏洞就足够了。 基于网络的攻击大体上遵循一套可以预见的模型。攻击者按照以下阶段开展攻击:计划 阶段,侦察阶段.攻击阶段,最后是后攻击阶段。
在计划阶段,攻击者通过正常手段调査系统,这有助于攻击者确定攻击的范围。 在侦察阶段,攻击者利用合法的公共数据并进行主动扫描来确定可能存在的漏洞。各种
各样的公共数据资源,包括公共论坛上的讨论、公共信息敉据库、公共监控工具和域变换 等 都能用于收集目标的相关信悤。攻击者也有一些其他方法来查明特殊的网络攻击点,例如 ,
扫描,了0'和111
扫描,远程操作系统指紋识别和分析旗标等。黑客们不断提髙技术来
躲避1138。
在攻击阶段,侦察阶段收集的信息发挥了作用。确定攻击策略并且幵始真正的攻击。― 些可能的攻击包括拒绝服务、远稃利用,后门和特洛伊木马,滥用合法访问等 软件代码存在 的错误使大部分攻击成为可能,被攻击者利用这些含有错误代码的软件达到了一些意想不到 的目的。这些错误代码通常和不能正确检验输人软件的数据有关 后攻击阶段的行动是所有攻击阶段屮最难以预见的。在这一阶段 黑客常常出于个人愿 。
。
,
18
望有众多不同的做法。可能的行为有:掩盖踪迹,渗人更深的网络基础设施,利用主机攻击其 他网络,收集、操作或者破坏数据,将主机移交给朋友或者黑客团队,或者悄然离开」
虽然103是一种检测计箅机系统屮恶意行为的虽要技术,但它还有很大的改进空间。 105不能、很可能永远也做不到检测所有人侵事件。105仍然是一种以人为中心的应用程序 ,
需要专门的技术和精深的知识。103产业和311011闭队正在大力开展改进105的丄作。
19
第2章利用 卯! 进行网络人侵检测 3 01-1最初只是一个简单的网络管理工其,后来发展成一个遍布世界的企业分布式人侵检 测系统。自从1998年&诞牛以来,如今有几1-万个传感器分布在世界各地,已经成为使 用最广泛的 105:它的创始者 313 1 00501!最初将 101 设计为一个辅助分析网络流量的 0011;数据转换成用户可读的形式。 31 也并 个人工具。那时的3110"只是将二进制的 未想过将它公开发布,随意地将它命名为"",这最终成了一个让人难忘的名字。 500"公开发布后,经过短短几年的发展,成为了安全工作者的一件便利工具。5001 被用 于各种与人侵检测相关的活动,可以用作嗅探器.包记录器、或者网络人侵检测系统。
作嗅探器时,5 !"I对发往同一个网络其他主机的流量进行捕获。噪探器利用了以太网的 共享特性。为了降低成本,以太网采用共享的信道。由于计箅机共享使用相同的网络基础设 施 因此一台计箅机可能会收到发往另一台 算机的流量。 在个以太网内,计箨机向所有主机发送信息包利用的是同一个物理线路。包头包含有 接收者的地址,只有符合该地址的机器接收谅包。以太网的设计显然没有考虑安全性,编写一 个程序接收所有包是很容易的。只要将网卡配置成混杂模式就能接收所有包,不管这些包的 包头地址是什么。像这样从网络物理线路上抓取所有未经处理的包的应用程序称为嗅探器。 当51100以嗅探器模式运行时,它将网路上传输的每一个包的内容都显示在你的监视器 上 包括包头和包载荷。 以包记录器模式运行时,&1-1以和喚探器相似的方式抓包,不同的是将收集的数据记人 日志而不是显示在屏幕上, ,
,
包可以记录成4800文本形式或者二进制化
&格式。 1x1 1 格式更适合对性能要
求较高的宽带网络。
当然, ! !!也能以网络人侵检测系统( ! )模式运行。像包记录器和嗅探器模式-样, 模式下的5:101 也抓取并存储网路上传输的包。
尽管 108初看起来很特别,实际上它不过是一个加强的嗅探器而已。08模式与嗅探器 模式很相似,因为它们都对网路上的每一个包进行抓取,但是关键的不同在于"106模式能对数 据进行处理。这种处理不是简单的将数据写人文件或是显示在屛幕上,而是对每一个包进行检 查以决定它的本质是良性的还是恶意的。当发现看似可疑的流量时 5 ,
就会发出警报。
本书主要关注 103模式的51101: 这并不是说300I的其他几种功能没有价值。嗅探器 模式和包记录器模式的&1011都是出色的网络分析和取证工具。此外它们也可以一起用在一 个完善的人侵检测系统中。 2
&10「1的规格说明
1
.
在对如何用作为105进行详述之前 有必要先介绍一下它的规格要求,看看是否符 ,
合你的需要: 20
2 1 .
.
1安装的必要条件
大部 卨性能应用程序都对运行环境的硬件和软件有特殊要求。3001 使用一种普通的 嗅探接口 (化 邵),大部分操作系统都有这种工具,所以能运行于多数不同的平台。 支持下列硬件平台:
51X 1不需要昂贵的特殊设备.它可以运行在现有的商用硬件上。5110 ;386;
V
? ?0;
10101-013 68000/?
攀八
30011也支持几乎所有的橾作系统:下面是一些能运行?冗们的常见操作系统: 攀(―880: 攀50181 攀1
:
七乂;
#八IX:
攀08 X; #
11)32 (
! 乂/ 丁,-:2000/X?)
。
3110!"I的代码也编写得非常出色。从文件大小看 ! 是髙效的,应用程序! 身只占用几 兆空间。对安装资源的低要求使得5 打可以安装在陈旧的计算机上。需要强賙的是,前面 说的空间大小并不包含3 「1产生的数据。根据311011的配置和所处网络的规模.生成的数据 也许会轻易地占满上千兆的空间: 2 1 .
2带宽考虑
.
300「(非常髙效,配置得当,可以在满负荷的百兆网络中对每一个包进行监柁。带宽达到 200?300 ! "〖厶时5000开始出现丢包,当流量超过500 〖(厶时.511011就无法1:作。这些 统计数据表明了
能正常运行的理想的外部环境条件。
几乎没有哪个组织与公网的连接带宽超过100 1 厶。因此,只要不是在 荷极大的网 际之中,300「1 一般都是有效的。内部网络流量一般都在100 厶以下,只要仔细配置就能 适应这一规模的流量。 2 1 .
3
.
5!!(
是一种开放源代码的应用程序
00501!在 在许多方面, 1 1都是一种典型的开放源代码工程。它最初的创建者1 31 这个社区里被奉为圣人。有一批忠实的追隨者不知疲倦地致力于改进它的性能。根据传闻 全世界大概安装有20多万套3 ",即使实际丄只有这个数字的一半 依然可以与收费源代码 ,
,
1011甚至有一些商业应用 市场的佼佼者〈11化 161 5 ? ; ' ! )相嬢 奖 和50 ?,它们为人侵检测提供-些增值的即插即用眼务, .
,.
311
!! !允-
「!: 一种开放源代码程序 一个程序被称为 开故源代码",就意味着它的源代码可以被自由地读取、传播和修 ''
21
任何一个 序员都能合法地对其添加功能,修改错误并且任意传播-开放源代 码并不要求程序必须以免费方式传播,也并不阻止人们从中收取费用,但是绝大部分开放
改。因此
,
源代码軟件都是免费传播的。
开故源代码固有的协作性使得它们成长迅速。由于它们是为了个体需要,而不是以 司利润为II的,所以开放源代码程净通常都有较高的质量。 开放源代码的开&者没有市场压力,因此可以发布一些未完成的,带有 多钳误的代
因为向所有人公开代码,所以开放源代码程序通常比收费源代码程序更安全。与只 有少数有特权的人检查代码相比,成千上万双眼晴来检查代码显然更容易发现其中的安 码
。
全漏洞和错误。因为不必考虑占有和保持市场份额,它们可以添加许多收费软件商不敢 添加的功能。在最近5年,开故源代码运动为绝大多数软件提供了另一种选择,, 当有一个积极活跃的社区支持时,开放源代码程序就会兴旺发展。通常 有一个由 私奉献的开发者纽成的核心团队专注于代码的研究,他们通过添加功能和改正
误来
不断改进软件。围绕开放源代码程序的虛拟社区同这些开发者一样重要。社区为使用软 降的新用户提供技术1持并且将软件的措误报告给开发者。 当一个新的安全漏洞出现后 几个小时内 ?们社区就会写出并发布它的 !00特征。由 ,
于特征相对容易创建,听以5 0"社区能很快地进行编写、测试并发布。而一些发行商要1天 时间才能创建一个新的特征并发布给公众。因为社区的每一个成员都能创建特征,所以!? " 能为任何一种103提供最大最全面的人侵特征集。
这些对于一个511011的临时用户来说意味着什么呢?你可以免费得到这套软件。5:10!"I 的源代码也是可以随意使用的,因此你可以随心所欲地修改和传播。传播也是免费的,所以你 从来不必力此付任何费用:另外,如果需要,你还可以免费得到专家的技术支持。 用开放源代码软件也需要承担一些义务卜昏先是将它广为传播。如果你欣赏开放源代 码的这种软件开发和传播模式,那么就将其教给你的朋友,同事和经理。其次是尽力为社区贡 献自己的力量。这并不是说一定要你捐款(尽管金钱是有用的〉,有很多其他的贡献方式,,你 可以回答一些新用户的问题,提供文挡,提交错误,或者如果你有能力,不妨花些时间改进代 码 有很多机会可以为他人提供帮助。 ,
2
2通过特征检测可疑流量
.
最有效的检测对系统或网络的攻击的方法是基于特征的检测。基于特征的检测的基础是
异常或恶意网络流量符合一种独特的模式,而芷常或良性流量不符合。因为恶意流暈在构造 和内容上都不同于其他所有的正常流量,所以 以创建攻击特征进行匹配。 对5 "来说 一个恶意流量特征可以被创建成一个规则以载人它的检测引擎。检测引 擎是的主要组件 负责进行特征匹配。
了解50 1是如何对规则进行处理是理解5-11检测引擎是如何工作的最好的途径
。
面是一条 !011规则: 3101-1 ;3 !;乂丁匸4、八1
;013 :"101 22
?!
.?
―
?';
X 311 -
110
0; ―: 8 1
:
―
3
下
这看起来或许有些让人疑惑,但是如果把这条规则从
【语言翻译成自然语 ,看起来
就会好懂-些:
对任何一个来自网络外部、净荷数据为空并且10
类型域设置为8的流量产生
警报。
10161- 1控制报文协议〈1 611161 0 001 ! 6. 3 &010001,化 )主要用于「1 命令来査 ,,黑 看某个1?地址&否有主机存在。它也挾用于黑客常常使用的一 1、网络发现工具 、 帽子总希望能在最短的0;1间内对尽可能广的网络地址空间进行扫描。他们常常先配置 去-台主机 确认该机在网络上后再对其进行更彻底的扫描。黑客们都是些忙 ,
人 他们不愿浪费一点点宝贵的时间去扫描那些并不存在的主机:利用的10 .
的特征与 命令不间。根据这一点,就可以创建一条相关规
有一点特殊的特征:它将10 1?类型域设为8并&净伺数据为空。这一 ! / ?…
在?;
或操作系统下直接用?;
则 如果网络中有匹配这一特征的流量就会引起报警。需要强调的是,&1011不一定要运行在 ,
这一流量要到达的计算机上 它只需要处于同一个网段就能嗅探到 ,
测出针对大量受保护主机的1 2 2 .
八?
流量,因此,&1011能检
叫&描。
1检測可疑净荷
.
3
"特征并不只限于包头数据;它们能检测藏在一 看似正常的包中的可疑净荷。请看
下面这条规则: 3161-1 1
3 0;丁1;10 1
1
:丁301〉 8 901
3 10(1 ;": (!
(崎:"!
1
1139
.
; 4十:0011:6111 ;I 7724 568004231334257731";;
这条规则描述的是:对任何一个净荷中含有"|5772406568004231; 425773| "并」1包头表明是 68 81 ( )服务的计算机的117流量产生报警。这种净荷 从外部网络发给运行&!
可能会引起议& 协议的缓冲区溢出并导致目标主机崩溃::只有这种净荷是从外部发给运行 ! 017 139端口)的讣算机时才需要注意这一规则。这一规则的特殊在于仅对对 话起作用,这降低了误报的51能性,如 该规则不是特指你的; ! 服务器,那么一个朋友给你 发61 1都会引起报暂。因为恶意内容|57724 656800423133425773|有可能会包含在内容 中而匹配这条规则。这也是一个简单的如何根据你的网络定制50 1的例子。 8001-1也能捕获大范围的内容类型:任何来自最新的?211文件共享工具的流量都带有导 致远程缓冲区溢出的内容。511011能用来对任何你所担心的包净荷进行监控并报警。 2 2 .
.
2检测具体协议元素
出于准确性和性能上的考虑-
"特征可以具体针对特殊协议的一个元素描述。下面是
一个具体描述81 丁?内容的规则: 31
忙!) 3 11 11: 1
―
!
'!'
8
!"!!1 ―
521* 1:1(5
(!!! :"15八
2 1,1101111)1"; III";醫1 11 :'',丄?";
111X3 ; (!?! ;
:八"!" ; 1
239; (!
911? ?0 X3 ―
这条规则描述的是:对任何一个来自外部网络发往本地 61;服务器并& '
:&?"的网铬流量产生警报
。
中包含
&扩展名是一个很少用到的微软153索引服务的组件
。
23
115
大部分安全的版本都彻底删除了」&扩展名:它能远程导致严重的缓冲区溢出进时远程控 制" 服务器」另外,它能产生大量红色代码蜣虫,使 合法用户几乎无法从外部通过 义件使用索引服务。这说明中含有.1化的流量很有 能是恶意的。这一规则只搜索 -!!
2 2 .
.
内容而不是整个净
因而更为高效:
3用客户规则扩展覆盖面
.
101现在约有1500条规则.尽管看起来似乎覆諼
很广,但是&1011支持的规则是对
所有网络通用的。要想做好人侵检测I:作,需要能针对具体网络制定特定的规则:现代网络 采用大量的平台并且似乎有无数种独特的配置。尽管通用规则提供了一定的入侵监控覆盖 面 但是要想提高覆盖面最有效的方法就是细化规则。在103市场巾,3 的一个杼色就是 能赋予你编写自己规则的能力。就像前边的例子那样,你可以用相当简单的语法来编写你自 己的规则。尽管看上去有些困难,但实际上如果你很了解自己的网络的话,编 客户规则还是 ,
很容易的。
假定警报的产生是由于大量可疑的侦察流量造成的,这些流量都是来自某一地区的一台 主机。你的组织并未和该地区的任何人有业务来往,你也没有给予任何人远程调査你的网络 的权限。如果你知道你冇一台554服务器保存有
要的客户信息,你就可以编写一条覘则,
该规则对可疑的主机与该服务器尝试连接时可以产生警报,来提醒你。假定可疑主机的1?地 址是192.168.1 1 ,下面就是针对它试阁连接你的 服务器的-条规则: !)?
3181-1 1
192.16 .1.1 3117
(!!!
115 1 10115卜"!: 539 113111 ; 5
:
?&丁 22 -
编写规则的能力对于103分析员来说是无价的,而&10「1使这一切变得非常容易:规则 可以编写成刘任何流量或是净荷的特征进行匹!:。关于规则编写将在第12章''基本规则的编 写"中进行详述。 2
.
3启发式的可疑流量检测 特征匹配是一种髙效的检测可疑流量的方法。但遗憾的是它也井不能达判100呪的准确
率 这是因为有些有害流量没有可识别的特征。 。
0"社区开发了统计包异常检测引擎( ,八! ;)模块来检测无可匹配特征的 疑流量 采用启发式模式匹配来检测恶意流量,, ?/ )!"观测网络流量并建立一张描述网络正 常流量的表。这张表记载的数据包括包的类型和源地址、目的地址,在表达到一定大小后, 5?八I见挑出的每一个包将被赋给一个数值 该数值的大小取决于它在表中出现的频率。频率 越低.则该数值越大。当该数值达到某一配置好的极限吋就会产生警报, 假定你想用 !1 !;保护一台1 4服务器。首先将带有 !1 ?:的&1。 布置在通往1 。
,
1的网段。
:为进人服务器的流量建立一张表 这些流量大部分是对80和443端口 ,
的连接。表建立后,对80和443端口的7X7请求被认为是"正常流量"并赋予--个较低 的数值。如果一个攻击者想査明该服务器除 和443以外的其他端口卜 的服务," 就 会给这一流量赋给一个较髙的数值,因为它对于这台服务器是罕见和不寻常的。如果这种流 -
24
量出现较多达到了预先确定的极限,3 \131 就会产生蓊报。 这种方法对检测黑客的侦察行动是很有效的.黑客常常缓馒地扫描端口.企图通过把自 己的扫描数据淹没在大量的数据中,来隐蔽自已。但即使一个黑客使用多个源地址进行活动' 1)1;注意。分布式拒绝服务攻击( )是用多台受控主机向一台主机发送大量伪 也会被 造的请艰使得合法用户无法访问服务器.但是它也能被31 01:检测到, 2
4采集入侵数据
.
能够采集敉据是& 0的一个强有力的、独有的特点。许多商业105需要操作人员事先 指定应诙采用哪些规则的数据。人侵检测分析员的工作常常很含糊,预知黑客会对你的网络 进行哪些恶意行为几乎是不可能的。惟一的解决方案是将与恶意流量对应的所有净荷保存起 !!。!!的创建者认识到了这一点,因此将所有可能含有恶意的净荷记人日志。 来 。
2 4 .
1评估戎胁
.
净荷包含的数据常常是反映攻击者意图的窗口。为了对已经成功或是试图进行的攻击做 出适当的反应,必须确定攻击者的性质:净荷数据能协助确定一次攻击是否人为操纵。大量 种类不同的自我繁殖的螨虫加大了这一任务的难度。蠕虫可以具有复杂的攻击步骤,包括一 张关于攻击手段和受害主机后门的详细清单。常常与人类攻击者遵循相同的模式…如果你能 够检査净荷数据,你就有可能将它3蠕虫的已知行为比较,并弄清你面对的是哪种类型的威胁。 如果最终确定是人进行的攻击,你可以通过净荷数据来确定攻击者的技术水平。确定你 的对手是一个脚本族还是黑客高手,这对应付攻击是很重要的。 脚本族
脚本族是一个带有貶义的术语,是指那些依賴事先写好的脚本来进行复杂攻击的黑 客
。
由于他们进行破坏,并且技术拙劣,而为黑客文化所鄙视。那些花费时间研究发现漏
并且情通系统管理和编码的黑客要相对让人放心一些.脚本族一般是些年轻人,容易 做些愚|的事被抓获2这并不意味着他们不危险,他们常常苜无目的地对你猛烈攻击: 他们常常利用一些复杂的攻击脚本和进行单一攻击的易于上手的工具。脚本族可以通过 将攻击特征与常用工具的特征进行比皎来识别;脚本族通常缺乏基本的系统管理技术, 洞
,
不能利甩最新被攻击
2预处理
2 4 .
功的主机。
.
! !!开发者将创建一
灵活的模块化应用程序放在优先考虑的地位上 因为这样才能适 ,
&多变的基于网络的应用:采用可扩展插件体系结构以确保它始终都是一 优秀的入 侵检测系统。有一类插件,被称为预处理程序.它们在检测引擎之前对数据进行处理 预处理程序按功能可分为3类:数据标准化,协议分析和非特征匹配检测。 。
1
数据标准化
新的攻方法和躲避技术不断涌现,以至&!011的检测引擎要么不能检测 要么检测 ,
效率不卨。在这种情况下,预处拜被加人体系屮,它将数据标准化以便检测引擎能止确 对其分析。例如,【; &?! ;"编写的预处理程序能检测借鉴了病毒设计的灵活的103 25
躲避技术。为』―躲避反病毒程序的特征匹配引擎,病毒代码会被任意改造和变异,这就是通常 说的多态病毒。
同样的技术也被用于远程利用,311611代码也具有多种形态。 「(!预处理程序能检测出 变异的 。!1」 。 0-0? 51 是用机器代码编写的一系列自动执行的指令,能用于缓冲区 溢出攻击。它通过重写处理器的指今指针来改变命令。确定机器下一歩会使用缓冲区中的哪 的诡计。这是一串 一处内存地址通常是很困难的 0此攻击者常常会借助被称为11009 故意什么也不做的机器代码指令,以致当缓冲区溢出时,下一个合法指令将是?0~0?-01:。这 是为了避免程序崩溃,并且允许利用缓冲区溢出。当处理器执行到!! 叩指令时,就会被转移 3能被许多103轻易地检测到,除非它在每次被使用时 到某一点开始执行恶意代码。110 都做些修改。如果没有! !10"预处理,& !
.
将无法检测多态5 11代码,
协议分析
检测引擎能分析的协议很少,其他协议,包括一些在公网中经常使用的协议,不能被分 析。这导致出现了一类协议预处理程序来协助检测
。
例如八3? -
&00
就能检测八3&】
(八 巧口 871113 10 11011抽象语法标记)协议中的不一致性。较髙层次的协议,比如 \1?、 10 ?和331 ,都依赖八5 .1。在2002年中期,瑞典大学的一个研究团队发现了八31 .1的几 百处漏洞。几乎所有起用的设备都受到缓冲区溢出或是拒绝服务([
)攻击的影响,
这使得上百家经销商发布补丁.并且成为第一起美国总统直接过问的国家信息安全事件。可 能由于针对该漏洞攻击的复杂性,大规模的攻击没有再出现。但是监控这种类型的攻击必须 要有检测 31 .1协议滥用的能力。 3
非特征匹8检测
一些类型的恶意流量完全没有可识別的特征 这类预处理程序利用不同于特征匹配的方 法来捕获恶意流量二 ,
无害的】1: ?流量能用来发现公网上的主机。正常的流量能用于发现开放端口和 与之绑定的服务。流量的这些属性帮助攻击者分开建立具体的利用和攻击策略来最有效地发 现主机。这些所谓的侦察攻击,常常只是一个警报信号,无法确定是不是攻击。信息收集尝试 利用了不合规格的流量,但是这些流量通常在性质上是无害的。 正常流量,如果像洪水一样涌来就是有害的,0003攻击就是利用大量被攻破的主机通
过发送伪造的请求来淹没一个系统.耗尽带宽或(:!5! 资源,使得系统不能响应合法请求。 4就能发现这类流量和一些恶意黑客使用的躲避技术。 预处理程序.如 71303112和51 2
.
5利用输出插件进行报警
3110"利甩输出插件从检测引擎获取人侵数据。像预处理一样,&10 1的输出功能也是模 块化和插件式的。不同的技术水平、网络配置和个人参数选择将决定哪一种输出机制适合你 的网络。3 11能将任何原始二进制10 1111 输出转換成多种关系数据库输出。 5:10"输出并不是以让用户渎懂为目的的。它们以各种格式记人日志以便人侵数据能方 便地为其他应用程序或工具使用。输出可以采用以下格式: ,野也"系统日志文件) 參化! !!!!,口 !0 11111 格式文件) 26
9 '
〖化(文本日志文件)
!
观1
攀1?6;13 101131 !
!
关系数据库)
5001-1 1 1111( 1! (&101统一格式) ,
这使得用户可以自由选择,也节 了 3 !"I团队的时间和精力。 ! !"【团队致力于让数据 适合先前的可写应用程序,而不是对其彻底改造。5110 支持所有重要的关系数据库平台,从 1 .301到 化 甚至微软的301 36 6 2 5 -
.
1聚集数据
比如巧输出,能使你从许多完全不同的安全装置聚集数据。大 多数路由器和防火墙都支持将日志数据写人3 108服务器。你甚至可以利用1 101 !"将其 以一种工业标准格式
,
他装置的日志写人3-71数据库。这可以在一个安全的位置方便地收集所有与日志和入侵相 关的信息。通过5 108聚集数据是一种简单的进行事件相关的方法。 事件相关 在信息安全中,事件相关是对不同装置产生的事件进行关联的行为,这些装置可以在 一个系统上也可以在跨越一定范周的多个系统上。事件相关对入侵检测非常重要。攻击 者很少会攻破一台主机就离开。大部分攻击者会在攻破一台主机后刊用合法权限对受保
护的网络进一步攻去。试想一下这样的情形,你的一台饭吐服务器被攻破,一台八(:【(化 0;!"&:【017服务器被安装了咦探器,你的组织的机密信息被公布在某一地区的网站上。处 理这一系列难趙需要综合许多不同装置的安全警报和日志文件。将这些安全警报和3志 文件存储在一个中心位置会使这一任务做起来容易的多。 2 5 .
.
2用统一格式和&01 31X1程序记录日志
历史上,关系数据库输出插件是制约3001 处理带宽的能力的因素。如果使用了数据库 插件,51101 处理带宽的能力只相当于以最快的 …― 文件记录日志方式的40 。如果是 通过网络而不是本地磁盘记录日志更是加剧了这一问题。&100的开发者决定设计一个专门 针对这一任务的应用程序。3&? 1X1因此诞生了。 利用 「(! ?!!能采用 !0"统一格式.以它能写人磁盘的最大速度处理输出数据, 在餐报被写人磁盘后,&!。 守护进程处现完警报任务.就能专注于处理新的信息包。这样就 释放了原本用于对数据库进行输出的资源。83 能将二进制数据解析成与它相关的数据
库插件能识别的各种格式,并且是以完全独立于 "( 的方式运行。警报能被立刻写人数据 库并旦不影响5 !!的捕包能力。如果你计划将 ! "运行在一个髙带宽环境中,&化 「3是 一 1 必需的附件
。
2 5 .
3报箬
.
人侵检测并不是一个自动化的过程。它需要由人来接收警报并对其做出及时的响应 你 可以有很多不同的方法接收由3001 产生的实时报鱉,本书主要讲述两种主要的方法:利用 。
和&报警,以及人侵数据库分析者控制台(八(:旧)报警
。
27
6是一种简单却功能强大的工具。它能积极地监控系统日志,当发生了事先配置的 事件时就发出警报。瞀报可以采用传呼、 3:1或者声咅等方式。 、(:】! 是一种化 )应用程序,它从数据库读取人侵数据并把它铋示在浏览器屮。 010 以友好的格式显示8000数据并具有 12杂査询功能:复杂査询可利用30多种查询标准从大 .
量的人侵数据中査明事件。达到这一水平的精确度需要能快速鉴别、整理误报。 八00可以按逻辑功能对警报分组并且可以分别关联到上。 标准漏洞库的对 应记录上。(: 是对漏洞的标准化分类,也是识别和认识攻击的巨大资源。八010能区分 的多种装置并且能处理来自其他安全装置的数据,这使得它能通过聚集数据来进行事 件相关分析。
八010有一个绘图组件能用来生成统计图表。这一功能看上去似乎没有多大意义,实际 上制作针对组织的威胁随时间变化的图表是很有用的。当威胁随时间减少时,可以用它来址 明1155的价值。如果是呈增长趋势,可以申请更多的支持来抵御人侵。另一方面,图表也能 帮助处理繁乱的管理事务。
6分层报警
2
.
103需要能根据一个组织的方式来对警报分类分级。并不是所有的謇报都应给予同样的
关注和审査。一次简单的?;
可能不会立刻引起謇报,但是针对一台未打补丁的服务器的远
程利用尝试就要引起注意。1155领域的报
可分为三类:
參无优先级
严格编码的优先级 可定制的优先级
1无优先级报螯
2 6 .
.
在这种系统中.所有警报都是同样的优先级。因此,不能按严重程度进行分类。105分祈 员必须吃力地翻动报警页面来找到那些重要的记录。由于警报不分等级,通告会变得非常多: 无法采用紧急事件自动通知机制。用户该如何决定在午夜时段哪些报警应该被通知呢?不可 能每一次 叫都通知你,但是你又不能错过一次严重的远程利用。因此,不分等级的謇报会 使103分析员疲于奔命,井对监控人侵彻底失去兴趣。 2 6 .
.
2严格编码的优先级报警
这种方式或多或少地优于无优先级报警。它由销售商为你决定哪些謇报重要,哪些不重 通常会分成高、中、低三类。尽管它允许你进行排序井筛选掉不太重要的警报 但是这种 一 标准适用全部 的方法对于报警并不合适。例如,销售商将一种特别恶劣的八 (:
要
。
,
"
"
服务器謇报设为髙级。即使你并未在你的组织运行&6,你还是有可能收到这种警报的通 知(也许是通过传呼或电话〉。 2 6 .
.
3可定制的优先级报警
最好的方法是由用户自定义优先级对报警数据分类。现代网络的模块化和独特性需要能 28
对警报定制优先级。警报能基于事先设置的优先级进行排序.因此用户可以收到觉得重要的 鱉报。可以有-:种以上的警报级别供选用。
支持对肇报定制优亢级。它6带了 32种预定义的装报分类。每一类的严重级别都 4以随意修改。可以根据需要:添加11"多自定义的警报分类., 特征一样.螯报分类也是通过 简单的规则来定义。一个针对特洛伊木马流量的警报分类如下:
这一分类
针对所有已检测到的特洛伊木马行为 包括~6山化,&!& ( (;和51 &化1 这一规则将严重级别设为最高的1如果出于某些原因可以不考虑特洛伊木马流量 你可以 通过改变规则末端的数字标识符将它降低为2或3。任何划分到特洛伊木马行为一类的特征 规则都符合这一分类规则。特征规则中有类别标识符。501)8 特征中就带有 )〕 -化1 ,
,
IV来标识类别: 丁匕
,化
: 1113』311-31:
'乂;〉
5!
3|?1 "
0!0
:
!
!
27374 - 〉 & 90\
―
1x
―
1
:丁 31
611 22"; 11365:六―;,化":10(11)8515250405(0030320(1031";
现在假定你不在乎& 5
行为,但是希望其他特洛伊木马保持优先级为1。实现起来
很简,:你可以用一个优先级标识符覆盖类别标识符:新的规则如下所示: 3161-1 1
3 ~
00"'!
丁1;8: \1
观丁 27374 - 〉 5 90 1 ―
10*351552504 (13030320(1031 ";
―
1
13
-: ;)
通过这些方法可以使警报级别达到最 珲的状况。如果警报不是以实时的有组织的方式 递交,警报优先级就没有太大作用。 : 还给出/ 12种不同的警报输出模块,显示出了髙度 的灵活性。这些模块能将人侵检测记录的数据从原始的输出转换到可点击操作的图形用户界 面。你不必局限于一种报警输出方法,可以根据需要做出选择。 2
.
7分布式&10「1体系
如果上千兆的数据必须存储在&!011运行的机器上,就会带来一个实际的问题。幸运的 30 采用[ 层体系。~ 体系相当普遍。大规模的应用程序很少采用单机模式;可测量 性和安全是单层体系首要考虑的问题。 最典型的安装方式是三层体系.但是也可以灵活地 采用从一层(混合传感器7服务器)到四层(部门群集)的模式。&!011三层体系如图2-1所示 是
,
。
2 7 .
1第一层一传感器层
.
第一
,
就是通常所说的传感器层,它对经过的流量进行监控以发现入浸 传感器就像一 。
部数字吸尘器:它进行抓包并将数据传给笫二层。&!011应用程序运行在传感器匕它负责对 抓来的包进行解释并传递警报。传感器必须被放置在要对其监控人侵的网段 因此它的安全 ,
是首要的问题。传感器&该只能安装300!"I和在它之上运行的支撑应用程序 其他什么都不 能有。从性能和安全角度考虑,这是必须的,〖05是黑客们最感兴趣的目标 因此不能将任何 ,
,
29
其他应用程序运行在传感戕】:,因为它们可能会潜在的暴露漏洞。"!!以或880是可选掸的 操作系统.也是出于稳定性和安全的考虑。尽管有一种
132端口的511011,但还是强烈建议
采用类型的搮作系统运行传感81。 1)11(111三
分4式体系
[!1
1
50011传感III 311011传感雲
! ""谢务8
的 ;'防火墙
1
鼉 5000分 ;六
5000臘务韁
二展贗务糝
812-1
000三层体系
传感器上有两块网卡:一块用作捕包接口,一块用作管理接「1.这种思想就是比柚获的包
都从一个接口进人,所有的警报都从另一个接口送出。捕包网络接口卡(
(:)没有分配化地
址 连接到受监控的网段.以便流量以一个方向流通:从受监控网段到传感器,当你希望网卡 ,
上单向流动数据时.可以通过不对网卡绑定I?来做到这一点。该网 需要设成混杂模式来接 收所有包.这被称为"以秘密模式运行":这样做的主要考虑是加强安全。如果攻击者査明了 传感器的屮地址,他就能像对网络中的其他主机一样攻击传感器。没有 地址,最多只是采 用拒绝服务攻击,使得传感器因超负荷处理数据而崩澳。这看起来很槽梯,但是总比人侵检澜 系统被用来攻击受保护网络要好,虽然它接收了网段上的所有数据包.但没有II'地址,传感 器能逃过攻击。
音瑰接口连接到一个与捕包接口分开的网段。因为要与第二层通信,所以必须分给它一 个I?。报警信息通过这个接口传给铕二层。对传感器的全部操作都耍通过管理 (:进行。 当你 要对传感器升级或打补丁,就要使用这一接口 。你也可以利用管理来调试?;! !!, 添加,删除或修改规则和预处理 序:&这种设II中.管理网络应该用防火墙和外部 界隔 开。这种设计虽好,但是众多的设备和喬要占用较大的场所使得这样安装变得复杂。 2 7 .
2第二层一服务器"
.
第二层是服务器.它从传感器收集报警数据并且将其转换成用户可读的形式:报繁数抿 30
将被导人一个关系数据库, 10!"(并不需要关系数据库,它可以用其他方法记录警报,比如系 统日志 5108。利用关系数据库对数量相当大的报警数据进行组织管理是最实用的办法。报 螯存人数据库能进行复杂的査询,以便可以更好地管理报警信息。这样也可以用其他应用稃 序 便于操作的0111用户图形界面方式显示数据。支持许多不同的数据库,比如( !和"; 匸,也能通过 ( )! 兼容任何0060应允的(( 泔)数据 ! , ! ! .
库
」
服务器层也支持便于人们阅读的1 )1形式显示数据。现有几种可为所用.包 括& 化,"。! !! ,?。" 和八010。服务器保存大量敏感和机密信息,所以要优先保护。 应该遵循尽可能分配最少的特权和安装最少的必要服务的原则。因为要运行I、服务器来
支持八010,所以及时使用最新的补丁是至关重荽的。 2 7
.
.
3第三
分析员控制台
第三层是分析员柠制台,数据在这一 显
。控制台的惟一要求就是一台专用的机器,该
机器需要安装支持351的网页浏览器。八1710可以采用 、 0 13月61306 和其他大部分浏 览器。控制台不必一定要使用基于的操作系统,可以使用\ 11化 5系统。出于访问控 制和避免其他应用程序丁扰103的考虑,用一台专用的机器安装控制台是一个很好的选择。
安全的 10「1
2 8
加固传感器、服务器和控制台并且及时更新补丁,能使驻留在各层的人侵数据相对安全一
保证数据传输的安全也同样重要。30011 II: 各层之间采用加密通信和健壮的认证机制。 51 11 能被用来对传感器和服务器之间的报警通信加密。传感器利用数字证书和健壮的口 令认证机制来鉴别服务器。服务器只允许传感器的I?与它连接。由于1?地址易于欺骗,所 以采用81 :1918 1?地址。要想欺骗II1地址,攻击者必须有权使用11〕5网段的主机。浏览器 妙
,
利用35
连接到化
服务器,页面要用11令进行保护。该1
服务器只允许浏览器的
地址与之连接。
2
.
&10「1的缺陷
9
尽管51101"【是一个强大的人侵检测应用程序.但是它也有缺陷。不过&!00社区正在非常 努力地致力于研究许多重要的问题,一些缺陷已经成为关注的目标: 2 9 .
.
1灵活性带来复杂性
37101 的设计尽可能地达到灵活、可定制和可扩展的目标。这需要500!"I不能是一个封闭 的解决方案。你不可能插人一张00让讽;!!丄? 安装程序为你做所有的工作。因此 掌握 3 .0 附加的其他应用程序才能发挥?!! ;的作用。 ,
正确安装3 「【十分困难。几个组件必须协调工作才能保证105稳定运行 几乎没有关 。
于&作为11)5如何设计,安装和维护的免费文档,,你必须买一本书或到书店查阅来熟悉 它
。
31
500 依賴1# ,凡乎所有操作系统都提供该工具。化 印是一个强大的捕包程序库, 但是在流量超出百兆负荷时它就无法正常运转。甚至安装「 &?"4,5 "也很难在百兆以 匕的负荷下工作。提高性能需要开发基亍特殊平台或者甚至基于特殊硬件的程序库。&化" 团队在这一领域取得了一些进展,基于待殊平台的插件将取代1 13&口。 虽然开故源代码软件有很多优势,似 也有一些明显的不足。一些组织并小 提供开放源 代码软件的企、1级应用。他们要求签定吸务水平档次台同并且由销售商提供技术支持。有些 组织,比如金融机构,就必须签定服务档次合同,这也是管理的需求。幸运的是,现在有两家公 司提供技术支持:8001 1 6和3(1 !! 1) 1)36。然而,公司也可能存在使用未授权的应用程序 -
的问题。 2 9 .
.
2误报的问题 出警报,伊.
103产生数据量过大,又有制造误报的恶名。11)5对所有与特征匹配的流量 是很多合法应用程序产生的流量也会引起警报。8 人误报的窘境。 !! 产生误报。 如,1
是重要的特征匹配11
,也不可避免陷
用户可以采取一些办法来降低误报数量。现在知道有些服务就有可能 5服务器就常常会引起误报。先来看下面这条1 1308规则:
3161-1 11(3? 8 6X71;!??礼
-
!" ―;/ - 〉 8 40應 呢丁幼乂 ―
这条规则的意思是.当一个111 包长度超过4000字节就发出警报。巨大的1 1 和 10 1?包通常都是不正常和司疑的。因为黑客会利用巨大的01 包来淹没一台主机 用尽它 的内存,从而非常有效地使其产生拒绝服务。巨大的10 1?流量也可能表明11:?1?被用于珐 立一条秘密信道 ,
:
〔0X1特洛伊木马
1 1 特洛伊木马是基于|日思想的新发展。利用秘密信道伪装或隐蔽信息是个上千 年的想法。1 1 就是隐蔽10 包中的数据部分来隨藏信息,从而建立一条秘密信道, 1(1' ?流量通常不会用于传输数据,它的合法目的就是查明某个 地址上是否有主机活 动。因此 网络管理员常常忽視了汇! !? :匝)流量的内容,错误地认为它不含净荷数 据 网络设备通常配置成传递、丢弃或者返回请求 这意味着1( 1? 60 0流量很 ,
-
。
,
―
少被过滤。 1
0
"特洛伊木马的工作方式很像正常的应用程序。但是木马一被执行,就会打开一
条秘密的10 !?
2010信道。然后攻击者和受害主机间的任何类型的数据通信都会利 用秘密的10 1?隧道。攻击者可以发给!力&木马命令来操纵系统。这样 他就可以通过 秘密的隧道利用! "来远稃控制受害主机 一旦攻击者控制了主机 就可能会开 -
,
,
.
展难以预料的下一步计划,包括窃取敏感信息和利用该机攻去其他机器 如果105没有 配置对乔常的10 5:0 0流量进行检测,就难以发现! ! 特洛伊木马 。
。
1;1: 5服务器利用1X1 进行域名解折,有时会任意发出一个 大的!
口包 因此会引起 .
误报。
9删除大包规则 这会消除所有与这条规则相关的误报,但也会使你错过对130? 。
003攻击的漏报,从而导致更多漏报。对11 32
分折员来说 漏报比误报更糟糕,丙此总 ,
是希望不惜一切代价避免漏报。注意:如果你被限制只能使用销售商提供的规则,这将 是你惟-的选择。
#修改1 1?大包规则。你可以检奄引起警报的流量,并尽力找出一个1 5服务器 不会超出的极限。这一极限通常是8000字节,这是众所周知的。因此一个机智的黑客 仍然能进行005攻击且不引起警报。
你可以裉据你的0 3服务器的1?地址创建一条通过规则。通过 规则允许 1( 1在处理之前丢弃匹配该规则的流量」这样,只有在1 服务器的疋被 用于005攻击时才会产生漏报。 另外,由于需要正常地产生一定量的误报,导致恶意黑客会利用洪水般的误报来对1138 进行005攻击。狡诈的黑客已经设计出了用误报使【03超负载或烦扰103分析员来掩盖真 实攻击的方法.5: 攻击就是利甩海量警报致使5 011超负载的一种工具。 ,创建-个通3规则
-
2 9 .
.
3市场因素
5 化1是--个以II1为屮心的应用程序。&1011的包解码器提供对其他协议的支持,新的协 议可以通过预处
程序不断添加.从而提供对该协议的支持。51101:1需要提高接盖的协议数量
来完全覆盖现代网络。 0 00就推出了可以像刀片一样插人 一些商家也在加大对105研究的投人以对抗5 1 0300交换机中的116。这意味着0500 105可以直接利用硬件从交换机背板捕获网络流量。
特别需要注意的是,千兆网络』下在逐渐取代百兆网络成为标准。5-1"【必须抓紧时间应对这些 竞争和挑战。
2 10小结 .
本章粗略地介绍了 5:10!"I作为人侵检测系统 如何运作的。&1011作为一种著名的网络 人侵检测系统继承了这类103的优点和缺点。 105因其能监控大片网段而比其他类型的 103更受欢迎。
3:10!"I是一个髙度灵活的应用程序,能被安装在所有主要的硬件平台和操作系统上。甚至 在宽带网络满负荷运作时,5000也能对人侵进行有效监控。&103是开放源代码应用程序.可 以被仟意修改.免费传播。围绕着5 011 103周围有一个由出色的开发者和不断增长的用户
組成的相当大的社区,这个社区致力于增强功能并且提供专门的技术支持。 从根本上说.&1011是一种特征匹配105,它利用规则确定可疑或恶意的流量。规则可以 检测不合标准的流量,恶意的净荷内容和特殊协议元素。定制的规则可以按自己的意愿描述 流量特征,使 「I适 自己的网络拓扑结构。5 11保存全部可能捕获到的数据 这减轻了 103分析员的工作。 510!"!采用灵活的体系结构 便于扩展以执行新的任务,预处理程序是-一个插件,它在数 ,
,
据进人&104特征检测引擎之前对数据进行处理,并且努力与不断变化的漏洞和攻击保持同 歩 预处理程序也能添加新的协议为 100提供支持,间时也能用来检测无明确特征的可疑 ?范量。输出插件从 ! 1获得人侵数据并发给1133分析员.它们可以采用许多方式配置以丄 。
持实时报餮和操作简便的(―,1;1。 33
不同的攻击对各个网络的危害程度不同。5:101 京持用户将警报按严重程度分类并自定 义优先级,而且它的优先级足够细致允 对单个攻击指定优先级。 3.10 1支持分布体系,它的标准结构分三层。第一层的传感器收集处理人侵数据.并传递 给第二层服务器。服务器将数据组织进关系数据库并且负责实时报警。另外,服务器还具有 一个0111 用来管理报警信息。第二展是11)5分析员使用的控制台,它对人侵进行解释并做 出响应。加固主机和利用加密对话能加强层次间和8000自身的安全。 ,
尽管31100是一个强大的、灵活的、低成本的108解决方案,伹它仍然存在缺陷。人侵检 测虽然有用但并不直接阻止人侵。人侵检测不是一个自动化的过程,它需要一个非常熟练聪 明的分析员对可疑行为分析并做出响应。1133容易产生误报,这会使11 分析员对人侵检测 失去兴趣。黑客能利用洪水般的误报打击使其失去作用。5 11有II种选择可以减少误 报&不产生漏报,但是它们会加大103使用和维护的难度。3 11的安装甚至对非常熟练的 系统管理员来说也是复杂和困难的。511011使用1(1 0 嗅探器接口 因为它的可移植性好,但 ,
是它能处理的最大带宽有限。
34
第3章剖析 10『1 010116这1- 仍然适用?现实II!:界,你的语法老师 诉你,~它的意思是内部的情况" 1071包&很多可配8的内都绀仍,它(! 误报、漏报以及抓包和记录9志等的忡能都有很大 影响 「解: ! 的内幕有助于有效地利 &"" 控人授. ,"是一个强大的应用枒序, ; II;他功能钠弱的II6相比.用户要对它进行一点深 人的研究理解这 内部组件的功能会帮助你根据 己的网 定制5000,并11避免它的一歧常见缺陷," 以分成5 主要的组件,每个组件对乂 侵检測都很关键第 个是捕包装置 !.. .!"!依賴一 1
(&解码榭
?6处押
6处理
6#
6
!))来抓 个外部捕包程序库I !! 化包被以啄咍 状态楠获后,嬰送给包解码器解码器是进人& 自身体系的第一歩包解码器将特殊 议九素翻
成内郎数据 构午扱初的捕包和解码完成 由瑰
处理
序处理流&,
行检杳或操11
多插人式预处理程序 包进
隐1, 4 V
将它们交给下一个组件:检搠引擎-
检测引擎对每1、包的一个力
油111*0
II ? X简单的检验以
劂八授.廉后一个组件是输出插件,它对"!疑行为产
8 3-1
."组《牛牧据流稃
生警报,093-1趣一个简单的欲据流程示意围 3
.
1
用1(13 03(3输送5门0「1包
: ;广将&输送给预处理程序以及随后的检测引擎.必须先做一些准备丁-作 还没有 !)因为它的平台独立性时被选 自己的捕包工具,它需要一个外部的捕包程序库:1出1)0冲,.! 巾它可以运行在任何一种流行的硬件和操作系统的组 中,它甚至有一个 ;1132版本一
? 的平台 !):因为3000利用1+ 1 独立地从物理链路上进行捕包.它可以借助叱! " 使3000成为一个真11:的与1 台尤关的应用籽 !移幀性被安 51)11 1- 1地!5利19 !!1)1 序
。
嫌从两卡脑的胁由"―杀担这-捕炔原始包的I:具&由賅苺操作系铳提供 8&其脑職序使用踏 概始包是保持? |网络I:由客户璣到股务耱传輪时长被修改的班初形式的#,原始包所 的协议头 息邢保幣~长被惮忭系统 改,典哲的网络 用 序 会处诹原始包,它们 依箨姊作系统 它们取协议信息和&适的净
牧据、1
与此相&:它霈楚数据保持
状态:因为它要利用未被操作系统剁去的协议头(言息来检测某
始
形式的攻
利用1&获取原始包不是最有效的方法.它一次9能处理一个包,这成了制约它对高 . 打裨仵将来实现针对操作系统甚至足硬件的特殊 带宽【1 (;"")网络进行监拧的瓶颈 35
,! 化 的捕包 序库。除厂1出[ (,还有几种从网―捕包的方法。&「 化V 「; " 「;1"!" (! 丄?! &!" ("「 化(!止川)和300乂 I力0 ;丁装置就是其他几种基丁 内核的捕获 原始包丄具。
包解码器 包一被收集到 511011必须对毎一个具体的协议元素进行解码。包解码器实际上就是一系 ,
列对具体协议元累逐一进行解码的解码器。它建
~
5:网络堆栈,从较低层的敉据连接协议卄始,逐层1
解码 数攧连8
1
,包〉
上移,吋每一个协汉元素进行解码。包按照图3-2
协议
: 解码
的数据流程通过包解码器, 在包通过各种协议的解码器时.解码后的包数
网络
协议
据将堆满一个数据结构。包数据一被存人数据结
:
构中,就会迅速被送到预处理程序和检测引擎进行
解码 传输
分析,
协议
15 3-2解码器8据流程
3
.
2预处理程序 8 0 的预处理分为两类。它们可以用来针对可疑行为检
包或者修改包以便检测引擎
能对其正确解释。有很多攻击通过特征匹配都不能被检测引擎检测出来,因此,"检査"预处理 走进了这一领域,来检测可疑行为。这类顷处理对发现非基于特征的攻击是不可缺少的。另 一类预处理负责对流量标准化以便检测引擎能准确匹配特征
.
这类预处理通对流量的模式进
行处理使攻击无法躲避&!0"检测引擎的检测。
另外,&!?I使包通过每一个预处理程序来发现攻击,这就需要不止一个预处理枵序对包 进行检测。如果&0「1在顷处理对某个包发出警报后就停止对其可疑属性的检査,那么攻击 者就能利用这一不足隐藏攻击:假定恶意黑客以某种方法对一 1、恶意的远程利用攻击进行编 码 故意使某个预处理会对它发出一个低级别的警报。如果对包的处理就在这一点结束,而不 再让它通过其他预处理,该攻击就能会触发一次故意的謇报,而真正的远程利用就不会被 3110.1发现,隐藏了流量的真正本质, 预处理的参数可以通过?( . ! 配置文件调整。该文件还允许你根据需要添加或删除 预处理程序。 ,
3 2 .
.
1『!"882
【 62预处理是300!"I对付屮分段攻击的武器
。
分段是I?网络中的正常现象,它需要以
不同类型的网络介质来成功发送流量。不同的网络协议关于网络数据报的最大允许长度或最 大传输单元("丁!;)的规则存在分歧。 当一个包的净荷超出了 !口 分段就会正常地出现。在以太网中,任何一个长度超过 1500 8的I?数据报必须进行分段。分段并非只在源端出现,它在中介路由器 :也会发生。 ,
在数据被分段后,它们必须在目标主机上重新装配。黑客可以利用这一電新装配过稃进 行攻击。接受主机希望发送方在分段时遵循一些规则。这些规则是: 36
#接收主机通过分段的标识号或者叫分段10来对包重新装配。分段II〕是化头中的1? 标识号的副本。
9每个分段必须携带它在未分段原始包中的位置或慷移量':比如,第一个分段的偏移量是 (!)。
每个分段必须显示相应分段的数据量。 攀如果分段不是被接收的最后一个分段,它必须标记有剩余分段(! )位。 如你所见.仟何一台一直遵守这些规则的主机都有可能被恶意的黑客利用。有一种简单 的攻&设计铣是利用分段重写丁I:「头数据来浇过防火墙和过滤装置。该攻击发送一个分段 的IX:?包,该包的头信息能被允许通过防火墙:后面的分段包含恶意数据不能通过防火墙。 如果分段偏移量足够小,那么通过1:写恶意包的头信息就能使它通过防火墙。改变目的端门 号就是重写头信息的一个例子。攻击者可以修改正常的 11 80端口的流量来攻击' ' :
III端口的[
1)05攻击在分段攻击中占相当大的比判。主机操作系统对待殊构造的分段包会有意想6
到的反应。这类攻击中最著名的可能是&化0(1;! 化攻击。该攻击利用很多较小的分段 10 1?包,当这些包被装配后会超出1?数据报的最大允许长度655358。该攻击能导致大部分 操作系统崩溃。 一个名为&堪?化6的黑客1:具就是利用分段技术来隐藏针对5
.1的恶意流量。(:
将很多 知的分段躲避策略集成到一 1工具中。这些不同的技术混台相配在一起,使 得重建后的分段攻击更加难以检测。幸运的是,现在 362能利用一些附加的配置选项来检 测这种类型的攻击。 01
预处理能检测与分段有关的攻击类型,不管它们是103躲避技术还是恶意003攻 击,.该预处理程序很重要.决不能被禁用。配置有5个选项,下面分别讲述;: 擊!;!"?!
秒)
该选项设置分段可以持续的秒数。如果分段没有在规定的时间内完成,就会被丢弃。它 的默认值是60 3,对大多数网铬都很合适。如果监控的网络经常出现I?分段,例如有大量 1 5流量的网络,建议你减少这一数值以避免误报。大部分外部监控传感器不应1亥发现大鼂
分段流量。一些黑客高手知道 "化2这一默认值为60、会利用这一信息来躲避&叫2。对此, 建议将该值升至65 3来防止这一攻击。 攀1116111。3 口 〈字节) (々 ),对 内存容量选项限制『1 2预处理可以使用的内存大小、默认值是4 194 于大部分分段情况这个值都很 适。同样,如果监控的网络经常有大量的分段流量,应该谨慎 地增加这一数值。 # 1 61601
81316 ―
131013161115
这个简单的配置选项能对重叠分段进行检测。重写一个分段的偏移量就会产生重叠分 攻击
段。它们被用于防火墙旁路攻击,比如本节刚讲过的0? 暑丌
。
!小数值〉
-
111;11I配置选项指定(「化2能接受的包的最小生存时间(?! )。只要低于这一数字 包 ,
就会被丢弃。默认设置是0。对包来说711是一个死亡计数器。包被路由器传递一次 17 值就会减少,如果-11 达到!).该包就会被丢存,不再继续传递。必须恰当配置 避免包 ,
,
37
进人死循环,否则有可能引起拒绝服务」
馋1
00,6 一类的工3利用较小的'[ !.值使数据包在到达冃标主机之前被丟弃.但是
!仍然能捕获它们。不过当传感器放置在攻击者和目标主机之间时,这种攻击就有可能柑 如果【1标离传感器阀个跳跃点,传感器收到的!"! 是1的包就不会被目标收到。因为这 样的包会闪生存期过而不被继续传递到目标。如果在攻击特征中插人垃圾数据,就能使50011 5
..
无法辨别,从而不能检测这种攻击。假定下面的二个包是针对「[?服务器的攻击: 1 ~ 0110X11: 31X2
1 2 - ;71
1';11-1
"&I ―
?35 1 3 ~
~
0?1「1 1
\0:
11.11.1
1
1
55
- XXI 二 1
::0:0: :/:/!)!:!/&!)》/
/
二 122
(!
81.01-1会将该攻击视为: 011011; 3111:;!!
―6 1
110 1001: :0:0: :/:
/
/
/
.
!
由于插入了垃圾数据,50011没有合适的规则匹配这一特征。然而,垃圾数据在到达目标 之前就因耗尽7"!
被丢弃,所以主机接收到的是真实的攻击: !-: :0:0: :/:
000X2 31X1; 1 X1:0
/
/[
丢弃那些71 值很低的包能防止这种躲避技术,椎荐设置为夂 # !;!!! 数值) 这一选项规定分段10相同的分段包711值允许的最大差异 默认值是5。因为像 ,
那样的工具利用不一致的值使分段包躲避 !
的检测,所以添加了这一选项。可疑分
段包的1 1值的差别与正常的 & 流量有很大不同-正常10 流量的了 11值的平 均差别大约在5 - 7之间。将该值设为5会产生一些误报,推荐设置为8。 3 2 2 -
.
8(1*691114
4预处理被3000用来维持丁(:口流的状态,检测某些信息收集攻击。利用 4 进行状态检査能帮助5 0"更好地匹配多 包攻击特征。这一点很重要,因为攻击可以按照 51
丁连接分成许多单独包分别 示异常。9巧31114预处理也允许根据流选项创建状态检査规 则
。
个简单的例子。攻口-?"!! 的所有版本都被发现存在一个漏 洞 而 大多数主要的"!!-版本都默认安装说!;- !"! )。利用这种攻击,任何能登录到有漏 胃-
1
利用攻击就是
-
,
洞的讽!;-「1 0服务器的用户都能以超级用户权限远程执行任意代码。这一漏洞是由多处 代码错误引起的,其中一个位于远程命令8101 ; 的功能模块,使得该模块在某些情况下不能 0:确地向调用者报错。810比108功能不能正确处理字符串"?| "作为非法参数的情形 丁检测这一攻击的第一阶段,必须创建一条规则对匹配"~ I "特征触发警报。如果攻击 的内容都在一个包内,这一规则很有作用。如果攻击者将''?"和"| "分在两个包内 就能躲过 检测.利用31巧 夂 !! 先将"一''这部分特征保存起来。当攻击者在随后的包里发出'' 。
.
时
,
38
!00就能完成特征匹配发出繁报。如果不对流重新装配 这是不可能检测出的。 ,
1,4预处理也能检测到攻[!!者利用IX;?流隐藏信,&收集流量的试探:这种侦察方法 是.种丁(:?秘密或半公开扫描 闭这种方法,丁0?三次握手不能全部完成。攻击者先正常 5,
。
发送一"?- 3 包。当收到从主机返回的3丫"-八(: 包时就可以假定服务正在收听:攻击者 就不再发送 :乂包完成握手。这种类型的扫描能骗过没有监控流状态的105, ! 预处理是3 63111预处理的改进版本。它可以进行扩展以对付一种引起针对 &103拒绝眼务的无状态攻击。500 「攻击利用 011自己的规则库产生洪水般的任意选择的 攻±特征:当攻击是针对&10 时.它会引起大量误报。5: 也可以用来制造大量的噪声来 "
隐藏真11.的攻击。当311
攻击开始时.它惮81631 秘密扫描一样3完成三次握手的第一阶 你可以通过一个命令行选项来配置3116 4以防止5 1攻击。通过在4命,行选项后指 定 61 参数 !就会忽略未进行正常双向行为的71:?流。 4能对 预处理也可以被重写以适应更髙的带宽条件。利用先进的硬件, 7 64000次并发连接进行状态检查。支持10种不同的配置选项,下面分别讲述。 段
」
"
"
这个选项只是让能对端口扫描进行检测。它能检测正常的"!!:?连接扫描和秘密 0 0和扫描,也能检测多种其他的采用秘密扫描的试 扫描,例如化! 探
。
」1吖601
51:3化 ―
-
01;1 111
启用这一选项,30 1114能对恶意黑客们常用的多种状态不一致攻击报瞀。其中一种能被
该配置选项检测到的攻击是丁(:?复位包躲避试探。该攻击在每一次建立IX:?连接时都发送 一个伪造的丁 ?复位包。如果这 选项未启用, !"【可能无法正确对流进行重新配置,认为 连接已经被终止。然后 01 会认为对话已结束并且不再将后来的与该流相关的数据记人8 志。恶意流量能以这种方式躲过&10「【检测。 --
这一配置选项使51101:1不对一些过时的很少被使用的11)5躲避试探产生警报:下
重叠
就是其中一种。它利用重叠但不协调的数据创建连接。这可能会使较老的105错误解释连 ., 2000和 接的意图。丁(:?重叠能用来使较老的103同时产生误报和漏报。最近的 X?的1 实现都是以这种方式发送状态信息,这会导致相当数量的误报。因此 如果误报数 ,
量太多难以忍受就可以启用这一选项。这一选项在 化―中的初始设置是''禁用",通常最好 将它启用,除非出现影响管理的误报」 # 11,卅 -
"
《数值)
与 2中的选项几乎一样.该选项也是丢弃丁'】丄小于一定数字的包。小的丁IX的攻击 将一 流中的一些包的丁IX设置得足够短:路由器可能会因一些包的 ! 二为0而在它们到 达目标之前将其丢弃。如果&10"离目标只有一个跳跃点并且不检査了II 它将错误地重配 '
,
0?流,该选项推荐设置为3 。 毒!
; 数值)
这选项规定分段11〕相同的分段包值允许的最人差异,默队值是〖「化化 就 是将分段包的!"![值设为不同,但是它设定的不能超出了正常 160 流量的涖 。正常 I"时 I流量的广化值平均差异大约在5?7之间。将这一选项设置为5会产生一些误报 推 .
荐设置为8。 39
这一选项禁止对IX?流的状态检查。110;0卬"(命令应该只在特殊情况下使用,例如在卨
带宽或有限制的硬件环境下进行测试。 攀' (;!;] 1 13 1111 11)11 01 1)111 1 这一选项将对话摘要信息记入31100的日志目录中的56 011 1战文件。013 111 选项把 曰志记入031化6文件格式〈译者注是属于电子资料交换(!;! )的格式,称为平 文 档 中间界面文档〉;& &选项以标准二进制格式记录日志。 .
、
111116001 (秒)
该选项设置对话可以持续的秒'数。如果对活没有在规定的时间内完成,就会被清洗。它 的默认&是30
如果你监控的网络经常出现大量对话流量,建议你增加这一数谊以避免误
报 一些黑客高手知道30 5这一默认值,会利用这…信息来躲避51巧31 。
。对此,建议你将该
值升至35 3来对付这种躲避。 暑!
字节)
?!!!
内存容量选项陧制了 631114预处理可以使用的内存大小。默认值是83886083(8 0 , 对于正常的网络都很台适。同样,如果监控的网络经常有大量对话流量,应该谨慎地增加这一 数值。 这一选项将含有匹配特征包的流完整地记人磁盘。没有这一选项
,
只记录匹配特征
的包。只有在&100以模式运行时才能启用这一选项。 3 2 3 .
8(1 31114
.
1 35861111)16
1 36171 16预处理与81 4联系紧密。它像前面描述的那样对丁(:?流进行重 畸形包注人是众多重配攻击中的一种。恶意的黑客创建一些带有合法头数据(序列号、 / 长号、源端口和目的端口)的包来攻击丁!:.?流重配过程。这些伪造的包带有伪造的净荷和 !114
3"
―
配
。
不合格的校验和,并被插入到完全合法的包中。目标机会丢下这些注入的特殊构造包,11 为在重配包时不对! ?校验和检验而错过对攻击的检测。幸运的是,?!! 3 0 16预处理来捕获这些攻击。 311-631114 「635567111
有31
4
因 1 -
预处理有5个不同的配置选项,下面分别讲述。
―(:1)6-1110111
的默认设置是&61110"&:这一设置只有在对话来自客户端时才对其 ! 55611 重配。客户端网络在3I10「I. 0I1(文件中定义第6章将具体阐述客户端、服务器和其他重要 51
31114
的主机的定义。 暴361
1-0111 乂
选项与( ; ' 对话重配该选项,
!化: '选项相反.
!4
―
1-635361111)16预处理只对来自服务器端的
对来自客户和服务器两边的对话都进行重配。 攀1X1115
化选项用于指定对哪一个丁[:?目的端口的流量进行重配 默认设置的端1」及其对应 。
40
服务是2卜竹?,23/"!
你町以通过对
5\3 0
3,80/1"!'II?, 143々\1 \1107?0?, 11【膽。和
",25/3 -1 ,53/1
0参数指定力
【来启帀这一淸单..也可以通过用31[作参
数来重配听有端口。如 你有一个自定义的希望对其 配的丁0 端口清单,你可以列出它 们 以空格分幵。 ,
参IX:)31(!I (3
这一选项禁止对重配攻击和躲避报瞀
如果出现了大量有关丁
.
以) 用这一选项。建议你在完全禁止报瞀前尝试用
对话重配的警报.就可
.! '和 60101
配置选项来
减少流量,. 3 2 4 .
.
《!"!!1
(
被
-
预处理负责检测异常的417流量并且使其标准化,以便检测引擎能正
!-!-? .
确地对其解释。标准化流量是一个将晦涩的字符集(例如( !;
。或 幻翻译成50 1能识
6预 别的字符集的过程。这样处理后3:10!"I才能将特征与恶意内容进行匹配。911 1 1 67"统一资源标识符)字 串进行 处理利用!"请求中的特定1 1(1; ! 工作。如果遇到需要解码的流量就会产生警报。 经过编码或弄乱911
流量是3客用来伪装攻击的一种方法.它可以躲过11
甚至人眼
的检测。如果没有 !-!卞一 捕获的以一种令人迷惑的方式编码的攻击能做到与 任何特征都不匹配,使得目标V吐服务器以为接收到的口! 字符串是合法的。利用微软的 115 "编码,原来可以正常匹配特征的」齟攻击能轻易地被隐藏起来。攻击者可以用?"编 码隐藏8,通过下面的I"[请求躲避5 : (
丁 /
!!
! .1
1*061
1-1"?/1.0
在请求躲过5100后,118将其翻译如下: (;?;! /
.),
1X /1.0
以这种方式编码的能被用来掩饰任何类型的恶意97 ? 1 1请求。编码过的 111 也被用于哄骗缺乏经验的1111617161用户点击恶意的超链接。跨站脚本攻击有时需要一 个用户点击一个链接向某台攻击者控制的主机发送认证令牌。这些链接通常采用11化编码以 提高成功的机会,(: 预处理能检测用户点编码的链接。 通过对上述攻击的改进,出现了一些利用编码过的字符串的恶意攻击。程序员实现应用 程序级访问控制时常常会因疏忽了经过编码的字符串而留下一些漏洞。在第1章中讲 述的! !& 目录遍历攻击就是一个很好的利用代码存在的安全漏洞的例子。即使对该漏洞 打补丁后,当"尸'符号以1 00佥编码吋还足存在弱点。 针对攻击者采用的编码策略,9丁丁「
00
有&个不同的配置选项。
攀一(端口清单) 这一选项列出一个源端口清单 1 厂1 佥 6从清单列出的端口中查找经过编码的 41 ?! 【清求-默认值是80。仟何\ 吐服务器使用的端口都应该在此列出 井以空格分 ,
,
开
。
选定该选项会将所有 ;!!,
!;字符串转换成八码。如果不想对1 1100
1; 1流量报 41
膂 就不选该项。 ,
攀3)1
111111 X1? ―
启用该项 ! ?
00
将
0编码进行检测。微软的113支持一种鲜为人知的专有
...
的 ? 1 1编码方法,即 编码。 。编码的正当目的是描述真正的1 100 字符串。因 为谈编码是专有的不是化丁!"-〖101 工程任务组)标准,大部分11)5系统都没有意识到它的 存在。攻击者可以利用它隐藏115攻击,否则会触发警报。不选诙项则3x10 不会对96"编码 报警。 这一选项检测可能的双重编码试探并对其标准化。在双重编码攻击中,攻击者
经过两次编码的 1X1
1)1
送一个
请求,【03如果只检测第一层编码丼对其标准化,攻±者还是能
够成功逃脱,因为一次标准化后的输出结果还是经过编码的字符串,不会与任何特征匹配。如 果不启用这一选项,30 1只对字符串进行--次解码,并认为不存在嵌套编码。例如,如果攻击 者希望通过双重编码隐藏声名狼藉的"\ "字符,他可以用先将其编码为为了实现双 6编码,然后再对先5 进行!编码。编码后, 变成 25,5变成化35"变成化63,结果经过 重编码的"\ "就成7 25 35 63。 攀115 化口 813511 这一选项检测并解码由于微软使用专有的目录分隔符带来的混淆。微软的操作系统用 ―
~
\ "而不是标准的"'来分隔目录。411?请求要求目录分隔符使用"丌。这意味着115,以及
其他的基于 11132的 /乩服务器必须将目录分隔符转换成''./'。但是113仍然允许在4X1? 清求中使用"\ ",因为它认为这是合法的 !录分隔符。利用11 目录分隔符 以编码成7 50111 5 \ 3(1111111國35口,这与典型白勺/; !";"15/3(1111111.3513特征不匹配。 这一选项对由于
:! 化化服务器的格式化丁!5请求中使用 /1"带来的混淆进行报 警并对其标准化。标准的911?请求用空格分开请求的不同部分。如下所示: 11161 !10(1之 !!
"
口8『〈?! &
!
"〉 !!! !!1/ "
1 1011
《?&&〉是用于提取817?请求中的特殊部分(例如1 5.10 是利用这种方法提取01 宇符串来匹配特征。 厶口化 1.3.6和更新的呔本允许一种不同的非标准请求:
上面的请求的检测。 3 2 5 .
.
!
:
1字符串)的定界符
。
:
3600 -
这个预处理与9X1? &功能相似,不过是针对另一个协议:11?0。叭能被恶意黑 -
客用来进行侦察和远程攻击。攻击者利用端口映射应用程序(例如!1X 1 和 ! !!! 4能对远程服务动态绑定。攻击者能利用『1x131 攻击或
,
(:服务攻击:
恶意的黑客希望通过分裂 ?I:特征来隐藏 42
幻有
收集信息 发现其他目标,进行缓冲区溢出 流量
特征,0186八0,可以通过分
。
裂来混淆1 0请求。如果这一特征被分散在众多包中,300"就无法对其匹配。13此,! !:清 求需要用 (:― 3000 预处理进行标准化。!?? :- !- 有一个配置选项:! ! ! 。它列出 了需要用! !:乙 0 6进行标准化处理的5?0端口 。默认值是111和32771。 3 2 6 .
60
.
130预处理检测330 (:) 。 3& 0是一种针对化 佥―系统的远程控制特洛伊 木马。它在刚出现时非常流行,但是近来被其他更先进的特洛伊木马取代。不过.它依然具有 相当的威胁:脚本族会用它获取远程系统的完全控制。 当输人针对特洛伊木马的命令时,这一预处理将对0卅 的流量进行检测。 0; 06的眼务器和客户端进行通信需要利用"?化& ! " ,80预处理就是3对"1加 001 检测。用于对60流量加密的算法相当脆弱。特洛伊木马的加密通信协议采用的完整 密钥空间可以轻易地强制破解。60预处理就能做到这一点。它也可以通过配置对使用默认 '
加密密钥【313371的包进行搜索,.单独搜索默认密钥通常能改进130预处理和!"1的性能, 但是如果加密密钥不是默认值,这样做可能会漏过对3 1! 0;&6流量的检测,30预处理支 持两个配置选项。 这一选项用于设置针对1
01(1&加密通信进行解密的默认密钥,通常要不同于默认值
31337。 攀
~
110(31 (6
在前面解释过,这一选项禁止强制破解63& 0;006的合法加密密钥空间。这是一个默认 设置。除非130对5110 的性能有重大影响,否则不要启用这一设置。 3 2 7 .
.
!! ! )
1 11161 ―
这是解码预处理家族的又一个成员。它与丁 161和 ! 协议有关」丁 0 对 1!!&或 I1流中的任意嵌人式二进制下 13控制代码进行解码或删除。恶意黑客在试探 中将控制代码插人流量来躲避 !。"的观察。控制代码插人常常利用31 丁2 !: !'0这个「I"?
命令和与它有关的漏洞。攻击者利用! ?命令51丁5; 2X20通过? ?连接来执行系统命令, 键人一个如下所示的! ?命令犹可以收 一个文件: 01 0X2 51'!
2X0:
:0:0: :/;/!.
/&
更有经验的黑客可以将1 1! 控制代码散布在这条命令中希望能躲避31101 1 061 3(1:0(16通过删除或解码恶意控制代码来阻止这一攻击。丁61-1 00 预处理没有配置选项。
―
-
3.2.8
戍!
-
、 [是一个检测恶意地址解析协议(皿)流量的预处理程序 ,用于以太网络 对I?地址和硬件 1/ 0地址进行映射。为了减少现代网络中的胃广播的数量 操作系统 的连接设备会将映射存人一个超髙速缓存。当设备收到一个应答时 无论该设备 。
,
,
是否发送 请求,都会用新的I?到地址映射更新它的缓存 涉及胃的攻击各种各样;它们都是以胃欺骗为基础的。欺骗通过特殊构造 。
43
请求和应答包来达到目的。伪造的应答包被存储在接收设备的缓存中,即使 孩设备没有发送请求。
4X1 欺骗能误导流量,这使得对交换网络进行试探成为可能。伪造的应答能诱使 目标设备错误标识以太网络结构,将攻击者选定的设备认为是合法设备。而旮法设备并未意 识到误导的发生。/ ?欺骗也能用来进行简单却有效的1305攻击。当伪造的包含] 无效的 1?到 八(:映射的八 应答淹没了设备的 缓存时就会发生! :这会引起目标设备向 "
不存在的设备发送流量。
! ?预处理能检测一些这种类型的攻击和欺骗试探,,如果 1 )001检测到 个以太网源地址与八 消息中的不同,就表明这是一个欺骗的八 应答。相反地,如果
-
-
00〔检测到一个目的地址与皿消息中的不同,就表明这是一 1欺骗的卿请求。
能检测到的另一种攻击是
?
?高速缓存重写攻击,该攻击向设备的接口地址
发送一个八处包,但是该包的\1八0地址却与该设备的不同。这会使包含恶意的应答包
重写谏设备 缓存中它自已的地址。从而使这台设备不能发送和接受任何八! 包。 这样就使这台设备和其他所有依靠它进行通信的设备不能互相发送包。 "只能检测发生在与 10 传感器同在一个物 因为八 是第二层的协议,所以 理段的攻击。八"有两个配置选项。
# 11051 I? 9 (1 85 110
1
0 昍
纟主机I?地址主机地址)
对你想用 ?3! 1监控的每一台设备必须指定它自己的I?到 !八 :的地址映射。对每 -台设备都要在??1.?"文件中用新的一行列出。映射一旦变化1尤必须重配这一文件。 在启用八 ! "之前应该将利用0 :?获得地址的设备转换成静态I?。 肇~ 111110351:
启用这一选项能对 ? 001093【攻击进行检测。大郎分合法的八 请求是发送给广播地 '缓存。这-址的。如果请求是发送给1 0351单播地址,常常预示着攻击试图悸改 选项默认为禁用,但是应该启用它以对严重的八化滥用进行监控。 3 2 9 .
8?41
.
1*600(16
600 是一种对 3 .1中的各种不一致进行检测的预处理,这些不一致可能是 恶意行为,.&1 .1是一个对复杂数据结构编码和传递的国际标准。各种髙层协议,包括 【丄| ,5~ ?,531和1509都使用 51 .1协议。45化】也能用在一些专门的政府和工业 1 1
―
应用的通信中。大部分美国电力网络都由45 1.1协议远程控制。控制电话交换的887网络 包裹递送和信用卡认证系统都采用八5 .1协议。与基于 3 .1的网络有关的漏洞是涉及国
,
家安全的一件大事。
芬 0 111大学的一个研究团队发现了很多与八5 .1相关的漏洞。它们能利用儿乎所有 启用 !?的设备上的粗劣的45? 1编码。有数千种不同的方法可以用来故意违背 ;、 1 标准。大部分违背都是采用过长或过短格式的 1 .1消息。这会引起依靠化的髙层协 议崩 或产生缓冲区溢出,可能导致被攻击设备拒绝眼务或被远程控制。 .
(! 6预处理能检测多种试图利用破坏431 1协议,攻击启用45 1主机的试 探 0 11851八3 .1拒绝服务攻击就是八5X1 &0x16预处理能够检测出的其中一个例子 八51 1
.
-
.
。
。
―
0 11831在执行 44
! 1程序中存在一个漏洞。这一漏洞是由于语法分析上存在错误
能影
,
响 [,"
/ !,,! &杯7和证书创建程序。证书编码能引起公众网上依靠0 1)851
来确保安全的服务器和客户端出现柜绝服务。 化" &是一个测试版本的 处理,与其他预处理相比可能会产生更多的误报。目 -
舫它还没有配置选项。 3 2 10 .
.
『110111
(恥"预处理用来检测多态
11代码躲避试探。多态3 11代码是一种基于旧思想的新发
展。病毒的创建者致力于设计多恋病毒已有多年。多态病毒随意地改变它们的特征来避免基
I代码近来采用相似的方法来躲避【05,并利 于静态特征的反病毒程序的检测:.远程利用 用1具厶! 服来释放和传播。 01 1 通过任意采用缓冲区溢出特征的多态性来躲避311011或任何其他的!08,通过 ―
任意选择!!& 人侵并且对3 11 0 部分进行加密达到多态目的。缓冲区溢出分为两类: & 0& 口』或"0015 516 1和 1100 净荷。!1 013 口"是针对目标体系的一大类空操作代码(对[。是0? 90〕。 5 111:0
净荷是一类北』执行后就绑定化?端门的缓冲区溢出攻击。3
口
和其他105利用!!& 和3 1100 特征来检测缓冲区溢出攻击。 1*111 6对缓冲区溢出攻击执 两个动作来对其伪装。它随意地利用其他与!100 功 能类似的指令来替换000?指令。然后用一些相当简单的加密算法《通常是 1异或运算或双 1?!:异或运箅)对3 1100 加密。加密的目的不是保护311611 6 而是以一种随机的方式掩 饰它。八0 11 16必须包含有针对最新制作的利用的解密程序。解密程序以与多态病毒相似 ,
的方法隨意创建。这样处理使正常的基于特征的105不可能检测出! 叩、" 加的解密引擎。以前运用
1013
和新近增
的攻击者很高兴,因为他们逃过了 51 1 的注意。
为了击畋多态5 1100 攻击,缶化 预处理应运而生。它能检测大量针对10(61. )3 硬件体系的空指令。它也能有效地检测多态的利用,但是会产生一些误报。
或
6预处理相 较新并且计算量较大。它还没有配置选项。 3 2 11 .
.
0011 61 3(1011
0011 61 31:;011会话预处理与5(1 31114、81:「631114 ! &
!!
预处理相似。它用来扩大丁0? 匕 ―
的吋话追踪功能,对任何其他的I?协议(如! !?)伪造的对话或会话进行追踪。这对检测通 信的来源很有用处,也能检测新的通信何时开始―.. 外,[ " "预处瑰也必须要利用 【;00
目前, -
化化会话预处理仅仅用于配合 !!
2检测信息收集试探。它有三个配
置选项。
「0(00血【1?协议清单或所有协议( 力I 这一选项列出I 需要 !! !11011会话预处理进行对话追踪的1?协议。它可以配置为 1?协议清单,也可以 [― 选项。协议号与I?协议的对应关系在尺! '7 中定义 一些常 见的协议号与〖〖3协议有:1710 1?,6711: 和17/1X1?。选项追踪所有协议 3110 6 1
―
'
。
。
,1;01600"秒) 这一选项设置会话允许持续的时间
。
如果会话在规定时问内没有完成.将被终止。;亥选
项默认值是60 5。 一些黑客高手知道60 3这一默认值,利用它来躲避检测 建议将这一数值 45
增加到65 3以防止这种攻击。 參11:13乂 …
000 1- 311(5118《数值)
这一选项规定了 00-
10113会话预处理能支持的并发会话的最大数目。默认值是
65335,建议采用该值。 3 2 .
.
!-
12
!!!
"预处理是最初异常检测1X 30 预处理的继承者。它也采用异常检测。最初的 ! : 1x :1预处理如果发现一些包在3 3内发往四个不同的端口就会报警。这样虽然能检测侦 察试探,但是会产生许多误报,即使你可以规定哪一个1?地址被忽略,总之相当多的8000规
则还逛禁止这个预处理。无论如何,它并术是一个糟糕的预处理;它只是需要做一些改进。幸 运的是,! 1 03112出现了。 !!!预处理与0011?1 11011预处理协力工作追踪II5协议对话。它启用配置选项来 !
检测不同的扫描方法,这些扫描对大部分II5网络都是异常的。它能检测垂直扫描,即针对一 台主机的所有端口的扫描。也能检测水平扫描,即针对多台主机的某个端口的扫描。 5 011预处理,因此能 「 (; 预处理因有更多的配置选项而不易产生误报。它利用001 意识到会话状态。它有5个不同的配置选项。 攀303111161
1113 《数值)
这一选项设置了能对侦察试探进行追踪会话的最大数目。默认值是3200。 9 1 :
X5
1113
〈数值)
这一选项设置了进行监控的目标主机最大数目
默认值是5000。即使你没有这么多目 , 标需要监控 将该值设置髙些也是比较好的。攻击者可能会盲目地扫描一些没有绑定主机的 。
I?地址,你不能错过这种信息收集的试探。 9 131-861 !;!!!!!〈数值) ―
这一配置选项是水平端口扫描的极限值
它规定会话中允许访问一台主机的最大次数, 超出就会引起报謇。默认值是5,建议采用该值。 9 1501-1: 1:11111 数值) 。
这一选项是垂直端口扫描的极限值,它规定会话中允许访问主机端口的最大数目,超出
就会引起报謇,且端口不必属于同一台主机。默认值是20,建议采用该值。 9 1111160111 (秒) 这一配置选项规定会话占用内存的最长时间 超出就会引起报警。默认值是60 3,建议采 用该值。 ,
3 2 13 .
.
5
1)5:
( ?31:1 1 01113 0 160 011 &18; ?!1 ! )是利用异常检 统计包异常检测引擎( 测方法检测可疑流量的预处理程序。5? 5:通过建立一张描述正常流量的表来确定一个流 ,
量是否异常。当流量不能与表中数据匹配时 51\\1 就会产生报謇。 51 1 给每个包分配一个异常值。如果某个包很少出现,就给它一个较高的异常值 ,
3?4[
通过结合包的II1和端门信息来定义一种惟--的包。例如,一个目的1?为
192.168.1.1,目的端口为443的包就被定义为一种包 46
-
。
建立的这个表反映出各种不同的包出现的频率。新出现的包排在己出现的包之前:经过 一段时间 ! !)?:就会定义一个报螯的极限值。任何包超过了极限,都会引起警报。 ,
5? ! :有5个配置选项。 这'选项是在&101 程序运行时对哪些包进行上报的极限值。如果一个包的异常值超过
!;就以无默认报警极限开始运行..该选项
!5
/这一极限.就会产生警报。如果配置为 默认值是-1。
该选项规定警报被写人的文件名:如果 ?/
与输出插件协同使用,瞽报就会发给输
出插件。 这一文件用来保存
"见异常表的状态。当31!( 进程被更新或重启时,就利用 !化化6状态文件保持异常表的完整。如果你不想保存状态文件,可以将该选项设为0。 攀(:
:
!!!-(了叫
这一选项规定11
;!!" 「巧是刷新前接收的包的数量。
16状态文件的刷新顿率。0
'
警 !'0 31)1111: ~ 1110
这是--个关于检测异常行为使用的概率模式的可配置清单。可以采用四种不同模式定义 不同的81 ! "包"。你可以通过选择一个相关数字来配置该选项。
0 :源I?,源端口 , 8的I?,目的端口的贝叶斯)网络估计。 1:源I?,源端口 的!?.目的端口: 2:源I?,目的1?;的端口: 3:目的
,目的端口。
默认设置是3。
3
.
3检测引擎
检测引擎是&10"的一个主要部件。它有两个主要功能:规则分析和特征检测。检测引 擎通过分析300"规则来建立攻击特征。3 11规则按行读取并被载人内部数据结构:规则 只有在 !"I服务启动时才载人,这意味着修改、添加或删除规则必须更新3001 守护进! 检测引擎将流量与规则按其载人内存的顺序依次进行匹配。你可以根据需要规定和组织 规则的先后次序。规则按功能分为两个部分:规则头《规则树节点)和规则选项〈选项树节点) 规则头包含特征应用的条件信息,你可以在规则头中规定协议,源1?、目的I?地址范围,端 & 32远程利用的规则头如下: 门和日志类型。( 31 1
8
!
'
―
1
:丁抑乂 -〉 2 110嫩
这一规则的规则选项以括弧开始和结束
。
]!! 22 ―
规则选项内容包括实际特征,优先级和一些关
于攻±的文档。 '
:
。"
/-,'1
1017
32 0\
"
,5卜. ;
1?
;1
0 ,
41111/511"; .2347;
0 :10
:
??!; ;( ?
\1 200 0144;
113
;
47
检测引擎对规则头和规则选项进行 同的处理,检测引擎建立一个链表判定树。树的节 点对进来的包用逐渐楕确的特征元素进行检骑。例如,首&检验一个包是否是'!'。!1, &!]果是, 就进人树中有丁( !1规则的部分。然后检验包是否匹配规则中的源地址,如果是就进人相应的 规则链。直到包匹配了一个攻击特征或经检验为正常这一过程才会结束。需要强调的是,
8 11是在发现一个特征与包匹配后才开始对其检验。即使在检验时包可能与另一个特征匹 配 检测引擎也不再继续处理而转向下一个包。因此合理组织规则非常重要,应该先载人最恶 ,
意的特征。这一点在不久有望改观
化化开发者正在努力实现一个!
-
"最后出「】》策略。
34输出插件 &!011的输出插件接收5 打传来的入侵数据。输出插件的目的是将报警数据转储到另 各种输出插件用于各种不同的功能。外部应用程序,其中一些甚至是专 门为30071设计的--负责读取8001的输出并对人侵数据进行管理。第6章和第II章将讲
一种资源或文件中
。
述一些这类应用程序
。
输出插件是3 "的主要瓶,。31 "能对包进行快速虔取和处理,但是在试图写人一个
馒速数据库或通过网络写人时却、不从心。数据库输出插件不能用于髙带宽环境。建议配置 8001-1以统一格式输出并且由5000的标准日志应甩程序接管输出。51100有12种 输出插件,它们以不同格式输出数据。 3 4 1 .
.
丸,
『351 一
是一种快速简单的3000输出插件」它将警报写人一个单行文件中 能与检测 & 输出,不写包头。它娃一种快速简洁的记录方法 ,
―
引擎保持同速。利用 ! ! (; 有一个配置选项。
。
-
―
该选项是六1
『351要记录日志的文件的名字。日志文件在默认日志0录〈
/[ /
( )或指定目录下创建。 3 4 2 .
.
戾【1111
这是一个有些过时的5 71输出插件,但是对低带宽网络依然有用。八 "
生警报的工都创建一个目录,将解码后的包记录到对应目录下。与八1611 (;
一
11对每 产
输出不同
它的
.
记录中包含包头。它有一个配置选项。 暑[[;1 13!!化] 该逸项是八
I ―
11要记录志的文件的名字。日志文件在默认日志目录(/ 「/! /
!!)或指定目录下创建。 3 4 3 .
1 1-1
.
则!) ―
!)是另一种过时的输出插件。它向使用! "(!。 系统的机器发送V/山 5 1 (服务器信息块)请求3如果你偏执地喜欢一小时接一小时地清空消息 你可以选择这一 "
―
,
48
插件:. 1 1
-
30 在清空时发送报警倌息并且以超级用户权限执行一个外部二进制文件,这
苻- 安全风险
。
161-1
―
有一个配置选项。
该选项是一个文件,列出了需要通告的丄作站。该工作站文件的格式是一个主机 3108名字的列农,一个名字占一行。 八
3 4 4 .
.
;了-
11111X80014
―
这个插件建立一个域管道并向它发送警报。外部程序或进程可对谘管道监听并 实吋接收 ? 警报和包等数据:&然,这个插件不能在讽;: ( 下工作。它没有配置选项3 4 .
.
5
1
―
(!!!!!)
口输出以著名的化! ! 文件格式记录包,有很多种类的应用程序和丄具能读 1!!! 输出。你可以选择一种与&1011协同工作。 06 化! 皿! 有一个配置选项。
匕呂
取化
―
一
參112113111
孩选项是输出文件的名字。[
!! ! ]要注明〈月X日〉@〈时间〉。这是用来清楚
地区分从不同& 11获取的数据。 3 4 6 .
.
08
插件输出一个逗号分隔文件
〔:5 文件易于向其他数据库和电子制表软件输人 以逗号分幵的数据能以任何需要的方式組织。你可以用05 只记录一个字段或者全部24个 (
字段。05
。
。
有两个配置选项。
[仨10131! ] 这是输出文件的名卞,
攀1 11 |
1 0
在该选项中可以以你希望的次序列出字段。可能的字段有:
11)1 31
49
1
(! ]! :!
1001 1
:、] 叩"
町以修改该表以你希望的次序输出字段。默认情况下,0/5以上面列出的次序输出一个 逗号分隔文件。 3 4 7 .
.
6 01 I1 11 0386 ,5! 1 1力记录 乂"[插件允许你用简单网络标记语言( ?! 日志。能用来将从许多不同的传感器收集的数据插人一个管理数据库。\\ 插件利 I?对话来记录3志。它还具有独特的消毒( ! ! !!)特点。启用 用加密的或者纯文本 .? .XXX。然后你可以匿名向其他 消毒功能,所有的II1地址在输出时被屏蔽为乂) .)
评审实体提交人侵数据,比如 !;! '/。
点击
这些数据预测趋势并从全局上监控恶意行为。\\
611. 8网站以获取更多信息〗,它利用 插件有不少配置选项。
108 01 31&蚁日志或警报) 孩选项用来指定将乂 ! 输出插件关联到日志工具还是警报工具。某些规则设置为"3 !
(警报)"而其他的设置为"10 日志)'';该选项决定以选定的规则类型进行输出。 參 311 16!" 1151 (参数歹!]表) 这一选项是一个巨大的参数列表 你可以通过配置这些参数使? 1 按自己希望的方式 工作。参数以常见的!! ! -― "参数名字:参数值〕方式设置。下面列出了参数名字和对 ,
应描述:
參川6
X1 1输出的文件名 如果只输人这一个参数,它会将文件写人到本地磁盘。 。
鲁口 !--指定向远程主机记录采用的协议 可能的值有 以X?方式发送输出;需要文件参数。 ! ! ! ?3 -以加密的方式发送;需要文件、证书和密钥等参数。 。
-
-
化
一通过端口发送;需要一个外部应用程序监听70?端口 。
出 --接收日志的远程主机
。
,061-1
1了?3通信使用的客户端证书 ~~利用:壶组合进行屏蔽的I?地址范围。指定的范围将被屏蔽 。
,
。
你可
以多次使用这一选项来屏蔽多个范围。任何被屏蔽的謇报,其包净荷不记人日志。 一选中该项将以&X格忒存储二进制数据。该项不需要指定值。 鲁 5664~选中该项将以1 664编码格式存储二进制数据 该项不需要指定值。 。
--选中该项将以用户可渎的八80〖〖编码格式存储二进制数据 谅项不需要指定 。
值
。
50
9
1--有完整)和13 快速)两个选项。选择化II,则将对50011有用包的全部细 5记人3志。选择,则只记录"腿【纖口 1时间戳1 、 5 0 10!:6 (特征〉、丽"I?、源 1 ) 1(1 11011 I?(闩的1卩) 獸卬!"〖(:源端门〗 ""! !。!!闪"(目的端门〉 IX ? '
( '(::〖'标识)和!"01 '-,1(1"办议1 ― 3 4 8
161-1
.
.
《,';
―
八1 -
3 108将输出写人野31观工具。5 108服务器能用来从与&10「【无关的各种不同的
设备《例如路由器,防火墙、 服务器等)收集口志信息。将 化化人侵数据写人3-06服& 器 事件相关和问题鉴定大有帮助:将报警数据 人巧可与其他工 协问工作执行实时 8是最常 的输出插件之-.,. 报警和通告。八 、 ,系统的机器卜.,这个插件就不能用来向远程 08服务器 如果传感器被安装在 !,! -)实现这一功能。 (( ― 51 支持标 记录口志,.必须使用一个命令行选项才能使 ; 准的-:个外」 配莨选项。 攀
11117
输出的1 1参数…默认值是100 这是-个用来指定 08服务器上 如果有其他应用程序也使用外3|08服务器但是你不希望它们访问人侵数据, 以将 ―
该选项设为100八1711
尺IV。
这是一个用来指定&3108服务器匕的 5 1 输出的优先级参数:默认值是100 ! 丁。这一设置对警报很合适;它包括一些其他的重要事件: ―
.
这是一个用来指定
服务器上的八1*
3 106输出的选项参数。没有指定默认值: 进 . 0 10化选项参数可以用来识别一台机器上的多个5 程【0进行记录. 「【进程, -
你叮以利用这一参数将八 「【 外 化输出禽:接写人控制台或对每个警报记录对应的300 ―
3 4 .
.
9数据库输出
数据库输出插件直接将日志记人所选定的关系数据库它支持
301 、?。吨!"63 1,01"-
( (:的数据库(例如利用关系数据库使大量人侵数据便于操作。 和适合( 当牧据库插件被关联到数据库后,就可以对警报进行分类.杳剁和按优先级组织排序等 。 有儿个应用程序能利用关系数裾库中的人侵数据创建出管理0111图形用户界面。510"数据 写人数据库采用的表结构如图3-3所示。
甚至在屮度饱和的网络中,数据库插件都可能成为影响3:10&性能的瓶颈。插件自身并 不是瓶颈,而是被写人的数据库二当数据库插件向数据库写人时,必须等待数据库准备好后才 能写入下一个数据。通过网铬写人敉据库使这一问题更加恶化。 数据库插件有三个选项。 这一选项决定向选定的数据库写人警报或日志数据。你可以启用很多输出插件。通过激
活数据库插件两次,对其分别选择臀报和円志来问时向一个数据库写人警报和日忐。 5!
乂-讦
化
"叫
】1
1
?、 「
山
化
一
1
31111
―
】,、
化「
隱
1 11。 「
「
化
0 1 1
卩X 「
5山
51」
1
叩
》5比'!!!-I」
―
3-3
310"数据库结构
这是选择你将要写人的数据库类型。你可以将数据写人 ! ? 的数据库二 软的和适应口!!;? 这一选项列出了成功写人数据库需要设置的参数列表对!! !
、! ?屯化 ( 〃(
二?&
微
参数名:参数值〉。
下面列出了参数名和对应描述:
!
--数据库位于的主机
如果将50011连接到一个本地数据库则设臂为本地主机.
。
连接远程数据厍所在主机的端口
11011
化~登录数据库'需要的用户名
01 80
:
:
~验证数据库需要的1:!令卩 ~~数据库中对传感器或3
11进程给予的名字
。
令!! --选中该项将以格式存储二进制数据。不需要指定值 该项是默认设貿, 64―选中该项将以1335064编码格式存储二进制数据 不需要指定值。 。
。
: --选中该项将以用户可读的八5011编码格式存储二进制数据 不需要指定值。 1--有 完整)和〖 "快速)两个选项 选择化11,则将对5110「【有用的包的+部 。
4
。
1317 (时间戳)、3 0机0!"6 特征)、3001 细节记人日志。选择 1,则只记录1 1"(源,?)、"! !! I?(目的屮),賺。闪仃(源端口),(! ;"』。"目的端口) 丁(:? 03 (丁 ?标识)和! 咖 协议 3 4 .
.
、
10统一格式输出
统一格式输出插件"11出"是专为速度而设计。它可能是最快的输出3000人侵数据的方
该插件以自己的二进制格式写人侵数据。它输出两个文件:警报文件和包9志文件,警 报文件只记录警报摘要,内容只包括源11\ 的I?地址、协议、源端口、目的端口和螯报消息 法
,
.
II〕。 14忐文件包含完整的包位息
。
统一格式插件的目的是尽可能快地从5
1 接收数据并输出到一个专门的应用程序:该
应用程序是! ? 「山它能读取统一格式的输出并 1向其他插件发送数据 即数据库输出插 ,
件这使得81100不必 待较慢的数据库 人,, 52
其他插件不同,统一格式插件11了以用两个不同的命令启用。命令输出警 报数据,! 件 它们都
化"命令输出3志数据。它们各3产生一个具冇时间特征(月日@吋分-)的文
-
。
一个相同的配置选项。
输出文件允许的最大长度。默认值是1281
。
3 5小结 .
本章深人研究了 500"的内部运作机制。&101 直接从网卡获取原始数据包。捕包通过 8001-1外部应用程序化 叩来实现。化 叩可移植到每一种常见的计箅机平台 使300!"1成 为真正的平台独立应用程序。 包解码器是&103第一个对捕捉的包进行处理的内部组件。它的目的是剥落各种包头。 它利用了!:'?/ 栈解码并&将包放人一个数据结构中。然后包会被送给预处理程序: 51101-1的预处理程序实现两个基本的功能。它们既能对包数据操作以便检测引擎能正确 ,
分析它们.也能检测特征检测所不能单独发现的可疑流量。3110 有多种预处理程序,大部分 都是针对新的105躲避技术而添加。在预处理的辅助下,从多态3 11 0 到分段包都能被检 测 流量通过预处理后,会被发送到检测引擎。 检测引擎负责进行实际的特征检测。5 11规则被载人到检测引擎并以树形数据结构分 类 树形结构通过最小化发现可疑行为的必要检测次数来提髙效率。恶意行为被发现后. 。
。
00 将人侵数据写人许多输出插件。
从检测引擎获得的数据必须通过输出插件提供给用户。3110!"1可以配置多种输出插 件以便更方便地对人侵数据进行管理。输出插件种类众多,有简单的逗 分隔输出 也有 复杂 的关系数据库输出,还有专门设计的输出格式和外部程序 用来负责向数据库写人数据,数据 ,
.
,
库输出插件一般是51103的瓶颈。
53
第4章安装81101 的计划 一篇最近的期刊文献评论广所有卞要的人侵检测系统,进行测试的103分別来自03 , 1111( 17161 8 1.1 ['!: ' 8 5!"011 「":;!。", 1 111 』【兀、000 0111 1\""-"「卜「1 卜I [ ( 「( 「, 1《?000「; 丁&(! & 和 【:,他们将这些11)8连接在九条丁 1 !! ""网络链路上。;1个小时内,所 有11)3都陷人瘫瘐。这些105都填满/它们各自的数据库,大录丢包.进而崩 。测试并未 采用秘密的105拒绝服务攻击,只是正常的髙带宽11 11 流氳。论文的作者对103做 总 结讨论,认为11)8是一种不成热的、无效的技术.这在103社区引起了轩然大波: 这次测 并不能证明人侵检测系统 '人败的相反地,它证实了没有正确;十划的1135是 多么无效:.不管使用哪一种技术,也不管它是否开放源代码,棊尸硬件或基于软件,基于特征 或基于异常,一个没有正确计划的103几乎是无用的。 因为人侵检测是一种比较新的技术,不/解这一领域的人常常认为105就像一把万能钥 匙 能解决所有安全问题,这种 度使人们以为只要将105随便安放在网络中就万事大吉 了 不必担心任何问题,实际1:远非如此:没有人会认为 1 1服务器直接连在101 1匕就 ,
,
能正确运作。同样,你也需荬正确的计划105策略,传感器的放置,对事件的响应和一系列其 他任务。
在安装前你必须做出许多决定,这些决定将影响的可量测性,安全性和件能。全面 仔细地拟定一卜好的计划.会节省你的吋间和减少未来的困难。
事实?., 105是一种加强信息安全或风险管理策略的方法。如果你觉得这样理解11)5过 于抽象,也可以简单地将它看作一个捕捉黑客的丁.具。尽管这样描述是真实的,而且捕捉黑客 也确实是105所有功能的一部分,但是你在用11:6捕捉黑客时实际上就是在加强策略。如果
你用105捕捉黑客,那么105就是被用来加强末授权访问策略。几乎每个组织郤需要控制信 &资产的访问权限.也需要阻止未授权访问的笫略.-个组织的策略也许是写成一本亍册,或 者不太止式,例如有些组织遵循 界最好的惯例:将108看作一种加强策略的 法,1(11小是 一种捕捉麒客的工具 将有助于 ,
答下面几个11)3计划的难题。
,应该监控什么?
什么报繁可以忽略? 传感器应该放置在哪里? 如果发现了违反安全的行为该怎么办? 4
.
1制定入侵检测系统的策略 对异常或"1疑行为监控是【05的一种
基本的形式。在监控可疑行为吋.103必须能确
定行为是否未授权。做出这一判定要综合访问控制策略、文化背景和组织的网 基础设施的 特殊性等知识。定义什么是未授权的过程是创建105策略的核心。 在; 0"应用程序中,这一11)5策略是以配置设置和特征的形式来实现的,将这一策略 54
应用于&1 1并不是发现未授权行为的最后一步。103分折员必须对行为是否未授权做出最 终决定。没有哪个103解决方案不需要人的参与。 具休的组织和具体的网络对来授权行为的认定不同。叫16将不被准许的行力分为四 类:恶意,可疑,异常和不适当。对每一类进仃认定的主观因素依次增加 恶意行为对大多数 网络来说都是末授权行为,而不管文化背景,访问控制策略和网络基础结构的特殊性,这种行 为几乎没有解释余地。另一方面,对异常和不适当行为的认定就很主观,每一个组织都会有很 大不同。一个组织可能由雇员评估认定不适当行为,并且根据自己独特的网络设备来认定异 常行为。研究这些问题将有助于你定义你的111 策略并且使;的运用取得成功二 。
注意
这里用于描迷未授权行为的术语并不是工业标准术语,不同人可能会有不同的理解。
本章在这里是想帮助你理解对于一个组织来说什么行为是真正的未授权,什么行为是可 以九许的。 4 1 .
.
1恶意行为
恶意行为是指蓄意的未授权流量,对恶意行为的定义没有什么争辨余地,大部分组织认 为无论何时何地未授权行为都是恶意行为。这--类流量包括远程利用,权限提升试探和拒绝 服务攻击。在正常情况下.这些类型的流量都是未授权的,.远程控制特洛伊木马流量就是一 个恶意行为的例子。对于远程控制特洛伊木马(例如301 化。或! 出化)没有任何合法用途 不管传感器放置在网络基础设施的哪个地方,1【〕3都应该监控这些类型的流量。 也有一些特殊情况可以允许恶意行为。由内部或第三方安全从业者进行的渗透测试或漏 洞评估可能会产生这类流量,应该给予许可。
2可疑行为
4 1 .
.
可疑行为是指显示恶意行为正在发生,何是它自身并无恶意的行为:可疑行为采取违反 标准协议实现的网络流量的形式,例如使用保留位的流量或同时使用3 和「 标识位的 包
合法应用程序不会设置保留&,因为他《门是被【/
。
3留作将来使用的。另外,设置3丫~
标识的包是用于开始一个连接,7 标识是用于终止连接。从逻辑上说,一,包不应该同时包 含两者。这种性质的流量很可能是攻击者特殊构造的并且怀有未授权目的。 其他类型的可疑行为包括端口扫描和其他的侦察攻击。攻击者试图在很短的时间内访问 大量端口和主机就可以表明是端口扫描行为。尽管一些正常的应用程序和用户行为产生的流 量也会触发端口扫描餮报.但是为调查来自可疑主机的端!:!扫描试探付出这些代价通常是值 得的。引起应用程序或主机将网络中本不该传输的信息泄露给外部主机的行为也是可疑的。 利用一个请求使服务器将所有主机和化地址信息发给外部主机的[: 5域转换攻击就 是这类侦察试探中的一个例子-
几乎所有从外部连接到组织的可疑行为都应1亥被监控:来6商业伙伴的经由外部网络或 167 1的流量不应该显示出可疑行为。可 行为通常暗示眷恶意行为即将到来 在大多数情况下,你也应该对内部可疑行为进行监控。对网络内部不合规格或端口扫描 :
。
译者注:1
八《1111611161
: ! )?窗! !"八1)11101;?,賦号管理局1 55
的流量应该报警。例如,:)乂3域转换攻击通常就是利用其他0 5服务器或网络管理设备实 施的。尽钤内部监控常常产生大暈与可疑行为有的误报,但是还是应该调奄来自某些末被 识别的內部妝的"I疑行为:
3异常行为
4 1 .
.
异常行为垦指本质上是完全正常但是却在可疑或不正常的环境下出现的行为。确定异常 行为是不是未授权访问需要具有关于组织和组织网络基础设施的大量深入的知识:一个组织 对什么是异常的定义可能会成为另一个组织的标准惯例。一台并未安装丁! 了?服务器的面 向1,11 0!的? 服务器上出现了 丁?了?流氡就是-个异常 为的例子,用户不许创建共 享的 诖 系统却'出现了从用户桌面到合作公 的共享访问也是一种异常行为。 通常,异常??为是人侵已经发生的标志。 能攻击者巳经成功攻击一台主机且没有引起 瞀报.或者警报被错过。也可能 内部用户利 法权限攻击主机。
分布在&个节点的一
?.. !规则用于捕捉异常行为。存储在|1「!"11
文件中的规则子
集被用来发现被团队,盜版软件或不法商人使用的异常的1"了?命令。响啦团队在1
上搜索匿名或容易劫持的「17服务器来存储?舰或盗版软件。然后他们将?X?的 登录信息公开给公共181: 10〔0加"0!1 1 1 、〉 !!化!",情报检索巾心〉或其他成6,使你的 円1眼务器成了传播未授权软件的热点。力】'使这些软件不被系统管理员发现"' #怪的8录名。有时讽;!!& ;文件系统管理器都不能删除或 示这些目录 为文件比较 大 访问用户的数量多,所以 1 7商人希望发现最大带宽的 "1 服务器。他们用装满随机 数据的1 6大小的文件来测 连接速度。这些类型的行为是异常的并且能被500「1发现. 每个受105保护的网络对异常流量的定义也 同。一些软件公 建立 名 !?服务器 131
,
允 :客 下载产品更新、安全补丁和
试版假如这样的话.这台匿名打?服务器就成『
正在进行业务的重要组件,如果止确维护就不能被认为是安全问题。在另一个
织,例如金融
机构,1;']一台外部 !'?服务器发送流量可能会被认为是异常井引起严重警报。这时,你可以 设计定制的00规则来监控匿名的]"了?登录流量,甚至在软件公司,你仍然。了以给那些提 客户技术支持的特殊服务器没计匿名的厂?规则。 此外.103使用的每一个传感器可能都需要配置不问规则来检测异常行为:在传感器层 次上建立规则是最需要关于組织和组织网络知识的地方。如果你的公司使用(:))"
应用程
序的0! !!! ",通过内置的服务器来专门对其维护和支持的话,你可能希望对内 部传感器禁用检测这一流量的31X 1规则。( 冗 应用程序的0 -900!" 111 611默认方式不支 认址,闪此可能被用来威胁数据库或应用程序服务器的安全。所以对监控外部网 的传感 器 你 能会希望启用这一规则来检测来自外部的01 900『I化I』流量。 .
4 1 .
4不适当行为
.
一些类型的行为虽然不是恶意或有害的 但是对于组织来说却是未授权的。这 类 的 1'适3行为司能对组织有害或者仅带来麻烦 一 不适当仃为 例如使用 文(牛 卓 ,
:
,
对大多数有安全意识的组织就可能是不适当的。基于1 的文件共享的程序能用来 穿过防火墙或代理传输机密文件。如果用户不「解程序默认共享工作站的全部内容 这 些程序就会带 安全隐患-近来,又出现了一些11181胃事件.例如通过这些程序专门创建繁 序
.
,
56
8的蜣虫和病毐。因此, 行为在工作场所通常被认为是未授权的。 其他 型的不适当行为包括用户对不正当网站的访问。这些网站散布色情文学.黑客丁. 具和 他用十非法目的的内荇。记住,如果你的用户汸问这些网站,你的组织的I?地址会被 &入这些网站的日忐,因此允许鹿员访问任何未被监控的网坫可能会带来名誉损失。你不会 希望跺体发现你的组织成员在网(!浏览过不健康的内容。 注意
监控组织雇员的[!!&「化【流量可能会被认为是违反窃听法案的行为你可以6取适 当的行为确保公司数据的机密性,但是如果你想用啖探器来监控不适当的行为.一 要将 这些做法写入公司的安全
略手册或员工合同中。
】15策略可以简箏地用几段文宇描述103的使命和目标。也可以由一个总体上 检测过程的高级别主管制定一份正式的文档。
人侵
样本策略 下面是一个可用于小规模软件开发公司的非正式的烊本策略: 对迖程緩冲器试探,出现远程控制特洛伊木马流量和30[注入试探不管来源即时报 警
对任何来自外部的信息收集(包括端口扫描和0 5域转换)试探报警.时利用 《;". 1或?X?从任何主机与我们的网络建立连接的&为报警。忽略来自192.1 .1.1
,.
丁!;11
(我们的网络设备管理工作站)的31 4
.
?扫描行为。
2决定要监控的内容 探讨「 1
策略的中心问题一什么行为是未授权的之后.你需要将它付于实践:策略
最终的成果应该是对你努力为组织建立完成的入侵柃测能力的髙
次的综述,策略指2完成
以后.你应该将策略应用到你要监控的网络基础设施的&个部分更细致一些.你需要决定哪 些服务将被监控,哪些具体的攻击特征需要注意。这些细节将在第 章进行详述。 理想的状况是对一切进行监控..所有网络设备和仟佝从外部到企业的连接都处在 0-1
的监视之下。尽管这一计划对小规模组织是很可能实现的,但是当连接设备非常多时,这成7 难以施展的艰巨任务。
假如你没有足够资源一下子建力一个企业级的3:1011 10
可以看一下三个最常见的放置
传感器的地方。 4 2 .
1外部网络连接监控
.
与外部组织或公网的网络连接是最明显的监控入侵的地点,111 对于那些经常试 取得未授权访问的黑客和自我繁殖! 1 3! 来说就像一个巨大的全球操练场。监控与第三方
服务提供者或商业伙伴的连接也归于这一类。通过外网、和专线连接的商业伙伴冇可能 进入你的网络内部。尽管你的组织可能具有很好的I:作安全控制,但你很可能不了解11无法 访问你的商 伙伴的安全状况,,恶意黑客可能攻陷一个服务提供者并借助外网进人你的组 织 .
此. 拧4外部网络的连 很重要.,
控离儿你的网络的流量也很重要-各种各样的外出流暈 能意味着有主机被控制
例
,
57
如远程控制特洛伊木马或异常流量。监控卟出流量也可能帮助你发现被控制用来攻击[力 1上其他主机的服务器: 部
,
防火墙或筛选路由器通常用来保护外部入口点。防火墙常常用来定义什么是组织的外 当外部人口点被防火墙保护时,将5:100传感器放在防火墙的内部还是外部就成了--个
问题。两种放置都各有利弊。 1
.
传感器放在防火墙外部
将传感器放在防火壚外部允许它最大范围地监控针对组织的恶意流量1传感器检测到许 多被防火墙阻断的忒探攻击外部传感器能让体对网络经常受到什么类型的攻击和攻击是否 成功冇一个最淸醒的认识。
外部传感器能较好地捕获侦察攻击,这些攻击通常来自那些对你的网络不熟悉的攻 者。 黑客试图收集关于你的网络的信息.比如服务、端「I和不存在的主机,这些试探只能用外部传 感器发现,外部传感器需要检测针对防火墙保护下网络的信息收集试探对于网络基础设施的 描。最后但并非不重要的一点是.外部传感器能检测针对防火墙的攻击。 由于大量无关的攻击使得将传感器放置&防火墙外部呈下降趋势。毫无疑问你会收到许 多报警但是相应的攻击很可能会被防火墙阻止。是否对可能被阻止的攻击报警是一个人为的 决定。外部传感器处于的位置也很危险,增加了被攻 或控制的可能性。第六章将讲述一些 使传感器非常安全的缓和因素。外部传感器离被攻击主机较远,因此III躲避技术能用来掩 饰流量不被其发现, ! 传感器放在防火墙内部 放在防火墻内部的传感器只对成功通过」'防火墙的流鼂监控,假定防火墙是配置正确 的 这类攻击就是针对那些可能被控制的合法主机和服务。被防火墙内部的传感器检测到的 攻击很可能比较严重且优先级较髙。内部传感器不像外部传感器那样产生大量误报.因为防 .
,
火墙挡住了相当多的攻击。由于受到防火墙保护它也更安全并且可能不像外部传感器那样需 要严格的安全控制。
内部传感器的缺点是它不能发现被防火墙阻塞的试探性攻击。这使得端口扫描和其他侦 察行为被忽视。 推荐放置策18
理想地,你可能希望在防火墙的两边都放置传感器。通过使用 个传感器,你可以从外 捕捉侦察和试探性攻击,在内部对高优先级攻击报警。外部传感器可以配置成通过八 !)较 为实时地报警,而内部传感器被配置成通过6 111或传呼机实时报警-这种方法存在一定程 度七的冗余:如果一个传感器错过了攻击,你还有另一次机会捕捉它。这也为两个传感器的牧 据 联提供了可能,
如果你没有可用于实现两个传感器的资源,通常的惯例是将传感器放置在能捕捉到对 控最有用的报警数据的地点。如果你用防火墙和105保护电子商务应用程序或化 服务.你 可能希望将传感器放在防火墙外部。利用放置在防火墙外部的传感器和受保护的基础设施 ,
你肯定可以对试探性攻击和信息收集试探报警。另外,你可以对很可能通过防火墙的所有攻 击配置实时报警,用这种方式在一个外部传感器上实现一个类似的双重传感器系统 。
那么,从网络内部向外部发出的攻击该怎么办呢?这将是"裒的人侵樘测"。 另一方面 果防火墙的主要目的是控制雇员对161的访问.其次是阻止未授权的外 ,
58
部访问,传感器最好放置在防火墻内部。这时,511化I将监控不适当的行为和对其他网络的攻 击:也捕捉防火墙漏过的攻击。 4 2 .
2内部网络关键点监控
.
中心内部网络关键点是一个需要安装103传感器的重要地点。大型屮心交换机有非常 大的流量流过,足一个监控内部攻击和不适当行为的理想地点。 中心内部地点很可能采用很高的带宽,这可能会使一个传感器过载。你必须采用第5章 讲述的传感器负载平衡策略来确保你的传感器不被数据淹没。另一种可能的办法是将传感器 放在中心交换机下面的许多功率较小的交换机上。这样可以达到分流负载的目的, 是会产 生枏当多電复的人 数据。一些传感器很可能都捕获了流经网络的同样的流量。 4 2 .
3重要计算资源监控
.
组织的网络中已经具有大量安全控制的区域是人 监控的另一个候选地点。那些受到 0 121 厶化非军事,防大墙、安全路由器和加固的主机保护的基础设施也应 ;!11 1 该布置11)5。存有机密数据的数据库或分层的面向外部的 应 程序也是需要加强安全 注意的地点。即使你没有分层的安全基础设施,配置传感器监控有价值或敏感的 络 主机也是很明智的。这可以防范那些常常被忽视的内部攻击。
4
3设计500「1体系结构
.
是一个高度灵活和可扩展的应用程序。尽管这对3001 用户来说确实带来很多好 处
但是它也把第一次便用的新手带人广困境。为51101选择最好的体系结构可能是让
.
入 缩的:你希望能卜太困难地建立-- 成功运作起来的500!"【11
,但是你也希望建立一个
根据人侵监控发展需要而便于扩展的系统…
就像第二章的图示一样,3110"支持?层体系结构。本书讲述单层体系安装和三 体系 安装。50( 的功能可以分布在不同 次的多台机器.体现出可量测性,安全性和性能优势。 这种三层安装常常被称为分布式311-1。 3001 也能采用单层体系。实际上.三层体系并不比笋层安装优越, 许多因素影响决定是 .
否需要一个完整的三:层体系或者单层安装是否更合适」 4 3 .
1三层结构
.
!-!三层体系结构的每一层都支持一个独立的功能。第一层传感器负责人侵监控和数 据收集。第二层服务器保存数据并提供一个向105分析员递交数据的方法。第三层分析昔 控制台是105分析员#用的-[:作站.用于解释收集来的人侵数据。出于可量测性 安全仵和 忡能考虑,5001-1支待"层体系。 ,
将8110"分布在多层使它具有可 ―测性。你可以根据需要通过向 层添加资源来扩展
的规模。如果需要加强监控,可以另外安装传感器。如果增加了一名11)3分析员 就可 ,
以添加一台新的控制台。 & 二层&?(体系中,由于专用资源分配给了对应的主要功能组件.因此性能也得 .
59
如
强
每一层都有自己独立的一套计算机 这保证了每层的独立性并巨不会消耗其他层的系统 。
。
资源。
三 安 也使你~以增加-些安全持性。3-个应闬程序被分开安装在一同的计算机 上时,它强迫攻击者控制许多不同的卞-机1(11下是一台:三层体系也允许更细致地调整访问控 制。你可以安装一台对人侵数据库只有只读权限的控制台,而另一个控制台可能被给予完整 权限,
分布式二层模式是企业级; 011的典型安装模式。分布式安装30011在一个大组织中可 以通过附加硬件资源来容易地实现,体现出了炅活性和性能。三层安装使一个拥有多个完全 不同的物理或地理位置的大组织能相对容易地开展人侵监控。许多独立的传感器向一个或多 个人侵数据库报告便于进行事件相关分析和从总体上发现组织网络中的未授权行为。 即使你计划只有几个传感器监控流量,采用分布式安装也是值得的。如果你有两个以上 的地点需要迸行人侵检测,就 得采用分布式体系。建、'/"二套单层体系所花费的时间 和金钱远髙于安装三个传感器的分布式体系,,
2单层结构
4 3 .
.
单层或混合服务器 传感器安装就其功能而言与三层体系相似:如果你选择混合方式并 将 (的昕有组件安装在一台服务器上.你依然会有一个功能完整的! ,单层安装 "
的扩展性 性能和安全性不如分布式。
混合配置适用于网络设备较少的规模小的网络,例如家庭或小公司。如果你只想简单地 /解和入侵检测领域,混合模式是一个可行的选择。你可以在决定安装一个较大的人 侵检测系统前,利用单层体系来进行试验井提高人侵分析员的技能: 4 3 .
3
.
1&控网段
为&1011 103组件安装和配置一个独立专用的网段是将11)5与组织网络的其他部分隔离 的一个简单的办法 这样做的主要目的是加强 的安全和确保人侵数据达到高度准确。 。
如果信任103检嗨未授权行为,你的网络基础设施中的系统必须具有最髙层次的完整性。如 果攻击者控制了网络附属设备,不能允许他进而控制检测他的恶意行为的系统.如果一个恶 意黑客能访 11)5的组件和它们之间的流量.他就能删除謇报来掩盖自己的踪迹,也能制造 误报来误导你的判断。你可以想象一下一个已经被控制的标准网络的情形。因此,创建监控 网段是一个 准惯例。
在你设(卜独《网段时,5 "网络的惟一进人点就是传感器的嗅探接口。这 接口必须保 证安全,因此它们的功能设为"只读",这样攻击5 !!网段就很困难,但是仍然有可能受到现 场攻击或物理攻击。应该采取适当的物理安全措施保护; 监控网段。 独立的监控网段听起来比较昂贵且复杂。实际上,网段可以与31103基础设施一起量测。 如果你建立一个混合服务器7传感器体系,监控网段包括一根以太网电缆 如果你采用分布式 配置,使用五个传感器.一台服务器和一个控制台,网段由一个殳换机连接。如果你需要将传 。
感器放在下同的物理或地理位置,监控网段会复杂且昂贵。为103设计一条独立的专线 能 会超出甚至是最高的105预箅。在这种情况下(尔可能希望采用两端用防火墙隔离的 ? 。
60
4
.
4维护计划
人们容易在研究实现一项新的安全技术时很兴奋而忽视广存在的维护问题,最终会导致 出现这些问题。你迟早 对 00特征更新并编写,定制规则。51 1的新版本顿繁发布,意 味着现行的应用程I?:必须对某些地方升级;利闬全部好的机会,可以使你的配置 史髙效,你的组织将会被要求附加新的人侵检测能力,.将这些任务归人技术维护计划中能确 保你的3
!"I配置与时俱进。
保持与安全相关的信息同步对维护最新的规则集极为重要。建议你订阅 叫邮件发 送清单。 『叫提供安全研究的更新和信息邮件.个人、团队、安全公司、白 : 和黑媚子 通过它为体提供最新的安全新闻。你可以在这个网址订阅:
在0 1 丁协调屮心(
查找更新咨询也很不错。你也应该看一宥提供大量
;.?丄?
最新的漏洞利用技术和黑客工具的网站:
通过1?
则你能很容易地发现丄百种其他的安全新闻资源.可能比推荐的这些网站
你更冇用处。
在你对信息安全有了 -定认识后,订阅50011邮件发送清单是很不错的选样。你可以在 这个网址订阅: 1)11 1 // !! :
!
, !! /
!!]/?
31" 卩 1|1
3357
―
这些邮件清单用于错误处理,获得帮助和发现最新的非正式5110!"I规则。定期查看3化 . . 0巧)上的新工具和更新也很有价值。养成关注安全新闻的习惯将确保你使 主页(? 用最新的规则如果你了解最新的漏洞和漏洞利闬,你就能更 地了解需要实现什么新的特 征
,,
你町以为新规则编写自己的特征,或者从 ! ! 网站获取。设定一个时间定期地检查新 规则对所有5 0"用户都是一个比较好的惯例。在每闳的一个规定时间进行非重要的改变,
既节省时间X能保持控制过程的不断变化。如果你能确切地知道规则在什么时间做出了什么 变化,就能更容易地增添新规则。重要的改变或规则更新应该尽可能快地进行。 有些程序包或组件必须及时更新或打补丁。 &10 「「应用程序也必须更新。 10「1常常在一 个稳定的正式版本前发布測试版本:建立一个测试系统安装主要的升级或更新是1不错的主 意 如果 在对-1、新版本的&进行测试,逑 你利用非实际应用环境来査找错误 &你扩展300"规模时,人员配置常常被忽略。〖08产生大量餐报 何是如果没有人对其 解释将毫无用处。5 0!"1产生的警报必 出一个受过训练的专职人员认真查明 警报对应的 ?7力 否真的违反安全性。如果你扩展&011时没力安排必需的人力资源 105的效力可能 会降低。 此.明确所需要的人员配霄 黾很重要的 -
。
,
,
.
61
4
5事件响应
.
4 5 .
.
1事件响应计划
8(101-1能帮助你发现和管理安全相关事件。直到现在本书都是在讨论对人侵相关数据的 收集和报警。接下来的有关问题是当你检测到一个真正的人侵时应该怎么做。许多初学安全
颂域的人认为应该在事件实际出现后再具体对其进行处理。他们的逻辑依据是,每一个安全 事件都是独特的,任何事先的计划都是无用的,这种看法是有缺陷的。对安全事件最好的处理
办法是,根据一套事先安排好的涉及适-当人员的计划,对其做出响应。业界最好的惯例和制定 的指导方针表明设计一套事件响应计划可以大大降低违反安全的负面影响。 本节对事件响应和预防领域做简短介绍。全书就是针对这两个主题论述,所以本节就不 做完整细述。
如果没有针对安全事件事先准备适当的应用程序和工具,人侵就会引起更大的破坏。当 事件发生时,你首先会担心的是有没有合适的软件和硬件可用于开展调査和补救计划 ,没有 现成的可用工具会耽误恢复状态的时间。在对人侵事件响应时再设法搜集进行调査所需要的 合适的应用程序和硬件,在有限的时间内是不可能的。 .
下面是执行事件响应所需的一些工具:
可靠的备份和恢复应用程序; 对可能受害的系统创建镜象和快照的软件; 比较文件属性和创建时间并比较文件校验和的工具; 口志分析工具或脚本; 保存上述软件的专用硬件 你可以在135 丁在线资源页面找到一些这类工具: 。
"'!:口:
//
.
. 0X /1
―
1:1 37? 11 1
【00】、、 ―
如果没有事件响应计划,未经充分考虑的重要决定可能会改变人侵破坏的范围。当一个 重要的违反安全性事件被发现时,组织以完全没有准备的方式应对会是一个多么可怕的事情。 ―些公司会发动许多人员参与处理事件以致证据被破坏 或者任由攻击者为所欲为。其他公 ,
司可能会采用相反的方式,事件发生后,重要的决策者会被怀疑。如果凌晨四点出现了一次针 对( ;。的缓冲区溢出攻击,就可能处于尴尬的境地。甚至更糟糕的是 组织的一些部门不愿 参与响应,认为这不是他们的问题。事先创建一个涉及合适人员的事件响应计划将改变这些 ,
情况-
事件响应计划的大纲应该包括下面这些内容: ,对事件正常处理的目的; ,信息资产的优先级; 建立事件通知链 1 搴件响应目标 。
.
事件响应计划的主要目标是保护那些可能被破坏或控制的的资产。毫无疑问地 最重要 ,
62
的资产是人的 命。如果你的组织保护的是涉及人身安全或国家安全(例如空中交通控制,电 力网络等等)的系统,维护他们的正常运转是最髙优先级的。
接下来最重要的资产是机密或敏感数据。机密数据必须保持机密和安全。不但要防范机 密数据被未授权访问.还必须保证它们的完整和不变。如果机密数据被保护.必须在它的整个 【吏币期内保持同样级別的完整性,复制机密数据也许是不可能的,因此必须避免对这类资产 的破坏。当对事件响应时,除了人的生命,这三种情况的优先级应该髙于其他。 其次,其他非机密数据也必须受釗保护以免受到损害。专利和其他内部使用的数据应诙 被保护。尽管这些数据不用重点防范未授权访向,仍然需要保持它的不变和完整。数据保存 的优先级通常髙干计算机系统。 注窻
数据可能包含与入侵有关的证据.需要指出的是这类数据应该保存,以帮助发现攻 击者入侵的方法。
然后需要保护的是持有数据的系统。这包括操作系统,硬件,应用程序和其他用于数据处 理的资源。破坏系统会导致代价昂贵的停工和名誉上的损失。
最后,优先级最低的是保护计算资源的 用性。保护一般计算资源的可用性在事件中也 是重要的。计算资源是所有用來访问信息或处理数据的应用程序,系统进程或服务。 !
.
建立事件通知链
违反安全性事件出现后需要通知的人员应该事先做出安排,以避免陷人混乱。根据组织
的规模,你可能必须将其他部门也纳人通知链。组织一个正式或非正式的事件响应小组将大 大提高处理事件的效率。如果所有事先确定的人员行动起来,他们几乎不会出什么乱子并且 能以事先策划的方法协助你对事件进行处理-属于这个小组的组织内部成员应该包括:
鲁部门的管理人员和系统专业人员; ,负责系统或网络的管理人员和系统专业人员; 拳主管: 法律顾问
.
,
属于这个小组的组织外部成员应该包栝:
攀组织的'?(
服务提供商113 的管理和问题联络人;
拳商业伙伴或第三方服务提供者的联络人;
当地和联邦法律实施机构的联络人; 新闻界的成员
。
对于定义的每一组联络人,你应该安置两个人负责主要的联络岗位。你也需奐定义应该
给予每个岗位和预期响应类型的信息.你可能不想你的组织中服务器组的管理人员与新闻界 共享同一水平的信息。另外,应该定义发布给每个联络岗位的信息类型。你可能不想向最高 级别的主管递交一份髙度详细的技术报告。 出于心理和实际的需要,选择适当的组织内部的人员很5要。在组织的成员被邀请加人 事件响应小组后,当事件发生时他们应该能更乐意、更融洽协调地工作。违反安全性并不是一 1外来的抽象概念,如果他们已经被灌输了这一思想将更容易理解。 确定事件处理小组的领导也很必要。需要事先解决像谁有权停止重要业务运作,征用计 63
算机硬件和拒绝对重要系统的访问等问题。这类领导必须来自老板或高级主管。 组织的法律顾问将帮助你处于合适的位置来采取合法忖动。法律顾问,结合行动手册,将 帮助你决定是否能将公司的法律行动公布与众: 外部人员也能辅助事件响应:公司的13 的联络员能帮助查明事件来源或阻塞1X 5攻 击的流量。商业伙伴和第三方服务提供者可能是攻击的来源或与你的组织一起被攻击。 建立与法律实施机构的联络将帮助你确定什么类型的 律证据在法庭上是有用的。他们 也能提供如何正当收集和保存分发证据的建议。如果你事先与法律实施机构建立联络,那么 你不必在事件突发后再决定合适的联络人,节省了时间。 与新闻界的联络人可由组织中的公共关系专业人员担
实际上大多数组织都没有这样
的人员,因此如果与新闻界打交道时一定要特别注意安排这样的岗位。如果你不得 向新聞 羿发布信息时,注意不要泄漏任何可能对黑客有用的技术细节或信息。记住,你的攻 者很可 能非常关注媒体。如果技术信息被发布,可能会诱使其他的攻击者采用相似的方法对你发起 攻击」向媒体公布消息时,千万不要故意误导或误传事实,伪造信息比真相被揭露还槽糕。 -旦 言被发现 会失去客户和商业伙伴的信仟。另一个惯例是与媒体打交道时要避免投机 ,
小 管多么诱人.都不要发布没有事实依据的想当然的脚査。投机一旦被证明是错误的.可能会 '
被视为是对某些组织或个人的抨击。
2事件响应
4 5 .
.
事先知道事件响应时需要遵循的步骤会使你能为这一 务做好更充分的准备。在计划中 概述一下能快速并容易遵循的步骤将减小遗漏重要数据的可能。 对事件响应时,决不能忽视 要目标。如果这一目标是尽快恢复对系统的控制,你就不应 该花费过多的时间来收集证据。如果目标是在追击黑客的同时限制破坏的范围,必须确保创 建镜塚,备份和保存整理证据,最好的惯例是在调査受人侵影响的服务器时,用一套冗余的硬 件来继续正常的、止务。如果目标仅仅只是捕捉人侵者,可以与增强的系统审核一起使用嗖探 器无论你的目标是什么,一定不要让与规定的 划无关的其他行为分散了注意力 .
1
事件识别
对违反安全行为响应的第一步是确定该行为是一个真实事件还是一次误报」合法应用程 序和用户行为呈现出恶意是十分常见的。在采取任何补救行动或开始事件通知链之前,你应 1亥尽0确定这楚一个真实的事件-没冇人愿意像遮语中那样大叫狼来了。但足 也不 花过 多的时间农确定事件。如果一(牛紧2的事件很可能正在进行破坏,发出警报比你袖亍旁观要 ,
好
在你着手识别事件之前.你应该从它们的发生开始记录事件的日志或日记。确保记卜所 接触到的人的全名和事件的详细描述,并且注明时间和3期。日记能帮你理清思路和证据: 为了确定安全事件是否真的发生,你应该认真翻阅手头的系统日志。攻击者很少能在第 次尝试中就控制了系统。 恶意黑客寻求渗人你的网络时常常像一场猜谜游戏。检査可疑 的冇为,例如新帐号的创建、重复的失败登录和数据修改尝试等等。如果缺少了某一时段的口 志 说明一个严重的安全事件很可能已经发生了。应用程序有规律地产生日志 创建审爿跟 踪 如宋缺少/某一吋段的审计跟踪.很可能人侵[:经发生 你也应该检査日志文件的大小; 如果変小,说明攻击者 能巳经更改了6志。异常大的口志也 样暗&着有人 行为 攻 -
-
,
,
04
,
:
击者试图强行破解口令时,口志文件会以指数增长。
侵人系统并不是一种精密的科学。缓冲区溢出可能不会-直以攻击者期望的力 式起作 攻击者渗入网络"(能会产生 的件能影响而引发筲报。可疑的系统崩溃或无法解释的 ―
用
。
性能损失也&止是不正常工作的受柠系统的特征。 最 !的入 迹象当然是 接的入侵证据。由于攻击者的100&1或远程控制特洛伊木 出现的系统文件能确切地丧明事忭[:经发生。网卡被设置成混杂模式逬行嗅探是另一种 明确的迹象。最显而易见的人侵就是攻击者故意留下一张名片来损坏网站的外观或者留下一 条消息故意嘲笑系统的主人。 1
.
事件分类
在1尔确定事件发生后,还需要明确事件的种类和范凼。你首先应该设法査淸有多少台主 机受害,以及它们的受害程度。写--份讦细的破坏报告对事件响应和随后可能采取的法律行 动都有帮助,
如粜涉及机密或其他重要数据,
该&即中断主机的网络连接以阻止进一步的攻击或破
坏行为。滞要注意,任何方式持续的拒绝服务都将警示攻击者一个事件响应计划正在开展。 这一行为也会提醒一些机智的系统用户 任何可能涉及事件的主机都应该认为有可能被感 。
染
。
如果有可能,这些主机应该与其他网络组件隔离。
让系统运行在受害状态来捕获攻击者是一个很大的诱惑。但是要记住,这样会使机密或 敏感数据处境危隐,我们的首要目的是保护数据, 不足1、人恩怨。把其他优先级高的事情放 在-边 追求智力和个人挑战,追踪攻击者,是事件响应领导者最容易犯下的错误。即使你发 ,
现了攻击者的真实身份,组织的法律顾问和主管可能害怕有负而影响而不希望提出诉讼。 接下来你应该尝试査明攻击的方法,这町能很困难,特别是有些攻击者技术高超并且花 时间来掩盖踪迹。&首先要对人 报黉.也应该能提供一些洋细的适于法庭的信2。此 外 你应该利用一些取证丁.具来完成这部分调査。 ,
证据收集
在收集证据时,要对事件响应完整详细地进行文档记录。以日志方式记 的文件将为那 些可能随后开展调査的人提供有价迫的信息。如果你没有记录洋细的日志,你可能不得不回 颐仟务,尝试重新收集事件何时以何种方式发生的证据。保持9志的时效和详细将确保你拥 有精确的事件3志,并能用于法律诉讼或损失评估,, 在第一次对事件响应时,你可能会犯下一些错误。记录事件和收集证据的日志有助于在 事后总结经验。你应该注意收集的一些证据包括: ,来自操作系统和应用程
的系统日志(事件口志 系统日志等;); ,
,人侵检测警报;
#系统文件和潜在的受害主机;
自己在事件响应过程中采取的行动; 联绺过的人员 不管是组织内部的还 外部的。 ,
收集证据时需要非常注意的一点是,确保证据存储在安全的地方以防被甚改。决不能将 证据带回家或是留在工作场所。12住,你的日志也是证据」
65
4 5 .
.
3恢复
收集到听有可能的证据以后,就该消除事件的后果了:如果幸运的话,你可能在事件的分 类阶段就能发现人侵的后果和方法。在清理之前要确保已经收集到了你所有需要的证据。因 为恢复系统时很可能会破坏所有的数据。 从备份恢复时,要确保备份是干净的,不会 引人对系统的威胁。也必须消除导致攻击的 安全漏洞,&系统重新设置运作后,确保在将系统连接到网络之前再做一个新的备份. 在系统再次运作后,应该密切关注确保不冉受到攻击。很有可能你不知下觉屮恢复了一 个坏的备份或者没有发现导致人侵的真正漏洞? 在完成事件响应后,你应该整理一份正式的报告递交给合适的入员。报告应该包括用于 事件响应的方法学和计划,以及破坏的范围, 4 5 .
.
4測
计划
在完成事件响应计划后,确保计划完善的最好办法就是开展一次模拟事件测试不可能 与真实事件一样,但是你应该尽最大努力去模仿一次真实的事件。进行一次测试事件可以确 认恰当的联络岗位已经建立,排练你的工具,镜(象和备份的规程:也可以与另一
团队协作同
时进行一次湊透测试。这样可以帮助确认你的计划和取证技术是否有效。 4
.
6小结 本章介绍广有效安装需要的计划任务。计划是确保【[
能按预期3标工作的必要
阶段。没有合适的计划,你很可能会遇到重大的困难。计划能帑助你回答一些 提出的难题.洌如:
「1初学者
应该监控什么? 擊什么报紧可以忽略? ,传感器应该放置在哪里? 如果发现了违反安全性行为该怎么办?
计划的第一步是创建一个适合更广泛信息安全的103策略或风险管理策略。108最基本 的形式是监控异常或可疑行为。在监控可疑行为时,1133必须能确定哪些是未授权行为,哪些 是授权的:这需要综合访问控制策咯,文化背景和组织的网络独特的基础设施等知识。对未 授权行为的定义是创建105策略的核心。 "[:15将不被准许的行为分为四类:,1;意.可疑,异常和个适当。对每一类进行认定的主 观因素依次增加。恶意行为是对大多数网络而 的未授权行为,而不管文化背景,汸问控制策 略和特殊网络基础结构,这种行为几乎没有解释余地。另一方面,对异常和不适当行为的认 定就很主观,每一个组织都会有很大不同。 探;寸了 105策略的屮心问题~ 什么行为是未授权的之后,你需要将它付于实践,,策略
最终的成果应该是对你能为组织建立的人侵 测能力的离层次的综述。完成以后,你应谅将 策略应用到你要监控的网络基础设施的各个部分。 下一步是为800.-1选择体系结构。为500「1选择最好的体系结构可能是让人 縮的:你希 66
望能小太困难地建立一个成功运作起来的 . !
但是你也希望建立一个根据人 监控发
展需要便丁-扩展的系统, !! !! 103的维护问题是无法回避的:你迟早要对31 1特征更新并编写定制的规则, "的新版本频繁发布,意味着现行的&10「1应用程序必须对某些地方升级。你31能需要为 你的组织添加新的人侵检测能力。将这#任务归人技术维护 划能确保你的配置与时
俱进.
制定一个事件响应计划是管理全盘11)5解决方案的一部分,你迟早要处理一次真正的 违反安全性事件.无论它垲否被 恥!!发现:.事件响应计划的主要目标是保护那些可能咴破 坏或控制的资产。违反安全性事件出现后需要通知的人员应该事先做出安排.以避免陷人混 乱。
织一个正式或非正式的事件响应小组将大大提髙处理事件的效率。如果所有事先确定
的人员行动起来,他们几乎不会出什么乱子并且能以事先策划的方法协助你对事件进行处理。 事先知道事件响应04需要遵循的歩骤使你能为这一仟务做好更充分的准备:对事件响应 时 决不能忽视旨要目标:如果这一目标是尽快恢复对系统的控制,你就不应该花费过多的吋 间来收集证据。对违反安全行为响的第一步是确定事件是一 真实事件还是一次 报,合 法应用程序和用户行为呈现出恶意是卜分常见的。在采取任何补救行动或开始启动事件通知 钫之前,你应该尽力确定这是一 1、真实的事件。在你确定事件发生后,还需要明确事件的种类 和范围。你首先应该设法査清有多少台主机受害,以及它们的受害程度。写一份详细的破坏 报告对事件响应和随后可能采取的法律行动都有帮助。 ,
在收集证据时,要对事件响应完整.详细地进行文档记录。以3志方式记录的文忭将为那 些 能随后开展调查的人提供有价值的信息。收集到所有可能的证据以后,就诙消除事件的 后果了.如果幸运的话,你可能在事件的分类阶段就能发现人侵的后果和方法。
67
第5章基础一一硬件和操作系统 0,1 效工作的性能"I能会受到以卜 几种选择的限制:硬件、操作系统和连网的组件。 '
当考虑到―00是否可以有效丁作的时候.-般来说我们首先想到的是它的基本功能。如果这 是您第一次接触103,您可能会认为性能并不是一个很重要的问题,性能问题只 一些专家应 该关注。然而事实并非如此.经验告诉我们.当 化时不能 效工作的时候,很可能 因为丢失 丁重要的数据包。如果冗011出现了 5包的情况,您就可能会遗漏一些可疑的行为报警。所以 说 &!0 ,
5
.
的性能一直就是一个非常值得关汴的问题。
1硬件性能的度量 每--个网络是不同的 每一个 ,
度
。
011安装也是不同的,所以很难提出一套标准的性能量
对于特定的51100配置.我|门很难明确指出需要多大的处理能力和内存」可以监控多大
的带宽。特别是对于一个新接触;的人来说,做到这一点是非常困难的。我曾经看过这 样一些情况 一个刚开始使用?、们的用户昀买了一套非常3贵的达到最新技术发展水平的硬 件设备,但在使用监控'0 10160 的连接时,仍然出现了丢包的现象。目前,我们主奰 用 0!"1的配置和所监控的流量的种类来衡量31101 的性能。因此在这里,我们只能提供一些 ,
蒈遍的.大致的指导方针,可以帮助读者来估箅一下―0!" 将需要什么样的系统资源。
规则集和配置的设定 对?0『1的性能影响最大的呈?00的配置设定以及规则集设置。例如在选择输出插件 时 如果不是选用&
来处理 输出,而是采用数据库输出插件将 0"产牛 的输出 数据送到数据库中,这就会在很大程度上影响的性能。此外,如果启用的规则集很大,规 则集中包含丰富多样的流量内容检查(而不单是检奄协议元素)的规则,这也会对500!!的性能 有明显的影响,这就好像启用各种不同的规则集来监视两个相同的流量。因此,1.作量 的大'I、取决于输出插件的选择和启用的规则集。此外在运行?0 的时候,为了保证可以正常 丄作,不发'1丟包的现象.也会需要粍费 多的系统资源。 内部瓶颈主要出现在输出阶段或&包的解码阶段,具体情况要根据?0 配置来宥:6(1 (! )!! ),那么输出阶段 果使用的是数据库输出插件,而不是更有效的 加统一格式( ,
胃
就是主要的瓶颈。一个被监控的网络含有许多的可疑信息时,将会需要使用大量输出插件,在 这种情况下,输出插件是?011效率最低的绗件。如果您决定使用数据库输出插件,您必须确 保有足够的额外资源可以承受这样的负载。
如果 0! 以统一的格式输出' !辻输出结果不是交给数据库处理,而是交给&0! 「山那 么包解 器就是最主要的瓶颈了 包解码器主要的任务是执行―011规则并对流量进行特征 匹 .如果给3110"配置的是设汁的特别拙劣的定制规则 那么包解码器所产牛.的瓶颈效果将 会比敉据库输出插件听产生的瓶颈效果更加严 , 任何一个 则,如果它需要?0"检奄包的 ,
.
68
内荇,那么它比一般的规则都要 !1加耗费系统资源。启用的检杏包内容的规则越多,-(―的 -
运行就需要越多的系统资源。
&10!"I的内郤配置设定(我们在第3章中巳经讲述过)以及启用的规则,将会影响到30-1 运行所需要的硬件资源的数量-例如如果要激活预处理程序中的某些设置选项,就会需要消 耗额外的系统资源。最明II的例子就是启用在 162预处理裎序和 8014预处理程序中的 最尺存阽容量(! ! 印)''选项。除此之外,还会有其他的一些配置选项,一旦激活这些选项. "
&会需要消耗额外的系统资源,如启用预处埋程字80来检裣1 (
(
(;一种
对化'
、
系统的远程控制特洛伊木马人或是启用 预处理程序来监控所有的II5协议:如果 您打算激活大量耗费资源的预处理程序选项,最好确定有足够的硬件资源的支持。 (
通过以上的简单说明,我们提出一些在不同层面的组件的最低需求,作为购买设备时--个 大致的指导原则。这些技术说明都是基于111 1
.
的硬件体系结构:
传感器
自然而然的,一般人都会认为&多处理器系统中增加处理器将会提高 0『1的性能-其 实 并不总是这样的。3 .
加
二并不是为多线程或是多处理器的系统设计的,所以并不能依#增
理器来提卨性能:
这并不是说您不能将一些的辅助服务程序分31;给另外一个处理器来做,一些比较
高级的用户将&? 汨守护进程分配给一个处理器来完成.将―01 守护进程分配给 一个 处理器来完成。这样做确实会讣 0「1的性能有很明显的提高。但是有一点需要注意,并不是 所
的操作系统都可以支持将一些服务程序分配给特定的处理器完成。所以在购
多处理器
系统之前,还需要谨慎检査您所选的操作系统是否支持这种服务程序的分配。
对于传感器来说.我们建议的最低配置需求如下。当然.如果需要,311
也可以在 一些
的上配置运行:
处理器频率至少达到10"!2 可以
八山-烕是!!
,
1奔腾4处璦器:总线速度
达到266顯2。小能便用1: 011和0 1 11处理器。 5:00 50 1 參系统的内存至少是25( 1 的133 传感器的硬盘的转速至少为7200 !"/ :! 外部传感器的转速至少达到10000 1 1。硬 ,
盘容量不一定非要大于20 〔化,除非您需要将日志存储在本地计算机上。 !
服务器
.
对于服务器,我们建议最低配置
求如下:
处理器频率至少达到1 5 ( ..可以趙-4(111011或 111 1奔腾4处珲器。总线速 度要达到266 和51:理器。 !.,下能使用13 攀系统的内存至少是512X1 的〗33 ?:00 81 ! .
,.
服务器的硬盘的转速至少达到10000 「/ 3
仏 硬盘磁盘阵列容量至少为川化:& .
控制台
对于控制台,我们建议的最低配置需求如下: 暑处理器频率至少达到800 1-12 可以选用01 011或是01 00处理器。 1系统的内存至少足1281 4的133 !- : 501 1: ,
,
,拧制台的硬盘不能小于20 0 1 69
1网卡
网" (:,网 也是一个章要的硬件部分,我们 ;/:该仔细挑选 通常人们会认为网卡都 足一样的 然 事实并非如此、的确大部分的''I射用"网卡在性能方面的表现都是差不多的。 如果监控环境屮的带宽比较小,只要能处理所 的双「【:-通信 ,任何一款低端网 叫以说都是 个小错的选择」但是如果您准备加人一个 感器使 011工作在最高模式下,我们建议您选购 ,
一块比较髙级的网卡 这样可以减轻系统中其他硬件的负担。 ,
也存一些特殊制造的网卡,4以在监控较大流量的情况屮使用。带有3乂?处理器的 [!)"网卡就是这样一款特殊的网卡,它可以分担--些本来是由库他系统硬件所要完成的工 作 这样4以使―011更加方便灵活的利用更多的资源。通常髙性能的网,的价格是低端产 品价格的5倍,而且只4在监控的带宽达到100 VII"厶时,才会 要采用这种高性能的网卡: 一些网卡带有密码芯片组 可以完成加密解密的任务,减轻操作系统的负担。使用这种网 卡可以进一步增加5110!"1可以利用的资源数暈..由于管理网[:是用来和的其他部分进行 。
,
通
的,所以使用这种带有密码芯片组的网卡会昆一个很不错的选择。但是捕包网&并不需
要对数据进行解密或是加密,所以根本没有必要便用这种带冇密码芯片组的网卡. 5
.
2操作系统平台的选择
在选抨操作平台的时候,除了考虑基本的性能之外,更应该考虑其他一些因《。您所选择 的操作平台将会最终决定 10 功能的好坏程度以及保证 0 「【平稳运行所需花费的"I:作量: 安全性、 定性以及其他与?加"协同工作的外部应用程序都将影响操作平台的选择,, 在网络体系构架中,人侵检测系统((! )的安全级别必须是最高的。因为不安全的103 远比没有103更加糟糕,当你启动了人侵检测功能之后,会认力它可以对恶意行为进行监 控 网络的安全性得到了提髙―,在这种情况下,(![!果不知道11 存在安全缺陷,你将会一直非 常相信丼且理所当然的认为网 是受保护的:与此相如果没有自用【[ ,你反 会 非常小心地留意网络中的可疑的事件。因此.确保你的1155有较高的安全级?1|是非常重要 的 要保证! 1?是可靠的,首先必须就要保证】「〕8运行的棊础也就是操作系统是安全的。 ,
。
某些操作系统的安全性会比其他的操作系统 ---些。每一个操作系统都 定会冇安仝缺 陷 但是通过对以前的数据进行分析,我们可以发现其中一些操作系统出现的安全漏洞会比其 他操作系统 多,.通常发现了一个操作系统的漏洞之后,都会滞 几天才会有 用的补丁出 现 因此如果一个操作系统有许多漏洞,将 给攻击者提供更多可利用的时间。此外,修补安 全漏洞是一项艰苦耗时的工作。虽然将补丁安装到一台机器上丼不费事,但是如果你的105 扩展了许多的传感器,不停的打补丁就会变成一项非常令人厌烦的工作。为服务器打补丁将 ,
。
会花费你更多的时间。 事实是最有说服力的。
总的说来,基于IIX的操作系统在安全性能方面的表现比较出色,作出这样一个概括
的陈述会让人觉得有些武断.但是这 根据铁一般的事实得出的结论。根据3 0「;17 (:
最新的数据统计 在2000年,恥!!&
(?丁和 昍!))操作系统发布了 97个漏 洞 而1 1";1【1 ",―发布了 55个,&11 3013比发布了 22个 0 0830发布了 20个。图5-1为 ."
,
这些数据的直观展示图。 70
,
,
这可能与微软占有较大的市场份额也何一定
的X;寒|因 如 占痫较尺的巾场份额,就》更容 9成&攻!&者的目标在此我们苓会讨论11: 操作系统的安全漏洞的数量个成比
10'!
的I!;'.
因为这已经超出了本书的研究范围如果你
因
75斗
,
选择微软的产品作为糊的操作平台,那么峰补 安全漏洞所托费的吋间将比选择 他操作系统 要多~#。一旦你 小心遗漏广一个漏洞.将会 使你的105置于危险之屮 稳定性是在选择撖作系统的过61 '!1必 考虑
1 11101 -
的另外一个重耍因家如果-个操作系统总是出困门2000年中各掸作系统发化的灣洞牧 现内存胃和II鳜的问班, (" !!、蘭II常 头疼.11(1 '松的&这将会导致你错过电 的报I?
操作系统
";""
为常I:焖澳,已经,
&琅藉了 &然2000在駄麵的制它之嶋維系娜好得多,!& 它的可寒 性働不能够与賺)(驗系统相孃II因此,1*11定麟说,在任何181的 用中,賺 揿作系统仍然是-个 好的选择。
即使操作系统珐稳定的.1:些操作系统中的 ?,应用程序自身也非常可能会崩 更加 0「1崩溃吋 1会知道 80 1自身不具有任何可以报告问魍的工 榊糕的是3 ,操作员却 ,因为 具。你必须写一 1-脚本或者利用一个工具,这样才"I以监控系统进 ,以便及吋「解"I能出现 的崩澳问题,由于这个原因,所以最好是选用一个可以比800!"I运行稳定的搡作系统
90011是为880操作平台设计的.但是如今在或! 1"! 定
巾运
仞
与在8513中运行同样稳
。
30 1被&「1出來就只足-为了能够极4『的实现-个功能:睑―控网络入侵
为11;他附加功
能都备由别的工具和应用程序完成的',这些附加的功能"1以使細"运行更加询效,管理更加
容& 赚畴鶴基!51」、1乂的換作系统为續提供7孥禽拍[具,问#,逸郝关的 应用程序大31;分也是汗故源代码汴-&兔费的,1(11』1都珐针吋麄尸1 的操作系统设11-111来 01-1屮蕺常使用数据I牟的鱿& ,! 1(11 的在 在中运行的效率足 商的61 , 然(!!提供";" 版冬. 是'3 版本相比较.出现 的次数会多得多; 然
也有
判外的情说,例如针吋?;0(10
的|08 ?0
1
10
II
麻略赞璀「具》躯行的
比较好,但是大多数4
相关的应「8程序要么就是只能在111 1 IX中运行的,要么就是在1 中运行起来是最稳定的1而&如果选择或是! ).你将会得到更多免费可用的
化1:具,当出现问题的吋候你会得到一个强大的团体的 助和1持, 4、带仔何偏1丛
从客枧的角度来看.在选择用于玄待的操作系统吋,敁好的选择就是
,
1( 3操 棊于的操作系统,8准确的说.是开放源代码的基于!;! );的操作系统。 II:系统 其他丄作中是有优势的,但是如 在 ;!!& 屮运行印 I ,尤疑会增加额外的3:作 量
.
给自已找麻烦这并不是说在中运行50011都是不合适的關你对"咖或
娃1 15 -点都不了解.并&也没有时间或耐心去学习.也可以选择 !
.
作为操作平台来
树步了解106。如果你不是要认真学习入8检測昆想要脷试-卜戚是接触-卜在
铀-3中运行咖
-和娜19 1-1 !".的选杼
7;
柠制台选用" & 操作系统倒是不会 多少不利的地方。这时我们不需要在安全! 】 题上耗费太多的时问,因为控制台不是网页浏览器,一般人都不会在控制台上运行太多的东 ,专为 11(10-3设汁的105 7011( 311380"是--个很有特色的应用程序,一般用来协调、管 理 规则,并可从总体上实施105策略。正是因为如此,如果你觉得使用?; 0?5更加方 '
"
"
便习惯,宂全可以在控制台屮使用化;!
,这样并不会带来什么危险。
操作系统的加固
无论你选择了某种操作平台,在安装幼0「1之前进行严格认真的准备都是必不可少 一般来说 操怍系统都会配置很多的服务以及守护进程,但是大部分对叨0「1来说都 是没有任何作用的:任何一个守护进程可能是已经存在的漏洞,或是将来会被发现存在 漏洞,如果运行这些没有任何作用的守护进程,就会给31101 带来不必要的风险。为了减 少风睑,最有效的方法就是删除那些不是特別需要的服务。所以,站在3110"的角度来说, 的
。
,
作系统的功能应该&可能的少些。
5
.
3监控网段 3前,在网络基础设施中使用人侵检测技术有好儿种方法,其中为建《一个单独的
监控段来对网络进行监控是目前普遍被人们所接受的一种方法。即使是对规模较小的开发者 来说,熟悉这种技术也是至关重要的,例如只是在一台 机上安装 。「1以及所冇相关的应用 程序。?6-定的时间和精力来安装一个申-独的监控网段(出。0101 1(01 8 ?)可以加强 ?0"的可靠性和整体性能。要安装一个监控网段,并不一定需荬进行昂贵的重新布线,也小 一定需要额外的网络设备,你可以很容易的在 地的计算机商店中得到可用的装备,建 一 1、花费不多并相对安全的网段
。
安装监控网段最棘手的部分就是监控网段与所需监控的网络之间的接口问题。从105
的角度说,希望可以获取经过监控网段的每一个 独的包。听起来这与通过调整?011可以使 它能够处理所有的想要关心的流量好像没有什么关系.然而事实上,我们发现在对抑。「!进行 调整之前,必须要具备可以载获流量的萆本功能: 另外一个需要优先考虑的问题是检测人侵需要在安全方式下运行.我们总是希望尽可能 的阻止攻击者损害网段或是阻止攻击者攻击柳,"基础结构。通过安装适当的监控网段可以 在很大程度上提髙安全性。
从被监控网络和网络管理的角度来说,人们希望可以确保在安装了人侵检测系统后不会 给所监控的网络带来负面的影响。还希望嵌人的传感器不会延迟设备的响应时间或者降低设
备的性能。人们还希望可以小心一点, 免单点错误一 I ;! ),单点错误是网 络拓扑结构中的一个部件,即如果把这个设备认网络中移走,就会导致整个网络的崩浪:单点 错 可能会使监控网段出现拒绝服务的情况。
在现有的网络基本设施中安装监控网段共有二种方法:网内监控,交换机的3?八" ( ( 011八!]31 6「,交换端口分析仪)端口监控、丁3口监控。随着技术的发展 每一种方 法都越来越有效、可靠,同时所需的花费也是越来越多了。 ,
12
5 3 .
.
1网内 II、监控
在现有的网络拓扑中嵌人监控网段最 单、花费最少的方法就是网内91 控9吐采 用的是共享的介质,这就 昧着所有收到的包将会被发送到4 每一个有效的端口上。举 来说.当来自网络中的数据流经过一个 吐时,将会被复制到所有连接到这个11 端口上的设 &这 使 入侵的监&':非常容易实现I尔口、需要在一个9 的开故垴口 I:安装5000传 就「4以将所有的流量复制到传感器中3
,
使用网内906 16控存在一些非常严重的缺陷因为大多数值得安装105的网络基础设 施并不会使用9 或是共享介质。因为4 效率非常低.通常不会使用在一些比较重要的场 合。使用闩吐容易造成网络资源 用冲突.这将会降低网络的吞吐置。可以把 山比作一个 会议呼叫:如果有一个人在说话.每一个接通的人都可以听到说话的内容。这时如果另外一个 人想要发言.就必须要等正在说话的人先停止说话,也就是说当一个设备想耍通过4 通信时.如果4 12个镧口的100
接到这个
正在被使用,它必须要等到9 厶9
空闲下来.这就会导致资豚抢用冲突。带有
必须将"I用的带宽分配给12个连接的系统,这样平均每一个连
的系统只能分到8.3咖
100 1 1.11/8除以! ),因为
享广播,听以即使操作没有49过总的&吐量的嚴大值.也"可能 由于上述这
进行
对数焖流进行共
引发冲突。
原因.所以通常网络基本构架中敢要的郎分郴是使用交换介质来连接的.
交换介质与共孪介质不同.它可以为每个连接判它的端口的系统保留专用的带宽。一个 100 1 11厶钳宽.12端口的路由 每1、端口的吞吐量仍然是100隱&厶:.为]"使每个端口的 带宽都达到规定的值,包躭 能传送到预定的那一个目标端"路由器首先嬰确定机器的 地址是与哪个端口对应的,然后它就会将所有的要传到这个[ (:地址的流貴直接发送 到对应的斕口七,不幸的是.这样乂会使得传慼器的安装变得非常困难: 在使用交换介质的环堍中如果要采用9 来进 1 行监控.你躭必须在霈憨监拧的网络的基本结构屮插 入一个 !" 要使用这种方法 躭必须耍将连线拆 分 这样就会在两个网络的连接的地方出现关键点 .
,
(.),举个例子来说,你必须将9 连接到 II有10化印"网络的连接电塊上,并从该9 引出一 裉新的电缆迕接到配3 了外部防火垴或是服务程序 的交换介呒上。然后再在&山的一个端口 I:连接一
个胡00的传感器.这个传感雜躭可以对外部的网络 进行监控:图5 2给出了通过 示
购,"卜
':';.
|:、
' ―
―
捅人监拧段的图
。
每次在一个使用交换介质的环境中加入一个传 困5.2通过 插人 控段 慼器.就要昀久'一个9吐.同时新加一条线路,这样会使网络流量下降.你可能霱要多次重复 使闭这种方法.这样才可以将网络流量划分成/1份.每份的流量都不超过9 的处理能力。 能还霱要在内郎网络的连接中使用两个网内的&山.这两个闩 为一个传感器提供数据,
践要的1 , 11』会降低数据的流量。因为
不支持全双工通信,需要超过100眼厶传職
量的网段中珐不可以安装网内I"!"6的:如81流量接近100 1 1
的吞吐蕭,
的性能也将 73
会显著下降。
在嵌人监控网段的方法1卜网内9』监控比较经济.容易实现,但是同时也引人了许多苧 点错误:如果一 1、! 出现了一个意想不到的 障.小论是因为电源线被偁然切断.还是沏 底不工作了,都将会引起整个基本结沟的拒绝服务。如果单点错误是出现在网络中的关键点 匕那么所带来的后果就会更加严重了。我们发现,出现由II』引起的拒绝服务的概率是随 着传感器数目的增加成倍增长的。
使用网内卜监控法很可能会让攻击者发觉有一个入侵检测系统(【! )在运行。一旦攻 击者知道了网络中使用了 103来监控&侵,他很14能就会相应的更改攻击行为」攻击者在这 种情况下,会利用103的技术缺陷逬行攻击。通过攻击 控网段或是使II冗出现拒绝服务的 情况,攻 者就可以直接攻击103。如果110
安装在局域网的外部,并直接连接到因特网 .,是非常容易出现这些危险的。如果攻击者可以得到传感器的I !: ?地址,就可以直接针对传 感器进行攻击。即使传感器是工作在隐蔽模式下的,没有分配地址,伹是仍然还是会存在危 险 因为攻击者可以通过远程人侵 叩、50011或操作系统来攻击103。--目.攻击者得到了 传感器的控制权.就可以在传感器和他所控制的主 之间建立双向通信。攻击者还'4以利用 传感器的特权地位来更深一步人浸网络。而9 自身并不具备任何安全措施 以防止这些 .
情况的发生。 制作单向试探电缆
正常情况下,敉据是不会从监控网段流向被监控的网络的,如果在这个方向上出现 流 量 一定是出了什么问题 为了防止流量从传感器流出,你可以使用单向试探电缆:这种电缆 是单向的,这就是说它只能在一 1方向丄传输数据:使用了这种电缆后就可以阻止数据流在 :
.
错误的方向上传输。它不会对内部的交换线路有任何的影响,但是会在很大程度上减小采用 监控法的风险:.使用单向试探电缆还 以减少叩被攻击的町能性,制作这样的电 缆 需要型号为56的电缆,一些10-45接口,以及剥线钳和压紧钳。 标准的(无交叉)以太网电缆在!0-45接口中的布冒如图5-3所示,图示是从操作者的方 ,
向来看的: 6 8
3
图5-3际准以太网线引脚的市局
你应该注意以下这些重要的细节问题: ,引脚I ;!为橙色的。 、
引脚3 6为绿色的。 ,
引脚4 5为蓝色的。 ,
74
8
,引脚7 8为棕色的。 、
这种标准电缆与交乂电缆的布线是不一样的。因此在使用时需要十分注意,如果购买的 电缆的布线和上图不同,那么-定不是标准电缆。标准的设置都是这样的:引脚1 、2为输出引 脚 引脚3,6为接收引脚。如果要做单向电缆(见图 - ),必须将引脚I和引脚3连起来,引脚 ,
2和引脚6连起来。必须注意的是只能在电缆的一端做这样的改动:做了改动的接口应该接到 "乩上去。 --
6
些型号的9
8
通过检査是否从这个端口接收到过
信号来判断这个端口上是否插有电继。因此,制作单向电 缆的吋候,发送引脚也要连接上,而不能只是简单的将这些 引脚剪去。如果你只是将发送引脚简单地断讦,! !)就会 错误地认为这个端口上没有连接以太网电缆。
这种试探电缆也只有使用在 !!) 才有作用,冈为接 收到的数据将会返回到9 匚对于交换机来说,如果它 对一个端口发送出的数据与它收到的数据相问的话 会使
图5-4单向电缆的配置
,
路由器不能正常反应.通常这种情况下,路由器就会关闭这个端口 。 采用? !)监控法来加入监柠网段时,使用单向嗅探电缆是很有必要的,花费也不多。如 果你升级到更标准、更专业的配置,这些电缆还可以用作和朋友开玩笑的工具。 5 3 .
.
2
8?
端口 :控
端口监控是另外一种在现有网络结构中引人监控网段的方法。交换机的中髙端产 品都有3?
!端口或镜像端0 。
八X端口既可以是一个专用端「」,也可以通过该端口实现
交换机上所有的端口的配置选项设定。利用5?八、端口的特点实现监控功能已经通过公共 媒体越来越广泛地被网络管理者和安全专业入士所接受。 交换机将所有经过它的流量复制或是镜像到51 端口。站在 控的角度看,得到的结 果基本相当于将所有的分段直接连接到匕去:与网内?11 监控相比,采用5? 端口进 行监控有一些显著的优势。采用 端口监控的优越性体现在在大部分模式下它都可以 选择从你想要复制哪个非51 端口上的流量。这就允许你更加灵活的处理你所要监控的 流量的类型。因为如果你在内部安装了传感器,就可能坯要为你并不需要 控的人侵提供服 务 在这方面采用5?41 端口监控法比会出现关键点的网内监控法容易实现的多, 使用5 端〖:!监控法并不会给所要监校的网络引人单点错误的问题。与网内! !)监控 。
法相比,这是使用31 端门监控最大的优点。所要监控的网络屮的交换机上本来就存在 81 ?端口,所以就不需要在关键点处将线路断开了。采用 [ 端口监控法不会出现像网 内 监控法那样因为资源冲突而降低流量的情况。51 端「-1监控不会带来资源冲突的 问题,所以数据流仍然是按照原来正常的方式传输,.
使用3?
端口监控法就不再需要单向试探电缆了。因为5
"端口本身具有禁止任
'
何数据传输到所要监控的网段I:的功能。 这就可以防止传感器与不是监控段中的主机建立双 向通信的情况发生。
采用端I1监控法比网内监控法能够更好地解决网络规模的变化。当流量增 大的吋候.不再需要担心需要增加的4 会使单点错误增多。只需要让5?八X端「」来解决就 75
可以广。你也可以通过启用镜像附加段来增加通信流量。当所监控的网络要升级为高带宽网 络时,这个方法是非常有用的。可以先是只镜像一个端口,对 03的性能观察一段时间,并根 据需要进行 整。当311011的这个端口调整好了之后,可以切合实际的、循序渐进的增加别的 端口,要 意的是,千万不能一下子增加过多的端口。 如果存在很多5? 1端口流量很低的可用的交换机,且没有关键点,那么4以用5?4~ 端口将这些流量聚集到一起。可以再增加一个用来聚集这些流量的交换设备,这台设备可以 作为第二层次的5?八~端口,将所有的流量镜像到一个端口上-专用的-? 交换设 备可以用来将许多交换设备的端口的流量聚集到一台单独的设备七。虽然这种设备 很昂贵,但是它可以支持更多的流量,并且比添加一台交换设备更加安全可靠。 虽然在嵌人监控网段的几种方法中,5?
端口监控法比网内9洗监控法有着绝对无法
相比的优势,但是它仍然还是存在一些缺陷的。使用51 端口监控法将会降低交换设备的 性能。使用端口会使交换设备的内存负担过重,从而使设备的性能下降。对流量的映 射是一个非常耗费内存的过程.而且它并不是交换设备最主要的功能,交换设备最主要的功能
应该是传送数据流,因此,出现问题时,51 端口总是第一个受到影响的端口。当交换设备 的内存不够的时候,它会通过停止将流量映射到5? 端口来减少流量。一旦出现这样的问 题 是很难被察觉的,特别是当网络流量达到峰值时,偶尔才会出现这种情况,訧更难被发现 ,
!
当交换设备出现了内存过载的情况时, 0"却没有方法可以检测出来,所以这个问题是
'
很难解决的.除非你可以定期检査交换设备有没有出现丢包现象:
即使交换设备可以处理517山多端口的内存需求,5? 端口传送数据的上限值也只有 100 11 /3。你可能会认为现在就考虑监控超过100 " 厶的网络会有些超前。的确 目前 以311011现有的情况来说,是不能处理太大规模的流量的。但是这种现状可能很快会发生改 变 因为?0"的性能有了比较显著的提高。500"的商业投资公司, 化巧卅?,已经自称通过 对30011进行专业凋整后推出的企业版传感器已经可以监控千兆位流量的网络了。 8000也一 定可以做到这一点的,这只是一个时间的问题。 511八: 端口监控还存在一个问题,有一些品牌的交换机不能映射第一层和第二层的流量 虽然在这些较底层上进行的攻击活动是比较少的,但是如果没有检测到这些攻击,所带来的后 果将是十分严重的。用5? 端口法无法发现针对交换网络设计的试探器 例如& 附。八! 0:预处理程序失去作用。一些供应商已经开 攻击就是在第二层中进行的,它会导致 始将第一层和第二层的流量映射到端口上 我们可以预计在不久以后这将成为交换设 ,
,
,
,
备的一种标准。 5 3 .
.
3 181)5监控
嵌入监控段的第三种方法,也是最后一种方法,是在网络中安装一个分接器(丁叩、使用 ! 口监控是安置监控网段中花费最大的一种方法 丁叩监控同时具备网内8&监控法和 。
端口监控法的所有优势。分接器是安装在网内的关键点电缆上的一种设备.和8
很
相似。
得益于分接器的内部设计的特点,所以它不会引入任何的单点错误。丁叩监控之所以具 备这样的优点是因为分接器可以支持一种被称为无源连接完整性的功能。即使分接器出现断
电或是发生一些故障,经过它的通信并不会被中断。这是与网内 76
监控法和3?
端口监
控法相比而言最大的优势。无源连接完整的特性使得分接器成为最可靠并且错误最少的一种 监控工具:
购买时要 意一 问题.现仵市场上供应两种分接器:一种8允许数据单向《专送,-种可 以双向传送数据。如果想要减小传感器双向传输的危险,你可以选购单向分接器。但是在有 些情况下,你4能会需要双向传输数据,例如网内数据包的过滤和人侵防范。所以,最好可以 购买-个可以分别调节为这两种设置的分接器. 与网内9 监控和 ! "端11监控相比,使用丁叩监控还有一个优势就是它+会影响或
是降低经过它的流量。分接器不会像那样由于包冲突而导致流量下降:分接器与交换 设备是相互独立的,所以它不会影响那些用于传送或是监控流量的设备。不问于端 口 分接器可以映射第一层和第二层的流量。这样你就可以检测到八 ?攻击以及其他一些底 层的基于网络的攻击。分接器是惟一可以保证传感器可以接收到每一个在网络中传送的数据 ,
包的设备,同时.它不会使所监控的网络的性能下降。 分接器最大的缺点就是价格太高。分接器的价格是网内9
的十倍多,是带有端
口交换机的两倍左右。正是因为如此,丁叩监控只适用于一些安全预箅相当充裕的大中型机 构 对于小业务和家用网络来说,还是比较适合采用前两种方法。 。
5
4多传感器分流
.
如果你可以在一个大公司里配置化3,你将非常有可能可以亲自体验这种情况:你需要在 一个位置上监控所有的网络流撗 但是网络的流量将会超过单独一个?0 传感器的处理能 力。在这种髙带宽的情况下,人们很可能会冒险成着通过整理规则库中的大量的规则来调节 ,
0「1,以满足可以在流量很大的情况下使用一个传感器:或是关闭一些产生不重要的警报的 预处理程序.如 " ",但这同样是一种很冒啥的做法。虽然这些措施比丢弃数据包或是 直接放弃监控要好一些,但是事实上我们还是可以有更好的方法.可以保持传感器的大部分的 功能。
如今,大的公司通常都有一个主干网可以支持千兆位的网络传输。主干网负费传输公司 的所有的数据流,是人侵监控的一,重要的对象。这仍然还是会涉及到这个问题:一个知00
传感器并不能处理千兆位的流量。目前有一些方法可以解决这1难题,我们可以借助硬件将 髙带宽的流量分给几个传感器来处理。
我们可以采取分割流量的方法,其中一种非常可行的方法就是给每一个传感器分配不同 的通信段。如果你打算配置两个传感器,一个解析从0.0.0.0/4传送来的流量,一个解析从 128.0.0.0/4传送来的流量.你就可以有效的实现将流量在两个传感器之间的分配 由于 50 1的内部结构,两个传感器中的预处理程序都会解析流量。这种方法不能均匀地将流量在 匸
两个传感器中分配。当然,除了这种方法,还有一些其他更有效也更昂贵的方法可以分配流 我们可以使用103负载均衡器来将流量平均分配给一组传感器。这样就可以保证不会 有任何一个传感器会负载过多的流量。负载均衡器可以支持8个传感器同时工作来监控同一 个网络,
负载均衡器要与分接器配置在一起使用,无论是在千兆位网洛或是全双工环境中 分接 。
77
器的嵌入方法和前面所描述的是一样的…负载均衡然将分接器获取的所有的流量接收过来然后分成几组传送给传感器组-负载均衡器的作用就是给每一个传感器分配一个监控链路, 这些传感器 以组合到一起,并且它们的流量是可以调节的。 如果要在【1)5的配置屮使用负载均衡器,负载均衡器必须支持全状态镜像。因为当负载 均衡器分配流量的时候,全状态镜像可以保证传感器可以继续接收正在跟踪的一个会话的数 据 如果负载均衡雜是随机分配数据包的,那么传感器接收到的数据流将会被中断,这就会严 重影响入侵检测工作。攻击者一旦知道出现了这样的问题,他们就会很容易地抓住这个绝好 的机会来发送基于会话的攻击,这样的攻击是没有办法检测到的。所以,任何一个负载均衡器 都必须支持全状态镜像,这个条件是非常重要的:: 负载均衡器最好可以提供一定的冗余度。可以通过添加附加的传感器来嵴加人侵监控的 处理能力.这样可以确保硬件错误和系统崩溃不会使103从整体上受到影响。这还可以帮助 你在所监控环境中测试传感器的新配置以及 1011的&13版本,这样你就不再需要担心进行 -些没有经过测试的升级会使监控的能力下降了的问题了。带有多个传感器的负载均衡器还 可以帮助你减轻必然存在的网络流量峰值问题以及发生恶意消耗系统资源的1 攻击的问 题 使一些重要的网络关键点匕11)8的能力有一定的冗余 这样是绝对不会带来任何坏处 ,.
。
的
,
:
和分接器一样,负载均衡 最主要的缺点也 价格太髙。一个带有千兆7叩的负载均脔 器比带有 101传感器组的负载均衡器要贵得多。一般只有在网络流量要达到今双工或是下兆位的水平时才会考虑使用负载均衡器。 5
.
5小结 这―章中我们主要讲述了如何选择配置 011吋所需要的硬件和
件,选择适当的系统
资源可以避免出现丢包的情况以及随后出现的一些错误。在配置&100时应诙选择什么样的
系统资源并没有一个固定标准。因为要估计5:101"【所需要的系统资源是相当困难的,会受到 诸多因素的影响,如 100的内部配置和所监控流量的内容,这些因素都将大大的影响 ! 时 对系统资源的需求。
&07!的传感器和服务器是非常吒费资源的平台.因此它们需要的硬件资源最多。相对而 控制台所需要的硬件资源还是较少的。在购买设各吋,我们经常会忽略网 事实上 这1 器件是相当有用的,可以帮助系统处理一些进程,减轻系统的负担。 51)0 可以在许多不同的平台上运行,但是总的来说最好的选择是在 IX平台运行 51101~ 操作平台的安全性和稳定性都是很不错的,而且还免费提供了很多 以辅助 01-1运行的应用程序。对于 0X1来说,开放源代码的1 【?;操作平台 如和330,都 ,
,
,
是不错的选择。
在进行?03配置时,安装监控网段是一项必不可少的I作。在现有的网袼结构中插入监 控网段有三种方法:网内监控端口监控、丁叩监控。这些方法依次越来越安全 稳 定 但同时花费也越来越髙了。花费最少的就是在网络关键点上安装网内41 利用?的 固有特性来对入侵进行监控。网内 监控需要装配单向试探电缆来保护传感器 要注意 的是网内14 控会在所监控的网 中引入单点错误 并且还会降低网络流量 、
,
,
。
,
78
现在的交换设备上都具备 ?. 门上:9'八、端门可以将所有
端口功能,这个功能可以将选中的流量镜像到专用的端
过交换设备的流量镜像到自身这个端口上。八川端口监控
冇很大的优势,它不需要单向的试探电缆,而且不会降低网络的流量。但是端口功能
会使交换设备的内存消耗太大。当交换设备的肉存使用达到上限值时,交换设备会停止将所 有的流量镜像到31 ?端口上。而且8? 端「I不能镜像第一层和第二层的流量,并旦不能 输出在全双工情况下超过标准的流量。
在嵌人监控段的三种方法中,了叩监控是花费最高的方法,但也是最安全、最稳定的方法。 分接器(丁冲〕具有无源链接完整性的特性,所以即使分接器的电源断了或是出现什么问题 并 不会中断数据的传输。分接器也不会降低网络流量,井可以映射第一层和第二层的流量 所 以我们说了叩监控法应是监控网络的儿种方法中的莨选方法。 人侵检测还会使用到一种硬件设备:108负载均衡器 负载均衡器可以将流量平均分配 给多个传感器,这样我们就可以用多个传感器来监控髙带宽的通信数据流。采用这种方法可 ,
。
。
以用来监控千兆位的网络。116负载均衡器还可以用来增加冗余,井可以测试新传感器的配 置
',
19
第6章建立服务器 在这一章中,我们主要对如何配貲-(对服务器做一个详细的指导说明。510"服务器的 主要作用是完成对人侵数据的收集和分类。当服务器接收到传感器发送的聱报后,就将这些 )的管理程序,将这些警报 饕报存储到人侵数据库中。然后就可以使用有用户图形界面(( 进行逻辑上的组织和分类。
读完这章的内容之后,你将可以配置一个功能完普的幼 附服务器。伹是要提一下.阅读
本章的内容之前,你需要具备一些关于命令的基础知识,如果你对一个命令不太确 定 可以求助于一些参考书或是在线的资源。 .
61安装指南 本章所讨论的安装?0!"1服务器的指导说明都是基,平台[:.的。我们之所以选择 "(!化平台,是因为匚!!:
出色的稳定性,安仝性 并且#庞大的支持团队,而且可以给我们提 ,
供大量可用的应用程序。虽然还有一些別的操作平台也&备稳定性和安全性,足如 今影响最广泛的讦故源码的操作平台 要指出的是,我们在这里所选用的平台是红帽子(只 430发布的7.3版本,如今这版
本已经比较普及了.并且一些技术支持是需要付费的。如果不使用红帽子发布的版本,你会发 现安装过程只是稍有不同,并且也可以实现需要功能。虽然你希望永远不会需要用到红帽子 公司提供的付费技术支持,但是你应该很高兴知道这-点:如果你需要这些技术,红幅子公司 就可以提供给你: 6
2闩6 1 !"131
1口X 7.3的安装
.
尺"1
(1 !
是可以免费从网卜 下载到的。你也可以在计算机商店里购买到:如果以 -
前(尔安装过"!!-,那么安装1 (1 11 对你来说铣会是-非 简单的过程。如果你没有安装 匸" 的经历,也不必着急,因为安装过程中都是图形化界面,十分的莨观。初次安装时 50果 在什么地方遇到了问题(例如,显卡不支持图形窗口系统〉,你可以在网上找到大量的资源,帮 .
助你解决这些问题,除非是在这一章中特别提到的地方,在安装过程中最好是都使用默认 选项。 6 2 .
.
1分区策略
&!0"服务器必须要为人侵数据库提供足够可用的硬盘空间。在这一段中我们主要介绍
安装?加打所需的分区策略。在硬盘分区设置的屛幕上,选择手动分区.你将需要建《四个 分区,点击" ;
新建)"按钮来依次创建这些分区:
引导分区:大小为40\415 挂载& /! ,
80
下:
V交换分区:大小为10241 ,格式类型为 冲。 争乂 分区:这个分区应谅占到整个硬盘空间的1/3,至少要有"大小。设置成挂载到 7下。
9主分区:选屮'下;11 10 1113X101 171 ; 0呢出!6 ""使用现有的全部可甩空间) 这样就将剩 "
,
下的硬盘空间都分派给这个分区。 6 2 .
.
2网络配置
在"力的I?地址设置消息框中,不能选屮"使用进行配置"这一选项。!)! ::! 动
态 机配置 议)用来自动为主机获取并分配--个化地址。如果服务器重新启动,! ! 1很 4能会给它分配一个不同的19地址:一&服务器的II'地址变了,就会导致与传感器的连接 发 铅误。因为传感器使用的是同定I?地址技这时就需要修改传感器的设置。所以说, 最 以确定一个静态的I「地址。 服务器的I? 8能使用专有的81 # 10 0 0 0-10 2 .
.
.
.
.
19】8地址:下面列出了可用的!
"
地址的范
:
255.255
.
# 172 16.0.0-172. 1.255.255 .
,192 168.0.0-192.168.255.255 .
这些地址在正常的情况下是不能经过路由连接到因特网的。这使得外部攻击者很难人侵 116监柠网段上的设备。虽然这并不是十分安全的控制手段 伹是也是安全策略中一种额外 ,
的防护方法: 6 2 .
3防火墙
.
置
在防火墙配置界面上―,应该选择'?。( ?』〖无防火墙)"选项。服务器是不需要有防火 墙功能的,而且也不应该禁用任何服务。此外,服务器应该是在11)3监控网段上的,这个网段 所有其他的网络基础设施是分开的,如粜你想将服务器放在防火墙的后面,让分析控制台 可I"方问它,那么防火墻要作为一个单独的13:备来配置。 6 2 .
4时区选择
.
只冇保持 0「1传感器和服务器的时间同歩,才能使事件有相关性,如果不能保持精确的 同步,是很难将安全事件拼合到一起的。 调查事件与调整时间 对于调査涉及到外部甩户的安全事件来说.时间的精确是很重要的。一些比较大的机构, 特别足181 !!! 服务提《共商),拥有非常多的用户或是客户,他们使用的都是同一个 地 址存铑池。在一分钟之內,这些地址可能已经重新被分配过好II次.而且是分配给几个不同的 用户使用。在这种情况下,如果你的103时间 能与一个可靠的外部时钟服务器精确的达到 同步,将不能确定在某个时间段内是哪个外部用户使用了这个进行了攻击行为的I?地址。 如果时间都不准确,那就很难根据一个发出攻击行为的『地址找出真正的攻击者。即使 你能够确定这个发出攻击行为的I?地址是某个攻击者占有的 但是如果没有完全正确的时 ,
间,那么所提供证据钛会存在不一致性。如果要对这个可疑的攻击者采取法律措施 这会带来 ,
很大的麻烦。 81
网络时间协议( 叩)是专! ]用来调整时间同歩的工具。你应谈选择"通用协调时间 (! ! )偏移"标签,然后指定你的时区。此外,你必须要选取 系统时钟使用1X1 "这个选项。 '
"
6 2 .
.
5账号设置
为服务器或 任何重要的安全设备设置账号的 候,一定要给这个账号设置一个强密 ),强密码至少含冇10个字符.并且是由字母数字(例如,/"汇'123〉和特殊 码! ?! 字符(如组合得到的。密码越健壮,密码破解设备就越难将密码破解出来。 6 2 .
6选择需要安装的软件包
.
我们必须安装以下所有的软件包: X 』0?(标准X窗口系统): # X砑― (乂窗口系统): # 1 01; 01- 01 01
(! !
或是0X01
桌面系统);
參 6 01-11 5叩!30"(网络支持、 9 [ & )通 工具 化'丁 " 01110 1 ! 6?! ; !! 著作和出版:!; 攀&!!化"1 111305工具); ,1;1;1;1
(实用工具、
攀80(1 1 06 101)17 11"软件开发卜 安装 讲; ??主要是为了以后可以在图形模式下使用服务器强化上具。如果你喜欢 在非图形界面中使用这个.1--具,你完全可以删除X化; 。如果称不想安装X ? 也不 会有很大的影响.仅仅会使诙工具的性能有一些下降。 6
.
3后安装任务 安装好尺&
110X7.3之后,还要完成儿个后安装任务,虽然比较简单.但是对于服务
器来说是必不可少的。首先要做的是安装最新的补丁,这也是最重要的一个江务:这些补丁
不仅可以堵住严重的安全漏洞,还可以修复一些使服务器性能和功能下降的6叱。 你可以使用扛帽子在线服务来自动更新服务器,或是在下面这个网址来下载你所需要的 补丁:
安全补丁的标志是一 1打开的挂锁的图案,而 8修补的标志是一个着上去像个钧姝一 样的小虫图案。只需要简单的浏览这些条目,就 以选出并安装你所需要的补丁。 完成]"服务器的更新后,基本解决了服务器的和漏洞的问题,第二歩要做的就 加强 服务器的安全性。在"11化配置的加固过程中,采取手动处理或是半自动处理都是非常有效 的方法。但是我们要注意这样一个重要的事实:如果一个服务器被完全加固了,它也就不再具 备任(可功能了,加固的过程中将会逐渐减小设备的可访问度,这就增加了控制的安全性 个完全被加固的服务器将会拒绝仟何访":我们对眼务器进行加固 只要达到可以防止大多 一
:
,
82
数种类的错误操作就足够了,同吋我们还希望服务器具备一些必要的功能。找出过分加固和 公开访问之间的这条细分界线付不容易,但是只要经过一些实际操作后,你就可以确定这条分 界线的位置了.
如果是一个々经验的用户,或苕希望可以提高1;0 的安全性能,可以仔细阅渎一个有关 加固"!! 的在线指导。按照 化.化8说明的步骤.就可以配賈出一台安全性能非常不错的 0.1服务器。可以从下面这个1;!? 得到歩骤指导:
698(1116 1 111 !!
!116 !.
闬来提高
是一套可以自动加面尺"
1或1 31
31
匕[!!化设备的脚本。它同样可以
-0X操作系统的安全性能。如果(尔喜欢自动加固的方法,或是担心在手动加固
时会遗漏一些东西,你完全可以选择使用8 111 要注意的是:使用6 1;
匚
"
乜:!化不是十分保险的。它采用仅仅是由00"社团开发出来
的加固系统最佳安全方法。
此它并不能检测出所有应该加以注意的配置。此外,&1
116
还会修改一些设置,而这些修改对于一般的31101!服务器来说是不需要的,可以自动完 成加固功能的工具是永远不能収代全面的系统安全知识的,但是对于还没有人门的入来说,这 样的工具可以作为一个入门的起点或是指南.. 匪最大的优点就是 个的安装过程都是可以回滚的:如果你运行了 脚本, 但是有一个重要的应用程序不再起作用『,这时你可以去下载''还原"脚本。这个"还原''脚本 可以将835【[化所做的改动全部还原,这样你可以1:新对主机进行加固。 ; 09 的可视化图形界面版本自带一个恃殊的内部文档。当你是在图形界面时 会对你所启用的功能做一个说明。这对于想学习"! X安全知识的人来说.这个功能会给他 们带来很大的帮助。如果在加固011 方面很有经验,并不需要这些内部文档.你可以只使用 11&的文本界面版本。 "!!
'
可以在下面这个网址下载到&31;1 :
在这个站点上需要下载以下 个文件: 鲁 381 16 "曙8刚;
攀13351111
I-'11
3
1( 1咖"""图形模块);
下载完成后,就可以安装这二个文件]这时,可以借助于1 (1 包管理器0《出 311 ")来自动完成83 116的安装 893【 116是可以在自动模武下安装的为 ,! : ;
数不多的几个软件包或是应用程序之一:我们可以在下载目录下运行带有力0
选项的
田'"安装命令:
加上力0
参数可以防止在安装过程中出现因为不满足包的依赖关系而发生错误的情
况。设置软件包的依赖关系属忡是为了阻止安装这样一些软件包:在安装了这个软件包后却 83
没有任何作用.如紫藝使用它,还需要安装另外一1、钛件包,然而,在&! 化的安装过程中, 我们滞要忽略它对别的软件包的需要.所以就要在安装命令中使用-"0 "参数,-安装完 软件包后,躭可以安装匸" 以及1?1形化接口了 休操作是&下载目录中 执行下面这条指令: 1
1
卜6
11 1.3.0.1.0.1386-11101【
!!卜1 -0 111
1 ,3.0 1力,1380,,1
现在,已经完成了 的安装以权限在命令提示符下輸人101 8( 令,这样就可以启动一个加固迸程这吋会进入8 1116的图形化界面,如图6-1所示
1
命
~
(!&; 口,"
!"
VI 2 0 91 斷
9
&II&VII鲁II
0 64111
1 1*9 1001 (!"必", & " 7的 ,"( 暴"11*14*1 ,"咖( "
0
01*1
(
鲁鳥0【釁窜着61 4霧"
I
III 010 ( !1亡""事"'( ) 1&14 一" !0 111 1 19 1011.
9 1 0 1* *11 0,?!!
1011加 0
14)1 !)
&10 30 *01
7 !、
、辠'
图6.1
!
"图形用户界面
以询问的形式列出加固选项,并会对每个选项做一个简单的说明,询问你是否希 望启用这个选项。除了少数几个选项之外.其他的都可以通过选中-丫 复选框来启用。在下 面的几段中,我们将对一些特殊的情况加以说明。 1闩16 口6而! 文件权限) 除了下面两个选项.其余的都选中:
鲁对根用户保留一啄操作; 參对根甩户保留11) 101 搛作
。
1 18橾作和11 1 10操作并不是十分危险的如果有人危及到你的服务器安全.你应 该担心的 他的操作会给系统带来的危险,而不是|,; 08搡作。 !
.
00
\ 5600「1~(帐户安全)
1X301 !?;! 禁止使用 1身份远程登录)" 选巾所有的选项除了" 1 :1108 通过桀止以 01身份进??远程登录.可以有效的迫使拥有权限的用 只能作为挣通 用户进行远程登录。用户必须在登录后才能转换为!00【用户。这可以防止只是知道001密 码的攻! 者登录到系统中』禁止以1 1身份远程登陆是一个比较弱的安全措施 并且存在争 。
,
议
。
如果你觉得应该登录两次才可以获得远程『001访问权,你就应该选中"1 11 11 : 10化
001
身份远程登录) 选项。 "
(禁止使用"
8001 560 1?(引导安全) 选中所有的选项除了"! ; )!:! (:丁尺1 \1;口1 ;1 ;1 1 1300【(禁止使用(:! 匸-化丁! :! 丁2甫启系统)"。禁止使用 1-1化-八1;14 ;1工11:功能只是为了使重启系统更困难一 些 如果有人能借助键盘进行物理人侵,重新启动系统,最大的可能就是将电源切断。这和 3
」
。
(:!!
-八!
-!
! :!
的效果是―样的:.
1 56011「6 1116化《端口监视程序安全)
选中所冇的选项除广'0* 11 ;! 叫:"3叩 和&! )",) 01531316 1)56 「丁 。。
5
加1170?诃「31
「5和乂; &(:系统默认拒绝10?
禁止用户工具)
00: (: (禁止使用000编译器)",在编译并安 选屮所有的选项除「0 装了 3001 服务器必要的软件包后,就禁止使用00(3是非常有好处的。在所有的安装过程结 后,你可以再访问这个选项。 (
?"(
1 113061131160115
3「301616「3【配置其他参数)
(限制资源使用)"。如罘选屮这个选项,就会 选中所有的选项除了""11 1 0300 0 ] 对资源的使用做一些限值,例如文件的大小不能超过100 6等等,这将会妨碍到服务器的功 能。如果你对资源的使用做了限制,将会严重影响用来存储人侵数据的数据库的性能 。
?
.
1 150611360115 [
!! )!!"各种守护进程)
选中所有的选项除了"01331
( ]
禁止(?正 )"。借助01
(001
? ,通用宏处理程序)在文本应用程序中使用鼠标是十分有用的 的安全风险。
1-1X186 1\130
10
且并不会带来什么明显
,
"发送邮件)
8
选中所有的选项除『"? 1 011 8611(1111 11伃001 ;II 0&6111011 1 0 (禁止在守护进程 模式下发送邮件)"。虽然发送邮件功能给系统的安全带来了很大的风险 但是服务器仍 然是 要这项功能的,因为我们需要在守护进程模式下实时发送警报。 ,
「I 「&
防火墙)
禁止所有的功能。因为我们不希望在服务器上运行.-个防火墙。 10. &0「1303113
06160 0「《(: /
)【端口扫描攻击检测)
禁止所有的功能。我们主要是通过 10)1传感器来对网络结构的端口扫描进行检测的
。
11.完成8351川6
加固
选定你需要的选项后,133 就开始运行脚本!"。运行结束后 如果你觉得对服务器的 加固程度有点过了,并且一些进程并没有启动 你 以撤销所作的修改。只需要在下面这个网 ,
,
址下载"! 』"撤销)"的脚本:
然后你就可以重新运行
1;
,对选项直新选择 撤销你误选的选项。 ,
85
6
.
4安装3 x1服务器组件
想配置一个完善的 011服务器.就必须要安装一些 '化服务器组件,这一步的工作是非 常重要的到8前为止,1允"X系统已经完成了 1111固,虽然功能还不完善.伹是已经&备了6 主要的功能,如果你安装的不是!?"]而是其他操作平台,所作的操作和将要介绍的也只 是稍有不同二其他版本的系统的文件位詈、目录以及其他一些组件可能会有些不同。 在安装这些组忭的吋候,耑要按照说明的宄后顺序来依次安装,这一点是非常重要的。冈 为有些软忭包必须要在另外一个软件包安装完成后才能进 编译和安装。安装的过程中,满 足软件包的依赖关系 非常审要的.否则在安装时就会很容易出错。 在为 服务器安装软件包的过程中,可能会发现一些软件包现在提供的版本要比书屮 听说的版 高:当遇到这种情况的时候,最好是安装最新的版本,而不是 中所提到的版本.
大部分开放源码的程序在新版本中都会做一逃改进。新版本会将 8修补和安全补丁都融合 到代码中,这就提髙了安全性以及稳定性。如果在安装新版本时遇到了问题,也可以安装6中 所提到的版本,这样你的?。「 服务器也是可以工作的。
&」9 !' 对于书中提到的大部分的应用程序,我们建议不要便用! ? " ),而是直接对源代码进行编译安装。如果确实对尺出 1不熟悉,町以使用 ?"来帮助 自动完成软件的安装。如果使用 ? ,那么全部的安装过程对用户来说都是透明的.用户只 需要手工地解决依赖关系的问题,即要安排合理的安装顺序犹可以了。 使用 ? 的确是一个非常 错的方法。它们使得I丄" 的使用容易了很多。但是也存 在明显的缺陷。最大的缺陷就是并不是所有的软件包都支持!?? 。在管理01!-的过程中 不"I避免的会遇到这样的情况:你听要安装的软件并没有[ !。所以,最好还是要学会怎样 处理这样的情况。一畋来说, '乂不会和源 !?的发布一样忟的。做 ?"并小是很闲难 的
但是大多数源代码的开发人员更愿意将精力投人到新代码的开发中。所以软件的新版本
,
发布后,会过一段时间才会出现对应的1?? 。通常 1 1并1、-含有针对-兼容性问题的! 呢修 补以及安全更新。此外,!???会安装一套默认的软件。这就可能会在你的系统中安装-些你 并不需要的软件。汴没有什么方法可以很便 的编辑 ?",或是选择安装选项 所以无论 尺! !的制作者设定是怎么样的 你只能遵循他的设定,没有办法修改。 正是由于这 原因,本章介绍了在 1011的安装过稈中如何使用源代码进行编译和安装。 其实使用源代码并不像听起来那么复杂,也不会花费特别多的时间、只是在安装中会涉及钊 ,
一
特殊的命令
。
6 4 .
安装(
1
.
1
亂
概述
.
0 1183二足一个幵放源代码的工具, 以实现;3 -1: 30 63 1 「 安全套接字层) 1-1 和1 5 !" 传输层安全) 而且,0|站带有一卜通用加密库,这个 ! & ! 库"I以支持强加密算法:85匕协议非常广泛地应用在给会话加密中,其实它也可以用在 其他网 设置屮使用。(―) ! 1 之所以得到丁泛的应用 是因为它的安全性很好,并0使用很 1的支持下,851几乎可以对任何类型的会话进行加密 方便在附加的软件包31 ,
.,
,
。
86
对于?0 的胀务器来说,( .! 可以对服务器和传感器之间的会话加密。传感器上 的3001!和1 11! 产生的鱉报是通过丁('?会话传送给放置在服务器上的人侵数据库。从 些力面来说,对服务器和传感器之间的会话加密 很重要的。传感器向数据库发送的身份 验证信息是以纯文本的//式传输的这样的活,攻 者可以16听到登录名和密码.然后以传 感器的身份 问人侵事件库。也就足说攻击者"I以向库中插人误报或是其他数据来破坏 10、还 注意一点,除了验证佰息,人侵数据本身也 通过明文传送的。因此攻击者就可以 通过査看数据库,看看一些攻击 否已经存人数据库中了,甚至可以通过查看数据找出网络 屮存在漏洞的主机;正是由于这些原因.我们建议使用0对传感器和服务器之间的会 话进行加密。
(、 也用于对控制台和服务器之间的会活进行加密―控制台使用化 浏览器访问人 12数据,而0 851原本就是用来对911?会话进行加密的。对控制台和服务器之间的会话进 行加密的原因与对传感器和服务器之间的会话进行加密的原因是一样的,就不再重述广。 2 安装 一
安装化??
.的第一步就是要下钱源代码,可以在下面这个网站得到0 :155匕的源
码:
我们会发现有两种版本的源代码:一个是0 :1351的,另一个是01551 -611811 的,在 安装巾我们使用的是0 053[源代码:0 11881 与( ! 大体上.非常相似, 足 它还包括一些可以实现对硬件加密的代码:将(??? 的源代码的I玉缩文件下载下来 冇 )。这种压缩文件通常都是131"!XIII的形式。在将这些文 储到一个目录下(如/" /! 々?! 件下载后,你还需要进行解压缩。命令格式如下:
3!1 压缩并放置到5为0 : 1-0.9石8的子目录下 这个加命令会将( " 参数指定&!"命令将所有的文件解压縮。-2参数指定在用仏「解压缩前使用& 过滤圧缩文 件 这就需要解压文件中的.&部分.把当前目录更改到刚才新建的目录下,使用下面这条
X
-
.
,.
命令对源代码进行顸编译:
?X)I?61I 1 1;1 参数 以禁止在; ―密码组( ! )中出现空密码空 密码允许输出未加密的纯文本的数据:空密码会使01 1331毫无作用,因此最好不允许使用 空密码。源程序准备好了之后,使用"0131 "命令编译源代码,然后使用"! ! 1 111"安装源 -
I)85I-
.
代码。
如果不出什么意外的话,现在;,',/-谅 经将0 185匕安装到311011服务器上了 默认情况下,( &化会被安装到"目录下。0 718 由以下这些重要的文 。
件组成:
111x1-
10 3:通用的密码加密例程,包含:加密密码(!;出& .
消息摘要( !!" , ]
,
),公共密钥(! 八,1
, 1)1〖&-
4/2 810
15 , 11 /0、
【!! !!)】.509证书(通过专闬
的密钥进行加密''解密),除了这些,还包括多种其他的例程。 7
9 0 11331:用来访问0136058乙例枵的工具,可以在讥 邓 ).3中得到。 # 1
1
.
3; 351- VI
2和丁 13的源代码。
接着.还需要完成嚴 一个安装歩骤,这样其他软件包就知道01x 831软件包已经可以 使用」\大多数""化应用程序在运行的吋候都需要库程序在默认编译过程中会 用一 1、 或很多的动态链接库0)1丄)。这步完成后,你就可以更新库了,所有使用这个库的软件包也就 4以升级到新的版本。
尺"931中,-当启动一个程序的时候,需要检索文件|7加 1丄50. 01 所以我们需要在这 个文件中的列举库的清单巾添加0 551 也就是说必须要编辑I丄30.001 使它包含 01: 5 我们可以使用「面这个命今打开这个文付:
是大多数口!! 系统都可以提供的功能很强大的文本编辑器。在命令的最后加七 "&"符号,这样你就可以继续在命令行下使用 33文本编辑器了:如果你想恢复到
-
?! 3会话中,只需要键入&工作编号即可。 启动后,你就町以在1 1. .00111文件巾添 加一行/! /! "/] 保存然后退出。运行1&011 ;命 来更新新的共享库:现在,已经成功 的安装了 0136!1851~ 6 4 .
2安装81蒙61
.
1
.
概述
1是一种程序,用来建立并维护加密的会话,&―!
程序是一个加密包装壳,
511 化1可以对远程客户机和本地或是远程的服务器之间的会话加密。如果一些服务没有使 用551技术,3 股1可以使这些服务与客户机通信在安全的 1信道上进行: 31011061可以在普遍使用的;化"守护进程屮添加55匕加密功能,如?0 -2和服务 器 而5需要修改程序的源代码。3(11-61 "以保护任何使用1 1'并且不需荬两条信道进行 .
通信的协议【如?"!?)。 311 1161本身不提供任何加密例程。它需要一个辅助的库来对数据进 行加密解密。辅助库的首选当然就是在前面的歩骤中已经编译、安装了的01x 551 3 , 对所使用的加密箅法的类型并没有什么限制。 5100 1支持会话缓存技术。任何时候建立一个链接,都要进行许多握手的过程 服 务器和客户机需要判定它们可以相互使用的是哪种加密密钥、使用531哪个版本以及其他4 安全会话设置相关的问魃。这些信息都包含在一个会话的10中。 报务器和客户机都要在缓 。
存中存储这个会话的10。存储了会活的10,在建立了
[会话后,我们就可以省略对资源消
耗很大的531握手的过程。
如果客户机向服务器发送会话10,服务器识别出这个10后,这个会话就被保存下来!"。如 果客户机没有有效的会话!!),或是服务器不能识别发送来的10号,这个会活就会被断开。这吋 就需要重复握手过程。在服务器和客户机上都使闬了会话缓存来保持会活的有效性 有二个呈本的功能,这些功能 传输数据的加密相关: 它可以接收未经加密的数据并传送给581服务器 1可以接收加密的数据 并启动一个应用程序来利用加密的信 秦311 。
,
,最后 它可以接收加密的数据,将解码的数据传送给远程主机。 ,
88
。
2
安装
对
103服务器来说,将会使用到31 1
前两条功能。可以在下面这个网址下载
81: 0011 1 :
把& 安装&缩包卜载到你的下载目录中之后,必须对它进行解压,这个过程和 , !, !.的解压力'式是相似的,可以使用7面这条命令:
解压完成后,转换到新的3
1 1源代码的目录下3化111161-3.22.1&。在这个目录下,
键人预编译命令:
如果出现一个错误息I::纖。1 (' 8 〖 化V ;爐1131爾在安装目录下没有发现 库〉,你并不用着急。这个错误信息很可能是由于没有将化? .安装到标准的13录下 造成的。如果你巳经将(:) !! [安装到了非标准的其他目录下,需要镩入下面的命令来修改 !1
1选项; :
/(
[[
1111-661 ~
1 1/10
\/!!!]1-31165
然后就可以进行编译安装厂,使用下面这网条命令:
1113
个』
至此,已经将5化111
安装到你的机器上井可以运行了。现在还需要做的是对5(01 61进
行一些安装后的配置
,
配置
1文件屮,&―! 用这 服务器必须有-个专用密码:这个密码包含在! ! "?〖;!"秘密增强邮件)的縮写,现在不仅是电子 个密码来识别身份。 〖是?!"!? 邮件的密码,已经成为一种公认的密码格式。 每一个 !!!!!
这个专用密码放置在这个目录下: /!! /! 」':
每一个311111
11:
1:11。1 1 ~ 1X111
1安装后的默认密码都是一样的,这就会带来问题 默认的密码是在― 。
11丄0巧网站上公开的.这就意味着任何一个人都可以使用这个默认密码对会话数据进行加密 和解密。如果你希望传感器与服务器之间的会话是安全的话 可以不用这个专用密码。值得 ,
庆幸的是创建一个新的专用密码是一个简 的过程,如图6-2所示。在
1源代码目录下
键入下面这个命令:
这个命令会将新密码写人51 1 1. 1 文件中,将旧的密码覆盖 新密码在一年之内都会 有效。使用831库会||动生成这个密码。生成密码之前将会询问你一些问题。你只需要输 ,
人实际的信息就可以了。最后一个问题比较軍要:会问你的公用名或是有效的域名( 你必须保证填写的?是311011服务器真实的主机名。如果不清楚主机名是什么
) ,
:
可以通 89
1參56*11011 50叫-叫
16詹1
0
001'"一
9110
1010 1#3
9 1024 1)1
1 510
14 ',!I 一"
0*11,1 1
7 19 9 9 601 1 X1 4 1 1*0 909 ?直"4 『"! 1 ! ?0 9019 101(11 11101 滅111 60癧 !! . 1『 911 '人09广""VIII 10!'1. 。! . 51 9 0纩 1 0*111
0 10
0化""?一,【50一-51 10*10
詹】:111
0 * 17*1.100 1一 (,, 00*134 151 *1*1 00 101 01*8葡1 X0 (,, 6*1:"00,【】: 101 00 !!
!
0 一 1 00
。一」巧!-
1)1
03
1.( 1:1 02101 10 10109101
301~ 一''"『,1100*1 10* 3:1
0
)巧 "
!
2
.
图6-2创建一个新的&!4111
过键入1x 1
命令来査寻
证14
如果你填写的主机名是铕的,在违接到服务器1:的吋候,5?
恥|客户机会接收到报错的信总
你可能还霈要修改访问3山111 1.1 1文件的权限,作为一项安全预防措施,我们规定如 果这个义件被! "以外的人访问的话,5?01161就不运行。1*1为没有办法给这个文件没&密 码 所以任何可以读取文件内容的人都可以窃听通信内容,并可以威胁5000的安全。正是由 于这个厥因,我们一定 给文件设贫[!:确的访问权瞅可以通过下面这条命令 ,
来修III权限:
1更新的安全版本: 配置8111111161的录后一个步II是在々1 361 068文件中列出! 561 063文件是用来保存一 已知的可用的服务我们可以使 ?化 或是你熟悉的文本编 器在这个文件中插人下面这行文宇: 171X8 1& 3307/10
这犹究成广在!
打股务器上的511 061的安装.
想0动、1,"化I可以使川下面这条命令: 100
卞 11 6 4 .
.
3
10061
100|1
111 3111111|1?1 6
4 127.0.0. I :3306
00112 &111111161 \101\ &
安装01)6115511
可能会通到霈耍远程登录3110"服务器的情况, "能将服务器故置在牛 产式的环塊屮 或垲一个不方便进人的架子上。也可能会不得不将一些比较大的文件拷贝到服务器1:或是从 .
服务; 卜.复制过来.如日志文件或是人 数据:还可能会希望在管理员的控制台I 成维护或是处理锘误的工作7通常來说,要想实现这些功能.一般会使用不加密的
、
90
以完 不安全的
协议。但是如果 用(
; ] 就可以实现远程维护,并且不会危及知-1服务器的安全。
!珐一个实现了 8814协议的开放源代码的应用工具。 8可以在服务器和客户
(
机之间诖立安全的会话或是数据传输,这I、方法对用卢是透明的..0 :1 ;4提供和其他安全 性差一些的协议同样的功能.例如: 警
攀1-11 111 攀7
#
11
0 1! 化1,
:通过对证|5和会话数据加密来维护系统的安全的..早期的一些协议I如14
「?等等)是直接按明文发送用户名和密码的:而且,在这些协议中,数据都是以纯文本
的方式发送的。如柬使用这些7加密的协议,那么攻击者非常有可能会收集到验证证书或是 人侵数据、所以在进行远程 新或足管理―00报 器时不能 用这些早期的协议。 此在 !。 所有的远程管理任务中,您都应该采用安全的( ) 0 :153 1实际上是一套程序。它包括5个程序和3个配置反维护程序。 &I,是客户端的应用程序,主要是用来实现登录和执行远程机器上的命令的。它取代了 一些不安全的远程指令 如!"! ;"远程登录命令)和『 (远程命令解释程序〉。3 可以在一 ,
段未知的或是不安全的网络上实现两个主机之间的安全,加密的通信。 它也可以支持XII连接和任意的?0 1?端口通过加密的信道进行转发。用程序 使用各种不同的验证方法来进行远程主机的连接和登录:53!"1协议的第二版本就提供这些 功能:851 .2支持使用05八公共密钥的强加密,它也支持对连接完整性的检验。 义 20 .
程序用于实现两台主机可以安全的通过网络来复制文件。3印是3511程序的一个扩展 功能,主要是用于数据传输。它的实现依赖于 !的验证和加密手段,因此它与3
的安全性。3
提!共相同
程序是用来取代不安全的命令和『印不一样,如果需要, ?会要求进行
身份验扯。
& 幻是 (!的守护进稈或是服务程序。这个守护进程主要是一个&责侦听 ; 11客户端发送的连接请求的程序。当发现-个连接请求时 这个程序会启动一个新的守护进 ,
程来专门处理这个新连接。会话结束或是连接超时,这个新的守护进程就会被关闭神―每一 个开起的守护进程处理一个单浊的会活.可以完成 的所有的功能。在 0"服务器上安装 的程序是用来进行远程维护或是故障排除的。 581 守护进程是在系统启动的时候0动从々化7化文件屮运行的 如果你选择改变这个 。
选项,你可以重新编辑这个文件。 4
鄉
中程序是用来实现文件的安全传输的程序 与?! 类似。它采用加密的 、传输,可以 完成普通巧?的所有功能。 : 可釆用 多独冇的特别功能 如公共密钥验证和 11 乂数据压縮。?-出 氺 数据5縮是在 送数据之前用67扣将:&据先压缩 传送到客户端后 ,
.
,
9\
冉对数据解压。如果启用压缩功能,可以很明显的节省带宽,但是这是以消耗更多的系统处辉 能力为代价的。 5
幼!
國
3【卬-
微
;!"程序向 记提供止0协议的信, !.,.你并不需要直接与"卬-361 「交互;它的功
能是通过3出来调帀的。&
『是通过""中的一个子系统操作宋调用的。
1-38 1工具是用来为乂3八公共密钥证书保存私有密钥的。 11-3 111是在每一个登录 的会话一幵始的时候启动的,并且所有的其他程序以 - 加程序的客户端形式被启动。当 登录到其他使用3311的5 守护进程时,通过使用环境变量,这个代理会被定位并被自动地使 用到公共密钥身份验证中, 5811-31*1
工具仅仅用于向身份验证代理V堪?I中添加新的[ 八密钥身份信息。
!!8
53 1- 8/9611
!!- 化 工具用来为3 1生成身份验证密钥。它也可以用来在不同的 1协议的版本 之间管理或是转换密钥。8 八6巧 可以创建化3 和1)3 密钥。 參安装0 118
1
现在已经熟悉了 (
!的基本知识了,可以下载并安装它了。我们可以在下面这个网 址得到可以安装到1431上的0 11554:
鲁检验包是否完整的重要性
所有发布的开放源代码的软件包都会带有一些检验完整性的措沲。一些会使用 丄校 验 如 1)5,一些会使用印叩8签名。检验软件包的完整性的目的是为了确保下载下来的软 ,
件包没有被破坏。如果有人在软件包中加人了恶意的代码使之变成了特洛伊木马程序,那么 它与完整性签名就不会匹配了。开放源代码的工程一般会将签名放置在另外一个单独的服务 器上。这样做就是为了提髙安全性。因为如果保存软件包的服务器被破坏了,这个 名还是 不会被改变的。但是如果攻击者同时破坏了这两个服务器,那么这套安全措施就没用』?人 们下载了软件包之后却很少会去检验它的完整性。攻击者可能会用前面描述的方法在 0 !18 4中植人特洛伊木马。恶意黑客会破坏存放着0!36115 4源代码的0( 630 71?服
务器,他们一般会采用 (; 分块代码(&"业" ! ;! )漏洞来进行攻击。攻击者会在 0 559中植人一个可以远程控制的特洛伊木马,大约三天之后这个特洛伊木马才会被发 现。在这三天的时间中,这个软件包将会被下载数千次,很多的系统都会感染持洛伊木马 只 有当用户在运行被植人特洛伊木马的程序中遇到问题时,这段恶意代码才会被发现。这时才 发觉代码与6X111 签名不能匹配。所以,为了保证安全,花费一些时间来检査你所下载的软件 -
包的完整性是非常值得的。
下载了正确的0 0589后,还需要用下面这条命令将压缩包解压: 1
0
& .
转换到新的源代码目录下: 92
按照下面的歩骤进行预编译.编译和安装: / "打 10
现在已经正确地安装了 0 11558。如果你的系统装的是8 1-131其他的版本或是与尺" 不同的系统,可能会在连接到 ! 压缩库的时候遇到错误。如果发生了这种情况,需要在 下面这个网址上下载21山:
使用一般的70 !了 安装。 !!
1|!01
01511 ,和!!!;!
"』命令来安装
安装完成后,就可以正确
―
接着必须产生自己的1
密钥。可以使用下面这条命令:
接着执行下面这些命令就可以运行33岀了:
现在0 11859守护进程就准备好了 ,可以接收0 1133 1的连接请求了。 6 4 .
4
"
.
载 113011?
从1996年4月以来,八9化
是世界上使用最广泛地化吐服务器,在整个市场中,八 46
大约 有6096 份额。可以在下面这个网址查到精确的恥吐服务器的巿杨份额统计数字:
之所以用八 」化来命名造因为它起源于大量补丁代码的集合,这就使得它成为、 或是一个"叩化 "化 !)服务器。与-样,/ ! 是开放源代码的,并且也是可以 扩充的。核心八?14X1"?服务器有许多的分支,如? ! 服务器、551服务器以及其他各 种 用服务器。
?0「1服务器还有很多其他的组件需要用到/
!
的源代码。为了使这些组件的安装枵
序"I以敁正确地编译,必须有可用的八 源代码。可以从下面这个地址下载到?, 卜最 新的版本:
将压缩包解压:
定要留意放置源代码的目录.因为在后面的安装步骤中可能会用到, 93
6 4 .
.
5安装!
1
.
概述
801是目前使用最广泛的开放源代码的80 数据库软件。1 301 是一个关系型数 据库管理系统:相对于其他的数据库系统来说, 1 60[具 快速、可靠并且易于使用的优 点
。
最初被开发出来的吋候就"]"以处理比较大的数据库,远远超过了当时需求处理
的数据库的大小,至今我们还是可以用它来处理大量的数据。几年来, 5(31曾经被用于对 数据增量要求处理能力强的环境,包括最髙级的网站,如丫31100! 经过这么多年不断 的发展,如今的 75(31服务器可以提供更加丰富、有用的功能。 \ 5131是一个多线程的301服务器,它可以支持同时处理大量的辅助应用程序和工具 它可以与数千种应用程序兼容并巳经被用于无数的代码实例中了。 。
1
.
安装
以在下面这个网址下载 111 : //
. ;)!
501:
]! 00111/ 0 11103[!&/;!!!!!-
. 110111
下载完成后,将压缩包解压: 23 52 !
1
.
现在转换到源代码目录下:
501的安装稍有不同,它必须要知道卜的源代码放置在哪里 执行预编译命令: ,
1.3.26 如果八 吐6的源代码的目录不是存放在/! /!化&!/冲化 , 一定薆修改」 中出-印 ! 选项来对应现在八13 1 的源代码的存放目录。如果愿意 你可以添 加一个4「60「厶!01 67丄「7选项,这样就不一定非要将[ ! 安装到/ /! !/目录下了。 -
,
现在,就可以按照通常的所说的歩骤进行编译和安装了: 體!
11151311
配置
将 安装好了之后,还需要完成一些安装后的配置工作。第-个任务就是要为 750[创建一个用户组和用户。我们可以用下面这两条命令:
第一个命令是用来创建! 一个!
1这个用户组,第二个命令是用来在?
1用户。然后我们需要设置创建的文件:-1? 1 1 /
接着需要给这个用户陚予对数据库的访问权限: 最后,还要给用户组赋予一定的访问权限: 94
1这个用户组中创建了 /
!
1没有访问正确的指定目录,它是无法正常运行的。如果在编译的时候,你使
1
用了一 命令,那么 而介绍的这些命令也要做一些相应的变化现 在你的、 "服务器上已经存在一个可以使用的 301服务程序:,在建立入侵数 据厍之前.还霈要对1 301服务程序进行一些快速的加固。首先.必须要启动守护 进程:
守护进程启动后.键人几次1 10?(返回)就可以退回到命令提示符下。这时要做的第一 件亊就是要改变1X 1用户的密码来加强安全性::必须要为1001设定一个强密码,并 且要与门!!似系统的1 01的密码不同 通过下面这条命令来修改密码:
修改好「00 的密码后,就可以以"幼的身份登录了,如图6-3所示:
?116 5911)001 5*111(193 :『?
「(
9100119
丫1X1
"〉〕,八"广/11X1,丄'
'
0 1 1X1*
,' 0,
'
501 !
!
.
0091 9
1400 1X1 IV 171
!'
01|
冊3?339#~ 0
" 卞
"化:0
0 901~
,外'
1&3 丄"
1 !3;~
60100: 3.23,490
' 10 ""!"
10
"!".
漏
116-3登录到1 x31屮 4用户和敝据库初始化
现在你已经登录到的8 11中了,可以看到如下的提示符(!:'需 删除一些会带来安全风险的默认用 1。转换到01) 11数据库目录下 删除听有的用户名为空的用户:
95
要记住在?: 口[的听冇的50[语句后都要加上一个分号。现在删除所有密码为空的 用户
这些只是一些简单的方法,可以稍微加固! 的安全。最好还是在网上査找一些 更全面详细的加固说明。现在,要做的第二件事就是创建 00数据库的模式。值得庆幸的 足, 。"已经预先专门为[设讣了一个脚本,这个脚本可以用来导人所需要的敉据库
的模式。首先,要下载并解压 01
登录下面这个网址:
使用下面这两条命令将压縮包解!!:.井进人到?0
0001111. 1】录下:
现在你需要重新登彔 7301 ; 1 / !!!
71131-/10011701
在
!.
75 1 -口 5 111
―
|535
0 1
11中,创建一 1、数据库来存放所有的人侵数据:
接着需要切换到新建的 00
数据库:
然后就可以创建3110!"I数据库的模式了: ?
!
?「:"!
化
―
111 5 1;
如果你不能从 1011的001111 以使用下面这条命令来代替:
目录登录到 17 0 ,就不能够正确执行上而这条命令―可
创建了最主要的人侵敉据库后,你还需要创建一个可以长期存储人侵信息的敉据库。 创建这样一个数据库既可以解决数据库的管理问题,同时也解决/提供法律依据的问题。为 了保持人侵数据库的效率,需要将一些报警数据从人侵数据库中删除。通过整理人 数据库 可以使事件匹配更加简单,同时还可以加快检索速度。如果我(门只是对报警数据进行简单的 刪除投作,一旦事后发现它确实是一个安全事件,这样做无非是在销毁重要的法讦 据: 所 以 我们应 创逑一个单独的存档数据库。在 501命令提示符下输人下面这条命令: .
,
现在必须转换到新创建的存
96
数据库下:
最后创建 ―I数据库模式:
要为传感器创建一个用户来登录数据库。大多数的分析员将这个用户的用户 名定为、0 1",或足1 之相似的名字。我们建议不要使用"3110"'这个用户名来登录,肉为这 下一步
,
个名字太普通,是很容易被猜出来的。
我们还需要单独为八 口乂人侵数据分析台)创建一个权限设置不同的用户。八。10用 户必须具有删除警报的权限,但是用户是没有这个权限的。如果攻击者人侵并控制了传 感器,他就可以非常容易的1#取到化011的用户名和密码,因为用户名和密码以明文存放在传 感器里。如果 0!"I用户并没有删除权限,那么攻击者就不可能轻易的破坏整个人侵数据库。 可以使用下面这些命令来创建用户并设置相应的操作权限: 111 乂
〉 01 八卩丁 11 3? 丁,冗! : ! " '
!!-:
15
' !
!'
跳隱
'
01X 1
11)1
丁
10
X1 120 8丫 '
8
)、 ,., 丁0 !
'
-
.
[!扱
'
!!!'
014.
11
0 1 311 ( 10031110
?。" ―
-
1- 0 X10 ; 1X3 ―此
321 01 01 1
,
.
:
01
!]!
(誦&
贿 -
―
、
"
1 0 X10 1;
01
现在,我们巳经完成/的安装和配置。!
0?110~;
501 带有一个基准测试工具,可以测
试出的性能,输人下面这些命令: 。6 /
6 4 .
.
/!
!/
!/ !-! !! !!
配置1110 」81
6
与01 11831之间的接口。八 (; 可以通过各种模块扩展。八 (:! 551只是其中之一。331并不是一个独立的程序。它只是―49 的一个简单的模块 通过它八口 &可以使用0 0551的库。这一部分我们将学习到如何获 取?" 531的源代码,以及如何准备以便和八!)化! 一起编译。因此,获取可用的111 881并 : 在编译八 之前进行一些配置是非常重要的。我们可以从下面这个网址下载!!!" ?"
―
1是八 !:!
有好几百种模块,1110
-
,
―
-
-
解压并转换到新的目录下: 【3!"
1110(1
010(1
.
5 1-2 8 10-1
.26.13
1-2,8.10-1.3,26
然后,我们开始配置1110(1
881。 一定要加人-- 出-叩化 参数,这一点是至关审要的 还要确保在这个参数指定的目录下包含了八 。 的源代码,否则预编译就会失败。 ―
97
如果执行上面这条命令时出现-个与 :
有关的错误.可能是需要你提供1?放
源代码的目录―下面这条命令将0 0581源代码的目录地址设置为它的默认的安
(
9录地址。如果你将01 188[的源代码放 别的目录下,可以做相应的变动: 卜3| 1;11['二 /
/( )[![! 11
國
-
【卜-35;】二 /(
\
"/!"、:"'
.
.
!
0
―
1 3.26
1
现&.?出 1已经准备好了 , 6 4
/!
以和八
一起编译厂。
7安装
0!是一种图形库,许多流行的程序设计语言都是用它来制作图像。它可以使程序设计语
如 ,可以相对简单地绘制出复杂的图像。 并不是可以一种可以实现高质量打卬的 1?1形软件包或是什么绘图程序 它只是用来创建一些简单的图形 50曲线图、图表、和艺术线 条 库可以用来创建』 :,. 或是则化化图像,但是由于版权的限制,它不支持目前 流行的01图像格式。 主要是用于在I、、应用程序中创建一些简单的图形哀示:
言
,
,:
当与\ 613应用稅序--块使用的时候.它可以较快的制作出图像。0 1可以分析大3:的、
难以直观化的数据集,然后将这些数据绘制成图表,以图表的方式来表示这 是由应用程序逻辑控制的,所以当提供了新的数据时,图像可以自动的更新。
数据「由于8(1
将要配置的是八它是基于管现的图形化用户接口,它可以采用 库来创建 示人侵数据的图表。八00可以创建图形和阁 来帮助你掌握在这一段时间内威胁事件的走 向
:
可以通过这种途径将人侵数据展'亍、给自 公司的非专 业的人±,这是一个非常有效"」行 .
的方法。通过观察这些图表我们也可以预测攻击的发展趋势。要使用八的这项功能,必 须 安装 1。八00的其他组件不需要 库也是可以正常起作用的。 〔4的功能发挥需要有三个库的支持,第一个库为 化,它是一个压縮库。在以前的步骤 中
.
可能已经安装过了:如果还没有安装,可以到下面这个 址下载: 下载后,按照常规步骤进行解压、预编译,编译和安装:
國
7 】
111
賜
需要的第二个库为1 」1
〔;。匸;!)!1
; -一个用来创建I'川匚文件的库。可以在卩面这
网址下载: 1)1,口: 7/
丄 口 力! /口! /口! /
!
丄
下载之后,用我们熟悉的命令进行解压 转换目录并安装: 1(11 "
98
! !!
2「 I山「』!!I ?丄"' " 1 ,2.4
现在需要找到\ 后 将它复制到!
1
,
"(!
目录下一个名为!!!
化. -的文件。找到!! ! " . -文件
0源代码的根目录下:
复制完成后,就可以进行预编译.编译和安装了:
第二个库,也是安装过程中需要的最后一个组件是」压缩库,可以在下面这个网址下
载:
下载后,进行解压、预编译、编译和安装:
三个库都安装完了之后,现在就可以安装了。下面这个网址可以提供
将下载的
压缩包解压并安装。注意
的下载:
没有预编译脚本:
1.8.4
至此,已经将 6 4 .
8
.
成功安装完毕。
安装?II?
? ?是一个应用程序服务器,用来处理由程序设计语言编写的代码 ? ?是目前 。
非常流行的嵌人9丁\化的脚本语言。由于!1 ?语言比较简单,而且语法与0语言比较类似
,
功能和010(1
―
「1和八01 6 361 !" ?
(/ !1)这两种语言几乎相当,已经成为一种使用非常
广泛的脚本语言。虽然? 还不能完全成为主导,但是这并不意味着 语言还不够强大 和稳固。我们可以用1 1?花相对少的时间来将动态的恥吐应用程序装配成一个整体 在不 同的具体的场合中,?!"[?可能是代表! "30031 01116 欧(个人网页)也可能是代表!1 ? 。
1 X1 1 61X006 0!" (!1 ?超文本预处理程序〉。
3 11服务器管理图形用户界面接口 4 :10也是用语言编写的 010是用1 1?编 写的程序,将传感器收集的人侵数据制作成动态界4页面。此外査询接口也是? ?编写的 所以说,要使用八01〕,就必须要安装 !?应用程序服务器。 。
。
99
在进行!1 的安装之前,需要先将很多软件包安装到适当的位置匕只有这些软件包邡 安装正确了,才能顺利通过?92的编译。如果你完全是按照前面所述的步骤进行安装的.那 么现在就可以安装?II? 了,在编译过程中应该是不会出错的-可以在下面这个网址下载
将下载的压縮包解压,转换到源代码目录下: 加-[
「,"々么131, 2
在对1?进行预编译的时候.必须要指定几个重要的组件源代码的目录:
"!:
&二 ~ 7 1/1003173
--
―
1 3 26
-
:/
/! :"/ !-】乂4
1 -111 1 , ~ 11: -3 16和吒- I 二 这几个参数分别指定了 ! !乂 匸、:、口化 1 和 的目录。参数 指定?14?没有调试模式,这种模式只有在你打算在服务器 上开发??I?应用程序的情况下才会用到,一般来说是用不到的。 '"
"
-
现在可以进行编译和安装了: 1113 1113
"!51。 11
安装好? ?之后,首先需要编辑仏 里
。
转换到!5
文件。所有I5?!?的配置选项都记录在| ! 0;
源代码目录下,一般来说就是705「7100314111 12:厶在这个3录下输人下面.
这条命令,将
习文件复制到/1 ). -
, 711
/10031/!化中并重新命名为!)
.
:
1003 1】,― 1、】
-化 自 』文件。这是 !?. 的一 我们需要注意的是,这个目录下还有一个 个锁定并加固的版本,通常在配置?V!?的时候都会使用它。然而,八00却不能与 「? !!!! ! 兼容,所以我们只能自己来锁定[; ).;!!" 。用6! 或是你熟悉的文本编辑 工具打开! !). 来编辑。要注意的是编辑的 ! . 一定要是/! /! !/!化 ! . 这个文 件 否则所作的改动对? ,
是不会有任何作用的、.
首先要修改的两个参数是路径和目录。在参数〖1 111
即使你没有安装, :10,你也要在这插人这条 '!"佥
果你将八(:
―
下添加这条语句:
出语句(八1:113的包含路径;.,如
安装到其他的目录下,那就一定要重新打开1 仏;0; 相应的修改上述这条语句 ,
中包含的目录。 下一步要修改6)
100
―
11 01! ―
参数,设置如下:
一般我们会希望将? ?脚本运行时出现的错误都记录下来 所以我们需要使用记录错误 ,
的功能,要做到这一点,如下进行设置:
如果在出现错误吋.你并不希望将这个错误显示在终端用户面前,可以通过下面的配置关 闭错误信息: 00 二
口! 乂
[!
一
要是希望将所有的错误都记录到错误日忐义件中,需进行下面的设置:
你可以通过设置& 01巧 &叫来选榫你希望接收的错误报告的级别。如果你希望可 以接收所有的错误报告,不考虑错误是否严重 1将这个参数值设为 ;
接收到危急的错误报告 4以将参数值设为 1X01
&?6;
匚如果你希望只
-
0710 ―
1 0111:15 二 卩-戍IX
你还可以隐藏是装在服务器上的事实,通过设置这个参数值,在的華 就不会有的版本号了:
的默认设置会允I午一 1闼本可以访问文件系统中的任何地方。如果? ?的一个脚 本被黑客控制了,那么这个黑客就可以利用这个脚本来改变文件系统的设置或是得到一些他 不应该得到的信息。可以通过修改1 ! 0;中的参数来限制脚本只能访问它所在目录下的文 件:
八010不能正确地检杳用户输人。如果一个恶意用户企图访问八 !") 他就可以很|?易的 进行 匕注人攻击。我们完全可以利闬 的一个功能来捕茯大部分的恶意用户的输人。 要想使用这一功能,将?; 。叩0163设置为0 : ,
501注入
801注入是一种针对不安全的\ 613应用程序的攻击手段 801注入是指攻击 。
者能够在数据愉入字段中插入任意的语句,这将会导致改变这条査询语句和 /氹111务的功能 下面这 语句是 来睑证用户身份并返回信用卡的号码: ,.
―
011111 IV。!!! 11 61
如果没有对
'
!]
" ―
111(1 二
31111
181:& 11 &01.1:II!; 二
'
(!561"
1111)111
;叩!)!:'
―
应用程序的用户输入字段加以适当的保护 攻击者就可以在上 ,
述这奈30【-语句中插入符合801 逻辑的代码。如果攻击者在用户名这个字段中插 '
入
01 1 = 1-
'
那么这条501语句就变成这样丁:
,
101
在 13 30「服务器中,"-"宇符是用来标识说明语句的,或是用来停止继续执 行相邻的代码所以30[服务器真正执行的代码只是: 1111'!"I
【00
1111 1
1
」1
!.
!!) !!!
二
0「 1
【
"
-
―
现在我们清楚了,整个的语句已经被改变了。 501服务器将会在1 = 1这个条 件成立的情况下返回!!!!化,而我们知道这个条件总是成立的。这样, [服务器 将会返回存放在用户表中的第一个用户的字段的值。
如果一个应用程序中存在50[注入漏洞,攻击者就可以利用这个漏洞在查询语
句中放置任何可以想到的语句。攻击者可以用叩
-
11 11611来在操作系统的层次上
执行远程命令,甚至攻击者可以输入命令关闭 31服务器,输出敏感数据以及列出 整个数据库表的结构。所以,
应用程序一定要能过滤掉可以进行80[注入攻击
的字符,这一点是至关重要的,
有许多的攻击都是针对?9?早期版本中的通过( ?9?已经安全多!",但是最好 功能。
'? ?057上传的漏洞。虽然现在的
珐不要启用上传文件的功能,因为我们不需要有这样的
以后,将可以运行在?9?的安全模式下。伹是,目前来说,如果启用? ?的安全模
式将会导致八 10出错。你可以在以后通过下面的设置启用?14?的安全模式
但是目前,只能关闭的安全模式: 1110
二 0
,
现在,我们已经完成丫 6 4 .
「 :的配置,保存对它的修改。
9 安装丸-6
.
在前面的步骤中我们已经下载并解压/化! 软件包。在这一步,我们只需要使用以 收集的所有软件包进行编译安装就可以了。 化 的预编译命令与以前安装的软件包稍有 81库的位置,将下面的命令作为一个命令行来执 不同-需要在'/ " " 之前加上01 行 如下: ,
-"出! 二 5131 可以避免对能够轻 口「 设定了汽| : 安装文件的位置。--( 易访问到的化 页面公开服务器的活动和性能。下一步就是按照常规对八 进行编译: --
完成/对
:卜的正确编译,接着我们需要产生.一个551证书。这一步是很??易的
需要输人下面这条命令就可以了 : 102
,
只
输人你认为合适的个人信息。这一步完成后,就可以安装八!?化
并为八!)化
服务进程
设置适当的权限:
4:111111X1 05 1 1
八1 (!
! !"/!
I 3. 3011 /[:!!! /?! I
1 的安装过程中会生成一系列不必要的测铽页。你可以在!"/10?1/印3(;!1641I-
/目录下删除所有这些测试文件。
至此,我们巳经安装了六1 116所有的重要的组件:! ) 、 、[ 乙等等,现在还 101。需要为 耍改动-些配置。第一步就是需要为4 46 加一个测绘和制图库-1 冃录中建立13录。首先进人到八! 卜的根 6目录下: ?! '101在八! ! 根 -
然后新建两个目录来存放!1
然后从下面这个网址下载? !!"卩://? !
)!
.!
101的最新版本:
/-"/; )
.!
?
["。!
/ 将下载下来的源代码解压到/! /! 厶! 将!5 5 安装完成后,我们还需要对!11中
口.;!!;很相似,也是用来记录八!舰
-
二 14653
/?! /? ?! )了目录下。 文件做一些修改。 与!1!
的配置的。存放在/! /!
!/叩化&/
的
/!!叫丄 ",
找到后用文本编辑器打开并进行编辑,因为我们需要做一些改动。 护
八00本身没有密码保护。我们需要使用八!38 6自带的授权配置来安装自己的密码保 以后将会需要设置真正的密码,但是现在必须要强制所有的9X7?会话都进行验证。我
。
们可以通过配置 10
60
参数来实现这个安全保护措施。找到 110
60:;&参数并将
它改为:
除了在油仏;11;文件中的( ?参数,你还需要消除八! ! 的标题广告 以防止黑 客利用这一点来收集信息。我们可以通过设置下面这个参数来做到这一点: ,
如果八 (:! 还没有配置成可以识别扩展名为 现八对! !:!丁 !
的文件 使用修改下面两条配置来实 ,
?文件的识别: 8口口11081: 1八-
!-卩卜卩 "|1「 -
3 110311011/乂-卜"[ !-口 1! " 30【|
卩―
10 655文件 法
使用丄 :?33文件是实现八口 ! 服务器对化 )网觅进行强行验证最简单的方 文件用来禁止或是允许对目录和目录内容的访问 你可以用丄化(;
。
。
103
实现八1 10的密码保护。在前面,我们修改了 !!!:卬!;数
,
这样我们才能象用丄 "'
文件申的 110VV0V I ;(1(;参
实现用卢睑证"通过对& -(
进行达当的设1,
也能实现同样的功能,但是比较而言,使用 1113 655文泮的方法还是更好一些。 如果你决定采用丄化& 文件实现身份验证,要进行的第一步设置就是新建一
个 卬跟"文件。丄卬咖
文件是一个平面文件((
:,一种无格式的数据文
( ),存放着可以访问 010的用户的用户名和密码的组合。转换到八 4巧的根目 录下,一般为/115!"/10 1、 1 八一定要注意千万不要将文 放置到浏宽 /!!! 器可以直接访问的目录下(如/! ?/! !/ 如果将飞11 5 文件放
置到八13 1 的文档根目录卡,那么任何人都将可以下栽上! 个文件访问.
]文件,并利用这
10 了。执行下面这条命令:
命令中的"【 1131! "是你给丄印;155 文件所起的名字;通常都会命名为 卬85 。 、361""是用来登录八010所使用的用户名。?-(:"这个参数是指要新建 -个文件 如褎不使用"-!:",那么用户名和密码将会被添加到文件中 只有在创建 ,
第一个用卢的时候使用
''
这个参数.否则将会覆盖已经存在的文件。执行这条命
令后系统将会提示你檎入这个八00用户的密码,并会要求再楡一遍来确认这个密 码。对每一个可以访问八1:10的用户重复使用这个命令 。
已经定义了哪些用户可以访问八(:!:〕,现在我们还需要指定这些用户可以访问
什么。要倣到这一点,我们需要创建一个丄13?655文件。保存在你打算安装八00 的目录下(如7\ 7100&【/ (:!!& !& / 」)。如果你还没有创建这个目录,那么现在 就创建。然后用文本编辑器打开这个丄 化 文件楡入下面这些文字:
八 卜丁
63310
1,10111
修改后,将文件以丄130 文件保存。参数 1711 1521 11 指明了 !1 35 (1文怦的位置。这个丄【 85 1文怦是你在上一步中创建的 参数八I;丁 9一 是指"域(战 )"的名称,将会显示在灰色的对话框中。参数八17['!4了\?1!:是 指使用的用户验证的方式―在这个例子中使用的是1x 1:。 33&用户验证采用 835664编码枝术来对口令进行编码。但是它对口令并不加密或是使用哈希&数 这 -
。
,
就意味着口令可能会被黑客捕获并解码。使用单向哈希函数法是一种更安全的方 法
如1 105,这种方法就可以对口令进行加密
,
:
标志01 1是用来限制特定用户对特宅目录的访问权限 例如,用户名为 的用户只能在八1 10目录下使用1 -1 了? ( ?: 丁命令 。
」
。
1
104
6 1111-6 1 61这一行用来指定丄!:口跟
-
中的该用户可以访问在你所编辑的文件
所揩定的目录下的文件.
标志〈匕;111;1〉用来规定1186111311 在这个目录下的访问权限。在这个,!",'":"? 文件中,用户115601811 只能在/! "/!
命令。8812叫";?
/ ?
卜711出00 30
目录下使用
丁? 057
指定所有到八00目录上的连接都必须采用381。
至此,你已经完成了八口0 的安装和配置,现在最好是检査一下是不是所有的东西都已 经正确的安装了:使用下面这条命令来启动八 (:&: 要想彻底地关闭厶 (;可以使用下面这条命令:
下面这条命令可以以88匚模式启动/ 蛇卜: 启动后如果一切正常,那么就通过新的八 (:
服务器来检査丄 化
用户验证:
这时应该迅速弹出一个灰色的对 框.要求填写用户验证信息(见图6-4〉。 8
5
182.188.1.1
01?
图6-4
, 11100
0
用户验证
如果没有出现上述的情况.那就需要返回并检査前期的工作了。我们可以利用下面这个 网址上的测 页面来进行检査,以确汄 和0 101是否正常工作了: 卜【,卩:01 I? 8 1 1|*8&/()11(1|0 / X8I11 1 8/I !!I 8?【叩.卩卜卩 ―
你将会得到一个测试图形"这吋很可能会收到一个类似"01? 1 07 门息.、1「、0丁 旭! !)"这个错误是在意料之中的,因为&不支持(; 需要? ?101可以支持(; 6 4 .
王0"的错误 格式。我们不
格式,因此这个错误是可以忽略的。
10安装 001)11
.
刚!3的数据库访问功能并没有标准化。对于不同的数据库类型〈1 x501 ?03 801 ( 8 "等等 巧- 采用的访问方法是不一样的。要想幵发可以访问各种类型的数据库的 ? ?代码.必须要有一个可以对所有的数据库提供通用接口的库 这样就为? ?应用程序 。
105
的用户可以自由选择最适合这个应用程序的数据库类型提供7方便。 0008库就可以对许多种数据库提供通用访问方式。它可以支持目前应用的&种数据库 , ! , 类型:! ! ! -, 030 , 501-561 , 》.! , ! ;! ! !!., 「! "63 , 111161"!33 (!7!! !)!! 和601"!311 !!!! !!! ) , ?0X 10 & , ! ),以及41030。 虽然我们的例子中使用的楚1 730匚其实八00也可以和其他许多种数据库一起使用.」 使这些想法成力可能
!
[
―
必须安装在的文档根11录下。新建一个目录来存储皿015的代码:
接着在下面这个网址下载40006的最新版本:
将下载下来的压縮包解压到刚才创建的 1X101;目录下。然后我们就可以编辑 0008
的配置文件""! ! . 。在配置文件中一定要加入;\001〕8在文件系统屮所在的位置」 用文本编辑器打开3 1 ! 文件找到下面这一行;
修改这一行,使之可以反映在哪个目录下存放了"3008:
保存修改并退出。/ ! )! 6 4 .
安装"10
11
.
1
的安装就完成了。
安装
.
1(1 011 1)31913356 , (:扪)是与5110 数据 人侵数据分析控制台(丁 〖";3 0503016 进行交互的主要途径。大部分的人侵检测工作都是通过它来完成的。 前面我们就提到过,八00是一个基于?化的分析引擎。它主要是用来处理由安全设备(如 106和防火墙〉产生的安全事件数据库。八01〕 以即时发送电子邮件来输出安全事件 八01〕 可以在许多的操作系统上运行,包括1 化,650, 501 1 以及11:!丄 。它是一种开放源代码 !! 036 ! ! ,通用语〗下发布。1::6:8了协调中心(〔! 丁 0 的应用程序,在(;?! ( ! ")的8001 [ ! -开发了八013 并且仍然是400最主要的开发者,, 目前我们已经将安装八1:10所需的所有要先安装的辅助软件包安装好了。现在我们要在 :.
,
下面这个网址下载 010的最新版本:
如果你还没有为八( !;)创建目录,现在就要创建了。通常我们将400放置在下面这个 目录里:
当然,八00还可以放在八的文档根目录下或是任何受丄13( 55文件保护的目录 里。将八00的目录名弄得隐蔽一些并 106
会给你带来任何不利的影响。创建了存放八010的
目录后,就将「载的压缩包解压并复制到这个目录里。复制完了后,我(门还需要设置文 件以及, :10目录的权限。使用下面两条命令设置: 1 1110(1 755 / 151 /10 3I/3
1 '' 111() '
?/3
1 配置 .
至此.我们已经正确安装了八00,剩下的就是要对八(:化进行配置了。八010大量的配
置参数都保存在 1000 文件里;打开这个文件进行编辑。这节最后,我们列出了 30 ?卅.1)1 中的配置参数,并介绍了怎样配置这些参数:要注意的是所有的值都必须故在双 -
引号内广),并且后面要加上分号(;)。 9遺;!3 -
[
沘 ―
话
,
【
出 ―
133111
! 化是指 !"! 的安装路径。如果你是按照书中所说的步骤安装 !乂 出的值应该被设为
如果你将
01
的
安装到其他8录下,做相应的修改就可以了。
八1:10使用的数据库的类型,它的默认值为?
.我们不需要改动它,除非你在前面的
安装过程中选择了其他的数据库: 1 1131316
攀
记录?00报警信息的数据库的名宇。如果你是按照书中介绍的步骤安装的话,这个数据 库的名宇应孩为"?(
化"。
051
攀3 161-1 ,
―
入侵敉据库所在的位置。如果六与数据库放在同--个服务器上,将这个值设为|10 「 110& 10
如果数据库没有放在本机上,这个参数是指八00连接的远程端口。在此将这个值设定 为空。 参
!"
I ―
登录到数据库上的用户名。这 用户名是在安装
30[时创建的。
登录到数据库上的用户口令「这个口令是在安装! . 攀970 176
[时创建的。
(! !! !!! ,
八 !)连接的数据库类型。保留它的默认值111 ,31 111 6
,除非你选择了其他类型的数据库。
1 051 ―
人侵数据库的位置。如果八(:山与数据库存放在同一个服务器上,将这个参数值设为10-
如果数据库没有放扛本机上,这个参数是指八 0;连接的远程端口。如果你设置的 1 01 的监听端口不是3306,这个参数值就要作出相应的更改。否则,将这个参数的值设为空 107
攀31x1
6
115&!" 一
登录到数据库上的用户名。这个用户名是在安装
50[时创建的。
登录到数据库上的用户口令。这个口令是在安装-时创建的。 鲁化
III0
(:。!! ?
一
―
这个参数用来指定八00的代码所采用什么方式与数据库连接。如果你将北1 00011601 的值设为1,八(:!!)将会建立一个持久的连接。所谓持久的连接是指当?他 脚本执行结束后,与501服务器的连接仍然不会断开。应用程序请求一个持久连接时, 它会先检测前一个脚本执行时是否已经建立了一个连椟;如果已经存在了一个连接,那么就 可以继续使用这个连接。如果不存在连接.那么就新建一个。这可以简化?化4数据库的连 接处理。对于5001 服务器来说.如果你希望可以尽量减轻! 3/301的负荷。你可将北―?".
!!!
0601
!出的值设为1。
―
如果你希望将处理传回到应用程序服务器上,应将这个参数设为2,这样可以建立 非持久连接。 華 !
3( 1 这个参数指定 !
―
71131'/! 3179| 化6
# (:!!
文件的存放路径。&该为: !口 [?卜卩"
116 111 0 3
10111131 ―
―
这个参数指定用来创建八0113图表的文件格式。可以选择为0118或是 68。缺省值为 网。
这些设置排列决定了由! ?"和八010生成的任何图表的默认颜色设置。你可以用
尺 织红、绿、篮)色系来定义颜色。!: " 1 ― 0010!" ― 6(3 11设置网格线的默认颜色, 13 !" !. 也可以设置网格线的默认颜色, 311 1)31" "。! &【3 用来设置线条 ! 和矩形的颜色。 一
―
.
―
.
0
鲁
―
5
―
在八(: 中建立检索时使用的条件的最大数量:对于八010来说.你最多可以使用37个 不同条件来建立复杂的查洵。如果你加人的查询条件的数量超过了!80 5设定的值, 那么这个查询将不会被执行。这个参数的默认设置为10;建议值为15。 查询后每一屛最多可以显示的查洵结果的数量。你仍然可以通过使用标准的前进和后退 按钮来浏览#报数据。这个值可以在50到100之间。 9 1331
1111171 ―
―
816115
400在主索引页上为最近存储在数据库中的警报建立了快速链接
134
。
316:
11
-
-
是指可以在最新的警报页面上可以显 多少条最近存储在数据库中的警报信息,默认值为 15,最大值可以设成50。 0 1351
―
1111111 ――
"
!13 , 1381:
011111 ―
―
111301-15 , 1351
他
―
这些参数设置了当前餐报的数量,和 匸"肌
―
!08
!
011111 ―
化非常相似。
!! ―
―
设
置/"显示的惟一(即不重复)的瞀报的数量。1&1111 - X 3指定了每一个端口的惟一的警 报的数鼂;1331 11 118 1"设置了每一个I?地址的惟一警报的数量。默认值为15;最大值 可以设置成50。 鲁【1-64
316113 (叫
110111 ―
―
011171 ―
―
03 6 !',
1111111 ―
―
!!
!
这些设置与前面的设置非常相似。它们设定了主索引页上最常用的瞀报链接的频率。同 样 默认值为15;最大值可以设置为50。 ,
1
1110(16
1
―
这个参数设置了对八00 1吐接口进行内部调试的信息的级别。如果你不打算修改 八010源代码,可以将这个参数设置成0。如果你想调试,设置成1。如果你想仔细调试数据 ,
将( !
的值设为2。
010
―
使用这个参数使八00在向浏览器发送指示的时候不使用缓存。如果你使用的是 5 1 「,并且允许疋使用缓存来存放八00页面 你就很可能不能及时看到最新的瞀报 ,
信息 如果你打算将12与400 -起使用,将这个参数设为1 ;如果使用其他的浏览器,将这 个参数设为0。 鲁5( 1
1110 6
!"30 ―
通过设置这个参数可以将所有的501命令记录到一个文件中《这个文件是在巧1
306
化6参数中指定的、这个参数对调试非常有用。 记录501命令的文件。 鲁1-6 1-6811
3131 ―
1)356
―
这个设置可以启动浏览器的自动刷新或是重新加载的功能。当浏览器被刷新后
400
,
可以访问任何新的 报。将这个参数值设为1。 , ―
1-6 6311
口
―
111116 ―
如果你将 (?
― 的值设为1,那么就还需要设置浏览器刷新的时间间隔, 117116就是用来设置浏览器刷新的时间间隔的。将这个时间设定在几秒 ―
―
内
。
鲁1113 ―
设置了
5011
一 11111111116
210页面可以负载的最长时间。对大量规则的删除或是存人都会耗费很长的时
间。如果你将,
5 ?
-
的值设定的太小 那么就无法执行删除或是存入请求。将
!1101;!
,
这个参数的值设为300。 鲁& 3(3(11'& -
―
10 111
这个参数将査询生成器的I?地址输人划分成八位组。这就允许你在査询I?地址的时候 可以增加粒度。如果你希望按八位组来査询 将这个参数值设置为1。如果你想按与整个I? 地址匹配进行査询,将;! 8(1 6 ;叩化的值设为2。 ,
―
春1156 ―
816 ― 1131
通过设置0
3;8 1 ,可以将所有的合理的签名装人下拉组合框中,而不再需要自己定 义签名。如果你对3"011的签名不熟悉或是在某些情况下想节约时间 这个参数可以起很大的 ,
作用。如果希望启用所有的签名,将这个参数值设为
如果只是希望可以看到检测引擎创 109
建的签名或是预处理埕序签名,将这个参数值设为1。如果不想使用事先存在的签名.将 1 的值设为0。我们建议将这个值设为2。 1~6?01 6
―
II1
通过设置这个参数X以尽可能地解析屮地址,使之与域名进行全面匹配。对?地址的 解析是八(: 非常有用的一项功能。我们建议将这1参数值设为1,启用这项功能。如果不 需要这项功能.可以将该参数值设为0。 通过设置这个参数可以显示与每个查询结果贞面上的摘要相关的元数据。默认是不启用 这项功能的。如果要启用,可以将这个参数值设为1。 这两个参数是用乘设定解析域名和 1015时可以使用缓存的时间(分钟 。使用缓存可以 提高效率。我们可以使用这两个参数的默认&来达到目的。
端口扫描预处理程序的位置: 010只支持端口扫描([ 义 、但是并不能支持新一些 的端口扫描 ( 化 ")。使用这个参数,可以使端口扫描事件与你的网络结构相关联。 这个设置可以自动更新缓存,缓存中存储的事件被装载到/ :10的每个页面中。这就可 以提醒你注意新的繁报:虽然这项功能会使性能下降,但是我们建议还是启用这项功能。 ( 化 030116 31110111X13 的默认值为1 ,不需要修改。 一
―
參111311113111 ―
111?1017
这个参数可以设置保留已经浏览过的在? ?会话变量中的八 :口:) 51面,:如果不启用这 00 项功能,那么就不能使用浏览器上的"返回"按钮来重看以前的信息了。只能看到 … !(会话已经过期)的错误信息。将这个参数值设置为1启动该功能。 攀1119111 ―
口3 : ― 61311
指定在首页上显示的内容的详细级别。如果你希望只是有警报的数量、到查询引擎的链 接和其他的一些基本的功能,将这个参数值设为0。如果你希望有全部详细的数据和全部的 链接,将参数值设为]。
这些都是一些外部链接,用来链接到因特网上的公用数据源。这些链接都是附加在一个 警报事件上的。可以帮助你很快弄清这个警报的起源和危害性。6X 1131 X -11吐链接 -
到一个外部的?
数据库,这个数据库可提供域和『地址的所有权的信息。- 「 、 ( 131 311 1;! 是特別为胃印3( .01 创建 !;! 可以提供在一个外部网站中査洵0 3: 的 它可以链接到5&013 口;1( .01 的5110 01& [ ! 歹!]表,6X1611131 扛―1 1 端口数据库 査询链接,用来识别这1、端口上经常使用什么服务。 0;3,、0~5以及』链接的缺省值都是 181)3 6.01-80 ! )"链接到 !-! : 01~6站 1 上 ―
,
一
。
,
肇3011011
『10111
6111311 ―
这个参数用来指定发送警报时电子邮件的地址,将会出现在'卞1 11,"栏。 六010和用邮件发送警报 八1:10支持用电子邮件来输出警报
。
1/0
不要将这个与安全事件的即时通知混淆了
,
八010发送电子邮件的过程既不是自动的也不是即时的。在5110"产生警报后,你可以从 八01〕用电子邮件发送警报。电子邮件的功能主要用来从六010愉出入侵数据。这并不 是说电子邮件是输出大量教据的方法,但是它确实是用于紧急情况下,作为事件响应的一 部分。
要想实现在一个《面上显示多个警报,并且这些警报具有完整的信息包的头和内容, 那么最便利的方法就是采用电子邮件来输出警报。这可以帮助你得到对攻击的一个全面 的描述.;有助于你可以更容易的查找到新的攻击模式和相关的独立的警报。如果没有这 项功能,那么你就不得不在不同的 面上浏览一些警报了,这是相当麻烦的。 6111311
3011011 ―
―
?!!]"〗
电子邮件的主题。 6711311
參?101100 ―
―
171
电子邮件的附件。 设置用什么方法来使用电子邮件发送警报。如果将这个参数设为1,那么将警报就放在
电子邮件的主体中。如果将这个参数设力2,那么謇报就作为电子邮件的附件发送。 完成安装 配置完4(310后,还需要运行最后一个安装脚本。这个脚本是在内部运行的,所以
必须先以551模式启动化 。定位到八010的主页面并登录:
这个主页面会出现一个错误:"33131)356 0131651 0:1116 8叩631:1叱 ;! ";丄"(数据库中 表的结构显示是无效的 不要着急,这个错误是在意料之中的,这是在提醒你需要--个 八(:'】0 138安装脚本。400 1)8安装脚本将会创建四个表用来管理謇报数据。它还会给 501 51x 1表加上索引,这样会提高丧询的速度。我们可以通过点击"06316 010 (创 建八(':)八0 "按钮来执行这个脚本。 如果这个脚本执行成劝了,将会出现一个状态页面,告诉你已经完成了创建不同数据库的 任务了。如果这个脚本执行出现厂问题,那么霜要捡査一下在八(:比)的3 0011 文件 中设置的\ 301用户的权限是否足够大:这个用户必须要有化丁(插人广? 丄!X丁(选 择)、和1)1":! :下! 删除)的权限, 至此,和?0『1服务器都已经成功安装了。让我们庆贺一下吧! 6
5小结
.
这一章中非常详细地给渎者讲述了如何来安装?0! 服务器:800 眼务器 在所选 7.3做范例来介绍 01! 择的操作系统的加固棊础之上运行。在本章中我们拿尺" 31 1 服务器的安装。第一步要更新8 11 【并为其打上补丁,加固1 』 的安全性。13 1; 是一种开放源代码的工具,我们可以使用它来完成对8 1 的加固。操作系统安装 并加 之后,就要准备安装31100软件包了。建 采用源代码进行编译和安装 而不要用 "!!
,
包进行安装。 111
0 11551是一个开放源代码的工具,可以实现551 36011 300 615 1 ,安全嵌套层)和 115〖'「!";! 卬"1 ) 5601111卬传输层安全 而且,0 11831 带有一个通用加密库,这个库可 以支持强加密算法。 !和 出 551就是采用0 11551源代码来对数据进行加密。 3化111 1用来建《并维护加密的会话:.&0111161程序可以对会话进行531加密封装。 ! ―
可以对远程客户机和本地或是远程的服务器之间的会话加密。这里,5 11
1用来对―服
务器与传感器直接的通信加密。0 1153?!是实现56口1 511611 ( ["!)协议的开放源代码的工 具 55?1是一种安全协议,可以实现在服务器与客户端进行安全的通信和传输数据。其他安 全性差--些的协议可以提供的功能,0 0559也是可以提供的,而且还可以用于对 011服务 。
器进行远程维护。
的源代码,所以在安装5 11 1和 0(1 851这两个软件包之前,必 (: 一直是 界匕使用最广泛 须要先下载并解压八口化 的软件包。从1996年4月以来, 地吸4服务器。是关系数据库管理系统,我们用它来存放人侵数据。 !" 是八!3 116对0 11551的接口。 0 - 331并不是一个独立的程序。它只是的一个模块,可 以使用01)61155[库。 接着需要预编译、编译、安装 :10管理图形用户接口所需要的组件了。首先要安装的是 可以创建图形的库&。 0 是一个图形库,许多流行的程序设计语言都使用它来快速的创建 图像。它可以是程序设计语言,如可以相对容易地快速画出复杂的图形 ?? 是一个 010(1
―
&31需要八
―
-
、
。
应用程序服务器,用来处理由?9?程序设计语言编写的代码。?9?是目前非常流行的嵌人 的脚本语言之一:.
!
接下来,我们可以使用以前集合的所有软件包来完成 化! 编译安装。首先就 需要为 6增加一个测绘和制图库-? ?"。然后创建并安装一个丄 八 文件 丄 :?&文 件是实现 3服务器对化 网页进行强行验证最简单的方法。化 安装完成后 就可 。
,
以安装通用数据库访问程序 0008。
现在,31100服务器已经准备好了 ,并且安装了八00。八是一个基于? ?的分析引 擎。它主要是用来处理由安全设备(如103和防火墙)产生的安全事件数据库 置 配置、用户定制都存储在3 、
-
了
。
112
。
110的设
"文件中。至此,所有的511011服务器的安装就完成
第7章建立传感器 本章主要介绍如何配置5110 传感器。5110 应用程序自身也是安装在传感器上的。传 感器通过捕包从受监控网段收集数据,然后将包直接送给51101 应用程序。3000解释包的特 性 如果检测到可疑行为就发出警报,报警随后被发送给51100服务器。在接下来的装置中, ,
以3110!"I统一格式记录日志,然后可以配置! 0 3 持续地处理由511011产生的报謇, ―"将报警发给; 打服务器上的\ 301 数据库。传感器必须连接到监控人侵的网段,它的 自身安全自然是首要的。传感器应该是加固的而且只安装511 1和支撑它的应用程序。与 311011服务器一样,你需要使用"如X 7.3作为传感器的底层操作系统。 传感器需要安装两个网卡。一个用于捕包,一个用于管理。将捕包网卡与被受监控网段 连接,管理网卡与进行监控的网段连接。捕包网卡配置为秘密方式,这意味着不给它分配『 地址。但另一方面,管理网卡需要分配I?地址,以便它与服务器和控制台通信。报警数据通 过管理网卡上传到服务器。控制台也是利用管理网5远程管理传感器。安装两块网卡最好先 于安装! -。这样!可以自动发现并安装网卡。 7
.
1安装指南 下面给出基于!
!
平台的30011传感器的在线安装指南。选择"!!
是因为它的稳定
性 安全性,并且有大规模的社区和众多可用的应用程序。 ,
更具体些,应该选择较为普及并有收费技术支持的1 3 7 1 .
7.3版本。
1(6(1 1131 "歸7,3的安装
1
.
开始安装只63
31 "!!
,安装程序可从服务器或控制台获得。除非在下面章节中给出不
同的指导,否则都按照默认选项安装。 1
网络配置
.
在这一配置中,需要指派 10作为管理网卡,6出1为捕包网卡。因此不能为 !1分配化
地址。在 10的1?地址配置信息中,也应该取消选定00 81 网卡选择I?地址时,与配置服务器时一样,选择一个专用的
1 08 01 :?选项。为管理 01918地址。合法的
(;巧比
地址范围如下: 9 10 0 0 0-10 255.255.255 .
.
.
.
9 172 16.0.0-172.31.255.255 .
攀192 168.0.0-192.168.255.255 .
防火墉配置
在防火墙配置中,应读选择""0巧! 3
不使用防火墙V、
时区选择
保持 !。"传感器和服务器之间的时间同歩才有可能进行事件相关分析。没有精确的时 113
问同步,很难将安全事件拼凑在一起。本章的安装
小节将深人研究时间同歩。在这里.需
要选择1710 0标记并指定正确的偏移量。另外,需要选择3 1
010
1
检查框。
帐户配置
4
在为服务器或任何重要的安全设备创建帐户时,应该为用户帐户选择健壮的口令。健壮 # &), 口令越健壮, 的口令应该超过14 [字符并且混和字母,数字和特殊 符(网如 ! 口今解密机对所有口令进行组合的计算开销就越大「 选择安装的软件包
应读选择下面的软件包: 1 01-11 5叩!?01 ;
1
暴 1655
丁0013;
1[ ;
参匸1113
7 1 .
2后安装任务
.
与服务器一样,传感器也有一些 要的后安装任务;,其中最重要的任务就是保证服务器 补丁的更新。
你可以使用1 3 卜
:八?1,11 1
1网络自动对服务器进行更新,或者在下面的网址选择需要的补丁: &1131 「「"卜?;- !!
11 1 ,
, 1111111
"! 可能与操作系统一起安 更新完! ] I" 后,应该卸载一些不需要的包。1; 叩和 装了,于是需要卸载。然后安装一个比8 自带版本更新的 X:印。可以用下面两个命令 来卸载111 08口和1 1101 ; ? !: !-:
1
执行命令后,化 !!!! 和1出IX:叩立即被卸载:: 接着我们需要加固服务器。采用手工和半自动处理都是很有效的方法。如果服务器上安 装了 63 116匸!!战,你可能是希望手]:加固系统。遒循5 .01 网站的在线帮助,可以很好地 完成对& 『1服务
的加固。査洵指南的网址如下:
!]1 : 7― 38115 0 /111111!! 卜&!)
835(1116 "!!! 1
安装
.
63
! ;化可以用来提高传感器的加固程度 因为传感器处于髙风险位置,应该比其 ,
他机器有更高的加固程度。可以为传感器使用更多的限制配置。记住,你可以通过使用'' '
脚本来回滚取消进行加固过程。 可以在这个网站下载153 1)1!!?: //
116 !
":
、、'丄331111&!;!!!!、.。! ;/
需要从该网站莸得下面三个文件: 丁 114
1 35111
I閥X
?!VI
口卜;。"010( 1116
# !"116 63511116 ?61-11; # ―1-116 ?711
?!VI
下载到这三个文件后就可以进行安装了。这时可以使用1 31 ? 386 1 11 61 (! 来自动安装& ;116。可以自动安装的包或许应用程序比较少,但是这个软件包是可以 自动安装的,对用户来说非常方梗。在安装目录下执行只? 1安装命令,命令后要加上-00 & 选项,!1(1下所示: ;)!'!1- ! !!- )!).)) !
17 11 "! !! ―!
"
"
]!!!! . 1586. 1)111
为了防止在安装过程中出现由于没有满足包的依赖属性而出现错误,我们可以在安装命 116 "!!以和图形界面。在安 令中加上 10 选项。! 卟丁] 包安装完成后,还需要安装1 装目录下执行如下命令: !) 23511116-1.3.0-1.0. :386― 1
63 ; 118"丁[!
!)!& 1.3-0-1.0.1386.11)111
1 迭项设置 .
现在63 程
化安装完毕。以「001用户身份在命令行中输人101
开始加固过
0 66351;
通过选择丫 框来启用所有设置,有几个除外。不选的几个设置在下面几节中讲述,它们
。
带来的争议多于安全。 鲁 16 ! ! ;
。!
文件许可)
全部启用。
八0001101 3 111";1 帐户安全) 001 ! 除了" 51 11116 1*61110
"限制远程! 01登录)"之外全部启用。 通过禁用以1 【身份远程登录可以有效地强制拥有! 权限的用户以普通用户身份远 程登录。用户必须在登录之后才能切换到1001帐户。这能阻止只有1001 口令的攻击者登录。
禁用远程 1登录是一种较弱的安全控制,它存在一些争议,:6[!果你认为应该进行两次登录 来获得『001权限,你可以选择远程1001登录限制选项。 參2001 启动安全)
除了"01831 118
0 1 X2 !
〃禁用0X81八I丁七!;! !
重启)"之外全
部启用。
01 1108 11 -11-1 X1:1 仅仅只是让重启服务器变得困难一些。任何能通过键盘 1-1 1X1 的效果是一样的。 重启服务器的人都有可能切断电源。这和01 1 3 11
!化记 安全的(化出)
除了"0 31〗出!18 10 0 07【。「 參1)1531)16 1;
?!" !"3"和" 化""之外全部启用。
丁00 (禁用用户工具)
"禁用000编译器)"之外全部启用。 除了"0 1 18 1116 00: 如果你已经编译并安装了必需的"服务器包,禁用000编译器是一个不错的主意。 可以在整个安装过程完成后再启用这一选项。 暑0001 0!"6 ?4
除了"1*650
1131160113 ?3!"31061:0 (配置其他参数)
113(限制资源使用)"之外全部启用,
限制资源使用,例如设定最大文件上限为1001 和该选项中的其他一些控制 将使传感器 ,
运作受限。如果启用这个选项,将使3000应用程序的性能大打折扣。 115
,1*41806113116005 [
!!。!
其他守护进程)
)"之外全部启用。 除了"! ! ! 禁止( 通过01 1在文本应用程序中使用鼠标是很有用处的,不会带来很大安全风险。 1113;1 〈发送邮件〉
136
全部启用。 「(
汕〔防火墙)
全部禁用。你不会希望在传感器上运行防火墙。 攀?01-15030八1(3 0 160101 《? 》(:端口扫描攻击探测器) 全部禁用。5.101-1传感器是你对网络基础设施扫描的首要工具, 國完成对1 (11 匕出 的加固 11 运行这一脚本。如果以后发现加固得 在选择完合适的选项后,你就可以提交并# 过于严格,一些进程无法运行,你可以重新选择做些调整。可以在这个网址下载、0(10"脚本
然后可以重启83311 7
.
并且取消选定错误启用的选项。
2安装300「1传感器组件
本节将教你一歩一歩地从头建《811 1传感器。就像建立服务器和控制台那样,你将需 要预编译、编译、安装许多软件包。
此外,遵循这个指南的步骤很重要。有些包必须在某些包安装后才能编译安装。满足这 些依赖性很重要;如果需要的软件包没有安装,那么安装过程中可能就会出现问题。
安装"―?
1
7 2
.
.
10I没有自已的捕包工具;它需要外部捕包程序库化 化 包 它是由底层操作系统提供给其他应用程序的捕获原始包的丁-具: 。
负责直接从网卡捕
。
要使500 运行,必须正确安装!;!) 叩。可以从这个网址下载 ""!3:《(
!,! 卩.。巧/
下载最新的稳定钣本并对其解压縮。
进人新建的目录并且进行预编译、编译和安装。
1113
11151311
安装1化完毕。 7 2 .
2 安装-(!!!
.
1
安装
.
安装1 (1"! 116
包是可选的。&1x11
是一 利用化 印进行捕包的强大的工具。1
0?&通过将网卡设置成混杂方式运作。尽管& 1117 并不是配置&10"传感器必需的,但是 它是一个便捷的工具.可以用于多种与―入侵检测相关的功能。 可以不依赖50011而是作为一个独立的包唢探器来运行。300 只记录匹配警报 的流量。你可以将&10"配置成对每一 包都报警,但是这种嗅探方法比较麻烦。因此你很 可能会希望在&外部捕包2 -个独立的嗅探器可以用来收集详尽的网络信息,而且不需 要修改或重配 101
!
对解决传感器的错误也很有用。如果 10「1不能捕包,你可以用化 !
来确认
你是否正确安装了软件和硬件。
也能利用渎取5110「「产生的输出文件。为了解决错误,有时你可能希望以&化 "中格式 录 1志。如果怀疑& 巧力 或某个输出插件不能正常工作,可以以化 ,]?格 式记录口忐来检验; 0"的其他部分确实在7:作。
可以在这个网址下载
!口:
下载最新的稳定版本丼对其解压缩:
进人新建的目录并且进行预编译,编译和安装: /(!!!!
!!!
01 116 11151011
安装〖(:! !!!! )完 。 运行
是一个简单却强大的工
可以以最简单的方式使用化 - ,运行
11111「;命
:
令并且指定接口 (网卡、
如果流量太大,可以对一个指定的源I?添加一个过滤器来对其监控: ―,~\
1 '
1x 1 90
1「 ―
/
。!
'
上面的命令将数据发送给标准输出。如果想写人一个文件以便以后调査流量 可以使用 ,
如下命令: 1(
11111 -1 1 0
11181131116. 1101
然后,就可以用化! !"!!
读取文件:
在这里我们不提供全面的关于的指南:如果需要 你可以找到大置在线资源,帮 助你使用 !!! 进行人侵检测。 ,
7 2 .
.
3安装。"!!
0
55 与
!! 配合使用对传感器到服务器间的通信进行加密。安装0 1)551的方 117
式与配置服务器时相似。首先在这个网址下载源代码:
记住要下载的是0 11551源代码而不是0 11531-
116源代码。下载后用以下命令对
其解压縮:
进入新建的目录.用下面的命令对源代码进行预编译:
然后,对其编译:
安装源代码: 1113
1031311
如果一切顺利运行,你就成功地在30011服务器上安装了 0 11581。然后需要编辑 13. 3 000?文件,使这个文件包含0 5 ! 先用下面的命令打开文件: 6111805 /改/
, 0, 000【&
在该文件中添加一行''/化"
儿
。保存并退出。运行如下命令:
更新共享程序库。现在就成功地安装了 7 2 .
.
!!
匚
4安装&咖8
&皿1161用于建立和维持加密对话。对传感器应该使用511111 1的客户端部分。我们的目 1 1: 际是对1 501对话进行加密。首先下载
下载后,用与0
831相似的方式来解压缩文件:
解压縮后,进人新的源代码目录7& 化口3 22 加 8?;。进行预编译:
11151-317 !1151311&11011 1 (无法找到55[库的安装路 如果出现错误消息,如"030001 径)",不必为此担心。这个错误消息很可能是因为( ? 被安装到了非标准目录。如果 想把它安装到不同的目录,需要像下面这样指定-
接下来进行编译: 1)8
出选项:
3
最后安装:
现在一个可运行的51皿! 也安装到了传感器上。还需要为它的客户端创建一个用户和 用户组。通过输人这些命令来实现: 51:11111161 ― !
001381 113613
-8 5 1111!61
? 3111110
―
第--个命令创建一个组
81043,第二个创建一个用户该用户属于&001 1 。叩组。创建好以后就可以开启51冊061客户端。 使用下面的命令启动1111161: !!
-
7 5 11111161731)111751111111 1 101\
561
1
-3 127力力,1 : 3306 -1
II3: 3307 ~5 51111111 1
113
这个命令以客户端方式启动5100 1。 加化1。 -3后的选项是本地回送接口和111
和远程!
卞81111111 1
―
011 &
指定客户端方式,而]以守护进程方式运行 1端口。对-!"必须指定51101"【服务器的II1地址
5 1端口。 -5和 分别是运行帐户的用户名和组名。
这样就为&!00服务器完成了 8100 1的安装。 7 2 .
.
5 安装01*6115811
&!011控制台必须运行0 1135?!守护进程才能进行远程管理。像对服务器那样,你可以 从控制台连接到传感器,对其进行控制。从这个网址下载支持931的0(5 858:
下载后对其解压缩:
进人新建的目录:0 0136113811-3 ― 4口1 依次进行预编译、编译和安装:
1113 0131
1115 11
现在应该正确安装了 0 0554。如果使用的是另一种版本的或者完全是另一种 版本的匸!!化,你可能会收到一个与21化压缩库有关的错误。如果是这样,你需要从这个网址 下载洼!? 111:?: 7/
,
) ,0 7 ! /
按照通常的./ :00(;8
、I11 1 和1 1
;1151311过程安装21〖11。完成后 0 ,
351"!就能正常
安装 。 \\9
现在必须生成自己的05 密钥。利用命令:
执行下面的命令运行 !山
/! 。/
/(! /!
'
卩I
观在0 0559守护进程就做好准备接收0 [!559连接;, 7 2 .
.
6安装"客户端
应用程序需要 301客户端与服务器建立远程连接。1 01731 需要向1 501 发送报警数据,因此必须安装1 1 01 客户端库和程序3为了安装客户端,必须下载完整的
750[服务器和客户端源代码。然后用一个配置选项阻止服务器的安装,只进行客户端的 安装即可:
在这 网址下载 1x50匚
下载完成后对其解压縮: 131
111角1-3 23,52,1:?!『'&
进人源代码目录: 01
1-3.23.52
预编译\ 801 只安装客户端:
编译并安装:
30[客户端安装完毕。 7 2 .
7
.
安装1
网络时间协议(" 丁!! ? !0001 "丁?〉用于&多台物理位置分散的设备之间保持 时间同步。同步的时间是事件相关所必需的。事件相关是对不同设备收集来的子事件进行关 联拼凑成一个事件的行为。许多安全事件经过拼凑会成为一个事故。如果每台设备时间设定 不同.这一过程将非常困难。一台设备记录一部分攻击在 二 ):":",而另一台设备记录其 他部分的攻击在14:21:04:32。在一些每分钟只发生几次亊件的小规模环境中,这样可能不 会有太大影响。伹是如果在中等规模或者更大的环境中,在一个相近的时间段内会记录成百 卜千的无关事件,这种情况下,时间同步就非常重要。如果时间不同步 区别出几个子事件拼 ,
成一个事件是不可能的
;
!20
1 1?用干在多台设备之 保持时间同步。利用它可以在所有传感器之间同步时间"如 你要从 他设备((何如防火墙)向人侵数据库输人数据.需要确定它们安装了 ~丁? 相似的 践 "丁?是少数几个可以利用&1*1进行安装的包之一。最新的 ? ? 1 4以从 ?!丄! 或1 (1 1 31网站获得。得到之后,用这个命令安装: "
。
安装后.需要指定进行问歩的吋间服务器。需要注意的重要一点是:如果你决定让所有的 传感器与服务器同步,就必须用一个可靠的外部时间提供者来同步服务器。否则,利用不同的 织,例如。 、( &丁和商业伙伴等等进行事件相关是不可能的。可靠的事件相关是有效的 件响应计划所需要的。 ;.
々 "/ '
以在这个网址得到一个公用时间眼务器清单:
, 11
1
11
、 ,";1卜/!!"/?
..卜011
也可以创建、使用或安装6己的内部时间服务器。接下来需要编辑位于/ :/!!中. 卅的 01「00"文件。改变下面这行让 丁?知道你使用的是哪一个时间服务器: 5
1: 10360
一
化!"
6!國 001
―
化 应该位于你组织的内部。你也可以选用1 3 81的实用程序( 化它是一个图形界面的实用程序,允许你将系统时钟设置成"7 服务器。它也有一个 、丁?服务器清单以供选择。 配置完~丁?后,用下面的命令启用它: 10*0
1;1此
―
1 1
7 3 .
-
安装完毕。
安装 10「1
现在到我们期盼已久的时刻了:&!。"应用程序自身的安装。现在应该对3!! 它能做什么,如何运作已经有了很好的理解。
是什么
,
注意
&这里需要指出一个重要的事实:如果遵循本节的安装指南,你将得到一个完全失诸 的31101 这会导致大量误报。安装故意将误报与漏报比例最大化。建议启动所有配置, 这样会使传感器慢慢运行到更谐调的状态, 这一默认设置是新的传感器的推荐配置状态。漏报远比误报恶劣。尽! 吴报时常让人沮
丧灰心,但是可以采取一些主动的步骤来减少它 。你可以慢慢地修改规则、调整预处理使警 报趋于合理。然而,检测漏报却困难得多。目前还没有可测量的、有组织的方法来减少它们。 常常是在主机被控制后才意识到出现了漏报。因此,当第一次配置新的传感器时 必须加大检 测面,确保最大数量的聱报。第10章将讲述: 【的调试。 首先从社区网站下载最新最好的3 !!版本: ,
解压缩并进入新建的目录: 121
1:3!"
311011-1.9.0.
.82
3001-1-1.9,0
接下来对3110「【进行预编译,并且使它可以使用1 7501。如果计划使用6 省略-
[卜111
山应该
1选项:
编译并安装:
完成&10!!应用程序的安装。然后需要创建运行&!00进程的组和用户:
建议为规则和&1加的配置文件创建一个存放处。这样更便于105策略管理器或者通过 839对它们管理。用下面的命令创建规则目录:
必须将用户名和口令存储在这个目录里,因此需要设置一个许可限制:
在为规则和配置文件创建目录后,将合适的文件移至该目录下。在保存3 !"I源代码的 目录下执行这些命令:
巧1 0 006.001111 / 0 81 11136/
/
/!
!:/ ! / /
&100源代码中的特征是&101 版本发布那一天最新的 因此,它们很可能已经过时。可 以从这个网址下载更新的规则集: 。
解压縮规则文件:
进人规则目录将所有规则移至/ (:/叨加/
&101 安装完毕。 122
目录:
7 3
.
.
1
配置811011.00
?(
.00"文件是配置50011没置的首要进入点,在文件中必须指定要监控的1?地址范 围 启用的预处理,使用的输出插件和采用的规则。 下面是对 10「100 文件和推荐设置的简要介绍。 1 设霣网络变置 网络变量是一组选项,它们使500 了解 于受监控网络的一些基本信息。它们设置受 监控的I?地址范围和重要服务常用的端口。这些设置将使&!011粗略了解你的网络是如何 建立的。它们也能用于规则变量,因此它们最好尽可能精确。下面是一个规则示例: ,
.
3 !: !! "
31饤1 1
,化 ―
,々8
―柳化
11
8
!
"
―
龍15
11 001116111 : 7[ [?國; 1
这条规则用来检测利用[ ?. 可执行文件的弱点。该弱点使攻击者能远程査看或下载 .6?后面添加文件路径即可,例如: 目标主机的所有文件。只需要在11141的
注意这条规则同时使用I 8 8了IV
―
521
1
和5
1-1? 10 X3变量。这些变量在
8110!"!, 卅文件中设置。可能一开始你会认为只需把3仔! !1 ?08 3设置成80和443就行 了 但是有一组基于的设备管理工具,它们中的一些可能利用?9?这类脚本语言。 5下的一个普通端口,例如3276/10 0 1将错 如果你有一个? ?管理设备运行在 -
。
过针对这一设备的攻击。需要指出的是,如果你没有对受监控网络开展充分的调査,就将 5101-1.00 中的变量指定为最常见的端口 ,可能在不经意间就使产生了漏报 。
:縦
1
丁
一
这个变量表示监视人侵的内部I?地址范围。5110!"I将不观察!"101
: ?I:丁变量指 定的范围以外的任何事情。你可以采用四种不同类型的『地址范围中的一种。第一种是简 -
单的地址范围: 192.168.1.1/24
地址范围必须以口08格式指定。第二种是一个010尺地址范围清单: [!92.168.1.1/24,10.0.0.1/241
丁对如何列出0108地址范围要求非常严格。注意必须要使用中括号[:1 范 围必须用逗号分开,且不能有空格。认真遵守这一语法。第三种方法是用一个本地接口指定 内部地址范围。 90
:
,
用这一选项使 ?―一直使用指定接口的 地址和掩码。记住 你可能将。1,1网卡设置 为捕包接口 ,因此如果你选择这个选项,设置901 为8 6(111 \001? 35。如果你将 捕包接口设为秘密方式(即不分派I?地址),这种方法将不起作用 最后一种选项可以用来保 证观察最大数量的流量。 ,
―
―
。
123
如果将 ) .: ― 1 丁设置为如7,将会监控所有内部I?地址。这正是我们希望使用的设 置 在调试 恥!!时,可以重新设置这一选项,使传感器3对一个较小的地址范围进行监控。 也可以使用11)8选项在传感器之间分别分配一些内部地址范围。401 : ~2丁变量声明 。
如下: 90 11:
―
1 1:丁 311 乂
丁瓜-肥丁
类似 它设置需要监控人侵的外部地址范围。它像901
这一变量与40\15
,
~2丁一样支持四个选项。因为这是你第一次配置 ―
?
丁 ?-
变量声明如下:
~八1
)
0丄化希望将它设为31 。
1
你还可以选择将2X1 81X1 1 ~2 丁配置为! 890? 11 ~ 1。这将监控除了定义给 !"之外的所有包。如果你决定将5X1 :[ 化 1 1设为! 5; 801 ; ! 〃匸!',要 ―
-
-
确定你没有将901
, &丁设为31 。这时31
的反面是空,意味着以这种方式配置将什么
也不监控。 !"!? ?0875 -
口
。
这个变量用于指明运行 !!1服务的端口。 5110 将使用基于911 的规则检奄这些端 到目前为止,对这个变量50011只支持四类端口分派。你可以列出一个端口,例如 80
另外,你可以监控一个连续范围的端口。下面的例子将对从1到1024端口进行监控: 1:1024
也可以使用一个小于等于某值的端口范围。下面的例子将对小于等于1024的所有端口 进行监控: ;1024
最后一种方法用一个负运算结合前面的二种方法来表示除了指定范围以外的所有端[:I, 如下: ! 80
在不远的将来,
将支持非连续的端口清单。如果添加了这一点,就能创建-个端I 1
清单监控917
攻击。对 ! !"!"? ?08了 5变量最常见的选择是80 8080和443。下 是一 些常见的91 ?端口和简要介绍: ,591: ? !" ?1x1利用591端口发布?;1 131 数据库的1 版本 593: 1 0端点映射启用客户端来査明当前指定给一仑特殊服务 ,
-
。
的端口号。
1 01防火墙进行客户端认证 攀900:对「?上的。 1580: 18 1 01;存储管理器(丁 ? 的识 )管理界面 2301 : 00171133(1 105 1 1 30&8&的 611管理界面 。
。
124
。
9 2381 : 0)111 34 111518!11: 攀2693 : 661
攀8880:
听
的基于的 忐管理界面。
11
许可证管理器! !!:!1服务器。
的基于八1
0 1
116的管理界面。
?01 15变量声明如下所示:
41-1下
―
81 1 丁? 这一变量用于指明本地网络中需要用8001 监控的5 1?服务器6 31)011将会监控发往
这些II1地址的攻击流量。500 将会使用指定了 8 31 1?变量的规则。下面是一个 31 1 规则的例子: 31611 I卬3 !
丄0 ―
乱 ―
7
8
25
(!!!? : "?! !"? 6X1311 1 1*61 013 31011 1 "; 00 1': VI 361 6 , &! "
031116111 :
! ;
?口II (: '!)&!'; 1
013漏洞评估工具的特征。使用这个工具可以探测出 孩规则描述了攻击者使用04 5 服务器上是否存在2X1 漏洞。2X1 是一个命令,用来从31 丁?服务器获取用户名 或邮件路由等信息。 如果在定义?"!!1变量时偶然地遗漏了一个5"丁7服务器地址,这可能会导致漏报。攻 击者常常使用盲侦察攻击来检査服务是否存在。另外,脚本族常常试图利用你的网络上不存 在的服务。如果你定义了确切的37服务器的地址,你将会错过这些试探性的攻击。因 此 你应该将3"丁I1变量定义为3 ,
01
―
[ ;丁。这将会对你在8 801
―
丁中设置的所
有I?地址针对?"!!1攻击进行检査。当准备调试50011时,你可以重设这一变量。31 丁?变 量声明如下: '厂
31滅? 3 90!
"!!:? 51
/
一
3
-
该变量与3 7
变量作用一样。它也被设置为组织中 !"!?服务器的地址。推荐第一 5变量声明如下: 丁。 911? 5 次将该变量设置为6 1 0! ―
将501 置为3 90
―
50 -
0 5 5
―
85设置为组织中各种501服务器的化地址。建议第一次将读变量设 21 301 30 /1 5变量声明如下: -
1*5
.
将0 13
36:1 /1 5设置为组织中各种0 3服务器的正地址。0X5服务器对大部分网 络来说是误报的主要来源,不管网络的布局如何。对0 5服务器,一定要下功夫识别它的I? 地址。0 15 30 /1:85变量声明如下: ―
-
125
1 ; ― ?八丁 9
1
这个变量指定传感器上规则文件的位置。将该变量设置成为&100配置和规则文件创建 的目录。示例如下:
030& ― 1*0 X3
;
3
05) 011,空指令、!"进行监 这个变量指定&1011需要针对 尤其是! 011 控的端口。 3 1100 或110013 816(1常常表现出缓冲器溢出攻击的特征。这类攻击会用!10 (: 装满堆栈以至不需要一个准确的返回地址。311 1中存在一类规剐可以依靠 特征来 鉴别这种类型的攻击。不幸的是,! !
特征的髙误报率,应该详细指定哪些端口不需要监控3 1100
00(16的特征。由于5 1100 击
,二进制附件,和其他二进制通信常常匹配3 11-
攻
。
?01 5变量的端口指派规则必须与 !!"? ?01 丁3变量的一样。不幸 的是,你只能在目前的&!加版本上指定一个或一个范围的端口。例如,设置3 ;0丄01 攻击监控: ?01 X5为"! 80 ,表示对80端口不需要进行业』 3 0 0006
―
―
! 80
如果&!04可以使用端口淸单,也许会希望在下面这些端口上不监控3 1100 ! 119: ! !1?端口 二进制文件常常通过[ !!3传输。 # ! 515:打印机假脱机程序端口
攻击:
。
。
3
1.1
005: ―
。
?0 75变量声明如下:
(:! : ― ?01 X3
&100用这个变量指明组织中0 16运行的端口 ,检测可疑的或恶意的031 行为一 如 果你的0 不是运行在默认的1521端口 ,需要对这里设置。01 0 ?0 13变量声明 ―
―
如下: 霄01
?08X5 1521
1X2 ―
1 配置预处理程序 .
坚持以最大误报换取最小漏报的原则,需要将预处理配置得特别敏感。如果你需要回顾 一下某些预处理的功能 请参见第3章。 ,
一预处理程序 382是311011的!?分段预处理。它用来将分段包标准化。对&362的选项进行如下设 置:
1;11160"!:设为35
。
106111 3?保持默认值4194304 攀!!!;!! 【11设置为3。 1(1」 设置为8 -
:
配置行设置如下: 126
。
131 11X6 0"!:882: 1111160131 35 11161111 )4194304
,
111111
1(1 3 111
1111111 8
31!"631114预处理程序
80011用"巧顧4来保持10?流的状态。配置加
的参数如下:
参1;111600 设置为35。 參启用(! !
30311 0
―
,启用1161601
5131:6 ―
―
9 11 01081)
口 113乜1611150
(1:8388608。
111设置为3。
9 111111
设置为8。
(!
出 ―
其余选项不必考虑。5 631114预处理配置行设置如下: 口!"6 )11)1:6 0『!631114 :
:1
803113 11060111 35
8388608 111111 111 3 III 1111111 8
511-631114 ― 「633361111 预处理程序 311-631114 !"635861111 预处理与5 31114预处理关系密切。它完成对! ?流的重配。应该 ―
配置这些选项: ,启用1X 1
。
鲁130!"13设置为311 如果你在接近最小硬件配置条件下运行传感器或监控髙带宽网络,可能不得不将设 置为811来减小重配处理的工作量。其余选项不必考虑。0自4 1635361111 预处理配置行 。
―
设置如下:
11"口 3 0 预处理 &00 预处理负责检测 !"!?流量并对其标准化。应该配置这些选项: ―
―
参启用011100(16 攀启用113
0
311 ―
1I11 x160
?
參启用 61100 6。 ―
启用115
化口
―
鲁启用 1111
―
313 1。
―
1
139
也需要设置111 8080。如果你的 17
0
00
-
对哪些端口的流量进行标准化。最常用的清单是80,443和
服务器使用了这个清单以外的端口 (例如,2031为( !! 叫1- 11管 佥的配置行设置如下: 理器〉,确保将其包含在内。 卬 -
[ 印!
!:!:
1 60 6: 80 443 8080 110100(16 113 311 ― 1111100(16
6000(16 113 ―
! ―
「
―
1
―
0
― 513311 1111 ―
( ( (
600(16预处理程序 6预处理对可能被做了可疑操作的叭数据流进行解码。配置这个预处理 只 ,
需要列出组织中使用8?0的端口。如果没有其他运行在非标准端口的 ?0守护进程,可以 做如下配置: 127
151
: 111 32771
1X31:63301取―11603
1)0预处理程序
1x3预处理对吸;!!& 系统检测63& 0";?(一种远程控制待洛伊木马I对它的配置采 用默认设置。如果你希望在低于理想的条件下使用传感器(例如,资源有限或者监控较髙的'带 宽),建议启用- 1)1 6选项。这样出只使用相当少的系统资源。下面一行是对预处理进行 简单的配置:
化1114
―
[!
预处理程序
)
预处理对任意插人到丁 或! ?流中的二进制控制代码进行解码或删 除。它没有配置选项。启用" 1(1600 预处理如下: 1161
―
3 0
口[ (
(
"!!。 ― ("
卜
预处理程序
是检測恶意 ?数据流的预处理程序。应该启用皿;? 选项对八 ?单播请求 进行监控。用下面这行启用31" ; 门
为了启用这个预处理,必须分行列出工地址和对应的 1
10
!: 192.168.1.1 00:06:58:18:
0― 61601
?!" !!! :
!!
0地址,如下所示:
-(!"?【―
:10
【:192.168.1.2 01 : \?:05 : 11 : 150: 10
在化; ! '3系统中,可在命令提示符中用 0071 /311命令来査看1 1:地址。1,1系 统中,在311611提示符中用1(001 8 命令查看。 33111 6&预处理程序 1 3 6预处理是用来检測八5 1.1中可能预示着恶意行为的多种不一致性。它没 ―
-
有选项,启用方法如下:
@〖001X1预处理程序 ( 「(!预处理用来检测和防止多态311611代码躲避试探。它没有选项,启用方法如下:
0011 6
1;011预处理程序
该预处理对所有II1数据流的会话进行跟踪。运行它需要先运行!
":并对这些选
项进行配置: 霧设置3110*6(1
―
巾 口 11111X0 一
为&11。
肇设置1 6001等于65 #设置1113 0311 61-53110118等于65335。 。
―
如果你只想对三种最常见的『协议进行会话跟踪 将3110* 1 ! ? ?进行会话跟踪,你也可以包含;! ,
17。这样就对丁 (:
―
―
?10
0|5设置为1,6,
,
-
128
「000 选项、
这样当检测到不是1,6,】7这三种工协议时会发出蘩报。启用 11 1 【;011预处理如下所示: 卩! )
!!"011 : 110\ 0 -…―1
11171 0 1 65 ,
01
0311 81391:10
10001
11
65335
1-1 112预处理枵序 112预处理与0011?1 1;011预处理同时工作跟踪I?协议的对话。它可以通过启用
一些选项来对不同的扫描II'网络的方法进行检测。对它的配置如下: 设置 !!!?! ―
111&X等于32000
等于5000。 攀设置1- 8 ,设置131 11;111;1等丁-5 攀设置 1-1 11 ;1等于20。 ―
。
―
设置1;1116001等于60
。
你也应该添加第二个1x 址
。
712指示,用它来指定可以忽略进行了端口扫描行为的1?地
最初应该对所有01 3服务器这样设置,以后可以再根据需要添加。 1 1~1503112预处理配置如下:
1:!11
3
1:
―
11:11;1 5, 1X11-1
1111111: 20
111113)111: 60
安装输出插件
虽然有很多可选择的输出插件,但对传感器还是应该只选用一种。有两种向811 (服务
器输出数据的方法最常使用,一种是利用811011提供的数据库插件将警报记录到 501 数 据库中。需要注意的是,这样会产生一个主要的输出瓶颈。 301在査询数据时非常髙效。 尤其是在 中使用 !::! 语句,查洵速度极快。然而,在插人和更新数据时却完全不 同 ! 501 在执行11?0八丁5和1X31;尺丁语句时速度非常慢。当向数据库写数据时 。
,
就会使用… 丁语句,这时会引起数据库服务器瘫痪。而51100又必须等待! 5 准备 好接收新数据,因此3:10 「(进程本身也慢了下来。显然,直接从3!!; 输出并不是最有效、最完 美的方法。因此,最好使用第二种方法,用外部代理将警报输出到63111 。这需要5110!"I采 &以一 用统一格式进行输出。这样&1011就可以尽可能快地处理数据流并产生警报3 63 个独立.进稈来负赍将数据插人 50门从而不会影响5001 的性能。 每种方法都有它的用处。如果你监控髙带宽网络或者监控可能会产生大量警报的网络, " 丁以用统一格式输出并采用卍。即使你要监控流量较少的网络 使用也能确 ,
保你的传感器能对付流量的猛增。如果你将5001-1安装在家庭网络或仅仅只想检验各部分的 运转,可以用第一种方法,即采用数据库插件。 使用数据库插件
数据库输出插件直接将记录日志存放在 801 数据库中。需要指定本地回送地址 便用5 1. 1对数据库通信进行加密。对数据库插件配置如下选项: 擊设置0111 口 1)1 !!!! 为31611
以
,
。
设置 3131)386 1 (56为!!!乂巧!
。
,设置 051等于127
.
0 0 1 .
.
。
129
#设置&0311 为37X (113或者你为人侵数据库选择的名字。 鲁设置 I"为511011北 1.5611181116或在第6章为&1011传感器创建的 ―
9设置15 脚50 #设置5
?01 为3110"(!6
―
501用户名。
01 或你为5110!"I传感器创建的500!""!) ― 0560131116的
1)3
口令。 31116为你打算为这个5110 传感器选择的名字。
301"
―
设置6000 08为8 ;;来使用【11格式记录日志 而不是二进制格式。 ,
数据库插件配置应该如下所示: 011115111
31)33 : 31611:, 111
1, 11051
127.0.0-1
1131116
811011
数据库插件配置完毕。
使用!;!! "(统一格式输出)插件
1111;〖;6(1 (统一格式输出)插件的目的是使511011尽可能快地处理数据流。而化
格式不同
于1卬 叫二进制格式。 统一格式有两个选项:108
―
"!!出出和3161
―
1111
6(1。 31 :1 ―
设置允许超髙速输出
1111
人侵謇报。利用皿出6(1输出的数据并不包含包的完整内容,这样使得3110 能以惊人 的速度写人警报。这只是出于实时通知的目的。如果你希望用数据作为法庭证据,就不应该 使用这一选项。 1 (统一格式输出)插件需要使用这一设 皿出6(1输出包的所有信息。如果使用111 -
置。你必须为 ―出 -
设置〖
!131
指定另外两个选项:
为 汉对丄!!;〖;" 108或是你希望对其输出警报的文件名。 .
设置等于或大于128
。
1;
输出插件行如下所示: 0(11 111
1111!"": 1 61131116
(
.
, 1111111; 256
启用文档链接和警报优先级
两个补充文件用于区分警报优先级和将外部文档链接到51100规则。 335化03110! 001 8 文件用于对警报分类并划分优先级。通过这个文件你可以根据謇报的共性对其分类。另外 对各个类指定优先级。优先级用于区分哪些规则将触发实时通知。 另一个文件是 &巧" .?" ,它用来定义外部文档的;;8 链接。这个文件包含的关键 字用于在规则中表示11 01&上的各种公共文档资源。 启用文档链接和謇报优先级要包食下面两行: ,
配置规则集
3& !工 ? !/ 设置 文件的最后一歩就是配置将要使用的规则。用 " [!!! 这样的格式来启用规则文件。为了保证最小漏报原则 应该启用整个规则集。可以 通过启用每一个规则来实现。删除下面这些行前面的英镑(种)字符即可 删除后的内容如下: ―
,
,
130
!110111(16 8 8111卫 ?八丁8/ 6卜31131:1
11:163
-
3
?八丁!"!/!
1110111
8 81;16
?八丁卩/;;!
;111-111
;
":
1;
1'八'13/ 一
.1
;!!。11 1; 8 8111
0111.111185
?!/!!!
3 1 111,1:
"(
!:-! !
1;10八丁? /[!
111(1? 3只1
;!
!
」'八'!'!
. !!!!
。. !11168
!
010八'1'闩八"111 .1
;71」8 1 111
'! 9/011 1 , 1
6
―
111010 6下― ?八-「97 2卜01 ―
启用上面这些规则后要做好面对洪水般的误报和可能的丢包准备。我们将在第9章讲述
如何利用自动工具和手工编辑将规则调整到4管理的水平。 7 3 .
2
.
运行811011
现在,我们已经有了一个完整可运行的51101:1应用稈序。如果你要选择&!?选项,必 须做些另外的工作来提升 ! !!使之运行在生产方式。你需要花些时间遵循下面一些步骤来
确保每个部分都能正确工作。如果你选择直接从数据库插件记录,那么通过这一步骤可以使 50 1以全能力生产方式运行。
? !!是通过一些命令行选项来控制的。需要用命令行给&1 1以下信息: #
文件的位置。 9志文件夹 10!"1
.
00
。
,捕包接口名
。
500!"I用户和组的!
!
用户!! 〕)和( 化组 "
)。
运行 ! 打的命令行如下:
;61(11 -11 311011
-
- 8 511011
―
10"!! 0
10「1开始运行。注意这时&1011并不是在后台运行 当确认3110 1运行正确时,可以通 过在命令行后添加&后缀来将其移至后台运行。 运行一个I具来产生一些警报,例如?! ! ?或&4 30311 并且检査 310来确保进程正 在二作。如果使用了&11" ;!&,在观察警报前要必须完成下面几步。如果只想做个快速测试 来确认800.1的运行,那么可以尝试: 。
,
811011 - V(!&
这将以嗅探器方式运行5001
7 4
可以在控制台观察显示的数据流。
安装83「11乂3「01 安装配置&? "!是一个相对直接简单的任务。630173
的功能有限却强大。它只履 131
行一个功能
,
但是却做得非常好:这个功能就是根据 101 的人侵数据产生警报'&!!! "没
其他设;十上的特点.只是对以51
统一格式存储的警报进行处理。
有 种基本的操作方式: ,单步方式 ,连续方式 用检验指示的连续方式
单步方式一次运行只处理一个 化
统一格式文件。在这种方式下63111 」对一个文件
进行处理,产生警报,然后就退出。以连续方式运行时,23(11 "对?!! 产生的文件连续不 断地进行处理用检验指示的连续方式与连续方式相似,也是 !0 -产生数据就对其进I-]" 处理。不间的是,它还利用一个检验点文件来对最后处理过的统一文件中的数据进行跟柠..
如果1331 3"守护进程在检验点文件使用中结束,那么重新启动时就以检验点文件屮的内容 作为开始点。 安装必须先认5 01-1网站下载源代码:
用普通的选项进行解压:
进人源代码目录,必须预编译6311
,以便" 0乙支持它与5110"服务器的工作。使
用下面的预编译命令:
编译并安装: 體"。
63111 1 安装完毕。 7 4 .
.
1
配置1)31-11 31
像500"-样,&!
000?
设置也是通过一个," 文件来控制。需要通过这1、文件来编辑 ".?"文件进行编辑。 . 卅进行编辑,就可以按照下面的说明来改变设置。 如果已经准备好要对! !!! :
一些配置选项。打开!) 1
.
守护进程
诙选项以守护进程方式启用 ,主机名
设置00 8 110 1.31116等于10031110
(本地主机
使用下面的命令行:
,接口
确保1&6! ?(网卡接口〉等于捕包接口。如果你一直参照本书的指南 它应该是 ,
』32
,过滤器
用英锛《 》符号注释掉所有过滤标识符。 默认设置是过滤55?1使用的22端口
这时,如果你通过捕包接口使用339访问传感器,
你可能会引起曹报。如果这个曹报在同一个334会话中出现,那么3110
会发现并产生另一
个警报。这个新警报将产生另一个曹报,等等。这会产生一个无限循环,引起传感器拒绝服 务 直到会话结束。因此不可能用359来连接传感器。由于有一个独立的管理接口,所以这 ,
种自我引发的005不会发牛。 .
!"!处理器
― 3161!数据处理器读取51100统一输出插件产生的 !
警报)格式的数据。用下面这
行启用它:
,
―
106处理器
孩数据处理器与310 相似。它读取?!!
统一格式输出插件产生的日志)格式
的数据。用下面这行启用它:
鲁
811-63111 ―
―
它读取&? 口 2
1处理器
4数据,其他与前面两种数据处理器一样。用下面这行启用它:
0『3「 ― 31163111 ― 5131
输出插件
确定注释掉除化" 孔外的所有输出插件。如果你还启用了其他插件 这会浪费处理机 资源。 ,
-
攀化插件
是用来向人侵数据库进行输人的插件。它与&101"【数据库插件功能相似 要使 它工作需要启用下面这些参数: 3北 ! !":用于定义对其输出的数据库类型 大部分是采用 30匚 3 8611301 3:用于在110中表示传感器的整数。确保你使用的是整数,而不是字符 化
。
-
,
-
-
或字符串。如果用的不是整数,1 173 将崩溃。 3 )3131)986:1 x5(31中的31101:1数据库名。 3 361 『:希望登录的数据库所在的服务器名。 3 11561:登录数据库需要的用户名。 3; 1)355 01X1:登录数据库需要的口令。 3(1 :输出到八00的警报信息的完整程度
。
将这些整理成一条指令,如下所示: 01 《I
111 10
3
-
-
!" 127.0-0. 1,
1
: 111
1
11&
5001 一
-
1 61:,
记1 ,
欲-( 01
31101
(
,
13 11335 -
1,
1 1 133
7 4 .
运行83111 31X1
2
.
在这一节的前面讲过,&17 .3 有二种主要的操作方式。像& 11 一样,这些方式和其他 方式都是通过命令行字符串来控制的。可以用下面的命令行选项来控制133 "如何运作。 这个选项告诉8
〖文件的位置。它是一个必要选项。
X313 1331
这个选项告诉83111 1X1 5 01-1 0 (1
格式文件的位置。所有(!06*1文件必须放 :这个II
录下:它是一个必要选项。
这个选项告诉 31-11 3
以连续方式运行时需要的1- 6』文件的基本名字。在每
-个5110!"I 1;1111文件后面加了一个时间戳作后缀;棊本名字就是去掉时间戳后缀的
文件名。
在单步方式中,&加&!"3只处理用一指定的文件。这是一 必要选项。 攀7口3[ !/[。/ !!-1113 1113卩 "翠.771卟文竹的位置。这个文件用于将&预处观产生的 这个选项告诉&31 34 错误消息关联成用户可读的繁报消息。这个文件是5 11包含的,不是 「!1 !: 攀
1,
-
显示6301
使用的相关数据。
这个选项告诉13317
1用除
!-
之外的输出选项产生的3志文件的位置―
该选项以单步方式.运行8 ";/ ].对用4指定的文件进行处理~ 9
以谰试方式运行6311 31"!3。 参/ "々。/ -!!! !!! 口 .
这个选项告诉2301731 3 -11 8.013 文件的位置。这个文件与辟11-11158 01315功能相似: 将;?
"产生的聱报关联成用户可读的蒈报消息。 攀
-1 110165 30115
这个选项设置最早的时间戳值(见?),? ? "用它来进行 报处理。任何早-尸指定时 间戳创建的文件将被处理。晚于时间戳的文件将不被解释。 !! 处理所有严格匹配时间 戳值的文件。 ,
-"
々'
/【。/化 ! !!
该选项打开捡骏指示功能。也用于告诉1531:1 3
检验点文件的名字。也叫作" !11"文 加"必须完整地载人一个日志文件,这就好像把已经存在的謇报信息又传送到人 数据库。 豳0动&101 1 进程 坩下面的命今启动 17!: 」进程:
件 因此用-?。 31(50文件用于记录文件中最近处理的聱报:如果不使用?31(10文件, ,
134
-
【 1101-1 1111 1
10&
现在你可以用来检验5001-1传感器和服务器的全部功能。当你启动并运行 时,一定要记住定期对进程执行一次 !?化;! 叩00〉命令。?11;?以上次启动时 " 相同的参数重启5 。用这种方法重启 !, 迫使它创建一个新的日志文件。如果不用这 个命令来挂起 ! 日志文件达到它的最大值时,3 1 将不能处理数据。 7 4 .
3 用 3111 11"(! 861 「脚本实现8*171 81 1的自动启动与停止
.
&!!! ". .!"是一个脚本,用于辅助用户维护6 1 守护迸程。它是一个十分便利 的工具,能自动启动和停止! ? !进程。我们还可以通过配置 0 3 !",使它在进程 "命令行有相同的配置参数。 异常屮止时用60130通知用户。它使用起来相当简单;与630! I 化 !.? 不是一个必要组件,因此可以根据需要来选择是否跳过这一节: 从这个网址获得13317 31丄
解压縮1) 行来编辑!
3
.36
""! . !
?:
脚本并将它移至&11 3
目录。需要用一个包含多个选项的命
!",
打开 !7 ?6『进行编辑。首先,使用 311而不是"!!..然后就是对你已经熟悉的 各种命令行选项进行设置。使用前面用于启动&!? "的相同的选项。只有一个新命令行 1地址。 需要填写,即当63111X3"崩溃时迸行通知的 使用1)3!相当简单。它支持下面这些命令: 鲁 !-!(幵咍1启动! ?" 进程 " (停止)。停止631 进程。 (重启〉 停止并重新启动卍。 513108 (状况〗。检奄 3171 1(1是否正在运 ]1。 110 (故障检奄 检杏! 8 是否运行并报告所有敁障 你可以通过在脚本后附加命令来执行这些命令,如下所示: 1
。
。
7
.
5小结 本章是配置300打传感器的完整的指南。1 1
被选作传感器的底层操作系统。传感器
要加固,只安装30011和对它进行支持的应用程序。
300「【需要【午多程序包对其进行支持。500 没有自己的捕包工具;它需要外部捕包程序 库11 口来完成捕包:1:11 邵负费直接从网 捕包: !158与3(1!!!! 联合便用对传感 器到服务器间的通信进行加密:&!00控制台必须运行( ? !守护迸程才能进行远程管
应用程序需要1 501客户端与 301服务器建立远程连接。! ? 需要向 501 发送警报数据,因此必须安装 59[客户端库和程序。 丁口用于在多台设备之间保持吋间
理
同'问步的时间是事件相关所必需的
。
133
在必要的程序包安装后,就要对
安装的原则是使误报与漏报的比 率最大化。8110"必须要进行配置:幼如.?! 是配置51 1设置的首要进人点。 用来指定进行监控的I?地址范围、启用的预处理、利用的输出插件和使用的规则。丰聿包含 0?进行配置。5
了 500!"1.00"完整的配置过程。
6 (统一 本章讲述了两个独立的输出选项。详述了 3 31)356 (数据库)插件和30011 11 格式)插件。 3 36 (数据库)输出插件直接向! 301 数据库记录。 1伥3 〈统一格式)插件 用于向 ?" 记录,它是比较好的记录日志的方法。
3 「1安装完毕后,安装83 来处理&日志。 !! 有王种基本的操作方式、 它们&单步方式,连续方式和使用检验指示的连续方式,230! 通过类似的 「 &丄 " 13911 8 .5 1 . ? 用于辅助用 脚本来安装配置。对于 脚本的使用也进行详述。! 户维护14
136
X3守护进程。
第8章建立分析员控制台 现在你已经成功地完成了对服务器和传感器的建立,该是把分析员控制台装配到一起 的时候了。控制台的主要目的是给你提供一个隔离的系统,让你履行人侵检测的职赍,维护 011的 个组件。利用这个控制台,你就总是可以访问 :113,维护5 服务器或服务器群,并 更改传感器上的配置设定和规则集设置。因为控制台在人侵数据的实际检测或管理过程中并没 起什么作用,所以使用一台性能稍差的机器或一个 操作系统都是可以接受的。 如果你或你的组织条件允许的话,最好把分析员控制台和所有其他的应用分隔开来,并且 不受它们的约束。控制台应该被独立地连接到监控网段中。让监控网段完全地隔离可以保护 它免受内部任何有组织的攻击。隔离的监控网段可以减少攻击者通过破坏105从而穿越无 数层的防火墙和安全检测的可能性。如果把传感器装在外部的访问节点上,那么这种可能性 就完全可以被实现。 监控台所霈的软件有一个小清单。它包含了两个必要的组件,即一个浏览器和一个 客户端。这两者在任何一个操作系统中都能得到。这就意味着你有充分的支配权来选 择你认为最合适的操作系统。最好的选择是把控制台安装到既有0111 也有识0 3的双 启动操作系统中。
在分析员控制台上分配恥;!! 分区的主要原因是为了利用105策略管理器。因为108策 略管理器在任何一种,化操作系统卜.使用都不方便,如果不运行具有界的系统,使用这个 11 策略管理器是非常困难的。 1 5:是一个被用于运行在11 的吸;!! 的仿真程序 具有 讽刺意味的是代表着它不是一个仿真程序(" ! 15 01 311 &111 1100。 105策略管理器是可以更新和升级3110「【传感器配置的一个让人惊诧的工具。它具备易 于使用的图形界面,使得维护传感器的工作变得比较简单。如果你选择不安装化; 0?3 那么 &! !!的作用是通过 也有可供选择的针对1 11 的一个图形传感器更新工具:恥&! !!。 《 界面管理各种各样的守护进程。听吐01;0需要你在传感器上安装 1 ?服务器 这可以 认为;(!一种安全风险。而且它也不如105策略管理器那样特征全面 通用性也并没有那么 但是 吐 !!也有一些优点,它可以用于811011应用软件的外部更新配置设定。 0 ;!! 和105策略管理器都支持加密的控制台一传感器之间的会话。关于103策略管理器和讽』一 ,
,
,
,
0110的详细介绍可以査阅第13章:更新和维护311011
。
当不需要更新传感器的时候,你可以重新启动1 !
上。在!
操作系统下 可以利用 ,
功能强大的命令行语句来操作数据。也可以使用538 因为通过它可以更新或维护传感器和 ,
服务器。让传感器每天都运行在0皿X操作系统下,可以让控制台处于一种更安全的 可控制 、
的环境下。
8
1
.
\
0?5下的安装
如果你选择安装饭;
分区,或者让控制台只支持化; 0~3,那么应该遵循下面一些 137
((( 系列的操作系统.像 /;"0?32000 基本指南。应该给分析员控制台挑选一个 ?。 105策略管理器只有在这些版本的 ;!!& 1才能运行: 111 专业版或 !!化 2000 &比其他版本具有更强的稳定性。安装充 0(10 后,需要对它进行加固,因特网安全 10160161 36 11 中心门!16 06111 有关于如何加固則出0 3系统的完整的指南嫛想得 个可以发现你的系统和安全配置之间差距的详细指南和工具 可以访("! !):// ,
"!" 乂. 。! /! !!。!! \ 1112000 ~ 111:1111。
一
―
8 1 .
.
1安装8811
需要在
!1(10
上安装一种版本的859。如果控制台是专门使用
;
。
的机器,那么
就需要558来管理服务器和传感器。如果你只是打算使用化;!! ? 分区来使用116策略管 理器,那么还是必须安装354。 105策略管理器使用前面第6章"建立服务器"屮介绍的安全
拷贝(
円给会话信息加密。化0 5339客户端有许多优良的,可供选择的来源.,当然你 可以使用开放源码或免费的版本,像0 11559或?11117。或者你可以买一个封闭源码的专
利版本,像559或1 -360111-60从111113:// ! 的
&
. II"。["! ;!!!口 !: 乂. 00111/0 115811下载0 11551-1
端口版本。
很简单地运行一下.遵循驿恭上的说明去做。保证至少安装了客户端部分,不需要安装服 务器部分。安装完0 0559之后,必须使用命令提示来运行仟何一个854组程序。如果你 宁愿使用图形用户界面的839客户端的话,可以选择! !"! 。要想获得IV!"?丫,请访问 !!"!3: /八1/
.!:?! ! . ;!
! !.。! . !!!/-
'?!!"/;)! ] /! :'、 ! ?!!.! !!」。
使用?11117就跟在可执行界面上点击一样简单。呈现在你面前的是一个易于使用的图 形用户界面,它可以用于丁61061和558的连接。 8 1 .
.
6浏览器
2
控制台所必需的其他惟一的软件就是 浏览器。微软公司的因特网浏览器(化)和 010配合得非常协调,非高速缓存指令能够从 ;10中输出。如果你打算使用化的话 记住 ". !)文件中的! !!!! 阳 把 变量设置为匸这样 用起来就像使用 0 13 或! 150 浏览器一样简单。 ,
-
8
2
II
.
―
X下的安装
如果准备为分折员控制台使用"!!-,那么安装步骤跟化;!!& 是1 (1
31 7.3,安装如下的软件包:
(打印支持 ?!-;"!!! 018 X化;"! 传统的X窗口系统〉; # X ;0 0 5 (? 窗口系统); 攀1 06: 01- (;! )! ": ( ! 或01 0! 桌面系统); 鲁1 ( 01-11 & 闪!""网络支持); 攀1 633 ,15 通信工具1 : ?!, 丁 &
鲁 0 011118 311(1 ?!
&!!
著作和出版〉;
差不多。假定你使用的
9 2111&0 (&!1303 1具); # 136卅
(实用工具八
# 50 31-6 ! 化 口!! !! 软件幵发)。 这些包组应该为你提供了运行控制台必需的每一件东西。在你安装完8 后,下载 并安装第6章"建立服务器"中描述的&3 116 "!!-。用 6116进行加固后,就要准备安装 01 1153 8 2 .
.
1
了。
安装0 08811
对于控制台来说,请遵循第6章中"安装0 0539"部分中详细描述的建立和安装 & 的过程指导。要省略下面两个能使 11(1正常工作的命令:
(
7""/!
/!)
17
打/&511(1
I
口1
让859守护进程在控制台上运行是没有道理的。所有的3 接都必须在控制台上开始,在 服务器或传感器上结束。 8 2 .
2
.
13浏览器
\
匸控制台需要的最后一个包是浏览器。不管 ―
030116变量设置为何值, 02!113总是能很好地与
8
.
文件中的11
―
1
110 ―
10配合工作。
3测试控制台
在这个步骤中,你将要对服务器进行真正的升级来测试你新安装的359客户端。通过 !?地址限制的方式在31100环境中増加一个额外的安全层是可能的。通过『地址 丄 进行限制,将会使无技能人员访问 :'115变得更加困难。你可以在服务器的丄18 633文件中 增加语句,只允许控制台的I?地址可以访问。 0~3版本连接到51101 服务器的551 服务 因为速度的改变,我们将使用1 X1V的\ 器上。运行?1/117的执行界面,就会出现配置和注册屏幕(见图8-1 〉。
在会话屏幕上,输人!"I服务器的1?地址,把协议选择按扭设置为559。浏览屏 031 1111 1 6 你需要把558协议版本转换为2:在八加!!子菜单匕,选中"八11601 1 )! 尝试键盘接口认证)"复选项。在完成了以上改变以后 你就可以点击''0 71 八"! " 幕
,
,
(打开)''按扭进行连接了。
在你第一次连接到&00服务器以后,将收到下面的警告窗口 : 1 16 11051 V15 1101 0( (1 10【! ! ; ! . 00 113 6 110《1131311166出31:化6 561 61 13 1110 00111 口"1枕700出;!! 11 ; . 丁 1 1561 61 5 卬「;111 ; 服务器的主机键并不包含在缓存 ! 中。你不能保证这个服务器是你所希望的。这个服务器的键指纹是): 1-1
扭
,
1024釦:":!""乂4:1)2: 11:52:711:02:11:4: 10: 17:63:711
你接着需要对5 11服务器的键进行验证。如果它是匹配的,你可以选择'' 是〉"按 这样就会在控制台上存储这个键信息。如果以后再次收到这个键的替告信息 它可能意味 ,
139
6 56 *10 1-000
曰丁811
1
0 8000 0 043*1
:
01000|00001~
~
1.
广1
厂1
2
*0 559 2*
1X10 II 00
6
《,《!,
7
910 3068
085
图8-1
?!!丁!
配置界面
着你的5000服务器已经遭到了破坏。在验证完这个键以后,现在就可以用你的用户名和口 令进行登录了。
当已经建立好了 581"!到服务器的连接后.从/! /! 厶 ! / 厶 /.! ! 目录 中下载丄1800 8文件,接着编辑,&化 文件中具有1 111标志符的部分,使它包含下列行 列:
01x1& (! ! ' (!&1 11001 811 〈/!
"〉
) .: . 其中, 代表分配给控制台的I?地址、,( 佥!"行指定随后的8!]0?和 "行被说明的顺序。举个例子来说.我想默认否认任何I?地址.仅仅允许我指定的那些地 址。这个3110 行指定了被允许认证的『地址、这些简单的II3地址限制并不是十分安全的 ,
还需要许多其他多种方法来巩固这种安全。 到目前为止,分析员控制台的建立已经完成了8 4使用/\〇10 .
用于分析和处理5000收集的入侵数据的主要工具就是八( 仏 010有许多有用的特 点 它们可以帮助以后进行的人侵检测和指1正工作, ,
八003以一种使从8110!1输出的原始数据更加容易理解的方式给出警报和人侵数据《见图 140
8 2〉数据按逻辑方式排列.这样有助于快速地决策"信息包以易于理解的方式展示出来.这 样就很潸楚地记录了包内的信息。
汽10(1 1*1x110
卜]
11 ,
1-11-1 '
0001
10
1,111
,力"
11
96 |137067580431
-
4
74
54
20
09
66
818-2
76 63
3
2
03
?8
30
00 0
48
&5
00
0
04
00
11 *132/(7 ! !!!
力
-个可疑的包
八(: 祖供『很详细的文件,让你认识到新的或以前未被发现的报,。大部分的特 征值包括八1:11〕能够识刖的"关键"记录- (:!!)把这些―关键"特征和因特网上各种各样的公 柃征数 库相匹配。每次&示报警的吋候.与攻击特征相对应的链接也显示出来,使用外 部因特网资頫的方式比使用内部资源要有效得多。由于性能的原因,含有过多特征的文件无 法在实际特征中存储。如 持征文件自动存储在八00应用系统中,你就黹要非常频繁地更 新八(:口).以保待 大量新发现的特征信息同步。最重要的是,外部因特网人侵数据库是可以 获取的最普遍的和最广泛的资源。所以说,当已经存在众多的免费资源时,就没有必要再去另 外投资,最流行的链接数据库如下:
""卩://
. ! ! !!!!
:10也支捋指向专门1
.!
的链接.它们提供『更进一步的报|认识 一些报警已经链 。
接到服务提供11;!那".从而可以炔得针对特'4!攻&的补了,同时安全事件的其他研究机构也提 供『攻击的洋细信息。
另外,八013还包括-些相关资涿的链接,这些资源可以用来鉴别丁0 或者1 円端口 和II1地址的所有者身份。记住每一个可能的端口上运行的每一项服务是不可能的。因此, 报警上列出的每一个端【.1邢被外连接到因特网七的一个综合端口数裾库中 这个特点使你能 够快速地坊问你丼不熟悉的端口上的最新 息。10地址所有者身份能够帮助你鉴定这个1? "
141
地址是否被欺骗或盗用。如果这个"地址是个保留地址或者来源于不太吋能攻力你的地力 (比如 1 36.8 美国白宫政府的 地址〕,那么你就可以认为它是被欺骗的。如果该地 址51能是攻击的真正来源,你可以利用这个信息追踪攻击者,来取补救措施。 8 4
.
.
1捜索
如果你已经看过八00的搜索界面的话,那么4能巳经注意到它就像一个典型的搜索引 的搜索界面比较复杂,功能非常强大。 :!!:)假定用户是熟练技术人员,有能力建 擎 立并执行复杂的逻辑性査询。搜索引擎的设计给人侵分析员提供了最大数量的特征和最高的 标准选择粒度。当你使用八00进行捜索时,首先要建立一个査询然后执行它。要通过选择 搜索的标准和要被搜索的数据来建立査询。 可以给大多数的报警事件标准指定一个包 许多逻辑的操作。一些标准是静态的.是巾 八1:10定义的,面其他的则允许或者需要你自己输人。你可以在标准的四大基本类别屮搜索, 也可以从这四大类别中用组织管理严密的方式建立査询。这四大类别分别是元数据3?头数 据 网络层协议和净荷数据。 。
.
1
.
元数捃
除了收集人侵或报謇数据,&100还创建了关于被收集的人侵数据的一些有用信息。〗1:数 据是定义性数据,而这些定义性数据提供了有关?!! 收集的人侵数据的信息。之所以需要 元数据,是因为人侵监控所必需的所有信息并不是在捕茯包中都能得到。像记录流量过程的 吋间信息对于总体的事件关联和人浸检测是必需的。用八00的元数据标准( 可以搜索 到由&10 收集所有包含该标准的数据。可以按下列的标准建立査洵: ,传感器。根据选择的传感器建立报警查洵。在网络组织结构中.传感器 以放在网络 架构中不同的地方。一个对于外部传感器来说非常危险的警报,比如讽;』0讽3共享访 问试探,可能对于内部传感器来说就变成良性的了。 秦警报组 搜索在指定警报组中包含的警报:謇报组是指形成了一事件"的警报的组 合。本章后面我们将再详细地研究警报组。 攀特征。查询与专门的500!"I特征相匹配的警报。通过特征缩小餮报的范[!有助于你迅 速地指出可能受到威胁的服务器。如果知道有相当多的1?地址容易受到特定的攻击, 那么你可以采用这种选择来发现哪些主机已经受到威胁。 。
只返回具有一种特定繁报类型的警报(比如00 。这种选择趿通过特征搜索比 较相似。分类标准在重新发现同一类攻击的早期举动方面可能很有用。如果遭到许多
,分类
。
只是针对特定的服务的1303攻击,而且只会攻击脆弱的服务器.那么你就可以得出结 论:早在先前就做过一些侦察跌点了。即使003攻击使用了哄骗性的源I?地址 侦察 探点也一定使用了真正的源地址。你可以使用这种分类标准缩小在特定时间内的侦察 ,
踩点攻击的范围。
秦报警时间。在特定的时间或一个时问范围内报警的查询。&各1 时间你都会有 数的
警报,但是总是有需要你搜索在给定的时问段内报奢的情况。 "头数据
1?头数据是指包含I?数据报的报头部分的数据 你"了以在搜索的报膂中进一步 洵待 定的【?头数据和I?头数据为零的报警。可以根据I?数据报的报头分辨出误报。你可以使 。
142
用下面任意一种?报头 准来建立搜索: 參地址。你可以鉴別出跟指定的地址或一个范围内的地址相匹配的餮报。可以根据源地 址域或目的地址域,或萏 时是源地址域和目的地址域两处搜索到特定的I?地址。必 须用(:'106格式罗列出I?地址范围,如果对010只符号不是很熟悉的话,有多种多样 的联机指导比你扛很短的时间内就能学会-
只返回与6大特定I?头域之一相匹配的报警。这6大域是服务类型,生存 、段偏移 报头校验和及报头长度。必须指明想搜索哪个域内的数据. 期 段10标
德域数据
。
.
异常的域数据扦件是一次攻击或企阁逃避1138的征兆。短的生存期)表明逃避 116,段经常是1:03攻击的标志,而失败的校验和数据则是伪信息包的特征。 网络层协议
3
可以从三种协议屮选择其中-种来建立査洵,即1( 1?, 丁(:?和【10?。 (!)对于丁(:?,建立的査洵可以包含下列7种标准的任意几种: ,丁01端口
。
51以搜索专门的源端口或目的端口或一个范围内的端口 。这对可能的被
破坏的服务进行零位调整是很有用的。 参丁(:?标志。返回与8个丁标志中的一个或多个相匹配的警报。例如,如果你想搜索
IV!八? 11133 66 〔
?圣诞树〉扫描,那么可以选择?11 , 1;
;和?1;58标志。 # 丁(:?域数据 建立跟特定的丁(::?头域数据相匹配的查洵。你可以搜索的了 5报头有 。
序号,确认号、数据偏移.保留位、窗口.校验和以及紧急指针等等。你想搜索多少 域数据元素就能搜索多少,。 如果你选择了 ! )?,那么在奄洵中可以使用下面两种标准中的任意一种: ?端口。它和丁(:?端口标准类似.可以搜索专门的源端口或目的端口或一个范围 鲁 内的端口。
域数据。用于创建要么包含! !5报文长度要么包含校验和的查询。竒怪的1 报文长度和失败的校验和可能就暗示了--个特定工具的使用或一次攻击的发生。比 6 口,一个长度为零的包可能用于发起一次在] 口。 「防火墙的未打补丁版本上的 拒绝服务攻击。
如果你在建立査洵时选择包含10 使用它来建立査洵:
数据,那么有一个惟一的标准元素,你可以重复
,101?域数据。这个域数据被存储在10
?报头中。你可以搜索10 1?报文类型 『 报文说明, 号、标识符和校验和等数据。举个例子 如 你只想挑选出10 的回送请求来搜索可能的10 1?隐藏路径,那么可以把10 1?报文类型域设置为8。
,
,
4
净荷数据
可以在所有的报警中搜索存储在包净荷中的数据串。净荷包含应用层程序要使用的数 据 净荷可以包括从缓冲器溢出到特洛伊木马的流量特征等各种数据。你会经常想要在包净 。
荷里鉴别出专门的数据串或兀素。通过八00,可以进人任何一种类型的串,不管是 011码 格式的还是9?格式的。如果需要的话,执行杳询之前,八00将在这两种格式之间进行转 换
-
5
,
用逻辑运算符创建査询
八「口)使用一套扩展的逻辑运算符来建立査询,逻辑运箅符定义了你为建立査询而选择 143
的标准元素之间的关系。逻辑运算符帮助你进一步提炼井查明你想査看的报警。运算符和 50[语言的语法结构非常类似。所以将这些运算符解析成语句也不足为奇。八00执 行这种语句从而检索到你所需要的报警。 一些运算符对你来说显然是非常熟悉的 但是还有一些其他的运算符是八00特有的.这 些对你来说很可能非常陌生。八门!)所使用的运算符如下: # 常见的等于运算符 ,
。
參等于运算符的反面:不等于运算符。 〉大于
。
大于或等于。 〈小于
。
攀
小于或等于。
参11化运算符 表示标准串和用户输入串之间的子串搜索关系。如果用户的输人和存储 。
在串中的数据部分相匹配的话.那么报警就在査洵结果中返回。933运算符对大小写 不敏感。在转化为501语法结构的时候, 3就转化成査询执行语句中的口6「。这仑
0 3执行命令的 运算符只在净荷标准部分能使用。例如,如果你想发现企图访问\ 任何净荷,那么你就要创建-个净荷1!化语句,它应该包括 ?。净荷中包含 0111(1.6X6的所有警报都会返回。另外,净荷中包含( :丁 / !/.. ./ !. / .? ? / +出1 + I I I IV1.0的警报也会返回。使用!1?运算符进行净 ! -
倚搜索串是在一组相似的螯报中找到精确串的一种好方法: ,1133~0丁运算符 意思与11&运算符相反,表示在标准串和用户输人串之间有反子串 。
搜索的关系。如果在净荷搜索串中包含了 1133 01:运算符,那么八00将返回除与串 相匹配的其他瞽报。如果对字符串(:!! .-6运用1135 ~0丁运算符,那么返回的是除包 净荷中包含有使用试探性的恥"。―命令执行的警报外的其他所有警报。 ,;3运算符。选择的标准元素必须跟用户的输人完全匹配。该运箅符用于'【(?标志际
准关系中。如果你选中其中一个丁(;?标志复选项,那么返回的就是包含被选择标志的 警报而不是其他的。例如,如果你同时选中了 和巧 两个复选项,那么返回的就 是专门包含5 和「11 标志的警报面不是其他的警报。而同时包含3丫 , 和 八(: 标志的饕报就不会返回.,同样地,只包含" 标记的包也不会返回。很容易把;3 逻辑运算符和其他的运算符搞混。一定要记住.使用 时.你得到的返回结果只有是跟 你指定的完全匹配的那些东西。 #0011 05运算符 跟;3运算符一样,这个逻辑运算符用于一种标准元素屮:! ? 。
志。
不过00?31113运算符的使用不像;3运算符那么严格。由选择的 (:?标志和其他标志 组成的任何謇报都会返回。例如,如果你同时选中了 5 和「 两个复选项,包含 "" 和其他标志的螯报都会返回,像同时包含371 , 和八标志的警报钛 会返回。但只包含一个5, 标志的包就不会返回。 化11?运算符。这个运算符使得用户输人的内容和査询的标准完全匹配 ! ; 逻 。
辑运算符通过特征元数据标准来完成搜索:它对大小写不敏感。例如,如果你只想使 用&3出V运算符找出00& 2 144
化 & 从而返回 ,
001.6 2
访问企图 那么你要输人1 -113 0x 1 1 (々狄访问企图的警报, 但足,如果你输人 ,
.
II人结 将为空。
翁?叫!! 运算符。标准串和用户输入串之间有一个子串的搜索关系。 叱11 逻辑运算 符和?& 运裨符类似.也是通过特征元数据标淮来完成搜索1如果用户输入与存储 在一个串中数据的任意一部分相匹配 那么査洵结果中就会返回该謇报:.逻辑 .
运算符对大小写不敏感,,像11化运算符可转换成501 语法结构形式一样. 呢& 逻辑 运算符也可转换成类似3 [査询中的! 旺一样执行。例如.如果你想找出关于因特 &息服务雔(! )的警报,使用?呢& 逻辑运算符时你输入了 1:3。这样的话,特征串 1吖1 或115的每一个繁报都会返回。但是.它不会和1 3061 10(00X180011 相 匹配,因此也就不能返回包含该字符 的警报。 需要指出的重要一点是,不是所有的逻辑运箅符都可以用于每一种标准关系中。有时一 个运算符就不能创建一个有效的501齊湘或者不需要该运算符。逻辑运算符到人(:旧的对 应关系是很固定的.所以你不必要担心自己可能选择了一个无效的运算符。一个例子就是 地址标准:你 以搜 列的 地址,要么等丁-你指定的11》地址或地址范围,要么不等于。小 于或大于运算符都是不喬要的.因为你可以使用001?符号确定出I「地址范围仔问吋候.如果使用了一个以上的同一种标准元素,执行査洵就必须再插入一个逻辑运算 符.这就是逻辑"与"运算符(八 0〉和逻耩"或"《010运算符。它们用于指定标准的范围.如
果想在一个范围的! )?端口内捜索,你可以用大于运算符标示下界,用小于运算符来标示上 界(见图8-3 ;为了完成査洵,你还要使用八 运算符来保证返回结果只是在这个范围内, 1:
―'?
。』。4
;~
.
11; ~
二」卜
;.-1.:
'
、
3 一&
3口厂
」
3
1
~~
1
3
"-'1
1-1810
1 '。、纩I 卩00:
:茶;';-」[
厂
―
"「
-
1
啦
,001
""鼇! , 卩 -
(二31(1, 」1 3
广",!
口1!""3
'广II ?' ! ,'、广 ,」"广! !-!
图8-3
!! ; -:,
,!)0
I广,】,,'!
「 1311
1
冲一
00?钿口范围有询
0尺运算符用于返回可以和多个标准中的一个相匹配的警报如果你想要要么包含 ; 么包含5/ 1文件访问试探的匹配净荷的警报,那么你就要创建这两个净荷标准 素.然后使用0只运算符.从而使得返回的是包含两者的警报。査洵见图8-4 你可能已经注意到大部分标准之前和之后的括号和下划线。当你使用同一标准的两个以 ,
!' " :探
.
。
45
21
3,5
0
!
一
,
11 *1
―
0
--
-
II」丄
;1 !3 - ,。!
0 1(4,1,
3
1'叫
――
11~ 0*11*4 10 1嘗"00(1,】 1*11*11 (!,"
1
「!31385
'
图84返回两种净荷标准
上的实例时.躭要用它们来建立运算的优先级,这是必不可少的,,
在你理解査询是如何进行之后,使用括号表明査询的优先级就很简单了。设想你想要搜 索在1和1024之间的1 ?目的端口:你也想在査洵中包含端口 5520。进行这个査询的时 候 你必须使用优先级.因此要用括号,首先,我们来看看创建你想要査询的错误方法(见图 8-5 ,0 .
―
!
-,神
14
一
~
隐
二 -'
3
.口上,、」1
一 ?":
1化:---'二" ,
1
― 11
1
731 ': '-'」|
11-11 口 :."".
~
73 1 1!''
3~ 11 13「
3
","
1,1-'"
3 ["!
々001 0? ?,0 1
3
00 00
I 二」…" 」匕」
」「
|
,31。
00 90 001
7
力
3 一
8 8-5不正确的査湘
0译者注: 146
& 相
啄书完全相同,本书直接应甩,术作改!
法
这个例子遗漏了括号.所以
1服务器 能恰当地建立査询',如果你遗漏了括号,或者
把它们的位置故错了.邶么査潲可能就无法执行.得到的是一连串有关失败査洵的301"锥误 描述。例子如下: 丫00 1)8
80 0107III
加068
8 1
1
《/ !
6 011 "!) 饥2703692288
606
―
你必须确定最先执行哪邢分&询,,你通过添加适当的括号来做到这一点(见图8-6 一
,象
|
11*41
一
?I
"
?】~ \
'
」,一"4
―
0
,
3|
一
I!
"
|
口口?
101)1 0 *118 000 100 丁
:
1 -上―
2)1 ",。
0
!
1
131
'匸"卩
一
I 一
」
―
"
【
00
「?
!匸! "0《 1*0 "! !?!!;!):!1:
~
',"1
~
1\
3
3「 5
8|01010~
08 8 6正義的査洵48句 '
这样的活,輪出结果躭是希望得到的包含从1到 1024端口和5520端口的警报。 既然现在你已经熟悉八(:们的逻辑运算符.那么建立吋间范面内或单个吋间内的事件的 报驚查洵就很简单了、.如珉你想要返回发卞& 个时间的肇报(即指特定的年、月、「I 小时人
你只要简单地设覺等于《 》运算符和你想要的吋问段。如果你想要査询发生在某个日期或吋 间之前的所有寥报,你躭町以使用小于等于运算符( )。相反.如果你想及时发现发生在某 个特定时间之后的替报,那么你就使用大于等于运箅符0=1建立指定范03内的时间査询和指 定范闲内的坳口査询是问样的方法。便用大于等于运算符0》和小 等丁-运算符〉来标示 出最离限度和最低限度,要保证缶要设立的两个时间范围标准之间使用八 运算符 你可 以使用等于运算符《 》和08运算符及时地在 个或两个以上的特定时刻搜索。 可以按下面四种不14的方式之一给査询结果分类 ,无)。只是筒 地按报警存放在人侵数据库中的顺序把它们堆放起来。
攀丁;11168X811 ( 藝! ;01081 0 "
)〈吋问戥(升序》》 按报篸创建的相应时间的升序返回整报时间戥 降序按报警创建的相应时间的降序返回警报 、
3
攀(特征1根据特征按字母顒序輸出督报8 4 .
2瞀报组
.
警报组(
)是八010的一个功能特性,它允许警报成群地集合在一起.形成你自己所定 147
义的一个组」警报组可以用于集屮多个警报,组成一个安全事件。如果想要从已经成功或试 探的人侵中把零碎的,令人疑惑的问题集中在--起,就需要使用警报组:如果你要査出一个受 威胁的眼务器,那么你就不得不回到八00中搜索,找到关于攻击的謇报。该警报就被添加到 一个新的警报组中 然后,你就能搜索到同一黑客进行的或不成功或成功的各式各样的其他 类型的攻击-随后你就把这些警报加到警报组中去。甚至 以更进一步,回到人侵数据库.找 、
出有关攻&的侦察和信息收集,然后把这些也加到警报组中。现在你拥有『安全事件的一个 工作日志,以后你就能非常方便地访问它.如果你不创建警报组,那么每次需要査看相关信息 的时候,就要再回到人侵数据库并重建事件.这将是一个很困难的过程。 你也可以使用警报组插入你3己的事忭注解或事件记录,将这些注解和警报组放在一起. 供以后参考。你可以保存警报组很长时间,但是再把事件拼凑到一起就会遇到困难。在你建 立事件并进行搜索的时候增加注解也是有用的。 一个謇报组可以小到只有一个警报 也可以大到等同于整个人侵数据库。如果你口、是想 ,
在单个警报上增加附件,那么你可以用警报组做到这一点。只要需要,謇报可以是多个簪报组 的一部分 实际中的警报一旦被增加到警报组后,就不再修改。 一个聱报组有三个元数据域 它们描述并组成了该八〔 謇报组八 10 ! 1 00号) 给警报组指派的相应的数字标识符。 。
,
。
攀 0
"名称、人侵分析员给警报寧指定的名称
。
14。! 描述;)。插人分析员认为合适的注解和记录的一个开放的文本域。
创建并填充一个鳘报组是一项很简单的任务。在"八|6「【01-0111.
!!"謇报组维护)"
,!
菜单中,点击"(创建)"。这样你就进人"(: 化( 帅(创建组)"页面。在这里,你可以 输人警报组的简短的描述性名称和描述内容。这时候你不需要输人非常精确的信息;以后你 以再回来编辑"311(1 ! ? 。! 名称和描述)"。现在已经创建了警报组: 下一个逻辑任务 是在 报 内填充警报 丙为只&个例子.我们只是简单地把最新的 警报堆放到警报组中。一般来说,你需要整理出一组更有意义,逻辑性更强的警报。回到 八00的主页,选择' 0 1 601 最新警报)"连接 你也可以发起一个査尚来填充你的 试验謇报组,如果你想这么做的话。从在页面底部的下拉组合框选择''八 10 0 〈添加到警报组(通过名称 飞输人前面步骤中你创建的 报組的名称,然后点击屏幕上的 川《所有)"键。那么所有的警报就都存放到新的警报组屮去了。如果你已经把这其中的一 些警报放进警报组了,那么将返回一个错误。完全相同的蒈报无法插人到警报组中。这个特 征很有用,如果你想以快速简单的方式在査询中增加警报 就不需要花时间去整理重复的警报 。
。
"
,
了
。
在你填补完警报之后,选择返回到"八1 1 &0叩 111 1131 (警报組维护)"页面。选择你 创建的新整报组,那么按添加顺序排列的警报就会显示出来。在屏幕的底部 你可以找到熟悉 ,
的操作菜单。对謇报组可以进行四种操作。 ,删除警报。该操作从人侵数据库中永久性地删除警报。要注意:它不是简单地把警报
从警报组中移除,它将从5 11服务器中永久性地删除这些警报。 电子邮件发送瞀报(完整的)该操作把警报发送到化" 000 配置的电子邮件地 址。它发送的是警报的完整描述,要么以电子邮忭主体的形式发送 要么当做附件: 这 ―
,
是从八010输出数据的一种快速简单的 法。 148
.
V电子邮件发送警报(概要〉。功能和电子邮件发送警报(完整的)是一样的,但是发送的 只是概要的謇报信息,而不是完整详细地捕获包。
从警报组中清除。该操作从当 的警报组屮移除警报,但是不会从人侵数据库中删除。 & 如果你返回到" 611 0700 纟警报组维护)"苽面,可以点击"1 1 列出所 有)"链接,那么就能维护实际的警报组本身了。在这里,你可以编辑警报组描述和警报组的名 称 你也可以从一个警报组中清除所有的謇报,当然也可以永久性地删除警报组。 。
8
.
5小结 控制台的主要用途就是给你提供一个独立的环境,从而履行人侵检测的职责,维护 ! !!
组件。如果你或你的组织条件允许的话,最好是把分析员控制台和所有其他的应用隔离开,仅
仅把它连接到需要监控的网段上。控制台的两个必要组件是饭吐网页浏览器和558客户 端 控制台既可以使用[ !―操作系统,也可以使用微软操作系统。最好是可以安装一台双 引导机器,在不同的分区上拥有两个系统。分析员控制台上需要有一个恥;!!佥 分区的主要 。
原因是为了利用103策略管理器。
I?地址限制, 控制台安装完后,使用一个真正的升级实例来測试控制台。通过丄13 在51)011环境中添加一层安全机制。这个存储在服务器上的丄!犯 文件通过控制台的558 连接可以被编辑。
接着是关于八00管理图形用户界面的指南。入00提供了详细的文档,这些文档提供了 新的或者未被认识的警报的信息。每一次当一个警报被显示出来的时候,与攻击特征相关的 链接也显示出来。八013搜索界面是相当复杂的,但功能强大。八 !)假定用户是一个熟练的
技术人员,他有能力建立和执行复杂的逻辑查询。通过选择搜索的标准和要搜索的数据来建 立查询。八00使用一个扩展的逻辑操作符集合来建立查询。逻辑操作符定义了为了建立査 询你所选择的标准元素之间的关系。如果被选择的这个逻辑操作符是不正确的,执行查询将 会失败。
八00支持一些内部文档属性和使用謇报组的事件管理组件 一个警报组是六 10的一 个功能特性,它使警报聚集到你定义的一个组中。謇报组能够用于聚集多个警报,构成安全事 。
件
。
149
第9章其他操作系统下的安装方法 巳 ! 是能够广泛用于各类平台的通用应用程序。在前面的3章中,你已经了解了 !!。 在基于"!!-的分布式系统上的安装。尽管&1011的这种体系结构被广泛地应用,并且很普 遍 但是,对于你或者你的组织来说,它可能井不是最好的选择。在这一章中.你将看到安装 8001!的其他方法。这一章绝不是提供洋细的安装指导,希望能给你正确地安装3003铺平道 ,
路
。
所有的51 口组件都能够安装在一台机器中。你不一定要把&1011各个组件配置在三
或更多的单独的计算机上。对一个小的公司或者一个家莛来说,给 !! 部署三个或更多的 机器是很昂贵的。在一个更大的 化安装成为可能之前,如果你的组织想看看入侵检测系 统所能带来的利益,你也许需要一个具有有限资源的试验版本。在这些情况下.你可能希望把 全部的三层结构集中到一个单独的计算机匕。一个混合的服务器7传感器&10"安装并不比 分布式体系结构的安装有更大的困难。但是,对于混合的体系结构来说,存在着一些如安全. 性能和可測量性等问题。 是你为;5!! 选择的多种平台中的一种。可能你对一些商业性的操作系统, 如30131";5或者其他的开放源代码的! 乂操作系统,如? 66250更加熟悉,此时,你不必担 心 因为对于3013713和 ?-!;乂等操作系统来说,也有大量的300 安装方法。在一个8513版 本上运行和在! !-上运行它有着同样的优点。当然.如果你对1; 管珲并不是很 拿手,你也可以选择使用 1 0 作为你的优先考虑对象。&00连同需要运行 ('! 的一 些程序都是可以运行在 !1(10、化上的… ,
9
1混合服务器 传感器
.
安装混合服务器 传感器是将分散的听有5:10 组件安装到一个单独的计算机上。混合 安装并没有先夭的问题;最后的结果和分布式安装 乎一样」但是,为了创建一个混&服务器 7传感器 必须放弃分布式配置的一些优势。 混合将让5 11安装的测量变得更加闲难。同时,把人侵监控放置在你的网络架构中的 ,
何处位置将会引起争论。并不是简单地把安装的传感器镜像到一个新的机器上,插入一个监 控段,你必须找到一个方法把这个被监控的网络纳人到这个混合的3110!!机器中。这4能像 在一个集线器的一1 开放端口上插人一根网线那样简单 也可能像架构一个全新的网络那样 ,
复杂。如果你组织中的网络设沲在物理位置上是很分散的,使用这种混合的力法测量8 会变得非常昂贵和困难。最合理的选择是再配置另外一个混合的服务器 传感器,这样你可能 转面开始依靠三层架构的安装。
因为是混合型的,你的应用程序的性能可能会被其他的組件所影响.如果你配置 一个 501数据库 它将消耗你系统的大多数资源,这样, !0"可能将丧失检测入侵的处 理能力。它可能引起311011丢弃数据包,忽略『可能的攻 。但是 把这些组件分离到不同功 ,
,
150
能层中就能解决这样的问题。
混合相对于分布式 。"安装来说.它的安全性能就比较差。因为整个的人侵数据库被 安放在同一 1、机器上,破坏了一个组件的攻击者就有可能获得权限访问完整的&装置。 当被直接连接到监控网段时,数据库将会被安放在具有更大风险的环境中。 如果这些是你所能容忍的话,对于你来说,混合应该是一个合理的选择。另外,'展合服务 器7传感器对于你熟悉51103来说是一个好的测试系统。 通过把服务器和传感器安装在同一个单独的机器上可以实现混合安装。为了简明起见, 便用第6聿和第7章中介绍的安装指令,这一部分只介绍与前面不同的部分。 116 苣先,你应该把你的尺" 1系统更新到安全的版本上,打上补丁。接着,使用1 【 ―加固你的混合系统,满足服务器的要求。如果你不需要用于在服务器和传感器之间建 立安全通信的郎件.钛没必要安装"或者额外的V01客户端。你可以跳过这些步 骤
。
如果你不打算经过远程控制台访问混合服务器7传感器,你就可以删除0 351 组件。没冇这些组件以后,编译八 (:! 就需要使用不同的预编译命令:
0 11339和?" ' -
'
―
0)11(181111; --[;!
你也可以忽略013
二 ' !/! :;!'-(
!
。
!
二 161113
化州&3&(产生认证)这一步「
当创建,卅化? 文件时,你应当仅仅允许在计算机上物理存在的用户能够登录到八( :)。 通过为认证增加本地回环地址作为仅有的合法地址来达到这样的目的: &110
127.0 0.1
其他的所有步骤应该根据第6章和第7章的指导进行, 9
1
2
基于0 ) 850的&10「1
0 0 30是可以安装 ! !!的基于的众多操作系统中的一种。 !! !]享有具 冇最髙安全标准的操作系统的美称。0 11630小组的目标是提供打开盒子就可以使用的最 安全的操作系统。0? 小组对包含在操作系统的每一个软件进行了全面的逐行分析 0 0不能像其他操作系统那样附带了许多应用程序,但是你能够确信当你使用0 830 。
时你正处于一个安全的系统中。因为0
650不像其他&50版本那样流行 所以很难找到 ,
关于它的包。
在安装 ) !! ! 之前.你应当检奄一下以便确信你有 「:)所要支持的硬件。不幸 的是.0 111 0并不像" 或 /;"0\ 那样支持那么多的硬件设备。对于1: 1体系结构 来说,你可以通过下列链接检查一下所支持的硬件清单:
你确信了你的硬件能够支持01 1630以后,就1'了以继续安装了。你可能或者从什发小组
直接汀购源盘或者下载一个引导软盘映象。 !)小组仅仅依靠捐赠和出售00盘生存 因此花费40美元购买1 包不是一个坏的主意。如果你宁愿下载这个操作系统 你能够在下 ,
,
面的1 11镜像链接得到它: 151
在你已经安装0! 1630以后,运行3 113 命令增加80011用户。这个&10!"1用户将代替 根用户运行5 1 应用程序。这个用户应当有权限访问合适的目录(如8志或类似的目录) "应用程序、日志和配置文件: 创建目录来保存
々!;!:/
法
,
)"/!11011
你能够通过1X 3在0 0650上安装软件。集提供了一个安装应用程序的自动方 与在[ !…中的\1包类似。尽管它们是很便利的,1x 8也有着和化 !同样的缺点,即
他(门总是落后当前的最新版本,并不总是包括最令人想要的配置选项。以源码的形式安装是 一个好得多的选择
,
如果你需要为0 0650使用 !"I安装?
,能够从下面链接中获得有
用的信息:
利用下面的命令你能够安装&101:1:
在安装完500 「【以后,从下面链接下载和文件: !"口: /、、??:"。"―01 /31
1 113111
「「
/ "目录中,打开主要的配置文件?01 0011〖进行编 解压文件,把文件移到/ 辑 第七章为500!" .?"文件提供了完全的设貲,请参考。为了进行快速的安装,你应当改变 。
下面的行: 87 90應
抓乂
―
乂" 611【丄 ?八丁9 /
/
―
最后,不要注释所有的巳经注释掉的' 卜文件。 31100现在就被安装好了。为了以守护进程的模式开始50011 你要执行下面的命令: ,
1181 10001 1|111 311011 -0 -[:
5110117?11011 1111) -1 1111
306
1131116 -11 \ 511,1"
1156「 ―
8110118031
为了处理5101日志,我们将利用一个? 1脚本,5001 1311你能够在013611 30上 1能够用于[ !化系统上。为了尽力说明 很容易地使用1 730[和八010。 3001 除了 I[和〃:!!)外的其他选择,这里我使用&&13 1来处理入侵数椐。
由3;1;000
开发的?! ! !!;
把&!。"日志文件解析成 丁! 1格式。可
以用一个" 吐服务器提供14丁1 1文件 这祥来远程査看日志,或者用网页浏览器本 ,
地查看它们。如杲你想通过一个11 5服务器让51101 31131 文件变成可访问的 那么 请确信你已经建立了合适的安全控制。511( 1&13 参考你已经栽入到 ( "文 件中的规则。从下面链接下栽&1011& (: ,
.
152
111 : //?? 110 11
丁
【1
~3?厶1、00:1
0
解压缩这个包.切换到 ? 讨3录。在这里,你将不得不安装一个时间包 」1||;3111〕吖,它是 0〃『【所需要的。转换到丁" - "" 目录上,愉入下
面的命令,安装丁::」
91103乂 , 1 1-1 1
! ,
时间模式安装完成以后,你就能运行 ! ! 加! 去处理 10 命令运行3110118113
警报。用下面的
:
这个命令将处理在7 " "/ !: / !"I目录下的警报文档,并把9丁! 格式文 件存入到/ (:/"。"/ 加1:-」113选项解析I?地址与它们相关的域名,确信你有一 个性能好的1 13服务器,因为这个脚本的运行将使你的服务器处于高负荷中。 经过一个守护进程,使511011 1; 自动创建9丁 11是很切合实际的。这减少了过多 的处理,使81X
9
」
511;
文件保持不断地更新。
基于\ 匕0|0\ 5的500「1
3
在过去很长时间里.& !!仅仅能够安装在操作系统中。对于
0(1(3
用户来说.
幸运的是,两个为511011提供相关支持的商业厂家之一,5;1;?"1)6(61! 公司提供了& 1的 0 8版本。这使5110"在广穴的计算机用户中得到了更为广泛的应用。他们也为化 化 下的5001:1开发了二进制版本,这样使安装进程的许多部分自动化。为了节者0.1 问 在这一章中,我使用它的二进制版本, ,
51101-1的\ 0 版本仅仅工作在?;! 0?3 2000、 丁和操作系统上;,恥;!!& 操作 系统中最好的选择是则"佥 2000专 版,它是恥;!!& 操作系统中最稳定的版本,但不包 5 2000服务器 丁和X?版本不被推荐。 括含有过多软件的2000服务器系列。 这一节的其他部分提供在?&
中 所有的5 ,
1
9 3 .
.
计算机上安装 11组件将被安装在同一个机器中。
「1的一步一步地指导
。
在这个例子
1(10*3的安装
0?5 为了在?[!!& 上安装5 0,你必须首先在未安装其他软件的机器七,从安装\ 2 0专业版开始。当设置管理员帐户时,请确定你使用了一个健壮的口令。在安装好化;115升级工具更新你的?;11(10 5。只需要点击开始按扭 选择\ ; 、?后,你需要通过\ 0 3更新。接着,你将被带到?更新?4界面 它包含了 1 0-5当前的最新部件: ,
,
安装
0
更新所推荐的部件,接着 1新启动 .
在安装5 0"应用程序前.化&当加;3你的?;! 系统 通过手工或半自动化的方式. 可以加固你的10 系统: 組织对于手丁 加固";!! 系统有着很详细的加固指 .
.
导
下面是这个指导的链接:
,
153
1)1113: // /
,
, 0 /5
1 /
1111*15/ 11(11110* 111140 52000~ 1
你也可以利用一个工具来帮助鉴别你当前系统与安全状态之间的差距。因特网安全评分 1016 61 80071118 丁000会产生你应当实现的详细安全设置 工具中心(!" 06010 报告。这个工具对鉴别你的主机系统所霱要的补丁和安全策略差距是很有帮助的。即使你使 用了这个工具,你仍然不得不手工做一 进一步的捎施.从下面的链接可以下载这个评分工具: ?!;):
\
\ 01 111111 V ~ 01 /1
0
;02000,011
在这一页中.可以获得一组文件和模板。你应当下载可执行程序(:!& ;!! 肚.它包含了 完全的包,.它包括评分工具、策略模板和详细的文档。 这个评分工具包含了由81 化技术公司联合微软幵发的化'?补丁状态工 具。 ?!
汇汕检査主机的补丁状态,把它和由微软不断更新的热修复和补丁列表做比较。 610 检查存储在1 01080(1 0001的补丁清单,因此应该确信让这个机器连接到一个防火
墙后面的因特网上。在8000安全地打上补丁之前躭应该璣信这一点。 ,安装这个评分1:具 运行口& ;!!.
当安装这个评分工具和相关的文档以后.运行这个程序。它应当出现评分工具的窗口 (见 图9-0。 1101900
I醫 !了
"一 I」
了 3 01 1 17 一,'
" (
"
【 1*0??,
」
0 58
!,。" 9*3 1
7 52 0
、?!/
,1'
'
! 一.
!。
5-"' |0
,
01)1
―"一1 ~
"一对輪1
一"一
1
一
扒
'
|3~~ 厂 1
*01/0
:二 ― 1 1
9
」
9.1因恃网安全评分工具中心
这个评分工具的目的是产生简单的分数,它能定置地给出了用户主机所处于的安全状态 尽管这是一个有用的特征,但是最合适的用途是能够用它来鉴钊安全差距。点击 1! ?
。
"
0 1如500 1/1出文件比较实用程序)"按钮 躭可以比较你的? .
荐的安全状态。举个例子.我使用由国家安全局( " 【 ?.从下拉框中选择:
-
訊安装状态和推
86011141X 60(7
!! ;
门5八)编译的
,
!". .点击 0 ?(比较) 按钮。这个评分工具就会 开始比较主机上的设置和推荐的安全控制的差距 最后的结果以报表的形式显示在浏 "
-
,
览器上。使用这个向导,可以对注册表和用户权限做合适的修改154
下面,点击"3001 评分)"按钮开始评分程序。要使用! ; ?& 文件,就应当打开一 10 工具使用,用来更新从微软那得到的热加固安全 个认证授权对话框。这个文件由 补丁清单。为I"使用这个评分工具,就需要接受这个认证。 这个工具在完成了它的检查以后,创建了许多报告,遵照执行这些报告能使叫;! 0 5 2000处于安全的状态。在这个例子中产生了下面的两个报告.热加固报告和服务报告。 9热加固报告。这个报告详细地说明了哪些热加固和补丁对 化 操作系统和任何 其他安装的微软程序(例如化)不是最新的。这个报告应当告诉你最近的服务包是否 被安装。它也提供了到需要安装的热加固的直接链接。你应当安装在这1报告中的每 一个可获得的热加固和补丁 #服务报告。这个报告鉴别在主机上的任何不常用的服务 它们可能喬要被关闭或删除。 如果发现任何不需要的服务,我们就应该移除掉它们《例如简单网络管理协议代理 (? ! !?? )等)。 。
,
9 3 .
.
2基本程序的安装
到目前为!]1,你已经有广加固的";!! ; 2000专业版机器来准备行动。好几个組件对于 发挥作用来说是必要的。其他的一些程序对能更好、更舒适地使用5 "也是有益处 的
。
1 ―安装0 60534 0 5214是一种384协议的开放源代码实现。838被用于像! ?和1 11 这样不可靠 的 陈旧的协议上―。对554和0 11534更深人的讨论请参考第6章。能够使用539来远程 管理的安装3 、
在下面这个网站下载( ?":"!的
0
版本:
运行化【叩. 文件安装0 1858。在安装过程中,请确信客户端和服务器端的复选框 被选中。当完成以后,它为你安装了 01x 831 文件.并且为安全通信产生了 034加密密钥。 在配置和开始013611854服务以前,你必须|新启动你的计算机。机器被重新启动以后. 2000专业版的控制面 为你要访问01*11538的帐户增加一个用户和口令。你可以在 板中的用户和口令工具上添加用户名及口令。当用户被添加以后,打开一个命令窗口 转换到 ,
下面的目录:
你必须把用用户和口令工具创建的用户添加到能够访问 ! 0 11384眼务器的用户组 3 工具来完成,它把本地用户添加到 11(10 计算机中 或者
中。这可以用111
0
,
859服务器允许访问的用户清单域中。使甩下面这个命令添加51x 354用户:
其中,-1选项增加一个化计算机本地用户到0?611: 9服务器中。如果这个计箅机 是1域的一部分,用-(!选项壻加一个域甩户。现在,你61以从命令提示符下利用下面 的命令开始一个0 :1354服务: !55
你应当收到一个消息:丁 1 0 0889 561 61~ 86 06 35 318116!] (: &!! 01 0559服 务器服务成功启动1你现在能通过你创建的用户帐户远程登录到0 859的服务器匕 1
安装\ |1#03口
.
0 版本。它问1 )0313具有相同的功能,捕获原始形 是 ( 抓包库的 式的! 8..07-1霈要 1 0 去嗅探原始包,因为它本身没有捕获原始包的功能 .! ""). /! ! /? !! .!! ,下载这个 在下面的链接得到\ 0?0 :卜1卬:〃"! 自动安装器(不是开发包》,接着运行它。当 &口 !)已经被安装时,重新启动计算机。 3
安装 301 80 是最流行的开放源代码的数据库―!
501 是一个关系型数据库管理系统,
它之所以被选择是因为它相对比较快速、可靠和易于使用5这个例子中,我们使用 1x30[存 储人侵数据,这些数据将通过六(:化应用程序管理。 从下面的链接下载1 x50 的\ 1132 二进制版本:
解压浙这个文件.运行
口,
程序.开始安装。在安装过程中.你应当选择的
典型"安装,
"
浏5! 目录"\ 01 51411 \ 运行 !!!!! )! !!!!!!. 程序; ; 乂 ! ! ;"是用来管理 [的图形界面.它易于使用,能够被】11来控制的大多数设置.包括数据库的创 建:你也能用它创建存储在任何数据库的报&
当第一次运行识;!!!
&吋,必须创建闭于登录的用户名和I I今.创建一个命名
为幼071的用户和口令。&10"应用程序使用这个用户名和口令登录到数据阼 创建了用户以后,点击"01) 01安装"标签。在左下脚是一个在"068& 8 000)1 00 31811 启动时 I上1 801 !改"在开始莱单上创建快捷键)"按钮,,点击这个按钮.这样当恥: .,'"卜山自动开始运行。 和\ ,
下面我们将创建实际的人侵数据库。点击"1X11北
(数据库)''标签(见图9-2》
。
1 (11111)0 。0"山"参 1 0
051 0
4
9
1)0 4*110110 401(1
0411
1 099
"脚
&。4
519-2
!11
化0*41
301 1
11创建数据I笮
这个咧了使用?加北作为这个数据库的名字你也可以选杼-迠合你的不同的数据库的 名宇,确信记住了你选择的名字.以后需耍它。
你霈耍登录到上.为你先前创建的300"用户设置权限,必须通过命令行访问 301并通过它改变权限,打开命令窗口 进人(;:\ .
访问 156
\
目录。运行下面的命令
在你已经进人!1 5 〉提示符后,切换到保存用户帐号信息的数据库:
现在,授予80011用户所需要的权限,用下面的命令:
需要对
数据库创建数据所需的数据结构。为了使你自动创建数据库的脚
本能够被包含在&10 源代码发布版本中,从下面的链接下载该500 源代码:
解压缩这个,【紅.&文件。如果你在打开这个文件时遇到了困难,从下面链接下载讽;
卜""://'
识&!
! /. 131 0圍(
!!/
!!]!
11101
几乎能打开每一个压缩类型的文件。你能免费使用它30天。在51101 源代码
发布版本中,你将发现一个0 1 文件夹。在这个0录下有一个名为(;! & -1 54的脚本, 它可以创建8 0所需要的几乎所有表格和数据库结构。把 巧& ― 013' !复制到& \ 017 1 目录中。再次打开一个命令提示符,用下面的命令运行这个脚本: -11 500 : 511011(113 〈 (:: \ !!!
!!!
利用,;!
! !
\ 1)111 \ 0163.1:6
!!工具,通过査看―00 ,
一
01 乂5 1
数据库,你能检査一下并确信这个脚本已
经正确运行。 现在被安装和配置完成了 :.
安装;\|380 八 (: 是一个 识;!! -版本。/ 4
!)服务器,原先是为!!?化操作系统设计。这一章,我们将使用它的 是开放源码的,而且是免费的,因此,你不必要为运行一个V吐服务 器而购买识2000服务器版本。另外,它比微软的118更加安全和稳定。这并不意味着
115不能够被变得更安全,但是要做更多的工作才行。如果你是115方面的专家,你能够使它 变得更加安全.那么你可跳过八 的安装,而直接安装?II?模块,使用 :10。 在这一章中,八!3化&被用于为基于讽&的八(:口)浏览器程序服务。从下面的链接可以获 得八 &6.1 ; 二进制版本: 111II?: //
这个―!!
.
.01- /
1:/[!!:!:
/ !03
/' '! 11327
二进制版本使用安装器来完成安装过程
这个安装器询问你传统的许"I证问题,接着把你带到服务器信息这个步骤。这里 你应当 输人你认为合适的服务器信息。选中"&?;&仏!" 411 1; ! 为所有用户作为一个服务运行八,
(;&) 选项是很重要的。这会在恢!!! -启动的时候自动运行7 3 ; ,并把八 为一个独立于登录用户的服务运行 通过保留默认设置来完成这个安装进程。 "
服务作
。
安装好4?31:116以后,需要为1 4?和八00创建一些目录。创建以下目录: 157
\咖 \ 口卜口 \ 301(1 \ 260
在你创建好这些目录以后,使用记事本打开
(;
配置文件
….?"。它位于这个目
录中:
你也能通过选择"开始-程序-/ 文件.编辑这个文件。
561 0
配置服务器"打开该配置
为了更容易査看,请选中记事本"自动换行"这一选项。编辑出 .文件最快,最不会 .?"是一个很大的文件,查找一个配置行需要 令人沮丧的方法是査找特殊的字符串。 ! 很多的时间。首先査找&!" 61! 1
字符串。找到下面一行:
把它改变为:
接着,査找0000111 11 01 ,井在其后添加,如下所示:
向下查找这个文件,找到字符串 (!! 。这里你将发现1 (1 0 命令。你需要 ?脚本支持添加到八13化 把? 里,因此在该行的结尾需进行添加,如下所示:
在!
!""
下面,你将发现一个由 1(1 0
168构成的部分。插人下面的--行以便添
加对?II?的支持:
接着查询字符串八&丁 八
丁 ]
8口 13110
,添加下面的行到 131 6列表中。
011/乂-11
3(1X 1
3
110311011/ " 11: 1
(!!
3
1
01
-(?! -
-口 (1
111:1! 1- 1|3 、
现在,卸 &就安装完毕。 5
安装91
? ?是作为一个小项目开发出来的 用来改善个人主页(
)!! 1101116 !33 ,它是? ?名 称的来源),后来逐步成为功能最强大和流行的化吐脚本语言之一。是可替代 5?和 川「,作为一种选择,它使用人们熟悉的0语肓语法。八010是用? ?编写的 因此为了使 ,
,
158
/ :
发挥作用,必须安装它。 从下面的链接获得? ?的
确信下载了最新的?
1132 二进制版本:
压縮包,而不是\ 出0 5安装器。解压这个文件到你所创建的
目录中,如& 。在这个目录中,你将找到一个名为 1 111文件为!)! . 。使用记事本打幵这个文件并编辑它。查询到(!
1的文件。重命名这个 行。把它改变为下面
-
这一行: ―
1 001: 二 (:: \ 口!
接着査询0 15;01
?
行。改变它为下面这一行:
保存这个文件并退出。现在,你需要把一些I1?!?文件移到最后的应该存放的目录。移动 . ;111文件到 0: \
11111: \
为了避免迷惑,最好移动这个; ?.;!!;文件,而不是简单地复制它。如果你想复制它到新 移动到 的位置,你可能会混淆到底哪一个! . 文件会被!1 ?解释。现在把; ! .
最后,把1 1 印化&』11移动到 0: \ 1*3
13111 ?
"
\?化! 0 011|1 \?化
\ ! !
现在,? ?被安装完毕。
安装八0008
1
匚? ? ?的数据库访问功能并没有被标准化。用访问每一个数据库类型( 5《3301和0 等等)都有着不同的访问方法。为了开 出的? 代码能访问许多不同 类型的数据库,必须用一个库来为所有的数据库提供一个通用的接口。提供通用数据库访问 的库就是 0008库。从下面链接获得八0008库:
接着,你需要编辑 0008配置文件3 1 1 1 。你必须让 0008知道它处于文件 系统哪一个位置。用一个文本编辑器打开这个文件,找到包含下面文字的一行: 改变这一行以便反映你存放4001犯的目录。 3
0000
01
'""
"';
保存这个文件并退出。&的安装就完成了1 安装6010 -
八00是你与&!00数据沟通的最主要的方式 通过400,你将做人侵检测的大多数工 。
159
作
。
就像先前叙述的,八00是一个基于的分析引擎。它被设计用来处理由安全设备产
生的安全事件数据库,例如103和防'大墙等。 八(:
安装是相当简单的。进人
:10主页:
下载并解压缩这个文件,把它放在你为 :。创建的目录中,& 文件进行编辑。 \; \
8 0131山 ―
!。
夂打开3 )-
"
:
―
二 、 一 ;
01 7 8 91611
1&11《
8
―
.
3
.
; "
,
一
这里, 1071
9 3
""
51101
8"
并退出。
( !!
' 011(111 1
;
115
)出是用来验证数据库的用户名和口令。保存这个文件 ? 10现在巳被配置和安装完毕。 【
11561和?
―
―
811011应用程序的安装
用预编译的二进制版本安装基于"(!0 5的 10
是很容易的。从下面的链接获得最新
的51101 的二进制版本:
确信下载了由 501支持的二进制版本,而不是简装版本。下载后解压缩这个文件,并 把这个组件中的相关文件移动到下而的目录中: , 移动511011.6X6和811011:國0 111到0: \ 51100:
把所有的,?163和
" 文件移动到(::\ 311011 \ 1163,创建一个日志目录:(::\ 5110 \
下面,你需要通过3001 0"文件配置500 。用记事本打开 ".需要指定你要监 视人侵的I?地址范围。通过配置3 40\15 ?! 这个变量来完成这个工作。你可用0108 格式指定I?地址范围或者利用3! 选项监视所有流量。从下面一行开始配置&1011。在以后 需要改变的时候你就可以修改相应的变量: 卿只。]
置丁 311乂
接下来,你需要让5:10 (知道文件的位置,这由只!
: -
!1八14行完成。改变该行
如下所示: 31 1
)0八!
[:7賺1/111
注意中目录用'7'表示,因此要注意使用。然后 你必须设置&把日志写入到 30[数据库。只需要添加这个输出插件就可: ,
160
。哗III 113131)386: ! ,
:80011 ― 11
~
卵1 01
: 5000
―
,"
(! \ 111)1131116 : 51100:(!"
:
1003111031
最后-步,你需要配置51101 的( 跟;! ;! 1 1 变量设置为下面两行: ; "
;
!! + ! 和61106.
的正确位置。预先把
―
现在有了对
"文件所需要的设置。如果你希望对 ( . "各个配置选项做进
一步地钻研 査看第6章中更为详细的描述。 ,
现在应当有了全部功能的&101 安装。从下面的命令行启动300!"I: 51100 ~0 (;: \ 31101-! \ 511011.0
-1 0: \膽"\ 1。&1;-"
选项指定了使用的?0!" . "文件的位置;-1选项识别日志目录的位置。密切注意-;选 项:它是用于嗅探的网络接口卡(、仄 :)。我们通过执行 !! 厶11找到嗅探接口的 0号。 "
为 停止&!。"进稈,你必须通过任务管理器来杀死它。 9 3 .
4人侵检測中心的安装
.
1 概述 -
人侵检测中心00160是一个为30011的\ ;1 0?5安装而专门设计的管理工具。人侵 检测系统中心为的配置文件提供一个图形界面,也提供了一些不包含在311011 二进制版 本中额外的功能。在没有1030 1化!"之前,许多这些辅助特征需要手工地编写脚本。 1133061 1"有一些内建的警报通告特征。你能利用这个特征,通过一个听得见的瞀报、电 子邮件或其他任何你希望运行的外部程序通告你重要的警报。10306!! "能被设置成压缩和 自动轮循日志文件。当管理 ―!!时,这能帮助你保留空间和节省时间。 "有一个配置向导,利用它,你能设置 0化0011〖中的变量、运行和配置预处理程 。;!& 序以及设置输出插件。你本来可能把这些基本的配置已经设定好了,但是你能利用这个向导 在以后凋整&1011。它也支持300打规则集简单的150;加 出-」〖&(单选框和复选框)界面。你 可以很容易地添加、删除或者修改这些规则,它也能被配置成如果!0&6 6『崩溃了就重新启 动311011进程。
另外,11)50
16「支持一些更冒险和危险的设置。你能通过1513丄1?,配置自动堵塞地址,
或者,运行一个脚本去重新配置路由器或防火墙。使这些功能起作用的危险是一个攻击者能 够欺骗合法活动所需要的化地址发出警报。攻击者能够发动攻击,使外部的0 3服务器,合 作伙伴等被堵塞。任何事情都有两曲―件。 1 安装 -
从下面的链接获得11350 110": 111【「: //" !?.
) ?!. :" (/丄
! /!," / "!/!
/!!! ]
!!化「 111111
解压縮和安装105 111 。当它被安装后,你将在系统托盘上看到一个图标代表103 11! ,双击它,就运行程序(见图9-3〉。 \6\
画.刚1,」""誦旒"
纏3 6*10
4 (1 農 〕 V "一 " "! - -'
観,一""& 1 0*11
|
) (
「 5,一I 10&
!
乂
"
. 4*4
广
801
」 广"一画
!
-
「 51-11 ―
广XIII 10|1
1 一/
10&4
&"
100
,
9
119-3
105
时应用程序
3 配置 ,
60"(主要配置)30(10 1 6 (总览)",点击" 在总标签屮有两个选项" ;0 000 000/181" ;。! 主要配8广设8 50011可执行文件的位置为0 \ 000 \ 51100.0 。接着 选 ,
中下面三个复选框: 8110
8000控制台)
50011 0305016(6
"( \ 0010\1 启动时自动启动!! & 比!") !" 11 1 51811 3000 611 10306016!"【3 5181101 〈当105061116!"启动时自动启动5000〉 自动启动是一个好方法,即使50011所在的机器重新启动了, 5110「1也将继续起作用。下 5(311
面
.
设置进程为离优先级。这将使它相对其他应用程序有更优先的权利获得资涿。设
置日志文件的位置为 \ 50 1 \ 10
\ 010.1(15
移到"0 ;?(总览)"标签-从这里.你能看到5000进程产生的任何错误。你不得不 配置的仅有设置是5500命令行的选项。把它设定成 8001.0(6《0: \
接下来,点击"108
)!!. 511011.001
1 (:: \ 3000 \ 10 5 ~|1
规剡)"标签:设置配置文件行等于
在这一标签中.你也能设置网络变量.预处理程序、输出插件和规则文件。网络变量郎分 自动产生分配给5000计算机的II3地址。它也能帮助逮立(: !?地址范围。在预处理程序部 分 可以建立所需要的预处理程序。推荐你打讦每一个预处理程序。以后.当你谰整 加!! ,
时
你可以删除或者配置那些产生过多误报的设定。
,
输出插件本来在你手工编辑胃 .?"吋就应该已经被创建了 选择"规则/ 征"按钮
利用复选框使每一个,巧165文件起作用。此外.我们扦在第10章详细介绍规则集的调整
。
262
,
0 5事 口志设置能够用来添加命令行选项到3110?命令中。你也能修改日志参数到 件! 志中去-如果你有规律地监视这个事件8志,这是很有用途的。如果你点击"1 8尺 1; (日志轮循) 按钮,就能访问口志轮循和压缩工具。通过日志轮循,你能节省磁盘空间,而 "
且还能为进一步的参考提供自动存档的300!"1日志。113500113将轮循10种不同的日志。当 它达到第10种日志后,将重写第一次的日志。你可以设置日志轮循的时间间隔以便满足你的 需要。
移动到" 161 (鱉报)"选项配置〖05 :
「实时通告工具。选中"03 335?
061化1;00
【数据库警报检测)"复选框.填满相关的字段。使用化!".对实时通告可以有四种选择. 4以打开你认为合适数量的这网种选择: (!)声音警报 当11)3
61"检测到一个警报,你能选择通过声音来警告。这个特征仅当你与混合500|1
设备在同一个物理位置时有效,这样相对新颖。你可以选择默认的蜂鸣声的声音,也可以把听 得见的警报设置成你选择的 ?化文件,
[!)程序执行
103 ! 「能被配置成运行特定的脚本或可执行的语句。用户可以创建一系列命令,把它 们存储到一个可以执行的批处理文件中。这些命令可能包括重新配置网络设备.激活内存分 页程序,或者采取其他你喜欢的任何措施: ( )使用813 ?堵塞通信 1313&I?是一个简单的家用103和防火墙组合程序。它相对便宜〈不超过50美元) 能用 于堵塞来源特定地址的通侪。这项功能仅在通信直接通过混合服务器7传感器路由,或者在一 台单独的机器安装51101 用来监视人侵时起作用。这可能用于将调整为类! 化 基于 主机的人侵检测系统)的 机器。 配置 34】化堵塞产生警报的II1地址通常是不好的行为。如果攻击者发现你正在堵塞 ,
产牛警报的地址,他(她)可能发送欺骗,恶意的包,而这些包可能含有关键网络组件的11,地 址。这样就会创建005攻击情形。即使包 合法的通信创建,误报同样可以创建008攻击情 形。我们将在第14章髙级话题部分讨论"作为"人侵防护"应用程序使用的情况: 通过 1
1报警
108 111&支持通过电子邮件实时传送繁报。称能指定需要的、足够多的& 11地址来接 受警报。对于电子邮件鱉报发送,你可以有两个选择。你能以附件的形式发送梦报文件。在 低报警环境中,报鱉文件不大,这个选择是可接受的。另一个选择是简单地根据文件中事先设 定好的行数把报警内容直接添加到 713;1主体中:设置该选项到20以确信你能对产生警报 的通信有一个比较好的了解。
9 4小结 .
本阜提 丫一些安装?―,1的可供选择的方法。详细地叙述了三个不问于分布式 仙X 的&1-1安装的常用方法。对小-同的安装方法都有其独特的工具。 &"能够被作为一个混含服务器7传感器安装。在这一情形下 所有的组件安装 在一台机器上」为创建混合服务器7传感器 必须放弃分布式??对配置的一些优势。当使用 ,
,
163
混合安装时,可测量性、性能和安全性就会被破坏。
( ! !)是500 安装在基于,化的众多操作系统中的一种。 ! 享有具有最 髙安全标准的操作系统的美称。这让0 11650成为311( 安装的一个首要选择。本章详细 )上安装和 ( &! ?工具。其中5001 3081 是一个脚本,它分 叙述了在。! 析和处理3110! 日志并输出II丁 1格式的文件,也用来解析?地址到它们相应的域名中。 在本章中说明的第三个即最后一个安装方法是基于 的 !0 安装。基于 3( 3的安装使用一个由5出0011 0 61 公司提供的编译过的基于 60 的二进制版本 &1011安装附带着 30 、八? 卜和八00的安装 这几乎和基于的安装有着同样功 。
能
。
10&是一个基于~\ 1 0 3开发的30-1应用程序。它使你很容易地添加辅助功能,
如实时报謇等。!! ! !"提供了图形用户界面,提供配置大多数&!0 「【的功能。它能通过听 声音警报、外部脚本、81 1(108集成或者&!1311来提供实时报謇。
164
第10章调整和减少误报 对干5000用于人侵监控的每一种情况,你几乎不得不承担的一项任务就是调整和减少 误报。随着可能攻击数II的增加,连同5110"被期 监控的宽带网络数量的增加,近年来调整 5:100已经变得越来越重要了,因为随着时代的发展,更多的基于网络的攻击和1 8逃避技术 将被发现,这就需要额外的规则和预处理程序来检测它们。这些额外的特征将引起应 用程序更严重的资源紧张。用于执行商业任务的 算机网络应用也在增长。即使在20世纪 90年代末随着"新经济"的崩溃,大多数组织中的宽带网络应用仍然以极高的速率增长。随着 吋代的进歩,500!"I将不得
监控带宽不断增长的网络:这两个因素都使得调整5:1011变得更
加重要。
如果&1011已经按照前面章节所描述的力式珪立并进行配置,你现在面对的将是一 全没有被调整的?
!!安装,在该安装中,把&
完
1配置成花费相当多的误报来换取最小数量
的漏报。这个安装是一个理想的起点,从这里你能够创建一个完全被调整了的&10 安装。 记住这一点是很重要的,那就是只要31101 处于丢包状态,你就 该考虑调整?! !!的功 能特征(比如规则,传送给 !01 的流量等)。这一章假定你巳经完成了前面章节所描述的默 认设置,而且&10「【已经受到性能威胁1",处于满负荷工作状态。 调整进程有两
目标。第一个是减少丢包的数量,使它下降到可忽略的数目或为零。第
二个是减少误报的数量到你能管理的水平,但不要破坏&1011检测恶意通信的能力。减少丟 包到零是优先要考虑的。何垦如果31101 不能窃听到潜在的敌对通信,那么5001 几乎没什么 作用。因此,你必须首先让3003处于不丢包的状态下工作,然后进一步减少误报。 现在真正摆在你面前的任务是鉴别出被认为是易于管理的误报的数量。如果你能通过 / '【[ 中的成 上千的误报瞀页面处理它们,你只需要保证 「 不处于丢包状态。大多数 5110 用户都是.丁.作繁忙的人丄.希望减少,产生的错误信息的数量。除了浪费时间.误 报也是一个负担。如果你把 1011配置成实时监拧的系统,你可能潜在地对误报瞀做出响应, 损坏你自己的可信度,也损坏了 11:15的可信度。误报也使你从真正的安全事件中分散注意 力 最终导致受挫,从而对人侵检测不再感兴趣 。 ,
调整的动作实际上是配置571011忽视特定类型通信的行为: 01-1应当配置成能够 尽可能检测到每一次攻击。调整过程的目标是 明整个发现的警报中那些极有可能是误报的
而不应该产生真 报螯的繁报。那么你就能从可能的攻击范围屮删除掉这些流量片断,使得 0.-1全神贯注于更可能包含真实攻击的部分。
提炼500 配置选项来产生一个髙度的被调整的5000配置的进程是一个重复进行的过程。 因为没有 靠的方法来孤立地测试&1011安装,你必须在有效的现实网络中放置一个传感器,从 接收到相关的报警数据,然后,你应当调整的--个组件,把它放回到现实网络中 观察发 生的改变。在这种方法中.通过调整歩骤进行循环 精确调整5) 1的惟一途径。 由于可能的网络配置 无限的,所以每一个3 "调整过稈是不同的。一种类型的流虽 于一个网络可能会产生大量误报,但 另外一'!、网络就可能保持完全的安静这一 ,集中 ,
』65
讨论调整的最典型实鉀,提供了有用的具体例子。并且要记住,你应当总是要更相信你 自己的判断力,其次再相信书上是如何说的。
预调行为
10.1
:
在你已经安装并运行了 5000以后,建议接下来检査一下&1011是否处于丢包状态.目前 还没有自动地确定出8000是否处于丢包状态的方法。到目前为止,现有的108都不支待这 个功能.但在不久的将来很可能有许多服务商提供这个功能,在匸!!-系统下利用下面的命 令能够迫使进程显示&00的状态信息: !.
1(111811
这就会发出状态信息.把命名为81100的任何进程铀出到标准输出上或者发到系统日志 里
。
你可以通过指定进程
(?!
!! ,円:))来选择性地指定准确的8000后台守护进程,进
程10可通过发出下面这个命令来获得:
然后,你能使用这个命令显示状态,它可以在大多数基于的系统]:运行:
接着.&100把它的内部状态统计数据显示到屏幕上或写人系统日志里。如果你正在使用 只" 81 ! 战,可在~ 10 014858808目录里査看系统日志信息。 如果你把5000进程移到前台或从来不把它放在后台(通过添加&符号1你应当眘到类 似图10-1的屏幕画面。
9 0
9
1 X0
88363 0
89693
!
", 1
1 10 01 0 0 000X1 .
09 ―
10*2 0870 00 : 9 10 : 2 "
;
-
、?'
1
:1:|二:
07101: 459? 『,1
11
助1 3 *1*1
1 8 。! -
, | 0 : 0
51410: 一一
5 *011 ,' 化?, 11
96
! : 27867 99: 0
38 一'" 10*11! 0 11 11*10 201 0
图10.1
166
内郎状态统汁信息
9
9
不要关心显示,屮,来的所有信息,你只要注意此刻显示出来的前两行。它们应当告诉你 800 9从守护进程丌始以后处理的包数量和已经被丢包的百分比。你希望看到的数字是零。 如果有少量的百分比,如0.011 (万分之一你可以忽略掉它,考恧丢包百分比的另外一种 说法是潜在地错过报告攻击的百分比,
为了提髙&101的性能和减少包丢失,你能做的最基本的改变是利用2301 1处理报警。 如果你没有使用统一格式来输出报警,也没有通过8 71 汨来处理报瞀.而旦正 在丢失包,那么现在你应当使用它。
阅第7章中『3安装过程的相关内容。
注窻
为了获得性能而首先求助于采用 1,71 1 ? 传感
是假设51101-1正在运行在一个只用于
》的计算机上。如衮有其他的应用程序运行在同一个机器上,你应当检査它
们使用的内存和处理器的情况,考虑把使用过多资源的应用程序移到另一个不同的计算 机上。
在安装好&?"
后,你应当运行-段时间,来收集一个合理数量的报警。
。口
运行以后,迫使这个进程再次显示内部状态统计数据,査看包丟失的百分比。如果 3001-1已经停止丢弃包,那么这时你就可以把注意力集中到减少误报上。否则,你将不得不通 过调整预处理配置,规则集和其他的在本章屮描述的行为来完成额外的调整。
10.2调整网络 调整5110"最基本的方法之一是改变传送到&!00传感器的数据数量和类型。某些类型
的通信由于其中包含的恶意流量,消耗了过多的.不成比伊』的带宽量。如果你希望删除正在发 往300 的部分通信,这些流量就是潜在的选扦。 多播通信是通信中的一种分类。流媒体应用程序如或者恥; 10 5 经常利用 多播来减少所需要的带宽。多播通信对流媒 更加有效.因为一个流媒体服务器不币独自为 每一个客户端服务 多播通信的细节讨论超出了本书的范围,与&1011调整相关的问题是多 播通信是带宽密集的,并且有很少的可能性来隐蔽那些恶意通信。 一些交换机提供商如(:; 和 忒有一系列能被配置成不转发多播通信的交换机。你 。
.
只要简单地创建一个访问控制清单,来过滤恶意通信就可以了。 一胜特定的产品甚至能规定 哪个端口不能用来发送多播通信。传感器所在的端口能够配置成不转发多播。这样 做 应当减少了 3000不得不处理的流量。 ,
在多播被300 1嗅探前,在网络层次上删賒多播通信能显著地减少5|10「1不得不处理的流 量。这主要取决于你的网络有多少多播通倍。传统的多播应用程序如前述的流媒体应用程序
能被堵塞,其他利用多播通信的产品也可能被阻塞。利用多播通信的其他应用程序的一个例 子是 ? !!化 :的001103
1161 1
011。它使用多播有效地同时展开单个映像到许多不
同的讣箅机卜"
能在内梭级或在50011水平上实现多播通信的过滤,但这仍可能在& 上引起资源的消 耗。把通信的过滤转到另外一台设备[:释放了传感器的资源 应当在任何可能的时候使用这 ,
种方法。 767
其他类型的通信可能被网络组件过滤,以减少发送给50011的通信数量。如果有你不需 要监控的I?地址范围.你应当想尽办法在这些通信到达311011传感器之前过滤掉它们;,如果 一个特定组的主机产生广不成比例数量的误报通信 如果你能承担不监控它们的带有恶意的 ,
通信,那么应当配置交换机在这些通信到达传感器端口之前丟弃来源于这些主机的包。 如果500 仍然丢包,你应当考虑过滤掉加密的网络通佰。3110 不能处理加密的通信内 容 所以它们是你过滤的主要对象。任何利用内容攻击,如远程缓冲区溢出攻击和一些[化 攻击不能被500"检测到,因为它们的内容是加密的。这些加密的攻击最好由基于主 ,
机的人侵检测系统)发现。
另外,3通信被加密时,利用协议矛盾的攻击如发送包含同一源地址和目的地址的通信仍 然能够被&&「【检测到。在认 完成之前或在加密被激活之前发生的攻击同样能够被检测 再者,是 过滤掉加密的通倍是你考虑在组织中你想监拧的范围之后才 9做出的决定。 如果你可能从一个利用加密通信的主机上接收到一次攻击.你不应当实现这种类型的过滤,, 如果你在网络层次上没有过滤通信的能力,使用&做过滤工作的方法将在下面一节 屮介绍。
10.3用&10「1过滤流量 有两种限制31101 处理通信源的方法:,一种方法是用户可以创建!
&!"! 巧
&I【&,伯克利包过滤)声明,那样"用它来限制将处理的通信源。可供选择的另外一种方 法是,用户可以在&101 配置文(牛中配置网络变量来限制00处理的通信「 限制 !必须处理的流量3然地会减少300「1不得不做的工作量。如果有不需要人侵
检测的主机,你可以利用81 或者网络变量过滤掉它们。这些过滤方法能够用来忽略掉正在 创建太多误报噪 的一个或一组主机。
10.3.1网络变量 配置&100网络变量是调整311011的一种比较直接了当的简单方法,尽管它不像整理和重 新组织规则集那样有效,但是调整网络变量对?减少丢包和过多的误报情况有着显著的作用。 你能够在 加.?"文件中访问网络变量。 如果你不能利用网络设备过滤掉不需要的1?地址或者化地址范围.那么你 以利用 : I" 丁变量来定义要监控的范围。可以使用 1来过滤掉创建过多误报或 加密通信的主机.同样,它也能过滤掉你不想要或不需要监控的主机。记住,化)! 、1!:丁用 于指定人侵检査的内部地址。用90 1 丁过滤.仍然需要把&加载到3 11,然后再丢弃 它们,因此过滤通信时使用 ) 丁和使用网络设备之间有着性能差別。 ! 丁
-
―
-
-
如果有你希望排除在监控之外的外部网络主机,你可以利用!! 丁六I 设置 丁0 八[ ? :丁为你想监控通信的主机: 为了减少误报和保留资源,(尔应当尽可能多的找到 丁下!1,; !! , ! 和0
、
丁变量。 服务的地
址。除了明显地用于传统方式的服务器.你应当关注用于远程管理和其他职贵的執
服务器的识别。一些打印机,防火墙、路由器和其他的网络设备为了远程管理 也大量使用 .
化&服务器。1 丁I'服务器有时候用于代拜 服务器和其他的邮件过滤服务器和设备,芮此, :
168
它们也应当包含在列表中。识釗明显的和不太明显的服务器(如 诒 ?2000活动3 服务器1位置是很 要的。即使不是完全的0 服务器,创建了大量端口扫描误报的其他 网络管理站也应当添加到0 5列表中。当你有一个被编辑的全面列表时,把这些值插入到 (
. "文件中相关的网络变量中。
在你做了这些改变以后,你应当让300「【进程通信一段时间。在你准备监控的一个典型 的通信实例被"处理以后,检查一下,看看包是否仍然被丟弃。你也应当捡查它,看看误 报是否已经降低到你能控制的水平。
町包过滤
10.3.2
包过滤器出??)通过在1;1 0
66 61
层次上过滤通信,这意味着在&10!!处理包之前,
就已经完成了对包的过滤。标准的81
151
语法能被用于
(
。
8001-1能够通过添加到&!?1的命令行或通过一个文件来接受这些15??声明。如果只有 -个8??声明要添加 会更容易,只要把它添加到30011命令行就可以了,如果你想忽略 ,
192.168.1.1和10.0.0.1的通信,请执行下面的300【命令: 511011
011161 0(5110115
如果你有一连串的81
1)01 01031 192. 168.1 1 01 1x331 ! . . .!).
声明,那么创建一个文件是比较好的选择。让511011知道你需要
在命令行上借助下文件名选项使用一个61
文件。新的30011命令行可能如下所示:
注意 ?
'
选项是大写的。
下面就能创建一个过滤器的回车限定符列表,命名为化化"丄 。 81 在识别可忽略的特 定协议方面是很有用的。通过选择忽略一 1、主机或主机组的特定协议,可以缩小包过滤的范 围。为了忽略来源于〗92.168.1.1的『旨回显请求,你可以添加下面一行到一个8??文 件中: 1101 (
[ ]
8 811=1
1 192.168.1.11
10.4调整预处理程序 如果你的; 0"仍然丟包,你将不得不对预处理程序做一些配置改变。当调整预处理程 序时,所要做的II要任务是保证你有足够的内存分配给预处理程序。没有正确的预留内存 某 预处理程序就会处于不处理3110「|嗅探的每一个数据包的情形下。这在机能上等价于让预 ,
处理程序失效一小段时间,这样需要预处理程序发现的攻击很容易被漏掉。跨越许多包的攻 击会使情况变得更加糟糕:如果一,顶处理程序没有足够的内存来标准化范围之外的一个包 时
,
100可能遗漏掉整个攻击。一次攻击可以展开成百上千个包 如果预处理程序由于不足 ,
够的内存分配而不能标准化它们时,一次攻击将可能通过 化"而不被发现:其他的任务 为特定的预处理程序确定可获得的适当资源和调整它们来避免误报,也包含在这一部分。 169
如
,
10.4.1
调整1)0
当调整预处理程序吋调整1)0应该是一个好的切人点:&是一个资源密集的预处理程 序 它很少检测还未发生的恶意行为。能导致获取显著的性能的一个简单的选择就是关闭 ,
63& 0「1〖 只要把
的暴力破解一加密通信密钥空间。?0卜「"化(非暴力)选择是相当容易实现的: ?化选项添加到
预处理程序指令屮即可, 另一个可能性是完全地注释掉1)0预处理程序从而排除由I
导致的任何过多的资源消 耗 如果你的组织有一个很好维护的反病毒解决方案并且它被证明能用于每一台计算机,那 么这可以作为一个选择,因为63& ( (;化可以被儿乎每一个主要的反病毒软件包桧测到。 。
10.4.2 调整 !
!',38111 (! 一
1 ―
!600
和1*1101!]
和〖110 1预处理程序不如其他的预处理程序活跃。这些预处理程
序为恶意行为消耗不成比例数量的处理器周期。它们比其他的更稳定的预处理程序更可能创
建更多的误报和漏报。同
一样,如果不需要的话,它们应该首先被删除。 (、―!! & ;和(!!。"可能被加强或者被消除掉,有可能不 包含 在不久的将来 「 在资源中。如果这些预处理程序之一产生了大量的误报,为了谨慎,关闭它直到它们被 进一歩地加强 。
对于这些预处理程序来说,有一些情形可能导致误报。
1
一
36
6预处理程序对各种
类型的通信产生误报,包括无害的5 *1?和381通信。许多提供商对这些协议的实现比较勉 强 它们违反了八51 .1协议。用特定方式违背协议引起; &报告一次攻击。 ,
-
「(!通过搜索一长串的非操作命令或者同非操作有同样功能的命今来检测多态的 6。大的二进制文件,如电子邮件的附件 很可能从 10"发出一个报警。
11
,
10.4.3
调整&882
如果受到50011保护的网络不处于特定类型的攻击之下,那么一些预处理程序如【「3 的 作用就比较有限了。为了实际查看5 00怎样处理这样的攻击,你不得不创建一次相似类型 的攻击。一个例子就是,我们将利用&明?1 完成一次分段攻击,而这个(! ?! 足设计成 创建各种不同类型的分段攻击的一个工具。在我们做任何类型认真的压力测"之前,你应当 检查(「叫2看看它在没有用&化1 11 「攻击的情况下是否能处理网络中的分段。 管你不可能 监控一个定期地超过为(「化2保留的内存数量的网络,但是花费几分钟确定一下也是值得的 运行通常的1 11311丄15尺1 0!"I命令査看的内部状态。你应当可以看到标题为 113 00 加 "分段状态)的部分:这一部分报告了 的效率。对这一部分 你关心 的应该是内存故障计数器:如果这个&82内存故障计数器报告了一个比零大的值 这说明 。
,
,
你没有分配给(巧82足够的内存。当没有足够的内存保留给『13112时 内存故障发生了:.为了 修正这个,找到 ( . 文件中的 2配置行,增加1061710 的值。增加一百万字节 再次 ,
,
测试,直到你不再收到内存故障的报告为止。
现在,我们将测试& "应用程序怎样在一 1 分段攻击时发挥作用。为了运行这个分段 『:具011|巳你需要下载和安装3个相关工具:1;11」1 相关工具仅仅能以源代码的形式获得。在建立了 5! 170
1化IX:叩和
、
"以 ?7 10010和它的 .
,
后 你应该很熟练地以源码的形式安 ,
装"!!战包,因而更多细节将不再提供了(学习怎样以源码的形式而不是以1??1 形式安装包 确实有好处)在下面的链接可能得到!; 卜"口: //!!
!,謂""。!
":
'。",
简 地预编译、编译和安装。在下面的链接茯得熟悉的化胃:
再次预编译,编 和安装。在下面的链接茯得最后一个依輸工具1;1
预编译、编译和安装1
601然后,你应当从
1:
网姑下载(
?&
应用程序:
做同样的预编译、编译和安装过程,
通过截断流出网络的汍 发抨作川.接枒把可配置数蕭的分段规则应用于它。 当它被发送到目标主机时,通信接着就被分段或操作为了劂试 8?1 ,发送下面的命令:
这几192.168.1.2
-
正在 监控的I?地址。如果你收到一个告诉你建立路由
50
,
8:可调的错谋,你可能需要通过!)! 11标主机或用8外《法建玍一,&法的路由乘那样做。 在( ! 运行以后.你需要为它建立一些通信,以使(!"88 "" 来截取和修正二如果你仅仅 408或点你浏览器到1:1标主机.你应当査宥已经被 卯?比修1丁:的裁取通信列表,就 鎵围10-2所描述的 样 ,
192.169.1.2
192.169.1.1
》191468.1.2: 190: 1
192.163.1.1
192.169.1.2:
192.163.1.1
192.168.1 : 10 1: \
9 00 69
104
192168.1.1
》192.166.1.2:
0:2
192168.1
192.1681.2: 1 192.160.1.2:
0:24*24, ) :?
》197.1
0:1614引
192.168 11
〉 102.168.1.2:
? 192
.
192.166,1.1
152.168.1.1 192 168.1.1
192.169.1.1 192,165.1.1 192.166.1.1 197.166.1.1 ?.166.1.1
192.164.1.1
?0:2400*1
0
0:169*81
4*1 ([ !
0:16*461〖
.1 2:
168.1 ?;
\
103 2001 109
》192.160.1 2:化叩,8
0:24| 2490
12490*1 …-0:248
000 0
[!301
0.001 ―】
》192.168.1-2:(?0:1脚)【??0.002 ―】
192.168.1.2: 11*1 0:241*4*1【( , 0.001編 0 00 0 (? 0:249 》1*2.168.1?; 1(3 : 1 》192 》132
8.1 【0*1*1 07101讓1 : (' !) 16 46 【0 8.1-2:(?0:1694 07601 一】 .
、192.168.1.2:
0:16*481
197.16*1.2: !
: \
52 &0 9 96 "!"#| 0:24900【 1~ 0 001 1 .
192.16*1 :.(仃賴。:?術釭)
、192.164.1.2: [ !8 0:24*24*1 [( ! 192.166 192.169 192.164.1.1 192.168.1.1
0: *0*1【由"0.001脚】 0::
0,001
1~ 0.001
、177.169.1.2: .
.
0:16*46)
192.166.121 》192 168 1
1
0 001?】
0:1
2: (
》192.166.1.2:
图10-2
:?
401 1(1*1
)
0:249240【
0 001 一 1 .
1~ 0.001 一】
活动中的138 1化
也包含一些预先定义的规则,这些规则呰经能够彻底逃避8 1的检脚.进入 脚本目录,打幵一个名为 八!)! . ,"的文件"在这,文件里 你将发现各种分段和操纵 ,
攻击.它们可被用于89试&101 【叫!
化,再次测试。当你对(
加载这些不间选项的一部分到
?化 "【文件中
.
运行
化运用自如的时候 你应当试18使用一会集中分段攻击来 ,
\1\
打开(「化 ! .接苕运行"111叩或者来扫描由&10"保炉 这应当模拟一个试图使用(! - 的攻击者来制订一 1没有3:101:1报警的网络
进一步进行压力测试?;11011
的一段地址
。
。
攻击。
在运行了【1:堪?"化工具和 11
以后,检査311011分段状态3如果你对【1382的设置已经
阻止了分段攻击,这意眛着你有零个内存故唪,你可以开始调整(「化2的误报进程。否则,你 可能需要增加已经为1 82保留的内存数量。 如果有与分段相关的误报问题,你有两个选择。一个是配置51 11网络变量从曲忽略正 在产生误报的主机。如果它不再是一个选择的话,或者如果你宁愿试图删除误报,而仍然监控 主机的话,你将需要调整【「382。调整方法如下。 从把【 ?以值增加秒), 服叩值增加100,000字节来开始。增加这个! ?以值将 增加时间长度,它是一个分段包等待被截取的分段包链的剩余部分时的等待时间。增加 1 ! 冲将保证你有足够的内存来支持需要在这 时间长度内用来存储包所增加资源的敉 目 当你为? ! 印设置一个值吋,这个内存敉量将为 2保留,不管它是否曾经被使用过、 让3001 运行一段时间,逐步循环地对【 ?化增加5秒和对! 川 )?增加一百万字节,直到有 ―个可接受的分段误报水平 试着不要过分地使用这种方法;你不能允许(「堪2消耗太多的 内存,它们可能被其他的预处理程序或检测引擎更好地使用。 。
。
注窻
在潜在目标主机上的I?堆栈有它们自己的分段超时,配置5001-1中逐步增加的这 个【11116011[值是有限制的。 调节以便减少误报的另外两个选择是调整参数1 11
:1的值。当设置的这 些选项中的任意一个值超时的时候,一个报餮就会产生。为111111 111选择设置为3,这应当是 ―
1(1和111
―
1
-
大多数网络可以接受的设置。绝不能把该值降低到3以下,因为你可能引入误报,也没有注意 到伃堪! 类型的攻击。如果你接收到数目不正常的有关!!!!!! 【11的误报,而 你已经充分 阀査过它们确实是误报.那么你应该把该值提高到5到10之间。因为路由器飘荡,出 1; 更有可能创建真正的误报。 -
―
路由器飘荡
当因特网上的路由器突然出现或消失,正常的包可能通过上各种完全不同 的路由器进行转发。当包通过111【611161上各种路由器进行转发的时候,它们可能改变 111值的范困差别非常大。一些包可能发现一个直接的路由 有一个大的111 而其他 ,
,
的则可能通过许多不同的转发才到达同一个目的地。这种现象称为路由器飘荡。当网上
大量的路由器被哲时破坏或临时不可用时,路由器飘荡就会发生了。如果路由器必须花 费它们所有裔源计算新的路由, 荡可能引起路由器失去作用。当因特网还不成熟的时 候 这是一个主要的问題,但对105分析者来说,现在这样的问題仍然存在。 ,
如果"匚1 4产生了无法承受的大量误报,你可以把它的值调得比默认值8更高-点: 如果你设置到12以上,那么在检测 8 01 类型III逃避: 图方面就变得有些没用广 ,
10.4.4
调整511 311
3 (014是跟用类似的方法闳整的另外一种预处理程 172
、
81 2 4也有类似于调整
2时候的选项? (:叩、1101601 111!11 ― 1|1和1|1 ― 1 1
它们用于控制分配给0!"的内
存量,以及在刷新以前记忆一个包的时间。如果正在丢包,你可能需要使用1 1110313选 4的内存量检杏内存故障的数值,尽可能使它的值保持为0。 项米减少预留给" 如果你遵循了安装指导" 的当前配置可能产生适量的误报。如果 3014没有产 生误报,你就应该保持原有配置,使锊个选项生效。如果你接收到相当数量的误报,而这些误 报来源于重复IX:?序列,你需要在41631114配置行包含 531516 ― 38:00 ! 1 选项。该选项 52000和 迫使&10「【忽略这种类型的通信。当IX:?重复误报时,主要的问题可能出在1111 X?主机。这些操作系统经常在161包后发送状态信息,而这个违反了 下协议推荐的[ : 实现。因为这个原丙,在面向外部网络的传感器上.化化! ― 0 01! 816 5最好排除在 ―
&?
4选项之外.而这样的报瞀更4能是真实的攻击。一个内部传感器可能发现相当数量的
非恶意的 ;!! 到811-631114行中。
2000 丁重写,在这种情况下你应-当把出化 (; ― 6 38)011 ― 3161-13选项添加
另一个能够从 「 014配置行删除用于减少误报的选项是361601
卩! !,。它用 于检测能够逃避5110"攻击检测的各种状态不协调,.不幸的是,有许多特殊的合法丁(:?/!?通 8
―
16
―
他应该是删除的候选对象。 你也可以像使用为& 配置 出和111 1111111选项一样的调整方法来完成对3 6311)4 的调整。为了完成对31 1014做同样类型的压力测试,你可以利用 !!!!! " 工具。它主要 用于压力测试化吐服务器,但是它也能作为-个通常的丁(:?会话压力工具完美地工作。在 信也发出这样的
告,.因为这个,
化
-
―
下面的链接获得[-1
―,
―
101-1163 :
在你已经运行了这个压力测试以后,检査一下看看&巧
4是否有任何内存错误。如果
有内存错误,你应当使用1 1110 选项为增加可获得的内存数量。 除了在3110 ?"中的配置选项.有一个命令行选项也可以用来控制311 31114的通 信工作,为了排除误报和击退攻击,你可以使用7选项.仅 告已经建立了一 完整的三次握 手的' (:!1流:这个选项并不影响其他的11 办议;它们仍然被正常地处理。正常的通信通常 完成三次握手。通过迫使 !0"忽略没有完成握手的通信,你可以排除误报的洪水般的攻击: 该攻击通过仅发送初始5 包,而从来不会完成握手而起作用。设置如下选项来检测仅建立 了 IX:?会话的攻击: "
10.4.5
调整511 31114
1 388 11131)16
是与密切相关的。它没有那么多的选项,配置是相当简单 的。有一点要记住::如果你不希望产牛关于流茧组的报警.你应当打开!!0 01选项而不用从 5 681114
丄011【文件中删除整个5!:1 31714 ―
! 指今。没有; 1*31714 ―
1
* )16,51:1
014可能不
能正确地起作闭: 如果你想限制由
!!!
-
1
!" ;消耗的资源,你应当考虑减少端|:1的数量 从每一个 ,
端门到默认的范围都要考虑。如果这个也证明太大,你可以输人存在潜在漏洞的服务的端口 清单。你也可以设置丄
!
和
选项用来限制重新组装后的通信方向。如果我们 173
关心的大量丁
会话从外部发送到传感器,你可能需要打开吐611 00 选项。相反地,如果
会话是内部发起的,你应谅打开
10.4.6
调整(!帅 3600 ―
巧!
、! '
―
选项。 600(16和1611161
3600(16 ―
和16111 」600 预处理程序都使用类似的方法调整。如果在 组织中,你不再运行 ! ?服务器服务或者丁 服务器,被这些预处理程序捕获的每 个报繁在技术上都认为是一个误报。是否需要接收对不存在你网络中的服务进行攻击的警 告 对不同的105分析者来说是不同的。 如果你感觉一个攻击者正在试图发现存在漏洞的服务和主机是重要的,你应当打开这些 预处理程序。即使你没有安装一些服务,未被承认的工 ! 和81 ?通信会引起报警。一个 攻击者可能打开其中一个服务用来进行攻击,它们可能用于远程控制被破坏的主机或者移动 主机的数据。然而,如果一个8? 911 或丁 服务没有出现在你的网络中,你 能想给 这类报聱陚予低的优先级。 11(1
00
、11
00
一
--
,
,你能指定 能通过― 3600 和! ― 过滤掉特定的攻击类型。依靠!" 用于监控的端口。 11"!)―& 。预处理程序让你挑出和选择打开的只! ?标准的类型。例 ―
如 如果你没运行113 ,
-!!-?服务器,你可以关闭1;;
止 011;00
和化13
选项,使
―
你不必收到特定的115警告。
调整1X 150:1112和0011 61 911011
10.4.7
能通过简单调节用于启动它们的参数,来调整这两个预处理程序。一个50011用户新手 通常犯的错误是误调?0 预处理程序来满足一个或少量定期产生 1" :31!误报的主机。
那样做会给分析员创建了漏报情形。真实的端口扫描攻击几乎总足降低到产生大量误报的机 器的极限之下的。一个更好的选择是用网络设备或&100本身过滤掉这些主机。也可使用 00!"6 10513选项来忽略来源于一段〖I5地址的端口扫描行为。 ",你应当估计误报是由水平扫描产生的 是由垂直扫描产生的。水平 为了调整 ! 扫描査洵不同主机的同一端口,而垂直扫描査询同一主机的许多不同端口。在短时间内访问 多个机器的网络管理设备经常发出一个水平端口扫描误报。在同一个主机上打开大量的服务 : 可能产生一个垂直误报。为了减少水平误报,增加13「861 1;!! 值,直到成功地调整! 停止误报。如果需要减少垂直误报,你应当增加值,直到达到同样的效果。记住, 你应当总是从 ! 预处理程序获得在允许范围内的误报.: 如果! 『 :3112或者会话正在引起3110& 包,或者其他的功能失效,你可以减少用来追踪 会话的I?协议数量。改变这个设置从8 到〗或6或17,来监控使用最多的协议。你也可以 减少1113 0011 61 31;0118和 311116 1113 的值到一个低的量,以减少这些预处理程序能使用 ―
―
的内存数量。
10.5细化规则集 调整和整理 10「【规则集对5 "性能和误报数量有极大的影响。如果你能把你对网络 结构的了解和103策略应用到规则集中,那么你将毫无疑问地有一个高性能的103在手边 ,
174
它能处理儿乎最繁重的任务。为了理解怎样止确地组织和整理规则集,应当对300 「【怎样处 理规则有一个基本的理解。
就像前面第3章指出的那样,500 规则是由
―
,1 -'
1 61
會
阀部分組成:规则头和规则选项,如图10-3所示: 观则头定义了报!?的类型和哪一种协议,屮
3则头 規则头
地址和I?协议端口将会被特征监控。把规则头 理解为元数据,它让311011知道在哪儿应用这个
特征。规则头本质匕是在第一个括号之前来的每
!则选I双
一个事物 规则选项是真实的特征,被分配了攻 ,
的优先权。规则选项也包括了与因特网上外部 卞体 ?源的站坊 0 1
(巾化」 |10
?通了 "!! 01*032 0 01-00 /11111/5!!
"'
油;5 :"滅。'"/
!!
,
'》
当规则集被加载到内存屮时,规则头和规则
选项被映射成内部数据结构。规则头被映射到
"
; 。"的内部数据结构,命名为规则树接点( , ),规则树接点被链接在一起,从而在一个三维链接表上形成第一个维度,每 个协议(! ?、":)?等)有它们自已的链接表,这些链接表由相关的规则树接点组成。第二个 维度是以选项树接点(( ; 丁 166 ,( ! )的形式描述的规则选项映射来的。第三个和最 后-个维度是一组功能指针 它确定了哪个选项应当应用于将被检査的包。1 1 和0~ 丁的 !
'
-
,
链接表,以&功能指针本质.匕是检测引擎使用的数据结构,
当包通过检测引擎时检査它的生存周期将帮助你理解3 11是怎样处理规则的.理解 81101-1怎样处理规则对调整规则集是很重要的。 当检测引擎处理包的时候.它首先检査以便确定这个包使用的是 么协议。&协议 确定以后.包被发迗到相关的链接列表中。包接着被检査并 链接表中的每一个! 丁、对比, 直到发现一个匹配。完成一次匹配以后,包被01 传递。使用布尔或算术操作运算符的
07
在很短的时间内消耗 较小的资源来执行。也就是说,仅由这些测试类型绀成的0丁
花费不高,但执行迅速。I?的保留位规则就是一个例子:
这个规则检査一个包是否有保留位设置,保留位的设置逋常暗示存在着可疑的通信。 0 1【、?!![ "&I和 !!仿笊)相对于不使用这些选项 使用任何内容检査选项的07
的01 来说,计算花费更多,也需要更多的资源。内容选项花费是相当高的,因为它们迫使 &10"使用模式匹配引擎,花费了较多的资源。当一个包 配了 01 时 一个报警将被产生 传送到输出阶段。如果包没有匹配-个0丁X,它就被从内存中冲掉。 这个过程对谰整有某种暗示。如果你想减少过多的&需求.应当严格检査使用I'内 容检査的规则,删除使用了不必要内容检査的规则。不幸的是,7096的&1011规则利用这三个 ,
,
内容选项..
如果500"正在丟包,你应当把规则进行优先排序,对它们进行分类,识别那些对|尔的环 境不是很重要的内容规则。你应当首先删除那些报警但没有恶意行为的规则 如不适宵的因 特网行为。査阅附录 查看更详细的关于各种规则文件的描述。最好通过#字符来注释掉 ,
口5
这些规则而不是通过将它们删除。这使得以后再次打开这些规则的过程变得容易得多。除了 删除掉对组织来说不必要的规则外,你可能还需要检査那些后缀是|?165内容的规则文件,这 些规则昝告你不太严重的行为。你应当只在万不得已的时候才关闭它们(如防止丢包1
10.5.1
一.!
规则
该规则文件包括潜在属于不恰当的因特网行为的规则。检测各种即时通应用程序,如 八01即时通、1 51
103和1?;:的规则在这个文件里可以找到。如果你的1135策略不包含对
这种类型行为的监控,你应当删除这些规则。如果511011正在丢包,这些规则是要删除的候选 对象,因为它们不能检测到完全恶意的未授权行为: 你应.当尽可能地不碰这些11 :、八 !和 1 3 缓冲区溢出规则,因为这些规则检测更为严重的行为。 .
.
10.5.2
3305.111165规则
这一类规则向你报告与01303工其相关的通信。这些规则的一部分也向你报告在0005
代理和服务器之间的通信。其他的则向你报告由这些工具的其中之一发起的真实1X103攻 击。这些规则能够检测到主机中的一个是否被破坏并巳被作为一个01〕0 代理利用,或是你
的网络中是否有人正在使用01〕05服务器来发动攻击。许多这些规则向你报告对你的网络发
动的0008攻击。如果在你的组织里有一个有效的反病毒策略,你可能需要关闭一些检查代 理-服务器之间通信的规则
。
10.5.3
"!).111165細
尽管在这个文件里的大量规则对检测与 相关的攻击是必要的 在它里面的大量内容 规则与不恰当的行为或信息收集行为有关。如果你需要减少在这个文件里的规则 那么 规则和?"] 扫描规则是一个合理的起点。 ,
,
10.5.4
『0.111165规则(!)
在这个文件里的一些内容规则仅向你警告被用于网络中的主机的各种丄具。仔细 注释掉利用内容选项的规则,因为这些规则会潜在地消耗大量资源 。
10.5.5
10111 111 0國111165麵》
考虑整理10 ?? 0规则。当指定的设备巳经发送一个口; 报饕。这可能是一些可疑行为的结果,但并不一定是恶意的 10.5.6
时
,
这些规则就向你发出
,
0.111165麵
这些规则检测潜在的可疑行为,如对打?服务器的一次失畋的登录尝试。这些规则产生
了许多误报,可能消耗了大量的资源。它们是需要清理的另外一种比较好的候选对象。如果 需要的话,你总能重新打开和编辑一个特定的规则来监控特殊的主机
。
10.5.7
111180.111168规则
在这个文件里,你会发现与其他任何文件都不相匹配的混合文件 它们中的一些可能与 匸
176
你的网络不相关。
10.5.8
01111(1111 111 「11165规则
在这里,你发现另外一组 ! 现则,它专门处理可能的不恰当的因特网行为。如果流媒 休在你组织里是允许的话,你可能想关闭这些规则。它们也是为了保存资源要清理内容规则 的一个潜在目标
10.5.9
。
!!! -!
. !
规则
这个文件里的规则瞀告在你的网络中可能存在另外一 1 如果这个103未被授杈. # 就有可能发出报誓。这个-1 形产生的可能非常小;这些规则主要由渗透测试者使用,以发现到
底&什么类型的105被目标网铬使用。如果你不关心组织中的伪装105安装,你可以安全地 关闭这些规则。
10.5.10 [ !). 111168规则 这个文件包括了检测共享程序的 2?文件的规则,如果你的105策略允许这样的行为. 你可以删除掉这些规则。你也可以删除掉与?2?应用程序相关的规则,这些规则不再使用或 不再广泛使用。这些规则的删除能限制资源的消耗。
10.5.11
卯""-「0168规则
与;!1化.? 文件类似,这个文件包括了向你报警与适当的使用策略(八!;巧违背的相关可 疑行为的规则。你应当考虑这样的规则是否需要,它们是否可能产生误报和消耗资源,因为他 们都利用内容选项。
10.5.12 1)0171.11116规则 这是一组探测不恰当的" 吐使用的规则。这些规则探测与色情相关的 \ 」内容。在这 文件中有大量的内容规则,因此你可能需要清理掉一些较少使用的规则。一个频繁访问色
情网站的使用者最终会与该规则中的一条或多条相匹配。这个文件相对处理其他恶意通信的 文件有较小的优先级.可能被完全地删除掉。
10.5.13
8 1100(16 [-111
规则
这个文件里的规则检查3 11 0 的所有通信。如果你在300!"1.001 中打开了这个文件, 那么你会发现有大量的洪水般的误报:这个文件的规则不应当对每个主机开放。你应当确定 你聆望监控的那个主机和服务的 611 6,并且对这些规则做合适的改变,这些规则消耗资 源也多,因此应限制它们的使用,只在你非常需要的地方才使用它们。 你可以考虑打开4 100 规则的主机是面向外部的服务器、保存秘密数据的数据库 服务器或者其他你所在网络中十分重要的服务和主机。你应当避免在邮件服务器打升3 11一 规则,因为二进制的附件可能发送大量的误报。
177
"「!15.111165规则
10.5.14
这1、文 包括被设计用来检测病毒和蠕虫的一组规则。如果在你的网络安全综合报告中 有充分的关于组织反病毒的内容覆盖,你就不需要&1011提供的额外重复内容。在这样的情 形下,你可以关闭全部的病毒规则文件。如果你希望使用? !!来监控病毒和螨虫,你应当密 切注视打开的特征。一些规则检测的是不再迅速蔓延的蠕虫,它们可以被删除掉。
10.6
组织规则
在调整好你的规则集以后,你需要使用合理有效的方式来組织这些规则。织织规则的目 标是让使用内容选项的规则最后执行。你需要3110
检奄包匹配规则,首先是不需要花费太
多资源,希望在到达可计算的昂爽的内容选项之前包将触发-,个0X 1。首先依寧布尔和算术 规则,把所有的规则合并到一个文件屮是-项大的任务,当然,在忒图完成这扦的任务前,你
可能需要等待,崑到几周以后你使这个规则集变得巩固为止。 另一种策略是创建使用基于非内容规则来对协议发出报警的规则 而这些报警规则不应 当出现在你网络中。希望恶意通信首先在其中的一种规则上触发,而不必通过离消耗的内容 检査规则才能运行。为丫使这种策略有效.你需要重组规则集汄而使这些协议检査规则首先 ,
生效。
当3:101 已经被调整到与你的网络相符,而不再丢包的时候,你应当进一步做减少误报的
丁作。你可以通过配置网络变量和预处理程序来减少一些误报:而消除掉误报的一种流行力' 法是创建命名为通行规则的东西。 通行规则是可能存在的规则种类之一,如报瞀和日志。它是报警规则的反而:一个通行规
则告诉&化"忽略掉与通行规则相匹配的仟何包。你能使用一个通行规则来忽略来6特定主 机的特定类型的通信。如果你想忽略 个服务器发送过来的通信,你就可以使用一个通 行规则来完成这项任务, 如果你正在从单机接收到许多误报,你可以编写一个通行规则,来忽略所有的来自该机的 通信:这样做是比较简单的:添加下面的通行规则以便忽略来自192.168.1.1主机的所有 丁 (:卩通信。 口; 1 13 192.168.1 1 311V - 〉 ;111
只要想要,你就能得到更小的粒度。如果你想忽略来自同一主机上的去往01 的的通信,可按如下去做: 10 192.168-1 1 ―乂 - 〉 3
服务器
23;
你也可 把内容选项添加到通行规则中。&[!果通信跟规则头和内容选项相匹配,那么它 将被忽略:如果同一主机一直发出跟未授权1 x1登录尝试相关的误报,玎添加这个内容 规则:
178
注意这个规则是为在! 1 服务器发出的发送到主机的通信服务的。我们想忽略这个 方向的通信,因为发出可疑行为报聱的内容是从服务器发送到主机的。1100356选项使得内容 串大小写不敏感,而00?选项使得通行规则只对创建的从服务器到主机的通信有效5 通行规则可以应用在许多不同的情形中,以消除重复的误报,如果决定使用通行规则,你 需要改变5 11处理规则的顺序。默认的情况下,&化口首先处理报黉规则,接着是通行规则, 最后是0志规则。如果你创建了一个匹配报警规则的通行规则,匹配报警和通行规则的包将 仍然作为一个报警记录到你已经选择的输出插件中。这个处理顺序是合理的,能够避免误报, 可阻止你意外地创建一个很差的通行规则,它无意地导致500!"1忽略了它不应该忽略的通信。 在第一个通行规则例子中,如果你忘记指定你想忽略的主机工地址,你就意外地忽略了所有 冗?通信。该规则的确切执行如下: 1 335啤3,1 乂 01巧'-〉311 311 ;
必须一直要对通行规则异常得小心,应当持续地对它们进行测试,从而保证你没有意外地 引入误报。
在你有了一些按实际书写的通行规则以后,应当改变5!101 处理报鱉的顺序。你可以改 变报警顺序,使之首先处理通行规则,以便报鱉顺序变为通行,报謇和日志。你可以使用 命 !于选项运行 !。"来实现这-点。
10.7设计目标规则集 可能会面临这种情况:你想开发一个目标规则集,它仅仅警告确实存在的服务和主机。目
标规则集让规则仅仅为网络中存在的服务打幵,如果一个规则不匹配存在一个主机上的服 务 它就会被关闭。这1、行为能 著地整理规则集的大小。依靠一个5标规则集,你很少能发 现试探的攻击。黑客将不得不尝试攻击被&00关注的合法主机的合法服务。 有许多目标规则集适合的不同环境。如果你把一个传感器放在防火墙的内部,你可能需 .
要开发一个目标规则集来 控没有被防 墙堵塞的通信。花费所有的必要资源来检査从来不
被触发的规则的每一个包 有什么意义/考虑钊性能问题,在传感器上不能获得足够的资源 去检测每一个规则。只选择那些与现有的服务和主机相匹配的规则,它将向你警告存&的最 严重攻击。也就是说,你被謇告的是那些潜在破坏一台主机的攻击 而不是其他的什么。 ,
目标规则集在减少误报方面也是有用的。如果你正在监控一个存在大量误报的网络,目 标规则集将很大程度上减少你收到误报的数量。最后,一些105分析者认为试探性的攻击不 重要,因为某个原因或其他原因这种攻击不需要通报它们。一些人确信他们的网络是足够安 全的,可以经受住由不足够熟练的黑客发起的査找-个合法目标的攻击。分析者可能只关心 技能髙超的黑客,因为他们能够发现存在漏洞的服务:.目标规则集将保证你不会受到那些对 不存在的目标进行试探性攻击的替告。
如果你正在保护一个小的网络,你可能需要手工创建目标规则集。如果你的主机数廬有 创建规则集不应当花儿个小时以上的时间来实现和测试。确定在不同的主机上哪个端口 是打扦的最好的方法是使用一个端口扫描工具来发现它们。最流行的端口扫描工 是 限
,
1
:可在下面的链接上得到
I八?: 179
可以下载尺包或者从源码安装它。、 八?开始于一个图形界面前端,但是命令行模 式相对容易使用。它也有一些用于试图逃避11 的特征。这些特征超出了本书的范围,但是 是很值得研究的,因为在你的人侵检测工作中,在一些情况下肯定能看到它们。发送这个命令 来扫描一组(:类主机: III";\|3 ~57 -511 0 -「 I 65530 -、
112.168.1.1/24 -0、 ( ?11化"化口
这个 ! 化命令1吏用 丁和51;两个选项来分别扫描丁(:'?和1 1?端口:它扫描IX'?和 1;0?的每一个端口 ,从I到65530。命令采用详细模式-V 它将滚动显示扫描的结果送到标 准输出上。它?」描从192.168.1.1到192.168.1.255范围的I?地址,把结果记录到命名为
1.81.1 的文件里。你能够利用这个扫描的结果来建立你的目标规则集。 如果你有一个大得多的网络,想建立一个目标规则集,可利用一个叫?。 ! &的工4,它 是由八00权威人士 80?311 08.1X1 编写的。 10!"1「0165从? ?扫描那黾获取输出来编辑 现则文件。它对不匹配一 特定服务的规则进行修改。: 0「1!"11165可能删除规则,或者
13
6!
―
标记它们为不可用的。如果你选抒了不可用的选项后,这个规则将仍然会被触发,但是这个描 述将被改为不可应用于 前网络。 8:10111-0165有一个小的选项清单: 选项让5! !"111
3知道你想如何处理与现有服务不相匹配的规则 你要么删除这个 。
规则,要么保持这个规则并改变报警消息。这个-3选项能被设置成"X"或者"广,赋值为
选项删除规则,而选项保持规则,但标记报警信息。 选项是代表内部网络的变量的名称。如果你在 01 .00"中没有指定其他的东西.
或13〖 '
。
! 那么就应当设置为40 -
一~1 丁。该选项对大小写敏感,因此要注意变量名称的大小
写
,
鲁
-&选项是用于输人的的名称。将遵照该文件中的规则运行。 0111选项设置为输出文件 它包含新的目标规则集。 ,
需要安装~1
,这样才能运行300( (
编译源码以后,准备运行、1 1
3。从下面的链接下载3001!?163:
。从―01 11168所处的61录发出下面的命令:
訓叩,3丁 一1110-[! 1-65530 1 2.168.1.1/24 | 5。0!1 1 -
1。 90 12
'
―
[
丁 111
[ !!
-0111 6X 1011:
―
-
一
【6(1 ,
131
这个命令像先前描述的那样运行" 八?,把输出输送给 「
。它检査
1&.?1
文件,使用选项删除任何不可用的规则。它设置内部网络地址范围到!!。 ! ',在 0 1 ( . 1-0105中保存结果。如果想合并所有的规则文件 ?冲! ; 那么接着再次运行 511 11 5,你可以连接这些文件到一个大的文件中,然后运行 加"? -
,
1
180
-37
~0
1-655 10 1 2,168.1.1/24 | 5 ,
-1
14标规则集的约束 0标规则集的实施存在-些限制,这里值得一提。网络配置很少长期性的稳定。如果你 在某一大编辑了可获取服务的列表,网络接下来可能就会改变,这样你的目标列表就过时了。 如果你决定为你的传感器使用目标规则集方法,你应当采用一个定期的方案来更新这个列表, 使它更加合适。你可以通过一个守护进程来自动完成该工作,该进程自动地重新扫描这个网 络并创建新的规则文件。
其他的更危险的可能性是攻击者成功地在一次攻击的某个阶段使用你没有监控的端口或主 机 如果端口在扫描的过程中不是打开的但在后来被攻击者打开,这是可能的。如果攻击者能 够通过诱导一个毫无顾虑的人打开电子邮件附件或者通过潜入到控制台来安装特洛伊木马,你 就不可能检测到入侵。攻击者可能在被破坏的主机卜.在没有你授权信息的情况下执行任何类型 。
的远程控制任务。因此,你可能需要在 011 6已经完成解析规则文件后,再次打开所有的特洛 伊木马通信规则,这仍然不会找到使用了如丁或者11 合法服务来配合攻击的攻击者。 定期地重新扫描网络是改变这样一种不稳定的情形的惟一途径,
10.8调整!\ 501 是用于保存&!01 入侵数据库的最常用的数据库平台。尽管准确的调整命令对
不同的数据库可能不同,但是性能调整概念对大多数数据库是类似的。 501的默认安装 和配置并不是最有效的。有一些影响 501行为的途径 如果15301 没有被使用,它们可 ,
以导致实质的性能改变。
01 提髙性能的一个方法是添加索引到8 打使用的一些表中。索引常被用来提高 501 返回数据的速度。当索引被创建时, 能够跳过 多数据而准确地找到需要的数据
。
没有索引,必须査找所有的数据集来找到正确的数据块。 你应当创建二个索引来提高性能。它们是: !!
冲
!
,
!!!
.!
、
6 )0
为了创建这些索引,进人到 1x50「命令提示符下。在这个提示符下 使用下而的命令来 0「1:索弓| : 创建1"- 10 ,
―
〉
" !。
1 316
―
用这个命令创建?卬 匚I卬 !!!-〉 0 631 "乂"
(
["! 011 ( ""杧口
叫
―
―
鄉
..
―
)");
索引: (叫 如")
6 11 011
一
最后的索引是一个复合索引,可以用这个命令来创建: 1113
1〉
1!1
;! !
(:
」」 ―
―
0
011 3( (1
现在能校验索引是否被创建。使用 0?;0
―
! ?! !
―
!;;山;1
(:";;
―
命令来査看索引: 181
。1)
1〉
!。" !:)
创建索引以后.明智的做法是改变"
处理内存的方法:.可通过从命令提示符输人
这亡命令来检查是怎样根据内存管I?来执行的:
注意
为了这个命令的执行,需要! 应当知道的两个变量是!
-
8041守护进程一直运行。 和
1
(
! ,需要增加它们的值以便为适应
101"【环境而调整! 50 因为在311011的安装中,[使用一个相对比较少数1:的连 接 而这些连接主要(吏用1X31 1语句,你应当为这两个变量直接增加内存的数量,也可以通 过添加新值到 !! 巧"启动命令中为这两1、和其他的变量增加内存的数暈 如果你有一 个至少256 1内存的系统,可以使用下面的命令启动 1x5(3 ,
:
―
((?
1(5 0
1)1: 961 1 -01,11)1!"
1
1 1-6031(1
1)110&1 二 21 1 「6001X1
171」 [ ―
如果有更大的1
! !
64 ~0 5011 ―
((
二 81
―
0 \ 153(1 ―
『( "― ?尸
: 21 1 &
―
1,如果称没有获得期望的性能提升,你可以增加这些变量的值。
调整 501服务器的另一个方法仅适用于混含服务器7传感器安装。如果你正在运用 5.10 的同一台机器匕运行、 5(3 当连接 !:/ 时.利用3* 1而不是化下/!!1来连接。 .?"或!) !!! . "中指定1 3+051作为要登录的主机,而不是用指定】1, 可以通过在 地址来达到这样的3的。这将自动地通过?! 1代替1(7/1?来登录。 随着时间推移,人浸数据库的经常使用将会引起它性能退化。这同硬盘不断地产生碎片 一样 一段时间以后 包括长变量行的表积聚了大量未被使用 问。你可以利用0 11 126: 命令压缩数据库和删除未被使用的空间。 当一个表被优化时 它将被锁住,不能被访问。数据可能永远丢失」只要你了解这种情 。
,
,
你可以采取歩驟来转移瞬时的损耗.你可以暂吋地登录到存 数据库或者力过渡建;一 个新的数据库。你可以写一个简单的4』脚本,货穿所有的丧,忧化它II丄下面的脚本优化 命名为 0化化数据库中所有的表。 况
,
《。「 131
111 '&: '
)" 13111 1 1
1 !
」""," !'
0
0 0111111112
10.9
、
113
1 51'。!
调整八010
工作负荷很人的情况下, (:】!)使用瞬时的力式加载页的能力01能恶化。当人侵数据库
变得相当大的时候,八00不得不使用相关的复合查询方式来查询大量数据。可使用阀个策 略来减少处理八010的数量,进而减少页面加载时间。最基本的方法是减少八(、口不得不奄 询的数据数量。你4以把人侵数据存人存档数据库或一起删除它们 另一个可能性是减少待 。
182
定类型数据的缓存,这样就减少了每一页用来加载所消耗的数量。 10.9.1报警的存档 理想情况下,你需要首先存档报警,然后删除档案文件中不需要的报警。预料将来需要什 么样的关键证据是很困难的。狡昨的黑客有时会进行侦察攻击,然后等一天或者一周再执行 真正的攻击。你应当试着在删赊人侵数据前至少保存它们一个月时间。 存储实践的例外情况是误报。存储误报是没有什么太大理由的。一旦误报被发现就删除 它们,对于保持入侵数据库的功能大有帮助。
你应当在1 801中创建存档数据库,准备下---歩工作。如果你还没创建这个存档数据 库 回去参考前16[的第6章。存档足一项相当简单的工作。你首先需要创建与你需要存档 ,
的曰期相匹配的一个査询。在这个査询执行以后,你必须在" 择 八 111?(存档)"这一项。
1;
(操作)"下拉组合框中选
"
有丫复制人侵数据到存档数据库的选项.把它完整地留在主要的报警数据库中。也能把 选择的数据库移到存档数据库中,从而有效地从报警数据库中清理掉数据。为了提高汽 化 的性能,你应当选择"移动)"选项。 接下来需要在査询屮指定哪些报警将被存档。可通过左边的复选框来选择个别的报詧, 也可以把屏幕上出现的所有报警存档,或者存档所有的查询。
10.9.2报警的删除 报警的删除同报警的存档在大多数的情况下是一样的。你只需要创建与你想删除的日期 "删 相 配的査询。在你执行査询以后,你需要设置" 。! 操作)"下拉组合框为"! 除)"。接下来需要在査询中指定哪些报警将被删除。同样存在着三个选项:町通过在左边的 复选框选择个别的报警,存档屏幕上出现的所有报赘,或者全部的查询。
10.9.3缓存属性的阀螯 除了入侵数据库的大小,八0。的缓存属性是最可能导致页面加载速度变慢的原因。例 八010缓存先前访问过 面,允许在浏览器上的"返回"按钮的使用。没有先前页面的缓 存 返回"按钮将回到已经过期的页面,没有任何数据。缓存历史的页面会使由八00使用的 如
,
"
,
1 1?会话为每一个加载的页面保留181 6空间。当每次加载一个页面时 所有的信息都必须 ,
被存储和检索这就可能明显地减慢了页面加载的速度。可以通过编辑 ;
―
3
1113111
",设置
11151017变量值为0来关闭页面历史缓存属性。
另一个显著地缩短页面加载时间的缓存属性是事件缓存自动更新属性。每一次页面加载
的时候,事件缓存都会检查新的报警。当八(: 使用时,这提供了接近实时的事件报警。在每 一次页面加载时搜索数据库查询新的报警可能对页面加载速度有影响 你可以使用化 。
-
丄油口文件中的3 601 !:犯
111X13&变量关闭''事件缓存"项。记住,如果你关闭 自动更新"属性,八 10就失去了一些实时报警属性: 你能通过在一个浏览器中浏览下面的1;! 来手工更新缓存:
""
如10
.
-
"
183
你也能使用命令行恥&浏览器来加载这个 面: :卜'
1?『、
??142一 1化.I ~ 1
01
―
:!"'【化擊"'―?
如果愿意,你可以通过一个守护程序自动加载这个页面。八(:们执行的另外一项缩短页 3缓存。每-次一个新的没有被映射到! 15的【?地 面加载时间的缓存功能是0X3和 址被加载时,八00必须査找合适的条目,如果0 5服务器不在线,不可到达或者变慢 了 解析大量的I?地址的时间可能过! :, 缓存通常要花费比较大的解析时间,这也可 能影响性能。通过设置3 1-6301 6 1?变量为0可以关闭1X5和缓存。浏览下面两个 ,
―
可以手工加载1 33和
1;!
卜";)://! 二,
1 1/31:1(1/9
卜:(;):1(18 1 !/ !
15缓存: ―
151(11111611311
口! ? 811 !1111
015(1.-11
]:! 11131111:61131106:!"~ 1
1 !"1 "!
31& + 1!
―
6 6 -'" 03 116
如果愿意,你能够使用把这些添加到间一个事件缓存守护程序工作中。 4010许多其他的属性能够被关闭掉以提高性能。如果需要更快的页面加载,参考第6
章中的化3 ―
.?!
文档,关闭你不需要的属性。
10.10小结 本章是对调整和调整影响300!"I行为组件的一个指导。有两个调整过程的目标。 第一个是减少丢包的数量以达到可忽略的结果或者到0 第二个是减少误报直到你能管理的 。
数量,不要破坏检测恶意通信的能力。
通过发出迫使&1( 1输出它内部状态统计(!〖息的命令,你能检査&1 1是否正在丢包。利 用这个倩息,来调整和追踪在50011调整过程中的进展。为了提髙 !! !!的性能和减少包丢 失 你能做的最基本的改变是利用 「:!-"来处理报警。另一个简单调整 100的方法是改 ,
变发送到3 !"I传感器的数据数量和类型:特定类型的通信是资源密集型的,不大可能产生 -个真正的攻击 通过调整出不 要的数据,就能提髙500 的性能,减少包丢失的数量。 。
如果不能使用网络设备过滤掉通信,你可以通过改变50011网络变量得到同样的效果。 调整和整理510"规则集对 ! 的性能和误报的数量有最大的影响。如果你能把你的网络 架构和105策略的知识应用于规则集中,你将无疑地有-个高性能11》,能处理;1乎听有的负 荷。如果你需要减少&10!!所需的过多消耗,应当严格地检 使用内容核査的规则,删除那些 不需要的规则。许多在本章中确定的规则指出了你能删除内容规则的区域。 1为你的网络正确地阀整,不再丢包的时候,你应当把注意力转移到减少误报上 当 来 可通过配置网络变量和预处理程序来减少一些误报。删除误报的流行方法是创建通行规 -
。
则。作为报警规则的反,,通行规则告诉3110「1忽略掉任何匹配通行规则的包。
接着,你就需要仅仅为一个确实存在的服务和主机I:发牛 的报警开发一个目标规则集。 目标规则集仅仅为你的网络上当前存在的服务打开规则。你能手工编辑规则文件或者利用一 个自动工具,如500!!!"它从?财"'扫描获取输出来编辑1 「1116文件)来开发目标规 -
则集。
这时如果30011仍然丢包,你将不得不对预处理程序做一些配置改变。当调整预处理程 184
序时,首先和最重要的任务是确信你有足够的内存分配给预处理程序。通过使用类似发现丢 包的方 ,得到一些关于预处理程序的统【I信息。 (
的默认安装和配置可能不是最有效的。影响
801行为的一些方法能导致实
际性能的获 。增加性能的一个方法是添加索引到&!011使用的表中。另一个方法是改变 1x30 管理内存的方法,,两卜主题都在本章屮提到厂,, 在大的工作负荷下,八00使用瞬时方式加载页面的能力可能恶化。当人侵数据库变得 很大的时候,不得不通过使用相关复合査闳来查找大量的数据。你可以在两个策略之
间进行选择,以减少 」。不得不处理的数量.这也会减少加载时间。减少八00不得不搜索 的数据数量是最基本方法,你可以把人侵数据移到存档数据库中,或者一起删除它们。减少特 定类型数据缓存是另外的可能选择,它减少了每一页加载时过多的消耗。
185
第11章实时报 &是进行人侵检测的一个非常优秀的工具。人侵检测之后剩下的事情留给105分析 员处理。我们所期待的是不断地完善它,使其成为一个真正有效的应用工具。为此,你应该继 续沿着现有的方法进行探索,把报警信息存人人侵数据库,并通过安装八00来管理这些收集 到的数据。除此之外,我们也应当为3)1011增加另一个强大的功能,那就是实时报餐。
实时报聱是105或者任何其他能够在设定的时间片内向管理员报告事件的监控程序的 共同特征。吋间片的大小由管理员设定。从监控系统的重要程度到工作人员的责任心等许多 因素都影响着监控系统的"实时"性。对于某些105分析员来说,可能每天只分析几次八〔:10 就足够/,但对另一 103分析员,可能需要实时报告,需要在重大的安全事件发生后几秒钟 内得到通知。本章将具体介绍这种类型的实时报警。
即使你并不计划使用实时报警,可能也希望具有实时报警的功能。如琅当前是一个危急 的情况,那么把这一情况及吋地报告给合适的工作人员将会有很大的好处」你可能并不想使 毎个被确定的警报都报告给你,为此,你可以设定某些必要的事件向你汇报。当一个漏洞被公 布并且被疯狂地利用,而发行商尚未发布关于该漏洞的补丁时,你可能希望在巳感染的主机上 发生可疑行为时得到通知,这时,实时报警在该事件响应中将发挥作用 因为你可能希望在一 个事件的过程中得到关于新的可疑的安全漏洞的通知。安装实时报警功能,能够确保你在紧 ,
急事件发生时迅速地得到实时报警。
11.1
知
概述
用311011进行实时报警可以高度灵活地进行定制。你能够挑选哪些规则需要进行实时通 为此,你可以给每个规则或每类规则分配优先级。每个规则可以有其自己的优先级 同时
,
,
规则也可以根据优先级进行分类。 因为规则可以划分优先级,所以某种优先级的规则可以指定给一个人 而其他优先级的规 则可以指定给另一个人。用户可以建立独立的应用程序 利用该程序可以向些人报 ,
,
告恶意的远程缓存区溢出行为,而向其他人报告不恰当的1 6!! 行为:由于可以定制警报 优先级,所以能够以不同的方式向用户报告不同规则所触发的报警。一些优先级规则所触发 的警报能够被发到一个可以通过传呼机向用户汇报的电子信箱里,而另一些优先级规则所触 发的警报则能够简单地向用户发送一封电子邮件。
& 在108上配置实时报警最流行的方法是使用 108-118( 5108-116X1 8 61:;11;011逐行分析系统口志 5 3(011和
垚讽祉! 简,岗哨〉或 08-08用预定义的字符串
监控5110"系统日忐输出。当它们发现有预定义的那个字符串时 就会执行一个命令,这个命 ,
令可以是系统中可用的任何命令「特别地,比如町以执行一个发送电子邮件的命令。其他常 用的方法包括运用传呼机和音频发出报警。对于以服务器7传感器混合方式安装的 0「【来 说 使用和 -! 进行实时报警是一种理想的解决方法,,在这种混合型安装屮 发 ,
,
186
送系统8志的邮件后台程序可以被默认安装.你仅仅需要建立 的9志配置为系统3志( !化)以及安装邮件报警程序。
化!!,并将31101~1或1531*11X31
对于分布式三层结构安装的0"来说5&1 -116是史好的选择。如果你是以分布式三 层结构安装的&100,你将希望在重要的位置收集系统日志( ! )报警。理论上,511011服务 器是收集传感器报警的理想位置,服务器监控危险的报警并将它们用电子邮件发送给合适的 & )会带来许多不必要的工 人 安装一个邮件服务程序并&每个传感器上设一个岗哨 - 来收集报警是个很好的选择。3&!消-化客户端接收来自&011的报警数 作 因此用 -化日志服务器。5化0061被用于加密客户端和服务器端 据 并将它传递给一个集中的 的巧. 08-08会话。 10 ?可以通过日志眼务器来调闬一个简单的脚本程序向邮件服务程 序传递报蓄信息。 。
,
,
11.2警报的分级 在获取配置 1 1实时报警功能的详细信息之前,你必须决定哪些报警是你最关心的, 在警报的分级中,5 提供了多种方式,你可以根据希望在报警时得到的通知选择自己的规 则类;也可以选择单个规则。如果在单独的规则中特别指定了优先级.那么读优宄级将替代在 它所属的规则类中为它指定的优先级。 8 10 或3 等报警程序对口志中的特殊字符串进行监控。当发现该字符串时 报 ,
警程序将执行邮件应用程序,将目前的报警牧据作为电子邮件发送:你应该为程序所监控的 字符串设置报聱优先级:并且可以在报警优先级的基础上配置相应的动作。比如,对于优先 级为1的报警,程序可以执行一个呼叫程序,对于优先级为1的报警,程序可以将报警发送到 被常常选中的 !』账户中,剩下【1先级为3的 以被发送到网络管理员那里。
对应&01不同的安装方式.力实时报饕所设置的具体的规则和规则类是不同的。作为 11 3分析员,你应诙决定实时报蹵中什么最重要。也就是说,有一些普遍的指导方针 你可以 使用这些方针来决定什么样的报箐应该被实时地报告。 ,
11.2.1事件 拥有高优先级并需要实时报膂的警报,通常是那些可能表明发生了一个安全事件的警报。 如果远程控制特洛伊木马流量的规则被触发,则说明有一台主机可能已经受到威胁 必须立即 引起重裸,,当黑客成功地测试到某个漏洞时.攻击响应流量,常常调用呼叫程序或执行命令. 这对于实时报警来说是首要的候选对象。可能导致主机受害的任何类塑的规则都应该立即进 ,
行通知,比如对已知的未打补丁的主机进行的攻击。
11.2.2有目
的攻击
其他被实时通知报警的种类,可能表明一个对主机损害的攻击正在进行。如果黑客对位 于你们组织中的主机 某个版本的软件进行尝试攻击,你可能想在实时报警机制中包含这些
规则。进行这 攻击的黑客可能对你的网络预先有所了解,以确定合适的主机进行攻击 虽 然黑客可能只:!!简单地进行猜测,但黑客更可能的是有3的地潜人网络并进行有价值的活动 。
;;
这些攻击的成功机会较大。在这种情况下,你1々:该为规则标识匹配已有的主机 服务器,和软 、
187
件版本等信息的特征,并给这些规则分配较高的优先级。
11.2.3自定义规则 你应该为你的本地环境建立自定义规则,比如与外部主机的可疑丁 会话,这些规则 应该配置成实时报鼕。自定义规则常常被创建用来更好地监控特定的主机,这意味着产生的 繁报有高的优先级。理想情况下,为这种特定环境建立的自定义规则应该设置为实吋报警,. 在你决定了报饕类型后,你需要决定是谁发出的报 、什么人 该收到什么类型的报警: 如果向一个人或一组人通告安全事件,对相应的人或组设定所有需要按同样的优先级实时报 饕的规则或规则类。如果你要通知多个组或人,你应该为每个组或每个人指定优先级。 报警组
当51101 1向一组人报警时,你必须提前仔细地说明职责。当向一组人提出报警时,一
个清楚的报警策略可以避免很多问题。一组人收到的报警大频繁了 ,某个人可能会不通 知其他人就采取行动。第一个处理警报的分析员进行了修改,常常会搞乱或阻挠其他分 析员。我曾经目睹了 一个分析资在其他人分析之前删除了报警信息,整个搞乱了邪个 105组的其池成员,以至使那个【03组认为81101-1
务器受到了攻击。
另外,更糟糕的是,收到实时警报的成员以为其他成员已经处理过读警报而忽略了重
要的警报。因此,事先建立工作责任制避免此类混乱是非常重要的。 如果你计划安装多个实时报警的方法,比如通过 1 1和传呼机,那么需要深人地在 同 的报鼕方法之间分配规则。在你把一切完成之后,才能在5110「【中开始执行你的报鼕策略。
用3888形( "( ,( !
11.2.4
定义优先级
可以在& ( 山!!. 文件中编辑规则类的优先级。该文件位于/( / 。"々「 「'目 录中.打开 文件,检査不同类型的规则。在下面的事例中.将优先级为1的所有规则设置为
实时报告,.在这个文件中改变任何你希望得到通知的规则类的优先级为1。例如.如果你想 对所有成功的003攻击报警,则将下列行:
改为: 0311
13551
11011 :
!-
, 0611131 0 8
,1
如果类别划分的不够细,那么可以创建你自己的规则类。可以在
(: -. 00;!&中
单地创建类别,并类似地分配优先级:
注意
在(
(
(;加关键字中没有空格,逗号之间也没有空格:
接下来,你需要在符合新类型的规则中插人新的&55 改下列两条规则中的1:13化& 选项: 188
关键字 在这个例子中.修 ,
六XX八匚 !
:
3 1-11
1:511|1 ; 00)1
! ]
"
(!!!
1':
5
5 ?
'!
:/
'
?
~
&1 1 、" 1 「;
!
;
-
:八厂I 八(:汊
3「《0,1
,
现在,就可以实时地收到针对这类成功攻击响应的报警了。
11.2.5优先级(扣―》选项 你也能够为单个的规则改变分类。为规则指定优先级选项将改变特定规则的优先级。如
果你指定给规则一个优先级,而该规则所属的类选项具有不同的优先级,那么以规则的优先级 为准。如果想要为前面的 IX?目录列规则分配不同的优先级,需要作如下改动: 如'卬8 9X1
:"八"!"!"八0 ! ! ? )
(!!!
11003300* :1 0111
5
-
.
化乂"!
0 73
?辦
"
-
!!!!! !! 0011!]]1 1 "; 001116111 : "(?0111111311(1 03111131&16(1"; - 1:31)11511 (1;
!. !
: 31
1136 ; 1)110111 :
这将设置优先级为2。在对系统至关重要的规则中,优先级选项是非常有用的。
11.3混合型报警 用混合服务器7传感器配置实时报警相对容易,只需要安装一个邮件应用程序来通过6013)1使用实时报警,比如5 3;1。如果想安装其他程序,比如?;1 「或5 15网关 也应该这 样做。有许多关于安装配置560(10 1的在线资源和出版物。这些资源中包括的文档相当详 尽 应该能够满足你的需要。你可以在;! ):// . 01 1.01 获得 !!&:!安装程序和 ,
,
相关文档。
配置好5603171311之后,弥应读注意它的安全性。8 1 7113;!的安全性相对比较脆弱,应谅适 当地加固。
)发送警报。向系统日志 在确定化! ? 安全之后,你需要配置 0!"I向系统日志( (外810 发送报警信息将通过输出插件316!"I 外" 来完成。打开511011.001 或 !"!! "丄。1 文件,通过取消对应配置行的注释符来启用3101 3 108输出插件。如果安装了! !!! 你 应该修改&1-731 而不是51101 配置行应该如下所示: ―
,
.-
011:131!1 8191
―
!
: 1-00 ―厶II丁4
――化0?丁
现在你应该手动或者使用! '产生一些可疑的流量,然后,通过打开下列文件来检查 看500 是否能够记录系统日志(野 ):
你应该看到按指定的优先级排列的警报列表,看到与下面相似的报警信息: \
# 1 [! : 1704: 1〕
[厂13
1 1:
3-07x1
1
―
八口口1 160。八【!;
! ,口11 1 0,017 !!
! 3116!11 1
# -]
] [! 。「―: 1〕
09/16-10:04:15.816116 192,168.1.1:3140
192 168.1.2=80 .
189
1
~
1 :128 703:0x0 10:12817 1 1 0:20【
八?"―, 8
:1 81!:60
11: 0x1
'
?! I〕!"
191-30
! !!: 20
0x44711
11 : / /陶― 1 11 111 1 1 111(01111311011 1 1!] [?11001 : !]
1【1:1122:2】
【
01 1
: 0
!
'!0111011:
/16-11
04: 15.826116
168.1.1 3143
1 !'!' !"?!,; 128 70?:0x0 10:121 32
―…5 1*0
: 0
[! : 1730: !]
0358111031:1011:
&!)
192.168.1.2:80
1:20 1
1-
5454
-
;! 一 !6 )0!"
1;: 0x1
1:149 !)?
)11
1
!,.: 0x4470
4
1
1: 20
!
: 20
1)1: 0x4470 ! !
: 20
出! :卿1,1 1 113 1 [?0001 ; 1 1
)!)] 10311011
.
1
09/16-10:04:15.836116 192.168.1.1:3144 -〉 192.168.1.2:80
7 ?71
: 128X0510x0 !!): 12837 1
… !
: 0x01:? 1
" 8
"
030
I;"] [!: 1721 : 11 \ ?;8-001 09/16-10:04: 15-34611(1
! !5
!,: 123 70
―…5
,
安装
11.3.1
:20 00111
!;
」跳1
1:141 1〕?
0x1舰13107 "
!I: 0x4470 '!
3 63?[叫 1 :3148々192.168.1.2:80
0x0 10:12857 1?1
:20 !)
!! !:;?),
: 0x1)1 35110滅:0x1八9八! 八"1
她
既然已经安装了报警日志,你就需要安装来监视系统日志(
)。
14需要
四个!1"模块,它们是: 肇0316: :&110 鲁03[亡:;?31-5 鲁?11 ; : 1 311
參丁 [!!
::
绝大多数"!! 发行版本都包括这些模块,如果你的系统不完整,可以从 !,03处获得这些模块,, 依次执行下列命令编译和安装它们: 「1匸
『113
11151311
安装好这些模块之后.你就能下载 抓!! 了,它的下载地址是11即:〃?前 "讪 "" .
可以通过使用安装?打1模块时相同的命令安装 ?!
!!.
11.3.2配置8她II ; 190
吐使用命令行参数和配置文件进行控制 很像500 和0 1173出。 ,
!!的配置文
件被命名为-
(;!! ,在
!!! 文件中,应为3 !【&定义字符串来监视日志和活动。
在违立实时报肇时用到的一些命今如下: # 1 01这是必需的命令,它告诉在口忐屮监控什么字符串。你能够定义任意 字符串。这里.将仅仅查找和匹配特定优先级的字符串。下面是监控优先级为1的警 报的5 11 命令:|
能够在网址11冲:/?1止「 !!!
丄巧/
/找到建立模式匹配时所用的规范的表达式
的教程。 0谇命令返回匹配行 这能够被用来在电子邮件内容中或者传呼机文本域中添加信
,6
,
息
,
&X&该命令用来执行一个外部程(? 如果你有一个传呼程序或任何其他想要执行的脚 ―
本 都可以使用 命令,并且在其后加上可执行程序的完整路径。你可以扛 令后加上3 1 或8 0,表示为巳执行完的命令追加 行或全部报警。
(:命
,
11该选项指定发送邮件到本地系统或指定的 1311地址。可以在々化/』 "
: 中取一
1地址。 个 名来存储一组0 13.1地址,通过使用这个別名表示那组 止?" 该命令用来限制报警数量。当出! 山被设置时,在特定的情况下将不对匹配 字符串的报警做出反应。这样可以避免给邮件服务器造成压力.避免过载。
此外,你还可以使用#他命令配置更多高级的
特征,但是它们的共同前提是都需
要通过或发送警报。
能用这些命令安装不同方式的实时报警功能。打开&!"(:文件,编辑并加人以下 命令: 1 :!
01
\ : 1/
/
110111131
。1?"I : 115 1 \ (
"川". 0111, 1卜」 0【~ 11011: 8?":""'乂 !?" !
注意 你必须使用反斜杠"\ "隐蔽
符号。
这个配置监控所有优先级为1的謇报,并将警报以电子邮件方式发给11861~@&, 化. ! 如果想调用传呼程序,那么你需要用3&命令代替111311命令。131 1 3 是传呼的网关,它被
01 网站得到( 」!:! 集成在3611(1111 中,可在 卬:// ― (( 程序。 为了通过 ! 1 386向文本传呼机发送需要加入这些命令: 则11:"?
? 10711 \ : 1/
細1【16 00:00:10
该命令调用00;1;11?386程序,从61) 1地址
' ! !!!.
它用30向砂3辟命令发送完整的报警信息。使用化?" 命令,5
向11)8 3 101111发;1:传呼, -
在一个传呼刚刚被发
出的10秒内忽略优先级为1的任何报警,你可以利用通过如下命令使本地「1:机鸣 191
响警铃: ?【(
。,
!]! \ : 27
/!-
这个命令对毎个优先级为2的报警鸣响?0机耆铃5次。 注窻
这将破坏你们同事之间的和谫。
你并不是只能使用一个命令集.如果需要,你可以执行所有的3个命令。 ".文件配置好之后,你就能够运行 了。 5 314有一些命今行选项,你 将 一
应该予以注意,
9 ~0参数 该参数指定,
出
文件的位置。 -56口31 3101:参数
… "(-:&:! 使用该命令行选项,能够为每个饕报指定结束标志。默认值为一个换行符,\0。
鲁
-
参 参数 参数卞被用于直接从一个命令屮读取输出信息。你能够使用它来监控指定事件的命 输出情况。 鲁-1参数 该参数用来指定需要进行安全事件监控的文件。 攀― 171011参数 该参数以守护进程模式启用5 11&。启动一个5?&&实例的命令如下:
这个命令使用/""/!
八
3"如X:配置文件以守护进程模式运行
的系统日志文件。如果运行该命令,你会发现
\
[吐,它将监视八
'
仅仅发送警报的第一行.如下
;
所示: 【,# 〕 11 : 1704:】〕 !
0 1 1 1
!!
一
. !
! : !-
311 111
【
I
这是因为使用了默认的输人记录分隔符\11。如果你想查看更多的信息,比如I?地址,时 间 !!:!1标志等等,你就需要附加上昝报的其他行。 、
为了发送完整的报警信息,应该使用1』命令和1&的管道特性:
"
―
-《
/[
/31101173 1-1
8111011
参数卞用山I命令监视报蒈文件中新的数据,它使用两个回车,、 分隔。现在,你收到的完整报謇信息应该如下: 11 : 1704: 1】 1 3- 01
I
01
)11 311011:
!)
13110311011
1
腸! .口I (! -,' 11 61 1 311&!!! 11:301!] [! 00111:7:
―
09/16-10:04:15.816116 192.藏1罾I :3140 - 〉 192 168.1.2:80 .
1 192
111.: 128 105:0x0 10:12817 1(11 11:20 0 131 11:131 0?
【】
0,进行记录之间的
… ?…5
跟細0八&: 0:
:
5】9?30
0x4470 丁 1 1: 20
[? !" ―
!1 : //
-!]!!!: . 01 ;/[: 1- 111/0 1131116 0 1? 1131116 ― 0 1 -200 -04631
〔乂"
111(5: //
/ . 5 01.1 !'!!: "01;"11 111111/1)1 1/26631
这就完成了在混合型服务器 传感器模式下的安装并实现了实时监控。
11.4分布式&10「1报警 为了在二层结构的?;110
中配置实时监控功能,要使用与混合模式下不同的方法。在每
个传感器上安装邮件服务程序(如 ! !!
8
!)和5 3化!!既浪费时间又浪费资源。但只修改
1011和化 171』的配置使其用于多个传感器一定会造成混乱,也可能会犯些错误。为『解
-叫和31 1 1从传感器向311011服务器安全地传送报警信息。 决这个问题,你可以利用巧 你也可以选择安装别的服务器来实现警报收集和发送邮件等功能,这样,你就可以向这个新服 务器发送警报。 5 106-08是系统中对许多不同应用程序的系统日志分析记录的工具。来自应用
程序或操作系统的安全警报和错误信息被发送给系统日志(
)。原始的系统日志(野& )
中仅有20种可能的事件类型,这些事件类型都能被8志记录识别。每个事件都有一个指定的 优先级。3志记录工具往往是通用的,能被许多不同的应用程序使用,因此你可能有许多不同
的应用程序使用同一个工具向系统日志报告事件。因为许多应用程序使用同一个工具报告曰 志 所以在日志中找到某个特定程序产生的事件是很困难的。当你有大量的数据存储在一个 系统口志文件中时,过滤出有用的数据是相当困难的。3 108-08通过多粒度过滤的方法解决 了这个问题。使用 ! -! ,你能够基于事件内容、应用性和优先级过滤事件。你可以利用 ,
规则表达式过滤事件,这对于原始的系统日志记录程序来说是不可能做到的。 经过多个主机或&1111061的转发,原始系统日志中记录的报警来源可能会模糊不清。如
果你在一台主机上收集来自许多不同机器的警报,系统日志将报告正确记录的主机。但是如 果你再向一台单独的主机转发这些系统日志警报,这些警报的来源将记录为第二台主机。在 较大的50011环境中,可能使用了多台日志记录服务器,这样将难以判断报警的来源 3 10 通过存储完整的主机名以及警报在该主机上产生的时间来解决这个问题。 原始的系统日志通过110?发送警报。这就存在一个问题,因为目前??!!! 不支持加密 !! ! ?通道技术)的 的1;! 通信。你可以专门为系统3志会话安装一个运用1X1?化! - 使用―IX:?协议和你已经安装的5 :1 1程 软件包,如2 6(166,来解决这个问题。而 。
序包,对它进行升级比较容易。
5&! - 自身就支持电子邮件报警。你只要在配置文件加人几行代码 当产生与特定字 符串匹配的警报时就能自动地发送邮件。这就不需要再安装3 !1 了。 ,
11.4.1配置5110!"I并安装8611(1111311
要使用00 1方式的实时报警,你需要安装一个邮件服务程序 如5 。如果你想安 5 15 装别的应用程序,如传呼程序或 网关,你同样应该安装相应的程序。关于如何安装和配 !!! 置 ! 的在线资源和出版物非常多,而且附带有源代码的文档相当详细 足够指导你进 ! 行安装并运行。你可以在!!叩:〃?,.; /网站得到化71 1130应用程序和相关的 ,
,
.
193
文档。
配置好 11 111311之后,应该注意一下它的安全性。关于36
013;1的安全性,有相当糟糕
的安全漏洞记录,因此,应该进行适当的加固。
)发送警报。发 配置好 !1(111 1的安全性之后,你还需要配置 化!!来向系统日志( 送警报 通过输出插件31 1 止培来完成的。打开 !!.化",通过取消配置行的注释符来 启用;11 3 106。配賈.行应该如下: ―
-
0率1 3161-1
108:
.
00
1
[(
―从肥
'
接下来就可以进入&化的安装阶段-!"。
11.4.2在传感器上安装巧5108-118 配置 5106-118的第一步就是安装和配置传感器上的程序包。3&!巧-! 依赖于1; 1程序 包 你必须在尝试安装&3|0 之前先安装它。在下面的网址下载!;1 1的最新版本: ,
运行熟悉的0011&11!"6, 1113 的网站下载巧3106-1 :
和1!!;
然后同样可以用常见的0011 1
, 018
【311命令安装1
1程序包。安装好以后,从下面
和01 6 ;1151311命令来安装3 10 08程序包。
11.4.3为传慼器配置8 8108-118 -化通过配置文件 -! . ,〖来控制。因此 你需要重新编写该文件。本书用 已 远程服务中使用的典型端口 ( ,? )作为实例。你不应谅使用5110「1层的仵何远稈服 务 因为它们是不安全的。如果你想使用不同于该实例中所用的端口 你可以自由选择。 ,
,
,
为了开始配置传感器的炒3108-118,你必须创建一个配置文件。创建的配置文件存放于7 注意
你想要创建一个新文件时,不要使用程序包中默认的或事例中的3 108-118
( 卅
文件。
! -!! -
文件的目的是为了让,
-
知道在什么地方找到系统日志( 女力信
息 以及在找到之后如何处理它 你可以通过加人源地址和目的地址 然后将源地址和目的地 址一一关联来实现 源地址是野 - 接收报警信息的潜在位置。目的地址是它们应该输 ,
,
。
出的位置。
使源地址和目的地址相关联可以告诉3 |0
在确切的位置找到报警信息和发送它们
到相应的地址。两个动作是相互关联的,定义源地址之后 你可以把它1?许多0的地址关联。 对于源地址,同样如此。 ,
你需要建立的第一行是一个源地址行。它使野5108- 8警报的源地址与 108-08应用程 序一致
。
你需要用一个标志符命名源地址。命名的一个好的方法是使用传感器的名字
,
加下划线,再加上六01〕中标识传感器所用的整数值
。
194
然后
注窻 这只是为了帮助你记住你最近所做的工作,你不需要完全遵循这个命名方法。 下面举一个例子:
(! - 化 消息源驱动器)是你想要3 08-1 寻找警报的地方。 !!化必?! 可以是本 地机,也可以是一个! .?端口或者一个文件:你可以根据需要指定许多3011 -化 :为了 - ,你应该接受来自本地系统的警报。使用下列配置行接受来自本地系 给传感器安装 "
统的报警: &0口「
3 11901: ―
7 |
&!!
'
! /
传感器的名字是5 501",它在八!:
") ; 111!:&
/!
! 1 ; |;
中的对应编号为整数7,因此标识为 11801" 1。 ―
这是一个系统,以 [ 500 3X1 1模式侦听报警。如果你使用的是630变量,你需将它改为011卜 「3[!!厂/ /! "),内部命令告诉叫也对3 08-118内部产生的消息进行侦听。 ,( /(!?/!"")消息源驱动器(?"!"06 1 00告诉
&「
"
,
紧接着的一行是说明警报应该发往的目的地址:在传感器匕所有的繁报都应直接发送 给&100服务器。这可以用目的地址行来指定,格式如下:
标识符
是 !!抓服务器的名字。目的地址是安装在服务器上的巧
!!卅
-叫服务对
应的化地址和端口号。你应该插入类似如下所示的一《子代码:
上对端"514 ?进行侦听的 51 08守护进 最后,你需要加人的配置行是让 化1知道你想让哪,源地址与哪个目标地址对应。 这样.将有惟一的一个源和一个目标地址相对应,因此仅仅需要一个配置行。日志配置行格式 这一行发送警报给&100
―
―
程
。
如下: ( !!!'
106 I
118111; 111161"(&1 1
―
:! !!化);(!
;!
)! 11651;1131:1011 !! !! ) | ; ―
因力这里我们不需要使用任何过滤器,所以忽略过滤器选项。后面我们将需要对系统日 )报警进行过滤来支持实时报警。为了构造日志行,你只需要用前面创建的源地址和 志( 目标地址行:
这就完成了传感器上野 - 的配置。随后我们不得不再次访问该文件以启动 1。运行下面的命令,以启动&51 -116: 703
0031
111
08國118
11.4-4在服务器上安装5) 08-08 你可以使用与在传感器上安装
化-化同样的方法在服务器上安装5 8108-1180 19?
下载并安装1;
1,然庀-安装3 108叫。
11.4.5为股务器配置5& 既然巳经懂得了如何配置
1 -叫. "〖文件,为511011服务器配置573!08 8就相对容易
多了,按照下面的路牷创建一个
一昭配置文件:
打开该文件并进行编辑。第一步是为侦听丁I:?端口和本地巧510 叫应用程序创建源地 址行。你希望看到来自传感器与3 1 -1 应用程序本身相关的警报。使用下面的源地址行: ( (? !-;
3 1
!?)孓。"《5口)
:111-11:':"(?) 1 ;
这个命令侦听8) 06-1 本地产生的报謇。它也对由5001
"― I?指定的
地址上
/!!:!1端口进行餮报侦听。你应该改变这个卍地址使之与你所使用的网卡管理工具的 的 I?地址相一致,该网卡管理工具用来对传感器进行控制。皿- 0[1[1 I 8()选项设置 510
化服务器可以连接的最大传感器数量。 接下来的一行是创建目的地址配置行。你应 面的语句完成:
发送警报给服务器的本地日志文件。用下
这条语句将所有日志从传感器写人指定的日志文件。为了完成努报向本地文件的写人, 需要加人与源地址和目的地址相关的日志语句: 1
| 9001X ( 1
5)1 (! !: 111311011 100 111050 : I ;
/ ( 现在,你应该測试 10",发送流量来产生警报.然后检查八 " &! 来配置实时报警功能了。
.!
文件。如果每
一步都正确进行 你就可以开始用巧 ,
11.4.6为实时报警配置8 108-08 配置3 108-1 通过601311或传呼发送警报.其中包括创建一个当字符串匹配时&310 执行的简单的3 !1脚本。这个 』脚本依次执行邮件或传呼服务程序。另外,还需要一些 其他的配置行。
首先添加配置行,然后创建311611脚本。打幵
08-08.00"文件进行编辑。你町以使用
原有的用于向本地500!" 「 !08文件进行记录的源地址行,因此不需要创建新的源地址行。瞀报 的目的地址是你所创建的 !"脚本。使用下面的目的地址行来执行该胸本: 1111311011 011311
口!
「
300|?1 \
( /
/[(
[/ !!/
11 !],?
"
); \;
选项指定收到警报后所执行的命令。这里需要指定该命令的完整路径」
接下来,你菊创建一个只匹配髙优先级5 "警报的过滤器.如果想匹配优先级为I的所 有3)10!"I警报,你应创建如下的过滤器行: 【"收 ―
196
1 1101-1
1 !!! !:
?
\ \ \
1011 ; 1 \ \】| ;
注意:必须用两个反斜扛\\引出方括号中的符号。为你希望进行报警的每一个优先级 创建过滤器。
接着,你需要用最后的日忐描述,将源地址、3的地址和过滤器绑定在一起。 ,
(
!
―
& " 一
乂
; !;
. 这就完成了 文件的设置,退出并1;启" - 。 最后--个问题是写个简单的为 08-1 执行的31 11脚本:打开/! / !!!
.
」/
/
"-
进行编辑,键人下面的脚本代码:
V1;。6; 10 3 !] ' | 111311
该脚本以"!4 )1
~
! ! 110111:7 8 0["!:
!):丁 [', 105 3(1111111
1011IV 3 01-1八1 1"为主题向!!
你使用的是传呼程序包或.
0
; !!!;!!! 出!!! !!. 00111发送警报。如果 1之外的其他邮件脹务程序,你可以按你的需要改变这段脚 -
本 你能够很容易地通过创建新的过滤器和新的日志描述对其他优先级进行报鱉:.然后,你 。
应该进行测试以确保实时报警正在运行.最后用& 化I对"化流量进行加密。
11.4.7
用8111111161加密85 08-118会话
目前,你应该已经在 10"传感器和服务器上安装井配置好了 &而!! 。如果你还需安装 51 061,请重新阅读第6、7章的安装说明。为了使用1.你应该对传感器和服务器上的 ( -!! - ] 文件做些修改。
打开传感器的
.00"文件进行编辑。第一步是包含一个保存本地
-
正确名称的全局选项。如果你不设置该选项,所有的报警都将主机名设置为10031110 要判断哪个传感器已经能够产牛.警报就很困难了,
下一歩
你需要创建一个新的目的地址行。你应从
,
对流量进行读取、加密并将其发送给服务器。添加一
&黽机器 ,这样,
106-0 发送流量,以便 1 )161能够
新的目地地址行如下:
这个目的地址向本地主机( ?冶力.!)的513端口发送警报。接着,你需要修改已有的日 志行使之使用新目标地址,修改后如下:
保存并关闭3 08-"
文件。重启3 |0 叩进程,573108-08就可以认出新的配置
文件。
现在必须启动对3&1 |15|171013|/?! !!;] /
流量进行加密的的51 1 1守护进程,运行下面的命 !II/811X01161 -1-」127 0 0 1:513 -!" \ .
.
.
197
这个命令用乂参数将5【皿 I设置成客户机模式。它将发送给本地主机513端口的5乂5108力8流量转发给由& -!! 指定的 101:1服务器。它也可以以 !!! -!!化!"身份来运行 守护进程, 11061 ― I !"是3111111 1 8 13的一个成员。现在就完成厂对传感器上的 的配置。
- . "文件进行 对于3!! 服务器,你需要类似地修改, -呢配置文件。打开 编辑。在服务器上, !!!!! 接收流量并转发给本地的5-08-1 IX:?端口。第一步是创建一 个反映这一变化的源地址行,加人如下脚本代码:
[
( (!!? 0.0 ~ 1
[
(( 141 I
11111 : 1101 ( 7
1:
现在,你需要根据新的源地址修改日志行。修改你已有的日志行如下:
保存并关闭,重启
08 8守护进程。现在就准备好记录从&1111化1到本地
务的日志了。最后一步是通过使用下面的命令行在服务器上启动3【1111 /|
口/
-
/0 3/
/!
I
/5
/5 II
/ !/ !! / !!!!! !-!
-
服
1守护进程:
~6 512 -!" 127 0 0 1:514 .
,
.
! &
这个命令启动3化侦听从512端口流人 5108-1 的流量,然后向运行在514端口的 5108-118服务器转发流量。这就完成了对&110 1的配置,现在,传输在网络上的警报都是经 过加密的了。 闭环分析
以分布式安装的3001 对于阻止基于会话的攻击是相当有效的
。
由于与1 75 1的
连接是经过加密的、; 510 叩会话是加密的、八00浏览会话也是加密的 虽然这种安装 ,
方式并非牢不可破,但对于绝大多数攻击者来说 拦截和修改报警都是相当困难的。该系 ,
統中可能惟一的重要漏洞存在于实时报警的邮件服务程序
。
如果你觉得加密所有的连接太麻烦,你可以关闭循环并加密实时6013;1报警 安装 加密的邮件服务系统可以查看邮件应用程序的文档以获得指导 。
。
11.5小结 本章包含了 5001 实时报繁策略的概述和如何配置实时报警两部分内容。500「【实时报 繁是髙度可定制的。你可以挑选对哪些报警采取实时通知。为规则划分优先级 使一种优先 级规则触发的报警发送给某个人,而另一种不同优先级规则触发的报警发送给另一个人 优先级通过 ; " .001 8文件中的规则类进行管理。如果该规则类不够细化 你可 以创建自3的规则类。你也可以为个人规则修改规则类。为规则指定优先级选项可以改变指 ,
。
,
定规则的优先级。
为服务器7传感器模式的3110"配置实时报繁要通过5 08 ,洲3吐和像5611 11 1之类的 邮件服务程序来完成。本章中讲述了 5 3化!!的安装和配置。 !的配置文件名为 198
。在
-
作
。
)!化文件屮,你可以为洲311:11指定监控日志中的字符串以及采取相应的动
5 31011可以配置为通过传呼、611 1或音频等方式进行报警:. 在三层结构的、
011中配置实时监控能力,应使用与混合型中不同的方法。在每个传感
器上安装5 *11311和? 是一种既浪费吋间又浪费资源的办法。3&|08118和5(1111 1被用 -叫是1 化系统上许多不同的应用程序 于安全地从传感器到服务器发送饕报。; 系统4志(巧 化)分析记录的工具。5&支持一些额外的特点,这些特点使得它能更好 地适用于5
配置巧
1 环境。
-叫的第一步是安装和配置传感器上的程序包。本章通过一个实例来叙述,该
实例详细地叙述了如何创建合适的源地址、目的地址和日志行来对传感器的3 108-118进行配 置。安装和配置好传感器后,接着应配置服务器,它的安装和配置与传感器类似。
配置#31068通过601311或传呼发送警报 其中包括创建当字符串匹配时3 108-1 执行 的一,简单的5 11脚本。这个3 11脚本依次执行邮件或传呼服务程序。所用的配置行包括 源地址,目的地址和日志行,除此之外,还需要配置新的过滤行用于监控特定的字符串。
在第6、7章中讲述了&101 传感器上&
〗的安装和配置。为了使用& 1161,你需要修
改传感器和服务器中的3 106- .0011〖文件。第一步是包括一个保存本地巧 化-
机器正确
名称的全局选项。为了启动31皿! 1,需要配置新的源地址、目标地址和日志行。最后启动 前!
守护进程对5 108-118会话进行加密和解密。
199
第12章基本规则的编写 在最近/1年的信息安全领域,编写51101!规则的难易程度被认为是影响&1011能否被广泛 采用的最重要因素。300!"I创建者[ 决定建立一种创建已有规则的简单语法,这 ? 0 种语法允许5 用户全面地建立能被理解的特征值集,为所有入侵检测系统所用:每个规 则都可以独立修改,使修改后的规则与500"要保护的网络基础结构相适应。另外,规则也可 以从零建立并在&100中使用。这样,用户就可以自定义规则,使500!"I成为真正行之有效的 安全工具。
规则集使3110 成为许多人侵检测系统商业公司竞争的焦点。非开放源代码105市场的 领头羊,153公司,在他们的人侵检测系统上都实现了一个名为! ?(?加! 这个单词字母的 逆向排列)功能特征,它能够解析并装载5110 规则。丁 ?模块能够接受来自官方规则集或 自定义规则集的任何类型的规则,下? 模块不进行使现则II:常工作的包标准化检査 (比如陈述性检査、I1-1 00等等 ,因此它仅仅被认为是一个有趣的特征.而不是一个 重要的安全入侵检测的应用程序。了? 模块说明,编写 ! !!规则的语法对于一个人侵检测 系统是相当重要的, 每个利用51X 1的人侵检测系统分析员都应读存一些编 5103规则的办法。你不必成 为一个专业的规则开发者 但对于怎样编写规则的基本了解是必要的。运用一些有限的理解, ,
你就可以修改已有的规则并提髙监控网络的效栗。必要时,可以简单地通过使用官方规则集 和修改每个规则来达到目的。也可以针对3己的机构创建简单的行之有效地监控恶意活动的 规则」
12.1概念 当编写300 规则时,要切记你正在真正建立一种流量特征。这种特征的目的是通过匹 配所有的流量找到其中符合某种特定的流量。但是,往往在你想要触发的规则和事实上所触 发的规则之间常常有一定的偏差-
建立这种有效特征的目的是编写你想惟一发现的网络流罱的规则。然而,不幸的是,这个 目标/1乎不可能实现,每个规则都可能触发(尔井不想要触发的流量。当编写一个规则时.你应 该努力縮小使这个规则触发的因素,使其仅仅与你确实想要得到报饕的流量相匹配,还要注 意的是不要加人太多的流量特征,这样会使你需要匹配的攻击不能与你编写的那个规则匹配, 为了编写仅仅在你想要的流量七触发的规则,你必须研究并找到这种流量的独特的特征。 这种流量包含的每一个单独特征不必是惟一的,但它们组 起来必须是惟一的,比如说跨站脚 本攻击流量。
当网站允许恶意代码被插人到一个动态创建的网 中时,跨站脚本(乂 )攻击就发牛 了 如果不能正确地检查用户输人,攻击萏就可以在网页中嵌人脚本,这些脚本使化吐应用程序 不能按照预期的计划执行。乂55攻击可以用于盗窃认证所用的0001; 、访问部分受限制的 .
200
。
讽 站点或是攻击其他讽吐应用程序。大多数的 58攻击需要向待定页面请求中插人脚本 标记:你可以使用攻击的这个恃征编写规则。因为只要向吸4应用程序插人乂85脚 〉,〈0 50, 〈 ??1 ;丁〉和0 50〉这些标记。举个例 本 就会使用到〈80 ; ,你能够创建一个规则,当发现标记时,触发该规则,首先.你应该创建一 规 ,
则触发包含"〈 3
.
〉"字符串内容的流量:
"!
161-1 10(5 811V 31
(
-〉 311
!
:"\
!?!' ";
"
:
8~ 15
58犯
口【";1
乂85攻击一定会触发这个规则.但 幸的是,许多其他的正常流量也会触发这个规则:伊I 如 假设某个人发送一个嵌有】 35 的电子邮件,?( 也会发出报饕,从面产生误报。为 厂避免这种情况的发生,就需修改这个规则,使其仅仅在流量中触发: ,
(讀 :!"'〈3
1?1; ;零-謹50 \55 3滅"';1
现在,仅在来自耻服务器的相关9X7?会话中检测到〈801 ?!
内容时,才会触发该
规则。当流量开始于一个外部的1?地址〈3 2乂丁0 了),并被发送给術 )服务器 3 1 ? 51 :83)1 ! ! !1服务端口 〈 3 9丁1下 ?0尺丁 ;)时,该规则才被触发。当你正确 地标识公司所有的 &服务器和它们所运行的端口时,规则仅当被发送到吸 服务器 ―
―
上时才触发。但是.在载人这个规则之后,你会发现无论何时有包含 、 & )【的请求时,都 会产生大量的误报。因此,你需要更进一步地提炼这个规则,找到乂53流量的惟一特征。 当客户在请求中嵌人〈 &?"!〉标记时会发生 义。如果服务器发送请求响应的〈 标记时.它可能是正确的流量(妇?&!! ),而不是一个攻击。你可以使用这个 35攻击特征进一步提炼该规则: 81611啤5 「飞 ! 510 '
願卿-〉5 9X7"?
"
-
―
56;8、
3 5 97"!?
?06 ―
这个校正后的规则使用了【1。?选项,该选项使用51!?I的IX:?重建持征来鉴别流量的方 选项,10 3 ",规则仅仅对从客户端向服务器端发 「和股 起的会话有效。一个攻击只会发生在这个方向传输的流量上 而反方向上的流量可能是 卜包含】3 50「;&标记的正常的会话。 现在规则已经可以识别乂55攻击了,接着你需要利用大小写敏感性确保攻击者不能躲避 浪规则,001116 选项就是来区分大小写的,然而 \ 不是 因此攻击者可以通过将脚本 标记修改为〈&巧& 〉或〈301 1 〉避开这个规则,为了弥补这一点,应用―?60(1选项来指定 向 通过应用特定的 :
-
,
-
,
不区分大小写。 1卬-化―環] 一
咖61|1:
/
-
〈?01 ?1》";!!
!
则―〉!6
11"?
5?
\
3
?―?0感
;)
为丫完成该规则,还需给它賦予一个高的优先级。 3161
3 5X11:?;
],
―
叫'―〉8 9X1?
―
56
85 ? 9X1?
?0813 ―
201
0X11601:乂 50 11 1、〉"; 000336; 口"。!"
山)
这就完成了 乂55规则的编写。
12.2语法 00规则有一个基本的语法,用于匹配流量特征的规则必须遵守语法。违反语法的 50011规则将不能被载人到检测机制中。如果载人语法有错的规则,那么可能导致不可预料的 后果。这个规则会被大量的正常流量所触发,造成一系列误报。这可能潜在地使人侵数据库 超载。该规则可能会被随即发生的流量模型所触发,当报警发生时,该模型将导致不必要的 惊慌。
甚至更糟的是,一些规则虽然被载人,但从来不被它们所检测的流量触发。于是,1135分
析员可能认为该规则工作正常而遗漏许多警报。同样的情况也会在通过规则? )中发 生 这种规则如果编写的不好,就可能导致忽略大量潜在的恶意流量。因此,确保你的规则用 正确的语法编写是非常重要的。在规则被应用之前,检查和测试规则是必要的。 ,
3 口 0(1规则
5000规則最基本的语法要求是单行,在本书中它们被分割成多行仅仅是为了格式的 目的。如果你想通过插入一个回车使规则更清唞 你就将它分成了两个规则而不能加栽。 ,
如果你必须将一行分成多行,你必须在前一行的末尾加上一个反斜杠 让30011知道下一 行紧接着该行。 ,
12.2.1规则头 正如你在第10章1'调整和减少误报"中看到的那样,一个5000规则被分成两部分 规则 头和规则选项。规则头定义了规则的类型和监控的协议、I?地址和I?协议端口。规则头是 规则中第一个圆括号之前的部分。可以将规则头看作是原数据,它使51101 知道在什么样的 环境下应用该规则。前面提到的实例中最终 85规则头是这样的: ,
》6X721
!改1
1
―〉 5 911
一
521 /285《 !"!
-
108X3
该规则头实际上是在第一个圆括号之前的每个部分。规则头的语法是: (!!!
)!!
(
! !:。, !!631111311011 ― 3(1(11 33
―
1 1186 631: 11131:1011 ― [ "
―
1-811 6
参数111 。! 规则行为) ( ( 协议)和(!; ;&! 方向)操作符通常可以从可能值的 31100 静态表中选取。 静态地指定这些值是因为规则仅仅可以触发一些有限动作 同时51101 只需监控有限的协议。其余的参数可以被分配给一个变量(如3 90\11 1 :丁) 一个17地址 ,
、
或端口 、一系列的&地址和端口。下面的章节具体讲述这些规则头参数。 9参數11
3 11011 ―
第一个参数 11 ;011,使 !!加知道当数据包与规则匹配时该做什么。 三个内在的选项,分别是: ,
202
100中有
I该选项被用来先产生一个警报.然后记录包。最重要的规则被设置成31
,设置
了
参数的包将被发送给报警输出机制。 1 8该选项不报着只是简单记录包信息。 1*838该选项被月?于通知5000你不处理的与特征相匹配的数据包。1*355规则主要被用 于消除误报。?335规则可能会很危险,一个编写的不合适的规则会使 !。!!遗漏一些恶 意流量。1*358规则应诙用不带,0参数的50011命令行选项进行测试,确保它们不漏过相关的 报警,当规则被正确地测试之后,力命令行可以重新执行。
在第14章"髙级话题"屮讲述的 。!"I 10110修补程序中加人另一个规则选项 叩,该选项 用于阻塞匹配的数据包,不允许它们通过300『1 105网关。 你也可以创建自己的规则动作,创建自己的『11 3 0!!的目的是使规则输出到不是默认 的输出插件。使用一个不同的输出插件来测试新规则是一种相当普遍的做法。你可以调用
1111
6选项建立自已的规则动作,如果你想使一
规则动作以 ! 皿 格式记录新规则,就
该编写以下声明:
! 攀参數 ! 这个规则头参数用于识别该规则中使用的是哪个或哪组协议。通常&1011可以监控三 协议:1X ,013?和11: ,这些都是III&111。流量中的主要协议。如果你设法捡测 协议攻 击时,19应该作为协议选项使用。 攀参数 11 : 1011 11116!"81。!" 一
参数0 6 011
0 10 用来告诉在哪个方向上使用该规则。你能够在规则中使用 单向〉或双向0操作符。如果你想调整方向,必须交换源地址和3的地址及其端11 ,5110「【 规则不支持将改成 -,所有的规则必须使用符号来表示单向流量。 ―
源12地址和目的
地址
这两个规则头表示应用&!0!"I规则的I?地址或工地址范围。你可以简单地指定一个源 地址或目的地址。你也可以指定I?地址范围,为了指定I?地址范围,你必须像下面这样指定 地址和(:!!)尺网络掩码: 192.168.1.1 74
你也可以同时指定单个地址和工?地址范围:】 ." .!.:!/: , .!).!)」 也可以将I?地址设置为一个变量,你可能已经将它定义为:85乂丁 ;! / 如果你想让30 1检査每个I?地址,你可以使用任意值:
?
:丁
-
311 乂
最后一种情况.如果你想让3110「【监控除一:特定的地址或一个特定地址范围之外的所 有地址,你可以使用取反操作符(!): 203
丁
!
―!
1:
或: ! 192.168.1.1./24
注意
在使用取反操作符之前,要两方面检查你设置的变量,如果你有一个变量设为-乂, 再将它取反(! 3030,将使5110"不监控任何地址。 源端口和目的端口
标识5001 所用规则的源端口和目的端口 ,与标识I?地址相类似,你可以指定单个端口 如: 21
也可以指定一个端口范围,由冒号隔开,如:
'
1:1024
这表示该规则应用于从1到1024之间的所有端口,你也可以只用末尾端口表示一个范 围 如: ,
;512
这表示在小于等于512之间的所有端口中应用该规则到
),同样,可以使用相反的
范围,如: 1024:
这表示在端口号1024和大于1024的端口中使用该规则01)24到 用1?地址中所用的取反操作(:!〉,指定除某些端口之外的所有端口,如:
(!)。你问样可以使
! 1:1024
这表示在除1到1024的所有端口(从1025到65530〗中使用该规则。
12.2.2规则选项 规则选项是实际特征和分配的优先级。规则选项中的特征部分用一个或多个选项关键字 表示。这些选项关键字被用于建立你想让检测引擎所监控的流量特征。当与一个特征相关的 ))表达。举个乂55的例子: 多个选项关键字被使用时,它们可以被考虑用逻辑与( 0111 : !;)
在这个 35例子中,与特征相关的选项关键字有00 , 00加611【和!!。 。它们一起来衣 示检测引擎应该匹配含有〈30尺11 的包有效载荷已建立的发送给服务器的会话 并且从中 ,
忽略大小写检测00 1
内容。其余的关键字选项11
和! 01
被用于指定报警输出
的消息和为规则分配优先级。
选项关键字是规则构成的大部分。它们用来创建目前的流量特征,为提供关于该 204
规则的信息。如果你能隼握不同规则选项关键字的使用,你可以编写几乎所有的3/100规则。 选项关键字由八个功能类组成,下面一一予以讨论: 1
.
( (!的?
关千内容的)选项关键宇
&
(内容检査)选项相关的。0 1601关键字选项被用 最重要的关键字选项是与 (( 于监控包有效载荷中的特定格式。官方规则集中有大约75 的规则使用这些选项。 !!)?.!!关键字选项也是比较耗资源的,芮此&该尽可能地举开使用它们。当你在一 规 则中包含一 !!&加关键字时,应该努力限制 !!化?选项必须匹配的有效载荷中数据的数 量 可以使用06&【,3印出.和 关键字找到有效载荷的特定部分。这将显著地提髙基于 。
内容规则的性能。
0011比?关键字是重要的内容匹配关键字选项。当在数据包中发现该选项指定的内容时 将会产生警报。0)111011选项默认是区分大小写的,但这可以用1100336关键字修改。 用于 !1&,1选项搜査的字符串可以是二进制或八31:11码,以下是使用八30〖1码0011 选项的简单表示: 纖16111 :
一
52 丁
丁湖1
0
0则1 ~ ;
3
这个 !!&?与0)1(1 ? ;011漏洞相关,0)13 1-0 00漏洞允许通过非公开管理员特性获得
对主机 未授权访问。当用二进制格式指定内容时,你必须在字符串前后分别添加管道符号
(!). 二个十六进制内容的例子如下: 1:011
11 : 10 "
00 00 01 85 04 00 00 3(1 72 6? 6? 74 001 ";
01根用户登录尝试的字节码表示,也可以在一个 !!比?关键字中使用 这是一个 多个字符串。嵌模式用二进制和八5011码的混合字符串表示。下面的例子使用十六进制和 八5011内容来减少误报: "
10! 00 00 00 0316110
03111601:
(?
;";
该模式被任何企图列出在! 3(31 环境中的数据库行为触发。 你也可以使用取反操作符〈! ?,告诉&100对不匹配指定格式的数据包报警。由于某些原 因
如果你想当发现数据包不企图列出
,
符:0
1 !1【;!
!0 00 00 00 03!
1;
501中的数据库时报謇,那么可以使用取反操作 乜! ;
":
取反操作符主要用于 ? 1选项关键字和许多关键字一起使用的情况。 鲁 !"!
!!!!;!!!
1 000 选项是另一个常用的与内容相关的关键字选项。它明确地用于在请求的II尺| 部分触发警报。是许多通用的4X1? 1!1?1的超集。 1011选项,而不用 !! 当你想仅仅对1181的请求报警时,应该使用01 关键字选项 1 000 ?不对服务器响应报警。如果使用选项的相同摸式 你将对合法流量产生误 报 因为" " 选项仅仅检査一个请求的1 1部分.它消耗的计箅机资源也比0011化加关 楗字选项少。格式和前面?? !1关键字选项相同 。
,
。
:
參0311(601~ 1151
1116111-1 1选项指向含有一系列用回车符划分内容的文件。0
!;51表达式应该用双 205
引号("括住,这个选项主要和关键字选项一起使用。 你可以建立检查(赌博、色情等)字符串的内容列表,使用! 1关键字中止IX:?连接.并 对恶意I?地址发出警告。在使用?3 关键字的同时,你不一定需要使用0011 【 关键字, 你可以使用取反操作符表示当没有与列表中的模式匹配时使发出鼕报。你可以像下面 这样指定0001601-1 &关键字选项: 0 1611【-!151:
1 01 3&
-
"
'
!II0316 ―
0011?。1,? ;
"1 I 1X1文件可以按下面的格式建立:
# 丁 1 3 15 1: 6 1081 10
31 00111:6111 1)51
1
!" 511011
"
!011\
1x 1111&1 !'' '' ~
III&
113
1
~0
!
1100 关键字被用来在不区分大小写情况下匹配表达式。110 图用不常见的大小写混用字符的方法逃避特征检测的攻击。
帮助&1011检奄那些企
注意
000356将修改前迷的0011 611 或III"!00"! 11【选顿。你需为每个001116(11或014 0111 01选 項指定110035 :
鲁0幵561
该005 关键字选项与0011 11关键字连接起作用。你必须使用"〖 指定0006&关键 字。。【(化【被用于限制00?6111表达式所应用的有效载荷数据包中数据的数量。该。(( 关键 字在有效载荷内设置起点(不是包的起点)来幵始2&配表达式。 该关键字被用于降低 加 关键字资源的消耗。如果你确定从有效载荷起始处开始预 先给定数量的字节中 ! 加表: 式不会被匹配时,你就可以使用该关键字。例如,要跳过有 效载荷中的前10个字节,你可以将如下0( 61包括在规则中: 00561: 10;
注意
像1100356-样,0仃; 1将会修改前面的00111 1【或1111001116111选项。
&口出类似于0 61关键字选项 它限制 1116
表达式可以匹配的有效载荷的数量,降低 !! 11关键字的资源消耗。(!印出指定从有效载荷开始算起的用来匹配的字节数。许多攻击 发生在数据包有效载荷的前几个字节,36&I!关键字可以用来使这些规则更精确有效。下面 ,
的&11(11关键字告诉50011仅仅在前9个字节中查找匹配的内容: 3 111: 9; 206
你可以使用(!印出和011 1关键字的组合限制在有效载荷中匹配内容表达式的字节范围。 如果你想在第20个字节到第60个字节之问匹配内容,你可以使用这样的选项关键字: 0(
1: 20;
( !
: 40;
注窻
当使用关鍵字时,佥!?出关键字从0仃化I值开始记數。 攀1
0:
关键字使311011知道你将在00 601字符串中使用一个通用的表示符。! ?只允 许在0 16 字符串中使用熟悉的 和?字符。字符#表示任意数量的任意字符,而字符?代 任意一个字符。
如果你想请求使内容与某1 特定的目录中除了具有共同扩展名的文件相匹配,可以使用 如「的 01 01关键字: "
1X11116111:
/即/
/"1
用了化"字符启用[-66
叩";
:
这将匹配任何对 ! / !)/目录中 叩文件的请求 ! &
是一个计箅量很大的关键字,
因此应该在绝对需要时才使用。在前面的例子中,你可以使用单个0011-1关键字来报告对 叩文件的请求: 0111: 111: :
叩;
如果这产生许多误报《也就是说报蓍中有许多合法 叩请求〕,你可以启动有更多限制的 !?化?配置。 注窻
& 仅仅修改它后面的 001 11逸項。
! 1
365510
.
1318
关于会话的)选项关键字
规则可以将自己应用于一个丁会话的某些部分。自然地,这些选项仅仅应用70?规 则。011- 31"(关于会话的)关键字选项帮助减少误报。某些情况下, &!!关键字使规
则可能用于产生许多无法接受的干扰。为了使用这些关键字,你必须启动和311 ! !
化
4
预处理器。
攀?
许多3658100-1 31"(关于会话的)关键字在新的选项下得到巩固。选项与51100 的 IX:?重建特征协同工作,将规则应用于流量的一个指定方向。这使你可以仅仅在一个 会话的请求部分使用该规则。荦向流量在检测应用攻击力'面有很大作用,比如前而使用 '
的 53实例。
有许多不同的选项,这些选项规则被用在流量方向 丁 三次握手状态和流重 逑过程中。可以最大程度地满足所喬要的配置要求,一共有4个可能的方向: 、
-
207
!:
"
國【0 ,
醫 0
化!
『
―
陽11011
11 111: ―
國?!"0111
3
1
!"
―
顾名思义,这些参数将该规则应用于相应的流量力向,你可以使用其中的几个。也可以 将该规则仅仅用于丁 4 '会话的特定状况,有两个这徉的参数: 國65, 31)1
16(1
國5133
651 113 选项将规则仅仅用于已建立的IX二次握手会话。检査你的命令行选项,如 1 3选项应用于 01"【没有申 果你已使用了 命令开关,那么 配置选项訧不需要了。 明的检査待征。最后两个( ?配置选项应用于与流重建过程状态相关的不同情况下的规则: 曜00
511 2111 ―
國0111 110 -
一
『0
1 3111
1选项使&011忽略重逑的流会话, ?31
建会话。可以在同一行中指定 !!10111
56
7!选项告诉5 1 应用该规则重
选项:
13 115 6(1 ;
011
86 00关键字被用于捕获并记录会话数据。使用56
011关键字是为了可以监控丁0 会
话中用户的输人(如界卣,丁 ,?! 等)。你可以使用! !!&! 选项将56 011设置成仅仅 记录用户可见数据,或是使用所有选项记录全部的数据(包括控制字符和应用程序流量数据)。 为『记录所有用户输入数据,你可以使用下面的56 00关键字配資:
!00计算量大,要慎用。 3
『361316
关于『的)选项关键宇
这些关键字选项为II1头中存储的各种各样的值测试数据包。这些关键字选项效率相对 较高,执行快。 鲁III
当确切地发现化了00?值时,"1关键字选项将触发规则:你可以使用大于或小于符 号指定一个范围。简单地指定111关键字选项和你想要监控的!"IX值。 攻击者常常用含有较低的值的数据包向入侵检測系统发送垃圾数据。这些垃圾数 据影响特征,使人侵检测系统难以正确的解释流量。为了可以监控小于5的'111 值,你可以 加入如下关键字选项: III:";
这又是一个检丧I?头的关键字选项,当值波匹配时将触发规则?这个选项监控服务类型 (丁( ,了 &?;?乙另外,它仅仅匹配指定的值。如果你使用小于或大于符号 该值可以 是一个范围。为了对一个值为【,(则的105进行报謇,你可以这样使用这个关键字选项: ,
208
:100(1;
# ;3
关键字用于指定检测特定的分片10的值。如果指定的分片11〕被检测到,警报将被触 发
如下设置后将对。为12345的段报警:
,.
;山12345;
詹11X3131
该;关键字监控数据包中是否指定了某个特定1?选项可用。有八个可能的?选项 是可用的。其中五个通常被用于正常的流量。它们是: 國
1 1 11(1 0 匸"I:
"
: I?
陽18
11111
11116 513111
國5811 1 8 1 2111 10
另外还有三个12选项是罕见的,应该触发警报: 國II尺巳
!
1
.
0111:
隱1 『1X105 5011 !"
! 0 1:1118
嶋化!
1 001111
5001
8600 !
选项主要被101?数据包使用。它被用来记录和决定路由,数据包根据该
路由穿越网络。攻击者使用这个可以勾画你的网络结构。1X186 30111-06! ?; !;! 和311 1 8011X6 80 ; 参数被攻击者用来使数据包通过网络选择路由。攻击者可以使数据包穿过它 控制的设备,结果使数据包在路由中被嗅探或被修改。 该关键字被用于检查1?头中与分段相关的三个位。保留位为特定的值检査。为检查特 定的位,使用与特定位一致的字符:
國1 1 1 01-6 1-3 01611 更多分段位 國!) 13011'! 1 38016111不分段位 811保留位 國8 1 561 你也可以追加一个字符,让31101 知道你是否想独立地检査指定的位。下面的字符给你 更多的检测能力。 ―当另外一个指定位发现时报警 I ―当任何一个指定位被检査到时报警
1!如果任何指定位都没有设置时报警
为了创建&381 15关键字选项来监 除任何其他位之外的非标志位,你可以使用下面的 关键字选项:
秦 5126
关键字用来检查数据包的有效载荷大小。它可以配置来检查大于或小于所选数值 209
的有效载荷大小I
沈也可以用来检丧一个特定大小的范围。
为了检査大于指定数量的数据包有效载荷,使用大于号( );为了检査小于指定数量的数 )分割两个数 据包有效载荷,使用小于号( );为了指定-个大小范围,用大于小于符号( 量
。
如果你想找到大干500字节的数据包有效载荷.你可以用该选项这样做:
攀;
1)1010
―
无论何时指定的I?协议被检测时, -! ?化选项都应用于该规则。你可以使用I?协议 的名字或编号【表12-1列出了 I?协议和它们相应的编号。
除1.6和17之外其他任何协议都被认为是异常的,你也可以使用取反符 (!)检査不被 支持的I?协议。为了监控I?协议9,你可以使用下面的关键字选项:
攀 31
该, 】关键字选项是一个简单的选项,可以检査源止地址是否与目标I?地址相同。 为了将 16 应用于规则中,应加入该关键字选项: 1111 1 ;
关键字选项被检测用于具有特定分段偏移值的数据包。你可以将该值设置为 你想检测的任意值。如果你想在分段数据包会话中找到第一个数据包,你可以将【1 0 设 (
为0,如下: [「呢。仟56': 0;
注意
你也应该检查更多的标志位,避免误报。 丁1
-861316
关于丁(
的1选项关键宇
这里讲述的是与各种各样组成71:?包的域相关的71
选项关键字。
1 5关键字简单地将规则应用于指定的标志。与&关键字使用相似的语法
.,
表12-2详细叙述了该标志位相应的标志字符。 表12-1
19协议和它们相应的…010值
表12-2 。吸
丁0?标志和它们相应的化頃值
06"
化
0)11
00111118兀尸
0 I
10
5
5 八化
00? 6
冗?
I?
11 :
0 】2 0
2\0
17
1)0?
22
10?
1
',
1 0 11:? 0, & I?& !
. 1 1 111111)1!"】
你可以额外地指定同样的 ,1和!字符作为 堪
关键字选项。为了检测一个111 ?
&扫描中的标志,你可以使用如下标志关键字:
注意
以前绝大多数的IX;?蚬则都是用03&:/\十关键字过滤内容规则,这样仅检测已建 立的会话。这种方法大多已经被110 :613151 1"关键字代替,因为这样更精 有效。如 果发现用 暈
3:八十关楗字的规则,你可以转换它们
1
该&
选项关键字被用于指定检査特定的丁!:.?序列号。为了触发
值为12345678的
规则,你可以加人这样的关键字: 12345678; 攀
该关键字检査特定的丁( !1头的确认域,为了检査一个0值,你可以这样使用 1;关键字:
1(
-861316 (关干11
的1选项关键字
这些选项类似于I?和IX:?关键字选项。它们在1( 1?头中监控特定的值。 參!! !3
该;关键字检查一个特定的与『 ?类型对应的整数。表12-3详细列出了可能的整 敉和与它们相关的名称。 表12-3
101
类型和它们相关的11/06值
II
111"!3 1 !
1
1 5(1 1&11011 11111 501131 1
5001
6
!!'
31(6 卜
11051 81
1-685
7 8 9
川 11 12
1 X1-1
1 &0:'"
】3
211
(续)
丁 0116 13111 口 ! 力
14
15 16
岡!
1(10
17
&1
18
33 11133 !
1乂
19-29 30 31
32 33 1?\6 1-2111-1:61
34 35 36 37-255
1 的值为19?29或37?255之间的所有类型代码都被认为是异常。为了监控丁化?〇10 ?类型代码,你可以加人该关键字,如: 11
: 30;
攀100(16
该 0
关键宇检查1( 1?头中特定的代码域。在表12-4中表明了特定的10 1?类型域
在代码域中的相应值。 表124〗13
类型和相应的100生值
丁,贿X賺 0~1 61 "!!!1
031 11 . 630118
1―
2―! ! 3
? ! !!!!!!
6 !!
!?
3~?011 1011 30113 1?
5~5001
011。
7―13651111811011
8一50111
! ]!
" !
1*051: 18013:6
9-0311111!]111(
212
11
11:10[!"【!1
3111131: 100 ! !
! 15 9 1111111&
]!! !)
(续) 丁,
1417131:6 11051 "( ! 丁 111
1 X06
0~丁 111
2―60(1
01
1
?!
11-311311:
1)1
为了检查源路由失畋的10 ?包,可以如下设置关键字:
注意
必须加入;(;:":3;关楗字来对源路由失&的10 1?数据包发出报警
。
參口
1(1 一
10号,许多隐 该关键字选项用于101?返回的数据包。1 :爪!) 1(5检査一个特定的10 0003 蔽流量程序使用静态10 字段通信。为了找到10 ? 10号为被某些813 代理所用)对应的10 返回数据包,使用如下关键字: -
1 1
鹰1 111
666;
―
一
该关键字与1 1 相似。你可以检测一个包含特定的10 1?序列域值的数据包。为 了监控10 1?序列域为0的数据包,使用该关键字如下: 10111
一
8
; 0;
3110 063 0(186 (关于吶应的1选项关键字 当特定的规则被匹配时,这类关键字选项支配行为。你可以指定报警信息,记录报 警的位置和其他响应动作。
38关键字是一个报警文本,随同触发规则的数据包一起被记录 它不是完整的描述,而 。
是一个简短的文本 里
用来报告触发了什么类型的规则。该信息文本被封装在双引号广)字符
,
你可以将17138设为帮助你认识规则的任何字符串。如果想要编写信息文本" !;&
,
!
.
3
111
,
你可以这样用该关键字:
213
注意
如果你使用! !!!"! ,该信息将从 1!!! .!!!; 文件中读取,而不是11158关键芋。 華10 10
该关键字选项将与规则匹配数据包记录到选定的日志文件中。同时仍然向?( . &文 ",该选项不可 件中指明的输出插件发送警报。当日志为二进制格式时(也就是 .106的文件发送记录,你可以加人这样的关键字选项: 用。为了向名为化" -
華「?华
该『65口选项关键字使用?16X 16 1
灵活响应)3110"模块。
011化(?! !
注意
为了使 该关键字,你必須用?1 1
选项编辑?!!。"。可以用--?I131 -&XI&卬命
令逸项配置511011。
该「6
关键字使& 「1"中止会话",这将断开与特定规则匹配的活动连接。如果你用过
其他的103,你可能熟悉会话中止。如果冈为&
使用的是单项嗅探电缆或因为其他安全特
征而不能发送数据包,这将不起作用。如果该规则被正常的流量触发,这就表明这条规则阻碍
了合法的流量,因此使用X邓断开连接是相当危险的。该『 !)关键字有许多可能的配置选 项。表12-5列出了 ! !)选项及相应的动作。 表12~5
1-6313参数和相应的&10 1活动 相应的&100的动作
,[!参数 1 1
"(!
―
向发送方发送! !1-!
!数据包
?』接受方发送'『?-857数据包 311 10111(1
1(01。
向发送方发送〖(:: ? :
―
一
数据包
14收发双方发送"!!:?-! -
11031
向发送方发
〖011
9051
向发送方发送10 ? ? ,
向发送方发送【(: ?08丁
101!' ―
―
?
11?
-
0X10:,数据
丁 -
! ―
\0?数据包
!
:丁
&
数据包
曰.10
1 1 :40【16[据包 -
905丁 -
111
.4 0
应十分小心地建立包括! 13关键字的规则。因为它很容易导致随意地中断合法会话连 接 现在常用的标准做法是创建的规则可以被 。
使用.而不在其中加人『6
关键字。先用
该规则监控大量典型的有代表性的流量,如果没有发现有误报被记录下来,那么就可以加人 关键字。为了使5110! 可以中断接收方和发送方之间的IX;?会话 可以这样使用关键: ,
!!;
。, ―
參
301
关键字类似于巧 关键字。当规则被触发时.它启用?! ! 华(灵活响应)动作。它 主要用于阻止或显示不正当化613使用尝试。当用户企图访问不允许访问的资源时 &力"执 ,
214
行下I:?复位,阻止对这个请求的相应。「" 关键字也可以配置向主机发送明显的警告。 1需要定义007 1 !;31关键字。存储在胃中的信息文本将会在主机报瞀显示,然而 ?加61 1;31文件用来包含触发的表达式。在规则的规则选项部分中必须将! 69 设为最 后的关键字才能起作用。下面是 &口的配置参数: "
疆1)1001? 國
9 111 .
墨11188 豳!)
选项阻止与?!1 11-1 匹配的任何表迖式,并向主机发送可见的警告。界301发布 警告,但允许连接完成。如果你加人/ !!! 选项, 关键字中定义的信息文字将作为报警信 息显示。&使用代理端口发 送报警信息。为了阻止特定的 ?印1- 1并向恶聿主机发送 1)10
文本,可以这样使用该关键争选项: ,
"
#
138用来指定让5000记录多个与规则匹配的确定的数据包。丁明在收集流量的记录数 据包中是非常有用的,记录流量对于事件分析来说是很重要的,但是不涉及规则中执行的惟一 特征。136关键字用于记录触发规则的某个会话中的数据包,或者在规则中设置的源主机和目
标主机的数据包。你可以指定是否记录某些数据包或为某个预先设定的时间段记录数据包。 丁叫有下面四 可能的参数: 1【 I 0011111
疆(!! 1~61:1:1011
参数是必需的, 以将它设为,&!!或 。 36531011记录相同会话中的数据包 卜05【 记录来自选定主机的数据包。00 11用来指定以秒为单位的时间长度或记录数据包的数量。 01!仅仅在与主机参数相连接中使用 ! & 标识在0 111参数中是使用秒还是数据包。 它让5110「1知道记录哪个主机数据。0; :1;0"被设为3 或&0,分别表示源和目标主机;为 1:
,
,
了在一个触发规则的同一个会话中记录500个数据包,你可以使用下列【呢关键字:
为了记录来自源地址主机60 5内的数据包,你可以使用这样的关键字: 1 6: 1
.
1, 60、
1X111
613选项关91宇
1613选项关键字支持与5001 规则无关的元数据特征 你可以用它们来定义优先级和规 则分类、外部文档资源和其他与元数据相关的信息。 ,
6 11?关键字被用于将规则与【 ?化上的外部资源文 连接:?化巧!!&代码由 文件中定义化 ―
10解释,提供了 一个到规则文档的超链接 你可以在&【6!"6 6 ,
215
化。
0表12-6列出了默认的化 表12-6
「 鉑巧
资班名称和相应的1 匕
111?: 〃
011
你可以用』选项定义特定的超链接参考资源。为了将!?包含到资源 !"?端口流 量中,你可以在16缶161106中加人 "化 !! ,如下:
3'(!
被511011输出插件甩来标识&!00规则。 !-! 本信息、
.! !)文件包括 (!和报警中相应的文
由下面的类组成:
圍〈100 二保留做将来使用; 薩100-1000000 官方5110"规则; 1000000 作为本地规则使用
。
加人510时,将它与带有相应整数的关键字一起使用。例如要指定510为1000001 加入 ,
如下关键字: 1000001;
选项关键字被用于指定规则的版本或版本号。这在跟踪规则和升级规则中是非常有 用的。我们只需要简单地为关键字分配合适的整数。例如要为一个规则分配版本号2 可以 ,
这样使用
暑01383
6
到目前为止,我们对 35
应该不陌生了 它是用来分配在
储的规则的分类。分类名作为
,
巧 .00X 8文件中存
7 选项关键字的参数。例如要将7 30-3V类型分
配给一个规则,应如下使用关键字:
參1)1-1011
1 0 17关键字用来为规则分配优先级。为1 011&参数设置一个整数值来指定该规则的 重要程度。例如要将优先级设置为1,可以这样写: 216
其他选项关键字
剩下的关键字不符合任何一类,因此把它们归到其他关键字一类来介绍。 攀!" ( :
相关的信息。它可以解析应用、程序和程序版本。当 !7 选项关键字被用于解析与 所有的三个参数都被匹配时,规则被触发。你可以用星号《 》为应用、程序和程序参数指定任 意值,为了监控1 0获取端口请求,你可以使用如下关键字: 100000
.1':
该 X'选项关键字很少再使用,现在已有了检测1 1:流量更精确的方法。例如检査 ! )!.' ~ 1 1)68文件。 攀13 13 乂 168
65关键字影响31100如何检測001116111选项关键字中的表达式。它将001 01关键 字直接用于原始的未用"!
―
1
6预处理程序标准化的1 1161数据。它使你可以检测
丁 化【协商代码。为了监控对丁6!化【非操作协商代码,你可以如下加人
3 63关键字:
「3 "七
后面是0011
1【表达式: "
1011柳:
!??
";
12.3编写规则的方法 (规则的原理,那么就可以开始着手编写一些规则了。编写 既然你现在已经知道了 规则有三种基本的方法,第一种也是最简单的一种方法就是对已有的规则进行修改或 添加。这种方法可以调整57) 1规则,使它更加有效,你可能已经进行过这样的尝试。第二种 方法是根据你知道的网络知识创建一个新规则。因为这样并不需要对流量进行大量的分析,
所以创建起来也是相当简单的。第三种方法是通过监控网络流量来创建新规则,这是最困难 的。该部分着重考察这三种方法。
12.3.1修改已存在的规则 假设你的机构中只有一台115服务器,你想修改与115相关的规则使它们仅仅应用在这 台服务器上,而不是用在每台?吐服务器上,一开始,你可能想要修改3-11-510邮件列表中 后缀为丄& (: 316
! 出的编码规则,这条规则如下: 1
丁31!"〉 8 X7
50
-
1
8
丄仃01111111:6(1 6000 108;"; 11 01 6111 :". 1111"; 1:1353151)6:1 6 313( 1 4011-3118011;
?0815 (
:
!-!],'?
/:!;)
为了使它仅仅应用于115服务器上,应改为: 1 I卬 ("!5 : \ 1
」3 【
!
/
115丄【!" :|1 3叩1101【100
-〉 192,168,1.1 5111 1 6,1"、仏: 111100111: 111 :" 11 .
? ?0 X5
;
34:《、'二 1 217
现在你将仅仅可以在192.168.1.1的 服务器上使用该规则,注意?V关键字增1表 明这是一个巳存在的规则的新版本。运行该规则一会儿后,你会得到许多误报。深人研究发 现 许多误报与服务器响应中包含丄&表达式有关,下面进一步提炼 规则,你希望仅在向 服务器提出请求时使用该规则,因为这 方向的流量可能会是一个攻击。由于后面的缘故,你 也可能希望仅仅在已建立的丁0 会话中应用该规则.阻止某些人用误报的洪水进行IX8 .
攻击。你可以加人( ?选项.如下: 8)611 1
(!!
8 1!:\1 8? \1」
:, / &
3(1
!)!!' 0111 11! 1:!" : ( ?&!:;
!]! !!"|71|&III:
! !5 "
192.168.1.1 8
'
( "(!!!! ; 00 :10 361 ―
08X5
―
―
1 681:31)113116(1 ;
:" I"":!! 、"! :;;)!!-31(3 :1 : 「6、':3:1
运行该规则一会儿之后,你会注意到误报迅速减少6不幸的是,又会产生许多新的数量巨
大的-1111规则的误报,任何时候从115服务器中请求丄 文件,该规则都会被触发。这时你 可以加人00111671【匹配选项进一步提炼该规则,修改后,我们会发现仅仅在为大批量的 (!"文 件请求编码传送时发出报警: 31 (!!!
! )) 5 ?:\ ! '
"
:
1
'
1
~
192.168.1.1
~1】3 1:1【"! 811! 6"-5)111x11116 \ : ( " 丄 ) ; 1101 : 10
!
只! 7
!! ) &1 ;
丁『311 6「-&!!! !! \ :"; !!'6111::'::!]"!!" ";
"
1111 01116111::
:
013581
6-3!]1)11 311011-21: 13
:
; 00016111 :
; 1( :40
这样修改后会减少误报。现在只有与丄【I"文件相关的大批传送的编码请求会触发该规 则。现在你需要将0158选项改为反映该新规则的消息:在注意到一段时间没有该规则触发
的新餮报之后,你可能会怀疑它是否可以起作用,想测试它是否确实可以触发。通过丁 - ! 或1 0 ,可以发送寻找漏洞的安全研究员提供的?! 就是所谓的漏洞)代码。发 送下面的消息:
9081: 068 : 1 85 03111
20
0
6111:6!']
这将会触发规则,发出报警,但是我们马上会发现,如果有人对??( 改 就可以避开该规则,修改后的消息如下: ,
?067 /&?;
丁131151 -1 011 20
0
218
."
97X /1 1
116: 6111111101
的事件做些简单修
〔53!
]
注意
此时,丁1311 61 11
;118中的5是大写的。
大批量编码规则易受简单的排列顺序影响。为了弥补这一点,你需要使 1116
规则对大
小写不敏感: 316X1 1
3 ?'X丁130
1
1呵-〉192.168.1.1
~
1 161 006: !! !-
3
61,63131)11311 (3;
圍1 11(1x1111 \ : '; 111X3 ;
1111 ; 001 6; !!!!?!:!::''?!" !!
00111:&III: : 01:111111611 ; 1100336; ( 。 (:;
?0 13
1 X1?
'!8丄11 丁\ : 1:11110 6(1"; 00 :
( - ; |11100111:6111 :
-
:??! : 卩乜! ! 1:1011-31:13011;
4855 ; 1-6(61 11( : 6,0
-2002-0364; 5! : 1806 ;
:5! ?
增加000 关键字使每个 "化 规则不区分大小写。同时,还可以加人一些有价值的外 部参考。至此,我们已经介绍完了编写& 11规则的第一种方法。
12.3.2利用网络知识创造新规则 用这种方法创建规则也是比较容易的。如果想监控特定类型的呢 内容,你可以创建一 个规则来匹配特定的内容。为了创建该规则,首先需要编写规则头。你想寻找任何 吐服务 器请求响应。
!!! !5流量建立在丁之上,因此你需要为创建那个规则使用该协议。要想监控你指定 '! ! ] !, 的任何外部地址,你可以使用8 丁变量。如果还想让该规则应用于听 服 ―
务器,你就应使用3
?0 X5变量来标识与连接相关的端口列表。最后,如果 想监控整个内部网络,你可以使用 601 7变量作为目标地址。! !"!?请求可以使用 ―
-
任何随机选取的高端端口 ,因此你应该将8 90 I卬3 !:乂丁见
―
1 8 9X1?
―
: 、2丁设为3?,这就形成下面的规则头: ―
?0 X5 - 〉 8 90應 ! ―
:丁 31
该规则选项可以指定你想要监控的内容。假设你想要对某个有名的介绍攻击技术和黑客 技术的网站的所有访问进行监控,可如下设置: (!!! :"?055121 : 0" 0101 :2; 1
丁 ;)301 X3101111 ( 。【
"; 10111:6111 : ~|130 6131011[!"; 1100336; 00 : 10
-1-111;
1 -
口! -
=1; 81(3: 1000001; 5
6 01111"的内容报警,这是黑客和安全技术人员常去的一个流行 该规则对任何包含"1 的网站。?化 化!!!!的域名经常改变,因此你不会想使用当前的域名。有些人可以通过一个 I?地址访问该网站,因此你将对任何"!3化 "内容报謇。谈规则分配的优先级为2 将它 ,
设置为仅当"10?会话中出现八0 数据包时触发。 你可以使用该方法利用网络知识创建任何简单的&101 规则。
12.3.3利用流量分析创建新规则 通过检査数据包来创建规则是最困难的,但是它也是最有价值的规则编写方法。当研究 -个新的漏洞或攻击时 通常都是采用流量分析来创建新规则。流量分析也被用于提炼或修 ,
219
改已存在的规则-
在控制环境中,嗅探分析是进行流量分析最简单的方法。如果你4、自己访问攻击代码,而 要从互联网上获得流量,你应该将嗅探器放在仅仅打开了必要端口的防火墙后面。通过这种 方法可以减少在创建规则过程中你需要记录的流量。现在假设你想创建一个监控0 11351 蠕虫的规则。
然而,不幸的是你没有那个蟻虫的复制品,因此你将不得不将嗅探器故在一个防火墙后
仅仅开放31 1 1使用的那个端口 。 是利用了 0 0351 中的一个安全漏洞,因此最 好打开端口 443/1 ,这是传统的端口 。如果你被51 攻击了 ,你应该从服务器得 到一个像 1X1】06 1X51111-01 1 』 这样的响应。一段时间之后,你使用&6 分析化口 而
,
"
"
日志发现如下信息: !.0 11.3568 〉 0 11 1 :
!!!!.)
16:45:00.58749
? 561:605(44】3 1: 987
0 7660
,
!)
:: 1 (1
. [:
45618795 157894758
0x0000 4500 18」0(115 011*6310 393? 1*111031
',.!!:!?
0x0020 6578 7061 7274 2054 4552 4636 7874 6572 ?
。;―
'
121
0x0030 6 31 2065 7865 6320 6261 7368 202 6903
1
.!
!!].
…6
,.
…
6 0945 0000 0101 0803 035112 4
(! ,)
】
&5
0x0010 0147 57(6 5445 5243 3678 7465 726(1 3120
0x0040 8018 1
:
一
0x0050 0388 0388 56
4000 3106 1369 3
61)1x531 0111 1111(5? 〉
16:45:00.68799 1 651331 8 15 210
2483
0 7542 〈
.
1
0011 1)031 ! !)~3568:
,1x ,1: 163130113 1 7 4758 45618795
0x0000 4500 0034 51
4000 4006 02813 8053 1831
0x0010 3 2 2483 01
0( 5
明
1110(11 6310
-
(!)?")
!;.爿〔國@'(:乡國國―上.... …:!
0x0020 8010 1920 3781 0000 0101 0803 0 47 58011 0x0030 035 121)0
5
(
,
--
―
16:45:110.85714 0
V !! !:
!
0
)
」?
'
0x0000 4500 0057 51
!!!, (["[
1 011.
7542 〈"( .』1
2111
,1111
2
1578
!:.
4000 4006 0267 8053
0x0010 035 121)0 6261 7368 3 20 6
1.03111,3568
1 ,
6(62
758 45618795
@ @ :
(!)?)
. .~
[!:
―
0x0020 2063 6 6 7472 6 61: 2069 6 20 7468 6973
01111101.111.1
:卜』.
0x0030 2073 6865 6 6 0
第一个数据包包括一个00016111表达式,它对于这个蠕虫攻击是惟一的。下面两个是你用
来发现攻击时服务器的响应。你可以使用丁
; 6X60 1
-1来创建那个
特征。
从规则头开始,你应该謇告来自任何端口、任何外部源输人的丁0 流量。让该规则仅仅 应用于你的识吐服务器,并且指定端门。 3161-110(1 3 2X7
1
―
1
1
8出丁? 328\ ―
5 443
为了建立该规则选项,利用你找到的000的"字符串,注意不区分大小写。你也可能仅仅 想对设置了 220
标志的丁(下标志报警。
'
!
; 000口「;0 1:7:1;
!)
同样为该謇报分配优先级为I,这样你就可以得到实时报饕了。完成后的规则如下: 31化10
3
71
1
1
1 ―乂 - 〉 5
7?
30
83 443
―
这就完成了监控31叩 「蠕虫的规则。显而易见,编写该规则的一半工作在于识别含有确 切攻击的正确数据包。当编写新规则时,可以去51101 社区寻求帮助。很可能其他人会有一 些信息、资源或共享的数据。 注窻
当创建基于观察的网络流量的规則时,应确保你 发的内容对于攻击是至关重要的
。
12.4小结 本章介绍了 ! !!规则编写,详细地讲述了 511011规则语法,然后介绍了如何利用该语法 编写具体的规则实例。
创建有效特征的目的是编写规则,这些规则专门匹配你想发现的网络流量。为了编写你 想让它们触发的规则,你必须仔细研究,找到可以与该流量匹配的惟一个特征。 5 1 规则有一个基本的语法,这就是必须将那个规则合适地粘附在匹配流量的特征上
。
违反了 5 !"I规则语法,50 1规则就不能被载人到检查引擎中了。 5 11规则最基本的句法 要求是可以单独成行。一个51100规则被划分成两部分:规则头和规则选项 规则头定义了 报謇的类型和监控的协议、化地址和I?协议端口,规则头是规则中第一条语句部分。规则选 。
项由实际特征和已分配的优先级组成。规则选项的特征部分用一个或多个选项关键字表示
。
这些选项关键字被用于建立你的检测引擎想要监控的流量特征。 总的来说,编写5110 规则有三种方法。第一种是修改或添加已建立的规则 这也是最简 ,
单的一种。为了调整5000使其更有效,你可以采用这种方法。第二种方法是利用网络知识 建立新规则。这种建立规则的方法也是相对简单一些的 因为它们不需要对流量进行分析。 第三种方法是通过分析流量建立新规则,这是最难的。 ,
221
第13章升级和维护811011 任何一本介绍复杂软件包的指南都应该有一章专门来介绍该软件的升级。在某些方面, 你需要对5110!"I做一些重要的改动以保持它的相关性,比如升级规则集,修改配置选项,最后 升级&!00应用程序本身。本章将介绍这些内容。 有几种不同的方法可以升级3 "规则集和修改配置文件。第一种方法是坐在安装有 3:10 的计算机控制台前修改,这是最简单的一种。你可以用一个文本编辑器来进行修改,将 修改后的文本保存后重新启动 01 。另一种方法是使用839远程访问机器,进行修改,然后 重启51101 。这两种升级和修改配置文件的方法对于小的5110打安装系统都是实用的。但如 果你运行的是服务器 传感器的混合型,或者是用一、两个传感器构成的分布式系统,虽然这些
手工方法也是可取的,但手工修改五个.十个或者十五个传感器就会变得相当困难,并且很费 时间,因此使用5110"管理应用软件来自动修改就相当明智了。这并不是说你在小的分布式 系统或服务器 传感器混和型系统中就不能使用一个; 0"管理软件,只是在这样简单的系统 中不需要。
在过去的几年中,出现了许多应用软件,使对&100的管理变得更简单直观。这些应用软 件中的绝大多数有升级和修改大量传感器配置的0111图形用户界面。本章介绍的两个应用 软件分别是人侵检测系统策略管理器003?』巧"31 00和 !!。! !! !"。人侵检测系统策 2000/ ?应用程序,它可以管理基于,〖乂的安装系统。 略管理器是一个化;!! 31101 011时是一个基于&1011 161)111111插件的化吐应用软件。是一款通过浏览 器管理基于!
!
主机的各种服务的管理工具。
通过修改规则集和配置我们可以升级3110 最终,你将不得不升级51103 二进制文件本 身或是其应用程序的另一部分,这实现起来是困难的。将&!03旧版本中同样的配置与最新 的发行版合并在一起可能会非常困难。从& 1 的一个版本更新到另一个版本,常常需要修 改&101 000〖和后缀为100068和'!! 文件的语法。这意味着旧的30 1 ,?"和其他配置文 件的版本将不随着新版本被载人。新版中可能包括你想使用或需要使用的附加特征, 因此也需要讲述这些改动。
13.1选择500「1管理应用软件 3 01-1管理应用软件的选择主要取决于你最常用和在你的分析控制台上安装的操作系统 类型。 器
如果你决定使用基于化; 0 2000的分析控制台,那就可以使用人侵检测系统策略管理 如果你使用的是基于1 化配置的分析控制台,就不能使用人侵检测系统策略管理器
。
,
因为它只能运行在恥"0?2000/ ?系统上,这时,就必须使用31101 1 11 于脚 )的,因此它可以被用于化;1 0 或控制台。 222
5
,
!"【1
11时是基
13.2入侵检测系统策略管理器 人侵检测系统策略管理器是一款用于远程管理511011传感器的 "。 《( ((/ ?应用软 件 可以用它来修改51101 配置和规则文件的设置。人侵检测策略管理器可以访问绝大多数 。
01-1配置参数,包括: 攀1 61 01-11?!";丄 "网络变量); 攀1 1116 1:13 :61:3 01 (规贝1】分类门
I1! !"00 30巧(预处理程序入 01 01 口!! !! 输出插件); ,5110!"I 00111111311(1-11116
11:01165 51101-!:命令行选项〉;
攀&1)16 1 出! 规则集设定〉。 这些被存储在所谓的"策略"中,不同类型的传感器上创建有不同的策略。你可以在内部 传感器上创建一个策略,在外部传感器上也创建一个策略。你也可以创建一个事件响应中的 策略。因为你可以容易地回滚到工作状态,所以策略是一种测试新特征和新规则的好方法: 策略可以从官方511011配置和规则文件中创建,也可以从零开始、或者从传感器中存在的 策略创建。当从传感器上传或下载策略时,人侵检测系统策略管理器利用包含?化化的 包。这使得信息获得认证,同时会话数据被加密。
13.2.1安装 可以在111卬:〃
."
0001/30
10&( /;! ?丄加下载到人侵检测系统策略管
理器。
解压文档,运行人侵检测系统策略管理器 执行程序。安装后,启动人侵检测系统策略管 理器。第一个任务是在传感器管理器中加人你的传感器。单击传感器管理器的&!!?!"
呢 纟传感器管理)标签,选择
传感器菜单),单击
36
7(加人传感器
从这儿可以在你的5110! 安装程序中加人所有的传感器。加人与你在 !!。! 系统中安装 的传感器一致的传感器信息。值得注意的是以下几点: 确保使用作为上传的协议
。
没有它,你将不能从传感器或加密的会话中下载设置
好的配置; #设置上传的目录为&103配置文件的位置(例如
,
化厶1100700110 ;
当选择一个策略时 你可以使用官方的策略。学习本章的过程中,你将修改该策略,以 ,
反映传感器上的实际配置。 当所有的传感器被安装好之后,人侵检测系统策略管理器见图13-1。
现在,你可以为每个传感器下载设置好的配置。在&!!8 上点右键,从3 30!"下拉菜单 中选择! 出! 化六下载策略),在人侵检测系统策略管理器中载人设置好的配置。如果有 几个传感器使用同样的配置,注意只需要下载一个,避免重复。 注窻
当栽入配置文件和所有后缀为.111168的文件时,入侵检测系统策略管理器将省去其 中的所有配置文件的注怿和添加的 !"01 文件。 223
1/1卿』,11醒
' ――――――
8 ',,
'
一'
.
,92,681!1
011
5|
,89
图13-1传感器管理器
从传感
下載完设置后,你应该将大多数当前的默认设置加人到策略管理器中。 选择(!5。! 胃 )策略管理骼标签,然后选择?。 策略)菜单。单击八"?011 选项。 向5000未改变的配置文件中加人正确的信息。命名该策略为"( & "或与之类似的名称。 13.2.2配置
力了升级每个传感器各种各样的配置,你需使用策略管理器.浪略管理器被用于创建、修 改和删除应用于任何数量传感器的策略。在本章前面介绍的安装部分中,你应该向策略管理 器载人各种独特的策略。本8?分解释如何在入侵检測系统策略管理器中配置各种各样的选 项 但珐不复制500!"I配置选项功能的文档。参考第3奪"剖析8000"和第10拿"调整和减 ,
少误报".那里 细介绍了 5000配置选项
双击你想修改的策略。这样就将策略载人策略编辑器。在这个窗口中.你可以编辑需要 條改的策略。选择没置标签査看常见的!? 配置设置, 86111088子菜单可以声明或修改已存在的网络变量。你也可以定制规则类别《映射到 01835 08 00.000〖谂文件)。如果(:!咖,8(1005郎分是空的 检査01858 10811011 00 文 ,
件是否位于你加人传感器时指定的目录中。如果你把它放在不同的位置.应在传感器 的文本框中指定正确的目录路径
鲁川加;叫和 叫子菜单是启用输出插件的地方 通过单击该选择框可以启用相应 的輪出插件"八161 08子菜单包括50008 配是第14章"高级活题-中 ,
讲述的一个人浸防范应用程序。 "? !"5子菜单定义了策略中使用的预处理程序。你可以在这个子菜单中启用或 攀 禁用任何预处理程序和它们的选项。 # 0 110.1 了-菜单使你能够改变或修改50011命令行选项。你可以通过该子菜单访问每个
命今行选项.甚至某些模糊的不常用的选项你也可以重新安排规则的执行顺序
。
9最后一个子菜单0181001
1;0113 允许你启用、修改并创建规则的动作。这儿你可以定 ,
义特定的蚬则动作应用到规则中去11定义的规则动作主 224
于使某个特殊的5
1
规则使18不同于其他规则軀使用的输出插件
设置好配置选项后,你就可以修改你喜欢的规则了。单击左边面板1: 518 1 显示规则 列表。通过选择0 1005菜单可以将任何后缀为,?10 的文件和主规则集合并在一起.然后向 策略中添加后缉为的文件―选择后缀为411165的文件.将其合并到规则集电。 选中一个与规则类相关联的选择框将会启用整个的规则集,你可以以同样的方式选择个 别的规则集如果要禁用或启用应用于特定1?地址或端口的规则.你可以通过从0 1005桀 1? 0 来实现这几你可以应用你的网络知识迅速地整理 单中选禅&181 /0981 规则集。禁用那些包含你不希望监控的端口或
地址的规则是减少5000所 处的处理能
力数量的快速方法。 注窻
在規则集上,一个空白选株框并不意味着整个的規则集都已经被衅除了 集合中哪怕只有一个規 没有被选中.整个的娩則选项都将被剩除。
因为如果
如果你选择了 一个规则类.右边面板将显示所选择类的配8厲性页。在此,你可以修改规 则头和规则选项,如111 13-2所示
75011001 !0910 3(10 一,
0
-
1
2 0
0
生
一
"-"
3 3 " (
―'
,134 014010
0
00
0X031
一
口―
1 5 "口 3? 3」'"', 。,―,―,, 5
~
!
:! !
身!!
!
. 01X0*
00 VI01 16IV 0000917? V V 74 ! '
,口 , -
" "一
1
7
"麵藝"曜 ,
'
,―
』
-
III 13-2用11)6系统策略管理8!1修改埂则
你可以通过选择相应的资36表格査吞外郎文档资源的链接。该表格将1016
1资源载人
到人浸检簡系统策略管理器中的浏览器里。
义61'规则集之后,通过简 地选择传感器管理器表格和选择& 化菜单,可以将 则 应用于传感雔或传感雔组。在该菜单中.你可以用各种上传的传感器选项升级所有的传感器 或攀个传感器,升级完传感 后.霱要手工重启5000后台程序。 225
这样就完成I"入侵检测系统策略管理器的配置。正如你看到的那样,人侵检测系统策略 管理器没有向 101 中添加重要的新功能,它仅仅使升级和管理3 11配置文件的工作更加简 单了。
13.3
3110「106口16「 011(
1是一款基于1吐方式升级和维护51100配置的管理应用软件。它与人侵检
测系统策略管理器功能类似,但使用的是?! ?/
!)界面。51101 06111&有一些人侵检
测系统策略管理器没有的附加特征.包括:
后台进程状态监视器;
,;
远程停止7启动启功能; 用户的访问控制:
(
瓣与八010集成; 传感器绀
。
&10 011
包括棊于「14?的管理应用软件和代理:511 101 61管理控制
台安装在511011服务器上,而&10 00161"传感器代理被安装在所管理的传感器中。& 16!:增强了可能安装在分布式系统上的&1011 ,服务器端霈要如下的软件包: 慘
30 ;
攀?
?;
擊 00013;
參0
351;
歲I
。
这里,除了 (:!;! 软件包,其他的软件包应该都是大家比较熟悉的,因为绝大多数的操作 系统都包括这些软件包 !!。!!! ! !:管理控制台可运行在 !!& 、! !! 和650系统上。 3110「《 161"传感器代理需要安装在基于操作系统的上。该代理在一些附加的预 编译程序帮助下可以运行在基于V/;"0?5的传感器上。
13.3.1
&10110611
的安装
本章在介绍安装过程时,是假设你巳经选择了安装, :10。因此你应该预先在作为3110『1 ) 和0 11531 。你可以将5001~10 【 安装 服务器的机器上安装\ 30 ,八! ,!1 ?, 在11 0 3或,〖乂系统上。 31X
( 111饤管理控制台
在安装0 0611161"之前惟一还需要安装的软件包是(:口! 这是一个不需要用户干涉通 过1/既传输文件的命令行工具.它用于管理和控制51! 传感器。
绝大多数的匸"
和230发行版中都默认安装 1
检查在86」上是否安装了诙软件包:
226
1软件包。你可以通过如下命令行
诙命令行将会査询包含了 (:』字符串的软件包.如果你没有安装丄;1 (:"!"1丄3? 0: 10 丄1:1111处卩载。 下载解压包后,编译并安装,装好之后.再从// 处下载
。"( "
.
1X
,可以在&-' /1
/(10
。
为你的操作系统下载合适的 ! 管理控制台。在; 吐文件根目录下的一个文件 / 夹里解压3110110!1时文件〔比如,/化!"/! 厶! 厶! " 时〉。将那些文件复制到 一个 0 00 文件夹里之后,还需要通过 !! .!; 文件配置31X 011 。打开该文件编 辑配置如下变鼂:
出设定赳 108库的位置。如果你的安装是严格按照第6章中的说明进行 这里应该 为& /!化 !厶!!化! / ?;/ !出匕确保后面没有斜杠; ?11 1可执行文件的位置。默认情况下 化该变量应设为01 被安装在々 / ,(;! -
的
,
―
这里设鬣你听安装的数据库的类型 如果你安装了 ! 作为人侵数据库,那 么应设为01》'巧1; 鲁08 1131116这是你在下一步中要创建的&1000111611数据库名,设为31101 "或类 081
,
-
似的名称; ,! -
110
【冗 ―
4051是&100服务器的主机名,如果500 ::
"管理控制台和数据库
安装在同一台计算机上,应将该参数设为1003 0 ; 08 11 登录数据库听用的帐号。应该为8: 0 ! 软件包创建一个单 01 数据库,这样,攻击者获得认证信息的方法将限制在 独的用户来访问 ! 30011011161"应用程序中,这个用户需要有3 :1X0?, I川5! '1-,11?1 \11:和1 :【卫丁5权 ―
限; 參08 ―
!5
数据库 用户的密码;
0
-
1-1 08 ― 1 1-1是数据库运行的端口号,如果你使用1003111051作为08 1103【,可以 不必定义该参数;
1 8
―
311 6111 11011读变量为&10!"1011化「设定用户认证特征。如菓设为1 &!:)!0 161"用户必须在进人&101 011【61"工作之前登录管理控制台 如果设为0,任何可以登陆 ,
―
,
8001-1服务器的人都可以访问基干的控制台; 该变量应设为一个10位或多于10位的整数组成的随机字符串:. 1131 变量指定的数据库,苣先需 保存修改并关闭 "世. &下一个任务是建立138 要登录 数据库: 60
―
巧
―
-
创建&
(( !!
数据库,命令如下:
创建好数据库之后,在V/ !1"
://!1110614110"化1116
浏览器中就可以看到 !!。!!!:' 【61管理控制台《地址为
了。当载人该页时,1尔需选择八!
菜单中的7
1 165
选项,如图13-3所示。 227
1
、
,
1
一
&,'?,
1
11 13-3
叫;
,"
-'
!,'建立表
111 1 这里建立了 8110006111 需要的所有表你也可以用位于181 11的!40000601 脚 创建它们。这就完成了 5 111' &『管现拧制台部分的安装,第一次登录时.你喬修改用 户名8
1;!!和口令,
511011060161"传慼器代理安装
13.3.2
要完成&100001 !"的安装.还霱在你想用800006013管理的传感器上安装 !! !" 传感器代理。这部分主要讲述11 IX环境下该代理的安装。 安装基于的代理霱要? !, !? 匚和1 1模块1 1: :581 前 我们已经在
传感雜上安装了 0
551和?",现在只需要进行1 1::551
模块的安装、1你可以在网址
1111 : // .0 811.01 下载该模块. 下载并安装I: :881 ,首先在源目录下执行下列命今: 13(1-1歸""(!丄1!! !
11151011
安装好? 1: :55
模块后,需创建3 0( 111&传感器代理所用的目录 即创逮下列 ,
目录
/
/!
/ !
/
/!
/
/
/!
/? !
!!
/
!
/! /
接着,你还霈为800 0111 01*0*41岡00 -11509
&
创建一个351证书。用下面的命令行创建它: 365 ~ 111X113 -0111 !100110311(1
1X111
.
将!4001 000161. 111文件复制到71131 003|八001108016!"/ "目录下
装81101100161-传感器代理了,在11【1口:〃11361
现在你就可以准备安
卩
, 1)6/181 /(10 11108(1/1 址-卜载合适的
版本'1
将文件解压并移动到71
10081400打06016!"7目录下。运行安装的4』脚本:
8(1 90I I( .*(1
安装脚本会向你提出许多问题.你已经为3000和511000 1&创建所需的文忭夹
.
228
当洵
问时依次输入这些目录,代理可以运行40 ("了端口上的,可以任意指定.们&记 你选择的是 哪一个端口 指定500110: 1"管理和侦听的网卡II5地址当出现启用551选项时,选 〃
择、、
你也应该注意记住代理的登录名和口令,在管理器控制台中输入认证信息。最后的选项 是设置5000服务器的I?地址。这样就完成了 5000061118传感器代理的安装:重复这个安 装过程,为你的5000环境中的每个传感器安装代理。 13.3.3配置 这部分包括如何配置5 110 X61"里的各个选项.而不复制与51 配置选项相关的文 档 如果想要详细了解 100配蟹选项.请参考第3章和第10聿,,耍想升级传感器的多种配 1 ,必须首先在5110 0601 管理控制台中添加它们。登录50 0 !"管理控制台,从56113 00. 1?菜单中选择加人厶"50)901-0输人4你要加人的传慼器一致的信息,如图134所示。 。
義I
二 3 /
((
站,抑(!
?!
! ( ! !
。 一
014"(!!"6001
图13-4
在80001*111
中加入一个传感器
当运行咖"劍脚本时,传感器使用的用0名和口令是你选择的认1)1信息0当 (: !"启动8000后台迸程时.你想要使用的是8. 1命令行1当传感器被加人时 在主 页面将显示它的状态:在这里.你可以开始、停止和重启传感群二传感器随着传慼器厲性中指 .
定的3000命令行启动。
加人所有传感器之后.你"I以通过使甩
&!
加 菜单中的0*316 361130? &0! 选项
来对它们进行逻辑分组。设 的 则和配置可以!,;/: 1||厂噥个的传感器和传慼器组。 8000配1:选项由(; 丁 菜单控制 你可以通过该菜单修改网络变量 预处理程 序 输出插件,规则类型和分类级别: 你也"I以 1 16菜单启用、禁用、蟓改和创建规则 规则列表见图13-5。 你 以化下面的下拉列表框屮査看规则分类上 面的下拉列表框将规则柒; 9于一个特 定的传感器,传感器组或默认的传感器配置. 、
、
.
229
如紫单击规则相邻的 !.图标,将显示某规则的规则编辑页。在这14 1以修改选&规则 的规则头和规则选项,(尔也4以使 卜1 ?选项创建一个新规则:,另外,! "菜单的 6810 1 16选项允许你从头创逑新规则 0;
6* *1
,國
泠1001*10*1 11
厂
?,'"
: 11111
*
11
攀'I ,| IX0*0 * 11 ― 0*08- *0 11 9*1 0| 1 4*11一'(!".') !"'"", ,"! ((!薩,"3! 0!"", *
",
.
(041 41,1 (
,门"4, 1,
''
《"!1,
"引||
VI拳!)。。, I&
"! I '! 1-
,11國' I
01 10710 41 "?!
一'
19 43 69 48
3""件I
鬧II柳I
19 15-5規则列表
1011)00/111x1310 811 选项允 你在&100,0巧站点或一个本地文件中从官方550011规则 集插人新规则。新规则畎认 无效的.你可以把它们加入到某个传慼器或传感器组屮,;| ('! 1
65 !8;面将其撖
13 4
升级500(1
16
升级&100的过程是相当困难的,特别是第一次。一般地,每隔几月就发行一个新 版本.这意咪着你可能要经常/1级 .!"!:新升级的5000会加人检脷新类型恶意流&的功 能 使检测恶應流量变得更容易,升级也公幵广新抗躲避检測技术.弥补了软件的漏洞 .
升级50011应用软件的第一步是重命名50011执? ?程序:你应该用与51100钣本一致的描 述性名称为其重新命名,你可以用以下的命令实现: 则900 1 3X10-2.(1
现在你需要下載新的5(1"口源码.把它放在一个与当前源文件夹不同的文件夹 (如7 118
00
!3101 2, 1 〉,这样你就不
要覆盖以前的版本了。
如果没有记住编抑凼二进制文件的配置行,你可以检査旧的配置文件 在旧版本的编 辑目录中,你可以找判文件00 8灿 。打幵该文件,査看最前面的几行屮的选项 切换判新的源文件夹.用这些行来为新50011源代码创建配實命令:,例&11 如果你 :
。
,
的8000安装稃序使用!
?
楔块.你就可以用如下的命令行来配跫:
现在 以运行11121 和10551311厂.你可以用V参数检査新二进制程序的版本 230
,
如下: 531011 - V
注意 这里的V是大写的..
既然整理 1广新的二进制文件.那么你还需要找到在5化"配置文件中所作的全部改动。 配 文件修改最顿繁的是5 "丄0乩: 「 卅文件中配置要载人新的预处理器、输出插件 和网络变量。
手工比较新旧300化 00【文件是一个乏味的过程,而且可能导致错误。可以使用3"命 令9动比较―0 00"文件新旧版本的不问。然后你可以利用 "命令的输出来改变新版本 的3!。" 一 0001文件。
箏一步是比较在源13 311中发行的默认 。!
旧版本中默认的3110!"
"文件的变化。对比新的5110玟丄0 和 "。如果你没有旧 !化" "文件的复制件,可以从 化坑网站下载
旧版本的 出311。执行出〔[命令行找到两个文件的不同: ,''|
[1/',〃0化/、,:
: 1'''。( 1'、:、―
力
,
1!
这可以显示你在默认版本屮做的改动。注意每个改动.如果 01:1.0 (文件中的语法不 正确,?; !!将不能载人或者行为异常。 接着你需要重复执行出6来找到前面3000.00泔版本中你所修改的设置。你应该在新版
本中重新执行
!.
中的修改。运行&〖〖命令找到这些变化:
这两个输出一新&0 版本的改动和 )".(種(旧版本的改动一一 6录「你 需要; 新?; "版本的 "文件岍做的修改,完成这 改动之后.在新的执行目 ,如下: 录中复制新创建的?卅文1牛。通过使用幵关可以检査新的? . 5。。11 -丁 ,「 511011 ~
这应该输出&1011载人配置文件中发生的所有错误。 如果没有问题,将配置文件拷贝到 !0 文件夹里。你应 复制下面儿个文件: 攀 13 1 1 311011 0011?!
攀
1-11152
0132
.
! #
-!1 一
!! .
"、印
11105
你也可以为 171 &.?泔进行同样的操作。 如果要修改数据库结构,必须手动修改数据库表,,你可以使用出 命令行找到两个版木 &中的 脚本之间的不同。如果对数据库结构作了比较大的改动,你可以为新版本 的&1011创建完整的新数据库。
231
13.5小结 本章讲述了 「! 置选项和 ! "应用程序杏身的升级,讲述厂两种自动升级配 置选项的方法。这 种方法都使用了为管理5 "传感器而设计的笮三方应用软件。本章中 涉及了两个应用软件,分别是人侵检测系统策略管理器和5110「【0?&。人侵检测系统策略管 2000/ ?应用软件,可以管理基于的511011。 51101 061116!"是一款 理器是一款则!! 在每1传感器安装代理的基于
』的管理软件。
管理软件的选择主要取决于你所熟悉的操作系统以及分析控制台上安装和运行操 作系统的类型。入侵柃测系统策略管理器是用于远程管理& "传感器的XV0?5 2000/ ? 应用程序:它用于修改和设置3 I配置和规则文件。人侵检测系统策略管理器可以访问绝 大多数的&100配置参数:.
这些参数被存储在所谓的策略里。在不同类型的传感器上创建不同的策略,通过策略管 理器管理策略,策略管理器用来创建,修改和删除应用于任何数量传感器中的策略。 3 710016[是一款基于化吐的管理软件,。'以用于升级和维护&0「1配置设置 它与人 侵检测系统策略管理器有类似的功能,但使用的&? 口 1730[化4界面,311 0 还有 一些人侵检测系统策略管理器没有的额外拎征 5 0!"I&包含一 基于1*14?的管理程;?和?!! !!&! 代理: ! &!!化!"管理控制 !"传感器代理被安装在所管理的传感器七。8110 ~ 台被安装在服务器上,而8110! 。
:
(
( 的安装步骤比人侵检测策略管理器复杂,因为它包括配置每个传感器上的代理 升级3:10"的过程相当麻烦,第一次升级会遇到很多麻烦。一牧来说,每隔几月就会发行 。
"新版本,这意味着你可能需要经常升级&101 。通过使用4"命,升级500「【可以 找到新旧版本?"文件之间的差异: 一个5
232
第14章入侵防范高级话题 本章讲述用 10"进行人侵防范的相关技术」过去的几年中."入浸防范''这个术语曾在 1138领域引起过许多争议。一些供应商把人侵防范作为人侵检测的下一次革命,其他人则仅 仅把它看作一个神话。本章不是把焦点放在这些争汉上,而是叙述了两方面的观点,让读者自 己来判断。如果你深人地了解了这些并配置了一个5)101 人侵检测系统,那么你将领先一步, 可以做出自己的决定。
在第12章"基本规则的编写"和第9章-其他操作系统下的安装方法''中,你已经用 「1 1 模块和规则进行过一些人侵防范方面的尝试。本章将向你展示两[与51101 交互操 作的人侵防范应用程序5 04 I疝化修补程序和&103! 并说明它们在什么情形下使用 最佳。 人侵防范应用软件在一个方面上与人侵检测系统类似,那就是将正常活动与未授权活动 区分开。人侵防范应用稈序,像人侵检测系统一样,都有一套特征值或者预定义的条件,当符 合这些特征或条件时就会触发一个响应。但是就103和入侵防范应用程序两方面来说,响应 本身是不同的。
众所周知,人浸检测系统被设计来对未授权的活动向人报警。其中一,潜在的概念是当 确定是否是真正未授权的活动时必须有人在现场进行判断。人侵检测系统假设当怀疑有人人
侵时只有一个非常熟练的103分析员才能最后对正确的活动过程作出决定。因此,当发现未 授权的活动时,人侵检测系统将尽力向人们报告潜在的未授权的活动。 与此不同,一个真正的人侵防范应用程序在人侵检测过程中不存在人的因素。人侵检测 系统分析员是整个人侵检测系统中代价最高且最不可靠的因素。人对一[人侵做出反应需要 /1个小时或几天 这对于防止损失发生往往太迟。更好的办法是自动地对人侵检测系统采取 正确的行动。这样的行动包括丢弃或''过滤''与特征或预定义的条件匹配的数据包,这种数据 包往往暗承了非授权活动。同时,当某一源】I5地址触发了响应时,将会阻塞来自该I?地址的 所有流量。另外,基于1411)5的人侵防范应用软件可以禁止指定的程序或用户帐号与其他程 序或操作系统进行交互。 ,
14.1
一个关于入侵防范的警告
在字面上,人侵防范好像是一个好的想法。机构可以在整个网络基础设施的关键节点上 闳单地配置人侵防范检测传感器。当攻击发生时,应用程序检查未授权的活动,以光的速度阻 止它发生。不需要与任何人交互,不需要半夜叫醒任何人,最重要的是.公司老板可以在晚上 安静地睡觉,而淸楚地知道攻击已经被自动阻止了。 不幸的是,在现实中,这是不可能的。关键在于判断活动是否是非授权的技术上 这种技 ,
术对于人侵检测系统和人侵防范应用程序是相同的。这就意味着人侵防范应用程序倾向于解 决人侵检测的所有问题,但这将导致潜在的破坏。对于入侵防范 误报将可能使你的整个网络 ,
233
瘫
报告,而是不需要人为I预自动地采取正确的对策。如果出现误报,入侵防范程序仍旧按设定 办法采取行动,这些行动可能包括在411 上限制用户使用该程序、阻塞产生误报的【?地址 的主机,或滤掉并更正与特征匹配的数据包。这样.如果发生误报的流量中包含机构的重要数 据 它将被丢掉。如果源化地址是重要的商务合作伙伴,那么将阻止合作伙伴访问资源。在 入侵防范应用程序中,误报将导致严重的后果。除非误报从人侵检测和入侵防范应用程序中 ,
几乎完全消除,否则这些问题将会永远存在。 &侵防范应用程序的另-个严重问题是它们可能被间接地用于攻击网络。无论仟何时候 你有基于预定义环境的活动响应,攻击音都
以重建那样的环境来破坏那个响应。 01和
&攻击将对入侵检测系统产生大量误报。攻击可以潜在地使 恥! 过载,或最
可能的是,使入浸检测系统分析员烦恼.很难在洪水般的误报中找到真正的攻击。同样,针对 入侵防范应用程序的 &攻击可能阻止部分重要的互联网通倩到达目的地。它也可能使那 攻击者了解你的网络,他可能毫不费力地阻止与资源相联接的重要网络的访问。因为II1地址 很容易被伪装,攻击者可以使用入侵防范应用程序阻塞任何他选择的17地址的访问。攻击者
可以伪造机构所用的0 5服务器的地址,用包括该
3服务器
地址的数据包进行攻击。
由于这些原因,人侵防范应用程序可能是危险的。由于它们产生的问题比起到的作用还 多 人侵检测领域内的许多人并不看好人侵防范应用程序。人浸防范只能用于某些特定的小 ,
环境,直到区分授权与未授权的技术从根本上得到提髙。
14.2制定入侵防范策略 既然你已经了解到了入侵防范应用程序中的一些潜在问题.那么你应 意识到计划人侵 防范部署与计划人侵检测系统是完全不同的一个过程。由于大量的误报将会对许多人和程序 造成拒绝服务,因此在入侵防范程序屮同样运用配置5110 的策略将导致严重的问题。 配置人侵防范的过程比安装入侵检测系统需要的时间更长、花费的精力更多.在?!! 中 一个误配置的选项或规则可能仅仅影响入侵检测系统本身 而在入侵防范应用稈序中,误 配置可能摧毁你的整个网络。 在你的机构中计划一个入侵防范策略的第-一歩是定义入侵防范所适用的位置和环境。因 为&侵防范应用程序自身有潜在危险的本性,所以你应该仅仅在所选的环境下配置它们。 .
,
入侵防范所用的设备可能成为一个脆弱点。一些入侵防范应用程序 特别是网关105和 包过滤器,必须放在所保护网络的前面,像一个防火墙一样。当部署入侵防范设备时,你应该 考虑新的脆弱点,计划一个备份策略。这与在设备上产生一个错误或额外地预防确保人侵防 范计算机完全多汆同样简单,包括创建一个不需要硬盘驱动器的1 1磁盘入侵防范设备 就 ,
,
像木章后面所讲述的那样。
决定将人侵防范系统放在何处的好办法是考虑被它影响的系统的优先级 如果首要着重 。
的是系统的效率,安全性是次要的,那么该系统可能是人侵防范系统保护的次要对象 相反, 如果系统的安全性极为重要,效率方面潜在的降低可以容忍 那么该系统应该是入侵防范的首 。
,
234
选对象。下面的部分将讨论人侵防范适用的一些特定环境。
14.2.1未打补丁的服务器 人侵防范应用程序对于带有服务器的网络最大的价值莫过于提供所需的安全补丁级别。 服务器可能由于种种原因未打补丁,主机中一些关键的软件包的功能常常会受到补丁的影响. 因此服务器会处于未打补丁的状态。另外,网络环境如此大,给所有的服务器都打补丁是绝对 不 能的。还有一些网络管理者没有安全意识,觉得给服务器打补丁太麻烦、 无论服务器未打补丁的原因如何,重要的是人侵防范应用程序都可以给你帮助-你可以 创建一个与当前潜在影响服务器的漏洞特征相匹配的规则,.对于该规则的动作,你可以配置 个数据包过滤器阻止与该特征相匹配的数据包。用这种方法,你可以保护未打补丁的服 -
务器。
14.2.2新的漏洞 从漏洞被公布到有相应的补丁出现之间通常有一个滞后的时间。在这个非常时期,商务 重要主机极易受到攻击。在这段时间内,服务器管理员常常不得不采用安全人员或提供商所 建议的对策-有些对策可能是很不实用的,解决方法往往是关闭易受攻击的服务。 在这种情况下,运用一个人侵防范应用程序可以有所帮助.你可以载入一个妓该漏洞触发 的特征。
14.2.3公开的可访问的髙权限主机 对安全性要求极高的主机.比如与国家安全相关的服务器,金融组织转帐主机和在线医疗 数据库服务器,都是可以考虑选择入侵防范系统的。你可能想让入侵防范系统在-段时间内 将可能攻击者的I?地址挡在门外,或过滤掉众所周知的与攻击特征相匹配的数据包。 在这样的情况下,只要认为安全性比效率更重要,人侵防范就可派上用场..
14.2.4从不产生误报的规则 某些特征或规则的误报率儿乎为0,正常情况下发生这神流量特征的可能性几乎没有。 例如,检査带有源I?地址和目的I?地址相同的数据包规则,没有一个应用程序发送源I?地 址和目标I?地址相同的数据包。 没有误报的规则可以被安全地应用,你可以配置一个数据包过滤器降低这些类型的攻 击 而花时间来关注老练的骇客所发起的攻击. .
人侵防范有许多其他潜在的应用场合,以上几个例子,可以帮助你从正确的方向思考 在你了解了人侵防范所适用的场合后,你应该用标准的方法安装人侵防范软件。本章中 。
详细讲述的是& 恥!!人侵检测系统中加人新的功能来自动响应规则的触发。当安装人侵防 范系统时.你应该先用日志或报警动作来响应触发的人侵防范规则。当规则运行一段时间之 后 观察输出结果,并不断地检査误报。如果没有发现任何误报,那么你就可以启用该人侵防 ,
范响应功能了。在此过程中应确保不要改动该规则。显而易见,如果你测试的时间不足一 星期.像前面描述的新漏洞情况那样,你将不得不这样做。 235
14.3
80011 101106修补程序
3000 1111〖116修补程序包括一个独立的应用程序,即90 本
11
。
11 ,和一个打了补丁的50011版
90( 8 代码和5000源目录合并,这样可以利用5000应用程序的重要功能。5000
修补程序使用了 500『1数据包解码和重绗的特征,例如流预处理,使人侵防范系统更有效、
更完整。
5000 1』化修补程序使用熟悉的!13 1)163和巾 (!此此获取和转发数据包。你可以使用 庙169在安装有800 1 ! !; 修补程序的机器上创建一个防火墙。90 8 本身有转发和获 取数据包的代码.它虽然更有针对性但是不够灵活。本部分专门讲述&10 1 化修补程序。 3511代码,这部分也将会很有用, 然而,如果你想使用1 ―
当规则触发时,装有5加 I I疝加修补程序的5
!将会发出一个人侵防范的响应,为了
达到这个目的.装有&的主机必须位于攻击源和目标之间,见图14-1。于是,所有的流黧 必须通过装有101; !? ! 防范型?! !!)的计算机完成。因此,你必须在运行5000 101106修 补程序的机器1:安装两个网卡(! 汇)。一个连接5000的外部网络.另一个连接内部网络。
未打补丁的雇务機
0
公 101
1; 51!。"
优先88 机
图14 1
I汕加500
耽5000网络
与正常的5 00传感器有相同的功能。你可以配置管理控制台.如/ :旧 用 .
573106-08实时报警.用例如人侵检测系统策略中心005 ?0110 (打)类似的软件维护应用程 序.其他任何辅助的应用程序也可以使你更有效地管理5000。于是,你可以配置1 5000 来做一些人侵检测的工作。 注窻
作为一个完整的入侵检测系统和入侵防范设备,不应该仅依靠装有8000修补 程序的主机。如果加入完整的入侵检测功能 你可能会使5000 101;化主机负栽过重。这 ,
可能成为一个瓶賴,从而影响所倮护的主机。
相应地,对于一些攻击,可能希望产生一个警报而不是触发一个人侵防范响应 比如某些 ,
236
攻击误报率太髙而不能自动保护它们,还有一些,可能只希望简单地报替而不进行防范。此 你需要在启用人侵防范的规则之前在报警模式下测试它们。 50011 11111116修补程序有两种人侵防范响应,这形成了熟悉的规则动作。你可以使用这些 规则动作告诉1111 6 :!化 防范型 !!)禁止与所选规则匹配的数据包通过,该数据包被丢弃 并禁止通过。该规则动作可以丢弃恶意的数据包,并产生数据包丢弃的报替,或者仅丢弃数据
外
,
包而不报替。这分别对应&0 和5 011规则动作。
14.3.1安装 安装3:10 1 -修补程序的方法与安装 ! 的方法类似。当安装好两个网卡、操作系 统和相关的应用程序之后,你可以下载源码,并编译安装它。你可以从卅卬〃/ . 31101-1.0!'8 1 00111: 111 / 31: &;/11111116-44?'] 5110! I !!! !!!;修补程序, ! 解压压縮包到一个目录里。接着你应该用 1 80 命令,该命令应包括与31101 人侵检 )及其所包 测系统相关功能所需的选项(如- 虬卜&?( )。你也应该注意〖化 库(正 '
含目录的位置,因为你可能需要它们来编译源文件。为了将 1011配置为!乩化模式,应使用 如下预编译命令:
如果这时输出关于】
岡头文件或目录位置相关的错误,那么应加人这样的预编译行:
当101;化811011预编译好之后,运行!11;!
和!11
6 ;!命令来完成安装。
14.3.2配置 虽然配置?!!。! !!11 6修补程序的过程类似于配置?恥 进行人侵检测,配置的任务相似, 伹配置过程的目的是不同的。你应该设置网络变量、配置预处理器,并选择输出插件。当通过 30 1配置文件进行配置时,应牢记1 116 3110 的3的是阻止恶意流量到达预计的目标。配 置过程的另一个目的是保证!1111
31101 主机不成为一个瓶颈。
#网络变量
当配置网络变量时,你应该盯着显示器。坐下来配置变量之前,先想想你打算用1 511011保护哪些服务器和主机。 如果你想要保护一个特定I?地址范围内的主机,那么你应该用3 901
-
15:丁变量指
? : 丁设 定它们。如果你确定用&1011 1111;! 保护每个内部主机流量,那么应该将 ! 。 为31170 另一个选项是定义你自己的变量 然后修改人侵防范中使用的规则来反映该新变量:例 -
,
如
创建一个变量,3 1 0丁?:071
,
15:丁,在所有运用&叩动作的规则中用该新变量。
你也应该考虑你网络中可信的外部资源在哪儿。然后你可以用82X1 0 -
11:丁变
量定义外部的可信主机.用取反操作符(!)保证来自这些重要资源的流量不受任何阻碍。例 如 如果你有重要的商务合作伙伴经常从192.168.1.0/24连接你的网络,那么你可以将 ,
237
31! 丁
八1、
:丁设为诙范围以外的所有值。这可以用如下配置行实现:
((;! 丁! ;
!、,丁 ! 192.168.1.0/24
用来定义服务端口和服务器主机位置的网络变量应该小心配置。规则用这些变量来定义 在哪化应用规则特征。例如,如果你想用300「【卜1;化来单独地阻止对运行在端口 443上的 "
乩1出 '
服务器的攻击,那么你应该&把9X1? ?0 X8设为443。
攀预处理器
与配置网络变量听用的策略相同,你应该仅仅启用所需的预处理器。像
2, &1,4,
,这类预处理器在绝大多数情况下,应启用来对付逃避人侵检测系统的 和 「531114 化 技术。其他的预处理器也应按需启用。例如,如果你不计划对 0流量进行人侵防范响应, 那么你就应廣禁用! . &00(16预处理器。 禁用大量预处理器的目的是为了节省资源」切记,如果你没有足够的资源及时地过滤数 &加将成为一 1瓶颈。 据包,那么1x11 !111
―
#输出插件
配置你想用的输出插件。如果你打算输出到一个数据库中,为了使执行保持高优先级,那 么你应该考虑使用与! - "相关联的统一格式输出插件。 当输出插件配置完成后,紧接着你应该获取和选择所要用的规则。
14.3.3
11111116 如!""防范型8001~0规则编写
&1建&1 化修补程序所用的规则;I乎与创建;5!1011规则一样.规则语法也相问,.不 同的是,101;化5 "引人了两种新的规则动作和一个新的关键字选项。它们的工作方式和& 51101 中的一样:当规则头和规则选项所设的环境被满足时,规则动作将会被执行。 1 ~ 1±0|3禾口 33「0|3 两个新的规则动作是 ! ! 和 化!),它们都丢弃触发规则的所有数据包,不允许它通过 旧; 加 。当编写规则时,你应读在报警或9志模式下检查你的规则,然后再切换到
的规则动作。当你准备转到入侵防范响应时,应简单地将改为 !: .?
4 & "!
.
―
5 40\正 ;"
1 1 8117 -
(判:- : 叩 ;)!丁巧!3 11833 006356; ( )!!!?))! : ?"吸―"!)
,如下例:
丁 21
"仆':; 111 11:
'!'1 ';
'
口活动也产生警报,因此当一个数据包或一组数据包被过滤时 你会得到通知。通常 进行&09就足够了,不需要报警通知。于是,你可以改用活动 即安静丢弃,一个合适的 应用场合是通过匿名登录访问 ?站点。你毎天可能接收到尺量的请求 这取决干 你的网络规模。对于这种类型的过滤工作,你应该启用 1 15规则动作,默默地过滤掉匿名登 .
,
,
录尝试,如下所示: 1
8 5X721
03111:6111 ; "( 2
~
-
――
〉
8 90\
―
21
" ; 11003 ; 001116111: ; '' 31101 7110113 | 000八I
「6口1306
1 06修补程序也引人了一个新的关键字选项:! 1 6。 1 1; 2 18 .
使你可以修改规则
中匹配的内容。当你不想丢弃数据包这是很有用的,这样可以减少它们的危险性。一个最 好的例子 下面的11355 请求的 叩规则: 1卬3 1 "
(!!!.'
:
70、焱1-―见丁 !
1-1 : 3111111 1 :0 ! ]!! ! /
当有人或应用程序企图访问界
- - 〉 5 9( 11: ―
/
'
! 80 "
; 7111??11 : 761 /1)3531
:)
眼务器的988 "文件时,该规则会被触发。因为攻击
者往往企图下载11 1X11令文件,所以许多允许異客访问根目录外的文【牛的攻击都含有该特 征。这样看起来又不像是误报。
然而,假设你在议
服务器上运行了一个公开的留言板来处理管理事务,该留言
板的一个可信用户发送了一个包含"7抓 353 !''内容的回复,这是-个关于!
文件的位
置的问题,在这种情况下人侵防范程序丟弃该请求,这可能使可信用户感到疑惑不解。 为了解决这个问题.你可以用其他内容来代替该部分,既使用户可以得到问题的答案,而 又可以使攻击者的请求失败。 1-1
3 2X1 :1
!,
3
―
"
8 90碰― 6:! 80
14.3.4建立规则集 没有一个统一的规则集适于每个1111;化5001-1的部署。你必须决定哪种类型的流量是今 人麻烦的而应该丢弃。你可以使用一些一般的策略帮助你决定使用哪一个规则。把这些策略
作为一个指导方针,同时当配置101106 500 补丁过滤流量时,记住使用通用的理解。 1 过36输入流量的规则 在启用动作的规则中,最常见的规则集是那些来自不信任资源的与攻击特征相匹配 的输人流量规则。无论你保护的是什么服务的输人流量(如! ?, 0? , 141 ?,等等)都是可 以考虑的对象。 1
.
阻塞异常流量的规则
另一类你可以考虑启用
动作的规则集是在你的网络中从不存在的流量。罕见的流 量是某事件出错的确切符号。当配置正确时,这种类型的入侵防范响应是最有影响力的和最 有价值的。例如,如果在你的环境下禁止丁1 ?流量.那么就应该阻塞任何与丁 ??相关的
流量。远程服务(如 化化,1
等)可能是几类需要阻塞的流量,因为它们在正常的网络环境
中很少使用。另一个可能是在网络边界丢弃1( 1?包 这将阻塞1)108请求和隐藏通道., 注窻
当丢弃具有以上特征的数据包时,应谅小心。你应该询问机构中的其他人 确保不丢 ,
弃资源所需的合法數据包。 零误报
任何不产生误报的规则,也就是只会检查到真正攻击的规则,都是好的可选的过滤规则
,
只要在500「【机器上有足够的可用资源检查额外的攻击特征 那么你就可以在它们进人 51人侵检测系统传感器之前通过阻塞攻击节省许多人侵检测的工作 同样地,在你将它们 ,
。
2 9
改为 !"
动作之前,应该用31611或106动作运行一段时间来测试这些规则。
在你的网络屮测试的误报率可能为零的规则包括如下几种:
6; |0 「0163文件 的规则。这些规则检査在你监控的服务类型中不可能看到的特定 的内容;
攀通过检测后缀文件来防止的缓存区溢出攻击的规则。这种攻击类型有特定的内
容特征,如
1011 ― 111163规则,它的合理是罕见的;
关于检测尝试访问特权文件特征的规则。许多规则同访问并恢复重要的文件尝试相 关。如
文件、讽;1 0\
3
1文件和任何其他不应以明文方式传输的机
密文件的请求都可以丢弃。
14.4
3(101-133111
51101 &
是&1 1的人侵防范插件。它通过向3001 规则添加新响应来工作 规则一旦 ,
触发将会使防火墙或路由器发生变化。这个变化通常在一段时间内阻塞或禁止来自或去往某 个特定的1?地址的流量。500!"153111协同 !&!! ;! ?"; 311-1防火墙和0300 ! 乂防火墙 -起工作 它也支持绝大多数0 0系列的路由器」 。
运行&10!"153171之后的一个问题是你应该能够检测攻击的早期状态或组成,并日 在攻击者 完成攻击之前自动地响应。例如踩点攻击:如果3 1 检查到一个来自不信任源地址的0 5 服务器域转移尝试,阻塞请求可以在几秒后被执行,从而有效地将潜在的攻击者阻止在外。 另一种情形是多方攻击。如果攻击者能够成功地用一个远程的程序创建登录 611,那么 .
就需要配置&101 发送给5001 33111-个阻塞请求来检测这个程序。这样,攻击者就不能再用 具有攻击发起处的I?地址的主机来访问受到威胁的主机了。
正如你看到的,这儿有一些问题:攻击者可以简单地转换I?地址。攻击者也可以使用有 破坏性结果单一的数据包进行攻击。在这种情况下,& 打 不是理想的,但是对于防止自
繁殖的 31
病毒粕3( )1 "化 (脚本族)都是有用的,这样,你可以花更多的时间集中对
付更老练的对手。
30 133111有两个基本的组成部分:插件和代理。这个结构的目的是在一段预定义时间后 允许防火墙规则或八(: 终止。代理负费修改路由器和防火墙 可以建立和移除防火墙规则。 它有一个记时功能,使它能够按照预设的时间终止一个规则。其他的人侵防范应用程序可以 ,
永久地修改防火墙和路由器,这显然是不太理想的。
这个结构允许一个单个的传感器和许多不同的防火墙和路由器进行交互。如果你有一个
传感器是用来保护有许多防火墙的一个大环境,传感器可以基于所触发的规则控制每个防火 墙。如果用一个防火墙来保护八
化 )服务器,你可能会需要触发针对恶意的卸 卜流 量的规则以阻止向八防火墙的请求。如果另一个防火墙保护03( 数据库服务器 那么 你可能会需要处理 恶意程序的规则来阻止向0( 16防火墙的请求 ,
。
插件程序是一个标准的300"输出插件 它用于当规则触发吋向代理发送指令。这些指 ,
令以加密的方式发送。5110 3 代理解密收到的指令。如果按照预期的字符短语或键匹配 那么该代理将存储那个恶意I?地址和时间长度来执行阻塞。现在将请求与105分析者定义 的标准进行对比。这个标准包括拦截发出连接请求伹尚未创建的地址列表(即 ! -! )和 ,
240
发送阻塞请求所需等待的默认时间。如果请求通过了那个标准,那么它将被转发给防火墙或 路由器来进行阻塞。
当执行请求时,该代理记录成功阻塞请求的时间和日期。然后路由器执行那个请求.并等 待代理发布一个终止请求从而移除被阻塞的地址。当到达预定义的时间限制时,代理发送另 一个请求删除被阻塞的地址 一;51之外,5001*133111还有一个回滚特征,这可以帮助减少对300! 133111人侵防范应 除 。
"
用程序自身的潜在攻击。该回滚特征是一个可配置的阈值,它可以设置为在一段时间内可处 理的阻塞数量。当请求超过该阈值时,& !!&?不会处理已被阻塞的地址。5 0口& 必须等 到阻塞请求的数量低于该阈值时才能处理新的阻塞请求。回滚待征与1; 特征相结合, 限制攻击者逋过利用&101133 攻击网络所造成的破坏。
14.4.1安装 3001153111有两个安装组件。第一个组件是一个补丁,它给5000加人必要的人侵防范响 应程序。第二个组件是0115311!代理,它用于处理31100请求和修改防火墙或路由器。 为了将该补丁应用于 ,有以下几种方法供选择。一个是下载3001133111,& 11并将 它应用于5 0源代码。所以,你必须重新编译打了补丁的3 时源代码。你可以从&101 330!
下载页面得到你最喜欢的51101-1版本的补丁:"II化// 将该补丁复制到51 11源文件夹(/ 。
"。『【咖,.!! /!)! ! .,". 1111111
' :)下,用下面的命令加人补丁文件:
这将使5 ! 源代码包括你需要的&10「1功能。现在,你可以按你选择的方式编译和 安装了,如果需要的话.参考第7章"建立传感器"编译和安装3 !!的相关文档。 111站点下载编译过的二进 获得另一个有5001【53111补丁的版本的方法是从5 制文件。同前者相比这种方法不太炅活,但可以保证你有有效的二进制程序。你可以从 311 133111补丁的下载页面中得到该二进制程序。 有了打过补丁的之后,你还需要获得3001 5
代理,下载该代理之前,你必须决
311-1防火墙与 !! &!!!连接,那么你应 定将它安装在哪里。如果你计划用016 1 111 该在安装防火墙的同一台主机上安装该代理。如果这是不可能的(绝大多数的防火墙管理员 竭力地避开在他们的防火墙上运行无关的程序 那么你可以在防火墙附近其他主机上安装代 理。如果你使用的是0500巧乂或05
安装&1011代理。因为?恥 & 防火墙和5110『15
路由器,那么你不得不在防火墙附近选择一台主机来
代理与防火墙之间的流量是明文方式的,所以你需要将
代理之间的网络基础结构最简单化。
在你选定了一台主机之后,你需要保证该主机受到了很好的保护。做完这些之后,你就读 准备安装&10 5 代理了 ,安装编译好的5110「【5 二进制程序是最简单的安装的 方法。当然,你可以从源码编译500115&III。可以从511071531!!下载页面得到二进制文件或源 代码。
14.4.2配置 为了完成安装,你需为&100配置& !
输出插件、3(1( 33111代理和在人侵防范设置 241
!!协同工作。 中所用的防火墙。所有这些组件都需要与&! 配置&10083 的最好方法是从防火墙开始配置,然后再配置 "( 。第一歩是选择 许5001159?发送阻塞请水的防火墙和路由器。确定好阻塞设备之后,你可以修改一些内部 的配置使511 1 !"能够向它们发 阻塞请求。第二歩是配置800113 1代理。在这儿.你可 以创建 ! " .决定哪些I?地址不能被阻塞。你也可以设置 「【 其余的参数。最后 ―歩是修改5001111输出插件的配置
。
准备好阻塞设备
1
你需要修改一些与 10111连接路由器或防火墻的配置。这些改动随路由器或防火墙 品牌的不同而不
。 !111-1防火墙
9
1- 6 11-1防火垴配置的方法取决于你在哪儿安装51,01:【&!11代理。如果 修改( & 你汁划将代理放在与防火墙相同的物理主机上,那么你不必做任何修改。如果代理被放在另 一台主机卜 那么你需修改01 30::配置文件,该文件通常位于: ―,
你需要修改5 11 86!" !" 311化 18183。新的配置行如下:
―
(
83111
出
(:!"
一
31 ―
1》「!
你也必须将 17 3 111 ―
0!
一
1
。口。?
1611101& ―
-
1*1行的值为0,加入皿 361 61 |301~1行并将其设为 ―
0 18183
&110~
一
1
"
!
0710& 一
―
1
11
I叫1 5(3行改为:
,以启用远程请求。瑛配置行如下:
5
保存该文件并退出。现在(; &
" ?11-
911-1防火墙被配置好了 ,可以处理511011531:1
的请求。 0 00 ?】X防火墙
51x 33?通过远程登录到防火墙修改了 ?IX上的40 并使用3 1
命令阻塞了恶意 的I?地址。你必须使能够接受来自8110 83111代理运行的主机的丁611161连接。 9 01500 801)1:61 路由器
外
,
为『用0 ;路由器阻塞请求,你必须启用路由器接受3001 531 代理的1! 连接:另 0": 1,代理需要一个路由器默认的八0 的复制品。 是在511 8 发布任何阻塞
请求之前路由器上的基本列表。当配置5110 33111时复制一份 XX并准备使用它。 1
.
配置3|10『153
代理
&101 3311!代理通过一个名为
&皿.00"的文件进行配置。将这个文件放在默认的位
胃 々【(:/ !!。!"( &!!!.。)") 注意
如果你在不同的位置创建了该文件 那么记下这个位置,因为当启动进程 ,
时须指定该位置。
为了建立3110" !11.00"文件,你应简单地加人与5110113301启用的配置选项一致的关键 242
字7值对。下面是你可以用来建立
. "文件的关键字 值列表:
舉 16(30 1 I6乂
通过& 》.关键字设置4、0 传感器用于 别 !! & 代理的门令。当配置输出插 111 巧设为默认的口令,这是不提倡的。 件时,你需要指定该口令。不修改该关键字,将 例如:
攀1X1〃
通过1 1 关键字为500"!
代理设置侦听输人阻塞请求的端口 ,如果该行被智略,默认
端口是898。 一个端口设置的例子如下:
着30
1
这是允许向代理发送阻塞请求的一个化地址列表。你可以通过使用口!
符培指定I?
地址列表的范围。另外,你叮以指定&1011传感器所用的口令来代替 【 1关键字。如果 没有口令,传感器必须使用默认的键值来认证该代理。分别在每行上列出各个地址或地址范 围 如: .
3
1)1 192.168.1.0
4
攀(!。!!! !)!"'
该关键字被用于建立禁止阻塞的&-1&地址列表。你可以用011
符号指定地址范
闱。小心地建立一个精确的列表。你可以考虑以下的主机:
6001 11
6 56 61 (根名称伺服器)
1 031 311(1 15? 0 5
!
!
本地和15?域名解析服务器)
常&防火墙后使用服务可信商业合作伙伴地址) 八( !;!! " 化 !!""管理控制台) 八―3 6 出"15 100 11111X51-13111 10 610 (任何重要的而不能阻塞的地址) 在每行上分别列出禁止阻塞动作的各个地址,如:
"出! 192.168.55.0/24 (!?
化10.100.0.17
该0?「「;&关键字被用于指定阻塞一个特定主机的最长时间限制
。
攻击者可能和其他无恶意的用户共享地址.这个关键字可以指定阻塞改地址的时间长度 一些公闭或15】,使用代理来隐藏许多不同的内部主机的 地址 这样,它限制任何一个阻塞 的时间长度都可能会影响到其他人。你可以使用多个单行加人多个所需的0 4&陈述 个限制主要15口代理能被阻塞的时间长度的例子如下: :
,
一
。
243
1. 61X1 (!& !
0 6「1 1|6卩!
: 丁-!!!! !. ! !!) 5 1111115
,.! """!!、' :!! 5 111111
鲁!'0111)301(11116 1101 (!
谈关键字用来设定最大的阻塞阈值。当到达这个限制时,无 使用 1! ! 313关键字7 值指定的阻塞请求是多少仑,300打3317!都不进行新的阻塞,也不会在&3!& ;! 时问内 接受新的阻塞请求。 如果你不想设置一个闲值,可以在310" !
"【中空下诙行。为了启用
01(1,可以在一行上设置阻塞的数量和时间周期: 1 111)3
! ! 10/2 1111115
1:
1 05【5关键字配置前面的非阻塞请求的数量,在3110 「
1
爪,?
屮你可以不指定该
行来关闭诙特征。简单的添加非阻塞请求的数量如下:
!! 秦! "! 。" 痰关键字指定在阻塞阈值到达之后处理新阻塞请求5 18 5 1指定忽略新阻塞请求时间长度限制的方法如下-
所需等待的时间,为500
辠10 1 [!
该关键字用来设置记录与51101 5
相关的事件的文件名。该文件用来记录成功阻塞,启
动和停止的时间及出错等相关的事件。加人文件的方法如下: 10
16 5110113&01.108
该关键字指定记录8志的复杂程度.分为二级: 1一仅仅记录出错日志:
2-记录出错和成功的阻塞请求; 3-记录每件事
包括连接状态。
,
设置日志等级为2,可以加人如卜关键字7值: 1
1 61 2
鲁 1 !71161 91
由于性能的缘故 !
将在用业&!!"?]设定的时间段内忽略相同的阻塞请求 当 ,.
攻击触发了许多阻塞请求时,该关键字的设置就能防止5001133 过载。设置& 如下:
该关键字和 巾 244
1关键字一起起作用,设置
!!! 」来指定阻塞请求的数
1
15值决定内存中可以保存多少个不同的请求。可以这样设定它:
31.1
肇
3111
蔬关键字用于设定用哪个(: &! "防火墙来接受阻塞请求。如果51101
01安装在防
火墙本地机上,那么可以使用本地地址(口?力.0.1〉:在不同行上指定每个防火墙和路由器的 方法如下: 192.168.1.25
卜,127.0.0.1
(
(;
16 1来初始化阻塞的I?地址。当?化化 瑛行用于调用可执行的016&130 代 理与0 加防火墙在问一台设备匕使用时, 关键字才能被使用。设置&如下:
0口5 0 56 行被用于为01 1 0防火墙调用0?51
插件。设置0?5
的文件名为
攀 !
溪关键字告诉 33?代理位置的丁
连接一个0300円乂防火墙。你必须在丹乂卜.允许来自5110! 连接。为了启用该关键字,必须提供巧 防火墙的I?地址、7 161 口
(时
令和特权用户口令( 北
化)。例子如下:
1 1 X 10.0.0.55 ((?! !:!
?. 6115 1
;
肇01 08 1
该关键字与川乂类似,它用于连接0&00路由器和修改4(1。你必须在安装 ! !! 的主机卜-以文本文件方式存储默认的々( 。为了使用该关键字,你必须提供路由器的I?地 址 丁" "令、可用的口令和路由器巾默认的々( 文件名。 、
18003 1 10.0.0,21
&113 1
[!] :! !!!?
' .
,
!
肇 111311
该关键字指定一个5"丁?服务器和 13(1地址来接收每个阻塞请求。启用该关键字可能 导致大量的电子邮件,这取决于?;110 33化产生阻塞请求的数量。这主要用于测试和调试环境 屮。可以这样加人该关键字: 0111:1 1 2.168.55.55 1131131 1:
0111 /1 1
00111
关于建立犯( ,. "文件所需的关键字7值就介绍至此,下面是一个完整的 01 !!!. "文件的实例:
192.168,1.0/24
245
(!"【"!!) : ! 1
!-
.
4,0
10
'
. 11 1
?1 &
10111 1001! (:
192.168.55.0/24
( "山10
10.100.0.17
11.111 !) !:!!!: 1131101(1 1(1 7 2 71|1713
11:1111! '1、1 "'!!"。 1& 3(1 3 05
( ? !! 192.168.1.99
10.0.0.55
当―。" 3
,
2 .7.9 92.29.31
. "文件编辑完成
,就可以开始配置输出插件。
配霣&101133?#出插件
为& 「【 ?加人附加的输出插件是一个简单的过程。打开?( . "文件找到输出插 件部分。在这里,你可以加入与为5110「【5 代理配置的I?地址,端口和口令匹配的输出插 件。你可以这样加人输出插件: ! &?):192 68 0 13 861
01)11x11
283
如果你用端口的关键字7值指定了不同的端口,你可以这样加人输出插件: ' -
'"'
(!!!' ! ! ― (
! : 192」168,1
13 25 -
(1.282
注意
确保为传感器指定正磅的口令(例如乂& , )。如果没有用 (:&! 关键字为每个 )"分 的值。 传感器分配口令,那么 确保使用(! !!
14.4.3在规则中插人阻塞响应 可以通过插人新的 键字选项! ?化来加人阻塞人侵防范响应到一个规则中。
!111关
键字选项的语法如下:
6化参数让输出插件知道是否阻塞源地址或目的地址 源地址是规则头中的第一 个地址,目标地址是第二个。可以这样使用规则: 。
;!""|、
?一乂丁21
"
(
!
!!:
如杲把巾 3(1(11-6 246
-1化1琴
5 901 0:
―
:! 3
!7丄1X01)1":
? ―
!"?
]! 801 4011 801 4011 801 40111";)
没为?:,将会阻塞分配给;6 ;乂丁 [ ―
丁变量的从外部进人的
地址;如果设为(
」)
!
.将会阻塞分配给901
―【丁的I?地址。
告诉 ( &!!!在哪个方向阻塞流量。可以用;0和01 参数设置它仅仅阻塞
进人或出去的数据包。可以用 "参数阻塞两个方向上的数据,用出13参数指定要阻塞的 1?地址和端口的组合。
"参数用来设定吋间长度。可以通过设置值来指定时间单位。可以设置的时
! 间单位有:
!!拟秒) 令!
。""分钟)
90111 (小时〕 08"天)
吸
(周)
!" 年) 如果你将
参数设为0,那么该龃塞将永久有效5
―
注窻
当永久地阻塞一个地址时,由于可以拒绝重要的资源服务或涤没模块化设备,所以应 当十分小心。切记,防火墻或路由器处理的每个数据包都必须和规则列表比较。如果该 列表增长得太大,它可能会耗尽模块化设备的资源。
在前面的规则实例中,作为5皿51)3 !1 0 的一个特征,你可能想要阻塞攻击源的1「地 址,因为攻击者能够甩一个工具发起来自主机的流量(如-所以你应阻塞 方向的 流量。尽力阻塞地址一天的时间。给自己足够的时间调査攻击的影响程度同时做出相应的 应
该规则被修改成下面这样:
:.
1(3 8 2X1
1
:" 5
1
―
1
1 811乂-〉 3 901
―
27 8 51
1 一0301:
?0尺'1.5 ―
1,1.0006: 5卿1 00?";
1116111:18010 4011 8010 4011 8010 4011 81)1 40111 ; "
I
在启用人侵防范响应的规则中加人!关键字后,你就可以启动5 0和&
了。
1
14.5小结 本章介绍了使用作为人侵防范设备的一些高级概念,作为人侵防范选项讲述了 50011 1011)116修补程序和&10!"13301。 人侵防范应用程序类似于人侵检测系统,因为它们的应用目的都是从正常的活动中区分 出未授权的活动。人侵防范应用程序,像人侵检测系统一样,有一组持征集或预定义的条件. 当特征和条件被匹配时将触发响应。人浸防范系统与人侵检测系统的不同之处在于响应方 式。动作包括丟弃或"过滤"与指定为未授权活动的特征或预定义条件匹配的数据包。它也
括阻塞由同一源I?地址触发响应的所有流量。另外,基于9105的人侵防范应用程序可以禁 止特定的程序或用户与其他程序或操作系统交互。
同安装人侵检测系统相比较,部署人侵防范的过程更长,需要更多的楕力。对于 口 卩错误的配置选项仅仅影响人侵检测系统本身的运行;而对于人侵防范应用程中来说 错误的
一
,
,
247
配置可能摧毁你的整个网络。 用&101 1111;化修补程序,当一个规则触发时,51104可以进行人侵防范的响应。3001-1 1 修补程序有两种人侵防范响应动作,它们与规则动作类似。当配置 !。"时,应记忭1111 6
1; 5:103的目的是阻止恶意流量到达预期的目的地。配置该过程的另一个目的是确保101; !! !:主机不要成为一个瓶颈。
给311011 11111116修补程序创建规则和为创建规则的方法几乎一样,规则的语法也一 样 1111;! 5:10!"I引人了两个新的规则动作和一个新的关键字选项。这两个新的规则动作是 &11 。 11111116修 ! 口和"?! 。它们都丢弃触发规则的所有数据包 禁止其通过1X11 补程序引人了一个新的选项关键字:岡化?。 血?是你能修改一个规则中的匹配内容, 31101-133111是--个300!"I的人侵防范插件。它通过在&1-1规则屮加人一个新的响应起作 。
,
用
,
诙响应触发来修改防火墙或路由器。这种改动通常在一段时间内阻塞或禁止来自或到达
一个特定的I?地址的流量 31101-15支持(:!!& 墙:.它也支持绝大多数的0300系列路由器。 。
加 1
11-1防火墙和(
?IX防火
运行&10『18501之后的一个问题是你应该能够检测攻击的早期状态或组成 并且在攻击者 完成攻击之前自动地响应。3110 5311!有两个安装组件。第一个组件是一个补丁 它可以将必 要的人侵防范响应程序加人第二个是 "( &! 代理 这可以用于处理来自的请 ,
,
,
求 修改防火墙或路由器。 ,
248
附
录
附录/V疑难解答 此附录将讲述一些部署和运行50011的常见问题。本章以"常见问题解答"(
)的方式
叙述, 4.1有关800!"I的问题
这部分将介绍应用中遇到的一些常见问题及常见的解决方法。如果你不能在这儿 找到某些问题的答案,那么应査询在线邮件列表,这里只提供解决问题的一些介绍性建议。 1
-
怎样在多个网卡上运行 "!
可以配置3:!
来侦听多个网卡,问题是500 「【每个命令行选项(-;)只接受一个网卡。有
两种在多种网卡上运行&10 是通过绑定"!!!
的方法:一种是为每个网卡运行一个独立的
!!进程;另一种
内核的特征将所有的网卡绑定在一起。
用5000监控多个网卡时选择哪种方法取决于你的环境和优先级等多种因素。运行多个 311011进程会增大工作量,并浪费大量的无法接受的处理器时间周期。如果你有可用的资源来 运行两个或多个 10 进程,那么你应该考虑一下数据管理问题。假设所有的&1 1实例以同 样的方式配置,那么同样的攻击会被报告多次。这会令人侵检测系统管理员头疼,尤其是启用 实时报警的时候。当你面对不同的网卡有不同的人侵检测需求时,为每个网卡分配单个51101 进程是最理想的。
如果你为每个网卡都分配了一个独立的进程,那么你就为每个网卡创建一个类似 虚拟的传感器。在一个机器上架设几个"传感器",你就可以为每个独立的 加 进程载人不 同的配置、规则和输出插件。这最适合于独立的&1071进程。 另一方面 如果你不能这样、或者不想为每个网卡启用额外的&!011进程,如果你运行的 是"!!-,你可以将所有的网卡绑定在一起。这样当你后用;?!! 时,就能用-1命令选项指定 .
一个已被绑定的网卡(如! !!
)。
为了实现这个目的,请编辑/ (:/!!!"" . ",加人如下行:
现在,每次重启机器,你都需要在将化地址信息分配给网卡之后输人下面的命令来激活 绑定的网卡:
仃 11513巧1x 60
1112
249
注意
你可将这些命令放在一个脚本里,在系统启动时运行该脚本。
重复这样的设置直到将所有的网卡都用;化 13?命令关联之后,当运行&1011时.可以按 下方式使用的1x 30网卡: 511011: 〈
,0110 -1 1 011 0
这是一个用5 「【侦听特定的监控网卡而不用它侦听管理网卡的好办法。 1
.
&10『1编译时报错找不到参考库,这是什么原因
你需要安装化! 的最新版 :如果发行版中包括化 冲,那么按照第7章的说明"建 立传感器"卸载它.从化下载并重新安装最新的版本。 端口扫描结果没有出现在/\00或入侵数据库中,为什么
3
预处理器仅向输出插件的报警工具报告端口扫描数据。因此为了将端口扫描事件发送到 人侵数据库,你必须将启用的输出插件的输出工具设为而不是108。 1为什么500(1不对包有效载荷作日志记录 仅当七参数选项被加人到命令行时 ! ! 日志才记录包有效载荷信息。 5
,
3|10『1没有使用我在文件中声明的设置
首先,应确定你输人了?。化 !!〖文件的正确路径。在系统中用许多可能的 0!" . "副 本 保证-(:命令选项指向正确的3 「「000〖版本。 你也可能启用代替-。命令选项的某个选项, 和-八命令选项就有可能。-命令选项用 ,
于从命令行开启系统日志(
( )记录。如果你想将记录发送给3 10 如实时报警系统),你
就应该在?(
.00! 文件中启用输出插件而不是在命令行中指定它。-八被用于使&10!"I以不 同的方式报警,如 11或!!』。使用-六重载任何?加. "文件中指定的 命令选项。 注意
切记,在任何情况下,命令行选项都将重麩
」".?"文忤。
为什么我仍然能收到在|30「1503112,1 0『 10315中指定的主机的端口扫描警告 「【 "- 。「 !他行指定了可以忽略的端口扫描流量,但不包括被化03112预处理器 检测到的异常或恶意流量。异常流量,如3 -"?,51 1出,或 !!! 扫描,可能表明一个潜 在攻击;这些类型的流量不会被合法的应用程序创建。 如果你想忽略这些异常流量.那么你应该编写一个通过规则并通过 命令选项改变规则 6
顺序忽略来自特定主机的流量。
当我运行5000时,我注窻到有关于我的规则文件的错误,这是何原因 应注意哪一个规则文件产生了警告,100丄?1 还是其他包含你编写规则的后缀为―?卜 1
.
文件,检査其语法井确保规则编写正确。
如果该规则是--个30 1发行版中包括的官方蚬则,那么常常出现的问题是规则中所闬 的变量没有定义。检査确保你在规则中使用的变量都在 ( .?!!(文件的网络变量部分声 明了'
我写了一个「353规则,但仍产生了警报,为什么
规则中使用的默认顺序是31 1,1 化,和1 。这意味着当使用默认的顺序时 在任何 ,
25(1
规则应用之前先产生一个瞀报。为了将该顺序改为!)
、3 "和! ,你应该在启动5|10「1时的
命令行中后追加-0命令选项, 9 我可以在哪里得到更多的帮助
51101-1有一个生机勃勃的智能社 ,它几乎能为任何问题提供帮助。在5011 6(0化6.113, 001-1 : 01 , 3止 ?化, "1和31 1 6 , 11 3 0001处的邮件列表档案是你找到前面的问 题和答案的好地方。在提出一个问题之 ,査看一下,看你的问题是否已经被回答过.,记住, 有些人每大都要读和回答这些列表中的问题, 复回答同样的问题是令人虎烦的。 如果你想直接订阅那些列表,可以导航到 ! 汉 . "你也可以在11 :频道,#5000 频道中的;!"!:. 116600(16.04讨论&1011。
12有关八(:!!)的问题 该部分介绍使用八00过程中遇到的一些最常见的问题,如果你不能在这儿找到你的问题
的答案,《尔可以运.用在线査?楚 1(1: // " .;!!!! ;".'( "!口.&!"/?!1 11; \ 731幻117511011:301丄1111711, 1 为什么所有的々010页都显示4!" 源代码
显示
源代码表明? ?没有正确安装。如果??
文件,那么/ :!!:)将不能正确地载人。这时,应检査你? ?的安装
和
―
应用服务器不能解析卞! ,
.
情况。 1
.
我收到关于/\0008的镇误,该如何检査以确保它安装得正确
八00使用 访问今天巿场上绝大多数的关系型数据库,检查"出 ,: … 件中的4八0001
文
011 变量确保它的值是正确的41)008源路径。
当尝试打开;时,在 [
00 +1 的某行出现一个解析锥误,该怎么办 ?" 文件是用于为/ :!!)定义变量的真正?巧 源代码。像任何代码一 样 它有严格的语法,必须遵循这些语法才能被正确地解释。快速扫描3( 0 .(3 文件检 记住, (
―.
'
-
.
-
査语法错误,常见的有:
出)后6|不能冇反斜杠【\ 所有的变量必须以美元符号《8 〉打头 所有的变量声明以分号〖;〕结尾 令文件必须以〈?或〈? 口开始 并以?〉结尾,删除所有不需要的空格。 1在我尝试用560 11之外的其他电子邮件系统发送替吿时 邮件从未到达过,为什么 设置路径的变量(如「出"'
―
,
。
,
,
邮件服务程序通过!1 ?用 时
「 ;文件控制,如果它不是36
111的其他邮件服务程序
你必须指定特定的命令执行! 仏 文件中的邮件服务程序。编辑 ;!!;文件中的 化参数.使其包括邮件应用程序和可执行程序的完整路径,并指定发送电子邮件所需
,
的命令行参数。 4
.
3有关人侵检測系统策略的问题 该部分介绍一些使用入侵检测系统最常见的问题 1 我应该怎样才能探测"慢速"扫描 .
慢速端口扫描.通常 心怀&:测的攻击者 来探测你的系统.发现它是相当困难的 使用 异常流量的慢速扫描,如 1 -1"-1~扫描,可以很容 地被检测到,因为它们有惟一的特征 。
。
251
其他的扫描没有明显的流量特征,检测起来更困难,,你不得不依靠设置 ! -":!预处理器-
配置 "
"
值来检测慢速扫描会产生很多&报.以至7
「【50302不可用.下面卜I论关于
慢速扫描屮会遇到的许多问题。 检测慢速扫描的一个方法是配置一个5000进程来监控一个没有绑定主机的I?地址范 围
!!
。
进程应该仅用?01 03
预处理器,该处理器被配置为格式化流量。默认地,仟何发
送到所选范围的流量都认为是可疑的,因为不应该有合法的流量发送到它。现在你可以配置 " 模式下来检测你设置 ( 来检测慢速妇描了,用-了命令行选项使处于 "
"
的阈值:. 2 我应该怎样来预防端口扫描 ,
虽然没有办法彻底阻止踩点攻击,但你01以用一些办法来使它们更困难。如果你注意到
来自某个特定I?地址的端口扫描尝试或其他踩点攻击,那么你叮以向提供读地址的【 1报告 该行为。你可以在,5 杂力《査找相关化地址的信息。 另一 阻止或延缓端口扫描尝试的办法是安装一个名为 的工具。其名竽1 来源于1 8啦的柏油坑,几百万年前它可以诱捕爬行类动物,这类似于我们现扛讲的陷阱和 蜜罐。工具顾名思义可以引诱或减慢端口扫描尝试。1 通过使用子网中没冇分 配的I?地址减慢端口扫描尝(: . 1 1 63通过接受所有的"IX;?连接然后发出响应让攻击者的 主机等待来减慢端口扫描。它通知 (:?窗口太小或为零.这表明目标主机太忙而不能完成
丁(:!1请求:在等待的竞争中可以抓住每个端口扫描尝试,这使扫描变慢或彻底停止。 当然,有经验的攻击者可以创建一个工具来破坏! ! 方式的端口扫描防范方法,但大 ! . 量脚本族和蟻虫的攻击可以被减轻。你可以在卅卬:〃 ?. 导到1 38及 其详细文档。
我注窻到许多1( 1?不可达的警报。我是否该注意些什么 不可达的10 ?数据包被用于通知发送端目标主机或协议不可用。不同的不 达1( 1? 3
信息可能存储在代码域.」参考第12章''基本规则的编写"10 ?数据包的各种代码。 一个不可达的10 ?信息报警表明一个攻击者正尝试收集关于系统的信息 它也 以表 明一个故障或小 确的配置 可能的活,你应 谰査不可达的10 ?报警,并配置 10 来忽 …
。
略产生大量不可达10 1?流量的主机:
252
附录8规则文件 该附录列出了对发行版中包含的 1 1规则集的一些基本描述,这些描述按规则类 型进行分组。 注意
切记考虑规则应用的商业环境。如果该附录中的分类不能满足你的需要,你可以自 由地修改它。你可以用第11章"实时报警 中的方法修改汪何规则的分类。 ''
8
1不"I疑的流量
.
不可疑的流量规则类可能会使人产牛-误解。归为不可疑规则类的规则可能是恶意的,并 预示着一次人侵,流量被定义为不可疑取决于它被发现时所处的环境:下面是成功的! !! 访问尝试的规则: ? ? 1 11
1 1-1 (!!!
'''丁巳匕
;丁
31:101( 3 23 ~》
―
"
―
; 「入,、、':(":'- 义。",。
1"6
!:
11: 卜?(!;
-
16
1??
如果37101 监控的是一个通过下611
) 23 I-'I-" 1-13 27 ???1)241";
进行管理的内部主机,那么肯定不认为该规则是可
疑的。相反地,如果 10"监控一!"禁止用161 1进人访问的防火墙之后的主机,那么应该卜 分注意由该规则产生的报警, 8
2不知名的流量
.
一个不知名的流量报警表明检测到一个潜在的异常事件 但是需要深人地调査一 4不可 ,
疑的流量类型的报謇相似,你应读注意产生这个报警的具体环境并采取适当的行动:当 服务器拒绝访问请求时,下面的规则将产生报警。当一个人尝试访问一个禁止访问的资源或 | 违反任何其他的访问控制时,就会产生这个熟悉的警报。 ! :';
3 1: 1 "
"!!!
:
.
[;!' 80
.
90 11;
、1;丁 ―
I、!""0 〔1)1111:1。11 (―讣"]、130 ! )!!! ?。" 80 ";
01111 (11 : 0011 [!!.'!: 11011 1: 10 *1卜、'(!] ! !! 11051 ; 110035 ; "
[!10\ : ('!"(!!! I ―
8
"[" '!" ― 0131)1沁卜!
:!.!!! !!':
:
!! ; I
3潜在的有害流量
.
这类规则包括非常规定义的流量并且这些流暈表明系统受到潜在的威胁。攻击响 规则 属于该规则类。卜-面的例子足一个9录列 规则: "?"
"
! ?
1 :
;6 8X7】' 01 1 ―
.
"
八!-?八0 1
(、'"'已"':人'。!!比.8
0! 31 !
「5 I!''I、化! !; '
11111义'I :【10"':
―〉
3 !;义「28! ―
1
1犯乂
"; 、'"!"/?!1,。【3("丄51) 1:
253
!"''内容时该规则就会产生警 当检测到从一个化 服务器发来的 0 1 561131 报 当攻击者能够执行命令并通过一个叫 服务器传送输出时,这种类型的内容常常 以被 检测到。攻击者通过避开 &服务器根文档和访问系统命令(通常通过 & )来实现这 种攻击。攻击者常常测试一个恶意攻击能否通过尝试一个目录列表来实现。该规则检测这样 "
。
的活动,并被归为潜在的有害流量规则类。潜在的有害流量的另一个实例是丁! ? 0 如"(!卩5 5X1 1 "
! !
:
1
1啊々8
―
1 69
―
"
0 1;讀加:
: 1)3(1-1)111100
13351
1一
特征:
100 011"; 0(1861:0;卸出:之;
; 51(1: 1444; 1
:2;〉
诙规则检测从丁 1 ?服务器下载文件的请求。攻击者常常建立一个丁打?服务器来向 受害主机发布木马、 0 ;1、嗅探器和其他的恶意工具。像3录列表规则一样,该特征表明一 个主机受到潜在的威胁。 8
.
4信息泄漏企图
信息泄漏企图规则处理潜在的损害或收集消息: 阁的特征。信息泄漏或者侦察攻击属于 信息泄漏: 图,它们并不意味着信息收集尝试攻击已经成功,相反,它们只是一个尝试的信 号。如果合适的条件得到满足,那么这将暴露有助于攻击者威胁一个系统的敏感信息。 信息泄漏企图很有可能触发信息收集尝拭攻击。03皿11会话的规则是: 016111 (!!!
3 6X11 "
:
!
001:!60: :
化
―
丁 3:
- 〉 8 90
"!"!?") 1 11"!"3011 ; 0。?:I。
"
:
1 139 ―
5118 ;
6513
―
! 00 00 00 00 57 00 69 00 61':化)64 00 6 00 77 00 73 00 20 00 41;
00 54 00 20 00 31 00 33 00 38 00 311 "; !
:
"
!
)1
当一个攻击者企图通过匿名连接枚举用户和其他系统信息时 该规则将会触发。当这种 ,
鰲报的来源不可信任时表明敏感的信息被泄漏。通过利用特征标示的应用程序&了以产生其他 08探测,如下所示: 信息泄漏企图。这种规则的一个例子是( (!!!
8
.
:" ! !"!
03 ?! ! "; [!
: 8 12;
5拒绝服务企图
拒绝服务企图规则类包括所有检测!" 攻击的规则。那些检测有些陈旧但与1)03相关 的攻击的规则也包含在这一类中。5:40々1131~8 攻击就是一个例子:
该特征检测的拒绝服务条件是一个化 々 《
服务的无限循环。该008攻击用伪造
的数据包启动一个〈!"的无限循环。
其他的拒绝服务企图规则检测攻击者递交的异常输人,这些输人能使系统或服务器瘫痪 254
。
这些异常的输入条件常常被应用程序的设计者忽略,从而留下丫漏洞。 ; 就是这种攻击的一个例子。下面的规则捡测一个81 丁 乩&
37八丁 攻击企图,这可
以表明一个1)05攻击。 了战隠.-
(!!
: "!""!!1 :
:二,)化(:滅―!
义〕1 丁 51!厂,」06 3116111(31";
: 10 56 61 &;! !)! ?] ;
31'八'广';11003? ; 01111:&111 :" ";"?(;
: 31【&!!!!)!: !-!
"
( )!!'。"':
当
一
21
:I
-
符(―.?等)时,未打补丁版本的?XI1服务器将会崩溃。 其他拒绝服务企图规则用来检测分布式拒绝服务攻击(! !
,0003攻击利用大量的受 害主机向目标主机发送洪水般的请求。用于发动00)3攻击的一些工具有511 1规则可以检 测的特征,这表明在你的网络上有一台主机已经在0005攻击中受害并被利用。下面的例子 是源于 ; 1) 8工具的 潮涌: 8 111屮3 90!
10136:
:
―
虹
&吖0 5; !!:乂丁?:
005 5113/1: 5 11110 1(!"; (!
正如你看到的,大多的丄
―
1:'3。乂
674711609; 。1355111 :3(16111131:
: 8;
;)
枵序员都是懒情的,当发起一个潮涌攻击时,他们为每
个数据包使用同样的丁1:?序列号。因此可以简单地通过椅测一个6747116909的序列 来检 测这种攻击「 8
6用户权限获取企图
.
用户权限获取企图类规则眩控攻击者尝试提升权限到一个未经授权的级别。有权使用一 个用户帐号的攻击者可以利用各种类型的系统腌弱点来提升自己的权限,访问未向他授权的 数据。
例如,可以通过修改.1"!10515文件来获取全周访问权,从而有效地消除受影响主机上对特 定环境的访问控制。这是5 "规则检测这样的用户权限获取企图行为: 」 11
1111
!' 311 ~
5 6: 11:
5
0\1
十十"-,: 115
: "! 52 VI023 1511
001116111: &:110 | 22 |十十122 | ; (:
514
' !-
―
63131)1151)511 ;
!]?!61;〉
] :
用户权限获取企图也可以发生在一个应用程序中,权限提升的一般目标是数据库,用户 可以访问一种类型的数据,但可能希望访问存储在同样的数据库或同样的主机上的机密数据: 另外,如果用户获得超级用户或根级别的访问数据库权限,获得的权限可以用来控制主机。这 些功能常常用来访问用于全面破坏和控制目标的外部程序。一个监控这种用户权限获取企图 361 !"的邛 011(1 6)1规则: 攻击的例子是;!"030 "
知"-!1 3 : '!
; /
隨 ,-〉(! -
―
. .
30
85 1433
VI00101001」001 !: 1001川;00131001 :
― 0111
11可以被用于执行36 61的系统命令,攻击者可以使用邛 01 一
11安 255
装木马,发布机密数据、或执行可以在化(! 命令行中执行的任何其他任务。这个规则检 测以! 比! 仃501为目标的3??61"; ― 111(1811611企图。
7失败的用户权限获取
8
.
失败的用户权限获取规则检测失败的权限提升企图。这表明一个攻击者尝试提升权限但 是失败,其他的 信用户可能会无意中帮助危害了系统。失败的登录企图形成『大量的失败 用户权限获取警报。判断报警是否误报需要调査发生报警的环境和原因。发生恶意事件的一 个明显迹象是许多次失败的未授权登录的尝试。大量的尝试表明攻击者可能尝试一种强制的
攻 方法。? : !!
失败登录规则就是一个失败的用户权限获取规则的例子,如下所示:
!) 8
!
1X1111&III: !!
!!!!
0161-1
"
.
!;'!- 5631 :5632
3 1 X71:8
; 31: 1: 16; 1,1 1
呢丁 31
―
: 1;! 11 |?6 11||~113 ; 5
该规则检测登录?0 1 116!"6失败的尝试,它是一个用于远程控制和管理主机的软件包, 在其他的环境下,用户町能被哄骗通过认证信息或被诱骗执行危害他们自己计算机的代 码。这些攻击类型能够被用来提升权限,比如下面提到的 " !
(!!!
(
8 '
: !":乂!
0!
―
。! ! '
-
0(
:丁 31
- 〉 8 1 X11;!
3156 1111. 11
111 0
:: 133 09 21 10 3? 1:9 06 51 30
当用户访问一个包含有针对 则。这个溢出并不实用,因为恶意的吸
八I
浏览器缓存区溢出:
603
!!;丁 80 ―
110 /';
47 33 03 50 ?7
501
"
!
1 浏览器的缓存区溢出的饭 页面时 就会触发该规 站点没有办法判断什么类型的浏览器正在访问该 ,
页面。 8
.
8管理员权限获取企图
管理员权限获取企图类与用户权限获取企图规则类相似,它检测超级用户 根用户、管理 员级权限获取尝试。管理员权限获取企图类规则报警不能证明攻力.者是否已经获得管理员级 、
权限,而仅仅表明权限提升可能发生。
管理员权限获取企图规则检测访问超级用户资源的企图 也检测攻击主机的企图和攻击 ,
者获取根用户权限的企图。在饭;!!&
系统上尝试访问 1 41 5共享资源就是一个比较好
的尝拭访问超级用户级资源的例子,如下: 3161110? 3 1 X1 1 0 1 01 :
"
\ \
礼 :丁 3:17 -〉 8幵01
!' 139
-
8 100 41 33 001 ";
!
:?!:
!!; ?
如果一个攻击者可以访问3八1: 11~共享资源 他就可以访问?化 ,
"
:
111111 \
系统主机的目录
这个目录屮包括操作系统文件和大量的其他敏感数据
。
其他管理员权限获取企图规则检测攻市者尝试利用一个已知漏洞发动的攻击。这样的 个例子是1 11x1 811 ; 0 10 256
溢出规则:
一
;11611 10
&!":乂丁!
"八、「丁;!贝
该规则检测过 的"丁5: (
(
'
―
〉5901
X21 -
、命令.该命令允许攻击者在目
系统上以超级用户权
执行未授权的命令-
13.9成功的管理员权限获取 成功的管理员权限获取规则产生的警报表明--个攻击者很可能获取了超级用户访问管理 限.这一类中比较典型的规则包括已完成的攻击的特征和可疑的包含超级用户认证信息的 文1卞
输。 -
个成功的管理 权限获取规则的实例是用于检测
守护进程攻击何时结束
01 !
的规则: ?1 1-1 1
( (
\ ;\ 1
5 6:\ 1
(':!'
- 〉 5 丁!!:匚? ;丁
? :!
丁!;!
"
!,'!)!:
!?"?" 1-&
16 1
23
―
(? ! !! 11 11 「;'"; 丌化":!0 !:!! !,
"丁卜丄! '! !" 汊':〉200:
―
卜13 08 ???61'; 0
!!
;
1:200; &叫,:;;!):
包含超级用户级认证佶怠的文件传输表明主机很可能已被控制,通过丁?成功地传输 文件就
一个例子。
:,卜"&11\
0【[!!1:
10001 | ; 0
("!1 !' 1 I1 0?一―I, [
、",丫 :
1111 : 2 ; [;。。|:6111: 口
" :
'
~
1:0;
"
文件传输不能发牛在像1 ?这样的1安全协议上,丁?!'?协议既不需要认 II!",也 支持加密.,来自该规则的警报可以表明攻击者获得了对根账户或莨他重要的用户帐 4的认 的控制申乂。
257