信息安全讲义
第一单元 Firewall及NAT理论与应用
一、Firewall的功能:
1. 过滤不必要的封包。
2. 限制网络存取能力。
3. 增强网络存取能力。(VPN、Transparence Proxy、Flow Control)
2、 Firewall的作用方式:
1. 封包过滤(Packet Filter ) – 使用port number及IP位置等信息来过滤,但Firewall本身须具备Keep State能力,才能分辨出进出的封包。(特点:可阻挡hping之类的穿透性扫瞄)
使用范例:阻檔TCP联机时以阻档进入的SYN封包来完成。
2. 应用程序代理(Application Proxy) –代理client端对外联机,可完全监控联机过程。(http,e-mail,DNS都有Application Proxy)
3、 FIN Scan(穿透性扫瞄):
原理: 不传送SYN封包,而是传送FIN封包来等待后端server 送回RST封包响应。
4、 进阶封包过滤
具有重组封包能力,并能对封包内容进行辨识与处理,达成所谓的Content Security。
应用:配合网页内容过滤(不当信息)、e-mail病毒过滤、网络入侵侦测系统。
5、 混合式防火墙
皆具备封包过滤及应用程序代理等功能,或具备入侵侦测功能,但是价格较高。
应用:过滤有毒e-mail、过滤网页内容、强制通过proxy(节省频宽)。
6、 Firewall运作模式
· Routing mode
以防火墙兼扮演Router的角色,利用Router的ACL来过滤封包。如:Cisco Router。
· NAT mode
防火墙兼具NAT Server,内部网络使用Private IP,透过转址对外联机。(目前最常用)
· Bridge mode
防火墙以Bridge方式运作,本身不需要IP,又称为Transparence Firewall,优点为对原本架构不影响,如:Netscreen。
<建议> : 但需考虑传输速率,以免造成网络瓶颈。
· 单机(个人)防火墙
以防护个人PC为目的,如:BlackICE等。
7、 系统内建封包过滤种类
· Win2000 – TCP/IP筛选、IP安全性。只能当单机防火墙
· Linux – ipchain(kernel 2.2之前) 、iptable(kernel 2.4之后)。可当单机防火墙、NAT主机
· BSD&Solaris – IP Filter。以Router、NAT、Bridge mode运作,直接编辑防火墙规则。
(ipf.rules)
8、 防火墙的安全认证
Common Criteria Assurance Levels
等级 – EAL0(无认证) ~ EAL7(最高级)
建议至少要用EAL 4的防火墙
9、 NAT (Network Address Translation)原理
NAT – 来源与目的网络位置的转写。
NPAT – 来源与目的网络位置的转写、port number转写及对应。
Port Mapping – 将来自不同IP的联机需求改写为相同IP的不同埠号。
十、整合型防火墙的特殊用途
与网络设备整合
提供VPN使用者认证
Load Balance
通透式快取
十一、NAT与防火墙实作
以FreeBSD 4.5为例:
1.NAT+FireWall 2. ipfw Firewall设定教学
第二单元 入侵侦测系统IDS (Intrusion Detection System)
一、何谓入侵(intrusion):
· 某人未经授权企图进入及使用你的系统
· 任何违反安全政策的行为
二、什么会有入侵的行为:
目前不论是任何系统或是网络设备或多或少都有弱点存在,只要有人针对弱点写成程序,就容易在网络上散布,并且成为入侵者的工具。
三、谓入侵侦测Intrusion Detection:
由一台主机负责收集资料及
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
资料,并且藉由比对已知入侵的行为特征(Intrusion Signature),来判别是否为一个入侵的行为或是正常的行为。
四、入侵侦测系统:
结合软件及硬件的一套系统,监控并收集系统及网络上的信息,来分析是否有入侵的事件发生,并且回报给管理者或是作出防御机制。
五、入侵侦测系统的必备功能:
· 资料收集
· 过滤出可疑的资料
· 分析可疑的资料内容
· 回报及应变的机制
六、资料收集的来源
· 网络上的封包
· 主机的log
· System call的追踪
· Router上的packets
七、过滤可疑的资料
· Data Reduction(资料的缩减)
筛选掉不必要的封包或是无可疑的封包,减少主机所需要分析的封包数,避免造成分析引擎的负担。
· Data abstraction(撷取封包)
进行初步分析,找出有异常行为的封包。
· Feature Selection(特征选择)
根据已知入侵行为的特征,来对资料做分类,并且将分类后的资料送到分析引擎去做更深入的解析。
· Feature Classification(分类的依据)
Occurrence(事件)—对出现过的ip加以纪录
Frequency(频率)—统计ip出现的次数
Duration(持续的)—封包出现持续的时间
Sequence(连续出现的)—重复出现的封包或是过程
八、分析的方法
· Rule match
· Pattern(样本) match
· Finite state machine
· Ststistics(统计分析)
· Neural network(类神经网络)
依据上述各个条件来判断入侵事件的产生,并且对于入侵的过程作搜证。
九、反应机制
· 被动式告警 – Screen alert、sound alert、E-mail、BBCall、Cell Phone……..
主动式告警 – Block process 、Block network traffic (封锁IP)、连系其它IDSs(配合区域联防机制)。
10、 IDS的组成组件
· Sensor (探测器) – 负责资料收集(data gathering)
· Analyers (分析)– feature selection and analysis
· User interface (使用者接口) – 用来查看资料的输入、设定系统(新增rule)、响应机制等功能。
11、 IDS的分类依据
· 侦测的方法
· 资料来源
· 分析的方法
十一、以IDS侦测的方法来区分(一)
· 需事先定义入侵行为,受侦测对象符合定义者,视为入侵。又称为signature based。
<缺点>:必须事先定义入侵行为,并且时常要更新定义。无法侦测没有被定义的入侵行为。
<优点>:入侵侦测率高,误判率低。
十二、以IDS侦测的方法来区分(二)
· 利用统计或其它方式,在一环境中标定出正常的行为,以及可容忍的偏移量。当发现非预期的行为并超出可容忍的偏移量时,便视为入侵。
<缺点>:必须先对系统/网络环境做行为统计归纳,且误判率高。
<优点>:可侦测未知的攻击
十三、以Data Source种类来区分
Network based – 监听网络上的封包,但是无法监听加密过的封包,在switch network无法监听所有的traffic,如果在高速网络下可能无法负荷。
Host based -- 监看主机上的记录文件 (例如:tripwire)
Application based — 监看系统呼叫状况,并且可监听加密过的资料。
Router based – 监看router上的封包记录,适用于监测DDos攻击及区域联防。
十四、以IDS分析方式来区分
Rule based – snort
Finite stste machine – synkill
Statical – 贝式网络 (Bayesian network)
Neural – SOM (self-organization map)
十五、IDS放置的地点
· 网络出入口
· 重要的网络节点
· 重要主机 – network-based IDS + host-based IDS
十六、如何评估一个IDS
· 设定难易度
· 弱点数据库的资料正确性及更新的速度
· IDS响应入侵机制的完备性
· 入侵侦测的正确性
第三单元 建置简单的IDS系统
一、安装远程log server的程序:
1.请参考下列网址:
Syslog Daemon (Tri Action)
http://www.triaction.nl/Products/SyslogDaemon.asp
Winsyslog (Adiscon)
http://www.winsyslog.com/en/
SL4NT (Franz Krainer)
http://www.netal.com/
Kiwi Syslog Daemon (Kiwi Enterprises)
http://www.kiwisyslog.com/
2.利用Windows OS平台的计算机作为远程log server的主机,执行下载的Kiwi_Syslogd_Service档案,将其安装至本机,并执行其log server程序。
3.安装步骤:
1.执行Kiwi_Syslogd_Service程序
2.执行Iagree 3.执行next
4.执行install 5.程序安装中
6.安装完成,并将icon放置桌面。
7.执行桌面KiwiSyslogDaemon程序
8.激活KiwiSyslogDaemon程序
9.安装syslogserver,在manage里的第一个选项
10.出现NT安装窗口,按确定
11.安装完成后,激活syslogServer
二、激活系统syslog并修改syslogd.conf
说明:系统的syslog在系统预设安装时,已经安装好了,所以只要修改syslogd.conf后再激活即可。
1. Syslog的介绍
UNIX上的系统记录,基本上可以分成三类:
(syslogd无关系统记录:如wtmp、utmp、lastlog、pacct等。
◎/var/log/wtmp (or /var/adm/wtmp in some kind of UNIX)
记录文件功能:记录使用者(过去及目前)何时由何处进入系统、停留多久及系统开关机时间等讯息。档案内容查阅指令:last [-option]
可用参数例子:
last 显示所有系统user login记录
last –a 显示所有系统user login记录,并将hostname 放在最后一个字段
last –100 显示最后100个系统user login记录
last woody 显示由woody login 记录
◎/var/log/utmp (or /var/adm/utmp in some kind of UNIX)
记录文件功能:记录目前登入系统使用者(仍在线上)信息。包括使用者名称、使用tty、login系统时间、由何处login系统、使用CPU状况及目前正在执行之程序。
档案内容查阅指令:w 、who
◎/var/log/lastlog (or /var/adm/lastlog in some kind of UNIX)
记录文件功能:记录系统中每一位使用者最近一次login系统的信息。
档案内容查阅指令:finger,另外使用者完成login程序之后,这个档案也会被读取,并告知使用者上次login时间。
◎/var/log/pact (or /var/adm/pact in some kind of UNIX)
记录文件功能:记录系统中指令执行的信息。例如何人、何时执行哪一只程序,共计使用多少CPU时间。
档案内容查阅指令:lastcomm (activated by “accton /var/log/pact”)
(syslogd相关系统记录文件: messages、syslog及管理者所设定之档案。
◎syslogd的运作
/etc/syslog.conf是syslogd运作的关键,经由适当的设定,syslogd可以把相关应用程序的指定事件,写入特定档案之中,供管理与系统追踪之用。Syslogd除了可以记录系统事件之外,经由系统呼叫(System Call),使用者自行开发的程序运作记录,也可以由syslogd代劳!
/etc/syslog.conf内容的任何更动都必须重新激活syslogd,以使得更改的内容生效。
(应用程序运作记录文件: 如Apache Server的access.log及error.log等。
2. 修改/etc/syslog.conf (设定远程LogServer)
[root@localhost etc]# vi syslog.conf
在第一行加入
*.info
@「远程logserver的IP」
然后存盘,重新激活syslogd
接下来在unix系统作下面指令动作
(执行ps –ax 查询syslogd的pid
( [root@localhost etc]#kill -HUP 608
可以在远程logserver看到syslogd重新激活的记录。
(执行proftp,则远程logserver会记录
三、Snort安装与使用说明
Snort是被
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
用来填补昂贵的、探测繁重的网络侵入情况的系统留下的空缺。Snort是一个免费的、跨平台的软件包,用作监视小型TCP/IP网的嗅探器、日志记录、侵入探测器。它可以运行在Linux/UNIX和Win32系统上,你只需要几分钟就可以安装好并可以开始使用它。
Snort的一些功能:
- 实时通讯分析和信息包记录
- 包装有效载荷检查
-
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
分析和内容查询匹配
- 探测缓冲溢出、秘密端口扫描、CGI攻击、SMB探测、操作系统侵入尝试
- 对系统日志、指定文件、Unix socket或通过Samba的WinPopus 进行实时报警
Snort.org 提供一些RPM、tarball或是port安装(FreeBSD)。通常我推荐根据需求来建立,不过我是用tar开的方式来作,为了使Snort工作,libpcap是必需先安装到你的系统中。
1、先tar zxvf libpcap-0.7.1.tar.gz
1.) ./configure
2.) make
3.) make install
装好你可以使用make clean清除一些安装时候产生的文件。
(有些系统如freebsd已经支持了libpcap,所以很轻松,不用再装了)。
· 而WINDOWS更简单,只要解包出来就可以了。
2、再来安装snort:
# tar zxvf snort-2.0.0.tar.gz
# cd snort-2.0.0
# ./configure
# make
# make install
# make clean
安装完成后,先执行指令看会不会跑起来
#snort -dvi eth0
◎这里 -d 的选项告诉 snort 对数据进行 decode (译码)
-v 告诉 snort 将结果显示在屏幕上面
-i 则是指定所需要的 interface
-C 选项告诉 snort 只显示 ASCII 部份. 忽略 hexadecimal 资料.
3、首先需要更改一下 /etc/snort/snort.conf (视你的snort安装目录)需要参照您自己的机器来设定.
#设定 log 存放的地方
config logdir: /var/log/snort
#设定网络
var HOME_NET 192.168.1.0/24 (自己想监视的网段)
var EXTERNAL_NET any
var SMTP $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var DNS_SERVERS 192.168.1.250/32 (自己DNS的网段)
var RULE_PATH ./ (rules的目录)
#设定 preprocessors
preprocessor frag2
preprocessor stream4: detect_scans
preprocessor stream4_reassemblt
preprocessor portscan: $HOME_NET 4 3 portscan.log (一定要设)
#设定 output
output database: log, mysql, user=root
dbname-snort host=localhost
#rules
alert tcp $HOME_NET 7161 -> $EXTERNAL_NET any
(msg: "MISC Cisco Catalyst Remote Access";
flags: SA; reference:arachnids, 129;
reference:cve, CVE-1999-0430;
classtype:bad-unknow; sid:513; rev:1;)
#设定 patch , 这些都是些附加的 rules 的文件
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/ftp.rules
#这些 rule 其实还有很多.您可以自己去写,也可以找人家写好的下载拿来用.
现在让我们把 snort 跑起来:
#snort -c /etc/snort/snort.conf -D -i eth0 (D在背景执行)
或是
#snort –c /etc/snort/snort.conf –D –i eth0 –l /var/log/snort -s
会在背景执行snort.conf,并且将纪录存至/var/log/snort和传至远程logserver
◎现在 snort NIDS 的模式跑起来了. 在 default 的情况下:
alerts 会放在 /var/log/snort/alert 中
port-scanning 会放在 /var/log/snort/portscan.log
当您真正跑 NIDS 的时侯,需要把 snort 以 daemon 的模式来跑. 如果您安装的是 rpm 的东西,那么 rpm 文件中已经包含了一个 snortd 的文件,并且会帮您安装在 /etc/rc.d/init.d/ 下面 当您设定好 snort 的 configure 文件以后,只要用 chkconfig 把 snortd 打开就可以了:
如果没有指定 logserver的话, log 会分别保存在不同的文件中. 而指定 logto 的话,就会把 log 全部存放到我们指定的文件中,看起来方便多了。Snort 的功能实际上非常的强大, 这里只是一个简单的介绍而已.如果您对这些东西有兴趣.可以去 http://www.snort.org/docs/ 下面看到非常多的有用的文件。
四、执行与测试NIDS
实作范例
第 18 页,共 18 页