信息安全综合实验

22
1 信信信信信信信信 信信信信信信信信 张张张 张张张张张张张张张张张张张张 james @ ustc . edu . cn http://202.38.64.40/ ~james/nms Tel: 3601897(O)

description

信息安全综合实验. 张焕杰 中国科学技术大学网络信息中心 [email protected] http://202.38.64.40/~james/nms Tel: 3601897(O). 第一章防火墙原理及其基本配置. 课程目的 学习包过滤防火墙基本原理 简单理解 Linux kernel 2.4.* 中的 netfilter/iptables 框架 熟悉 iptables 配置. 1.1 包过滤防火墙原理. 包过滤型 根据数据包的源地址、目的地址、协议、端口、协议内部数据、时间、物理接口来判断是否允许数据包通过。 外在表现:路由型、透明网桥型、混合型 - PowerPoint PPT Presentation

Transcript of 信息安全综合实验

Page 1: 信息安全综合实验

1

信息安全综合实验信息安全综合实验张焕杰

中国科学技术大学网络信息中心[email protected]

http://202.38.64.40/~james/nms

Tel: 3601897(O)

Page 2: 信息安全综合实验

2

第一章防火墙原理及其基本配第一章防火墙原理及其基本配置置

课程目的– 学习包过滤防火墙基本原理– 简单理解 Linux kernel

2.4.* 中的 netfilter/iptables 框架– 熟悉 iptables 配置

Page 3: 信息安全综合实验

3

1.1 1.1 包过滤防火墙原理包过滤防火墙原理

包过滤型– 根据数据包的源地址、目的地址、协议、端

口、协议内部数据、时间、物理接口来判断是否允许数据包通过。

– 外在表现:路由型、透明网桥型、混合型– 优点:性能高,对应用透明,使用方便– 缺点:安全控制粒度不够细

Page 4: 信息安全综合实验

4

包过滤防火墙包过滤防火墙 规则 条件 动作 序列 条件

– 源地址、目的地址、协议、端口、协议内部数据、时间、物理接口

动作– ACCEPT 允许– DROP 直接丢弃– REJECT tcp-reset/icmp-port-unreachable– LOG 日志

Page 5: 信息安全综合实验

5

包过滤防火墙包过滤防火墙

有先后关系数据包的处理

– 接收到数据包– 逐条对比规则– 如果满足条件,则进行相应的动作,如果动

作不是 ACCEPT/DROP/REJECT ,继续处理后面的规则

Page 6: 信息安全综合实验

6

1.2 Linux Kernel1.2 Linux Kernel 中的包过滤中的包过滤防火墙防火墙

Ipfw/ipfwadm– 2.0.* 中使用移植于 BSD 的 ipfw– 缺点:包过滤、 NAT 等代码混杂在整个网络相关代

码中 Ipchains

– 2.2.* 中使用 Netfilter/iptables

– 2.4.*– http://www.netfilter.org/– 模块化

Page 7: 信息安全综合实验

7

Netfilter/iptablesNetfilter/iptables

Netfilter 是 Linux kernel 中对数据包进行处理的框架

定义了 5 个 HOOK 位置– NF_IP_PRE_ROUTING – NF_IP_LOCAL_IN – NF_IP_FORWARD – NF_IP_POST_ROUTING – NF_IP_LOCAL_OUT

Page 8: 信息安全综合实验

8

55 个个 HOOKHOOK 位置位置

Page 9: 信息安全综合实验

9

netfilternetfilter 结果结果

NF_ACCEPT: continue traversal as normal. NF_DROP: drop the packet; don't continue

traversal. NF_STOLEN: I've taken over the packet;

don't continue traversal. NF_QUEUE: queue the packet (usually for

userspace handling). NF_REPEAT: call this hook again.

Page 10: 信息安全综合实验

10

NetfilterNetfilter

Iptables 是 netfilter 上的应用程序nat mangle filter

Page 11: 信息安全综合实验

11

Netfilter/iptablesNetfilter/iptables

可以实现完整的基于连接跟踪的包过滤防火墙

支持包过滤,双向地址转换一般是路由型的使用 ebtables 中的 bridge+nf patch 可以表

现为网桥型的– http://ebtables.sourceforge.net/

Page 12: 信息安全综合实验

12

1.3 iptables1.3 iptables 配置配置 包过滤

– INPUT/OUTPUT/FORWARD 三个规则链– 可以增加自定义规则链

iptables –N xxx

– 命令格式– iptables –L –nv 显示– iptables –F 规则链名 清空规则链– iptables –A 规则链名 规则 增加规则– iptables –I 规则链名 规则 插入规则– iptables –D 规则链名 规则 删除规则– iptables –D 规则链名 规则编号

Page 13: 信息安全综合实验

13

包过滤包过滤规则

– -j 动作 … . 条件动作为:

– ACCEPT 接受数据包– DROP 丢弃数据包– RETURN 从当前规则链返回– LOG 日志,用 dmesg 可以看到– REJECT– SNAT/DNAT 等

Page 14: 信息安全综合实验

14

包过滤包过滤 条件 -s IP 地址 源地址 -d IP 地址 目的地址 -i 接口名 接收的接口 -o 接口名 发送的接口 -m state -- state 状态 状态包过滤

– ESTABLISHED RELATED NEW INVALID -p tcp/udp/icmp/47 协议 --dport 目的端口 --sport 源端口

Page 15: 信息安全综合实验

15

实验实验建议编辑如下文件,命名为ipt ,并用 chmod a+x ipt每次试验时用命令 ./ipt 执行,文件内容为#!/bin/shIPT=iptables$IPT –F$IPT ….$IPT –L –nv

Page 16: 信息安全综合实验

16

实验一实验一 Iptables –F Ping 127.0.0.1 执行如下命令 $IPT –A INPUT –j LOG –s 127.0.0.1 $IPT –A INPUT –j DROP –s 127.0.0.1 ping 127.0.0.1 看是否通? 用 dmesg 能看到什么? Iptables –L –nv 能看到什么? 为什么?

Page 17: 信息安全综合实验

17

实验二实验二 让你的机器只能 telnet 202.38.64.3(BBS) $IPT –A OUTPUT –j ACCEPT –d 202.38.64.3 –

p tcp –dport 23 $IPT –A OUTPUT –j LOG $IPT –A OUTPUT –j DROP $IPT –A INPUT –j ACCEPT –s 202.38.64.3 –p

tcp –m tcp --sport 23 --dport 1024:65535 ! --syn $IPT –A INPUT –j LOG $IPT –A INPUT –j DROP

Page 18: 信息安全综合实验

18

实验三实验三连接跟踪文件 /proc/net/ip_conntrack 是否存在?如果不存在,执行命令modprobe ip_conntrack文件 /proc/net/ip_conntrack 的内容有什么?more /proc/net/ip_conntrackdmesg 显示最多支持多少 session?lsmod 增加了什么模块

Page 19: 信息安全综合实验

19

实验四实验四 让你的机器只能 telnet 202.38.64.3(BBS) $IPT –A OUTPUT –j ACCEPT –d 202.38.64.3 –

p tcp --dport 23 $IPT –A OUTPUT –j LOG $IPT –A OUTPUT –j DROP $IPT –A INPUT –j ACCEPT –m state --state

ESTABLISHED,RELATED $IPT –A INPUT –j LOG $IPT –A INPUT –j DROP

Page 20: 信息安全综合实验

20

实验五实验五 让你的机器只能 ftp 202.38.64.40 $IPT –A OUTPUT –j ACCEPT –m state --state

ESTABLISHED,RELATED $IPT –A OUTPUT –j ACCEPT –d 202.38.64.40 –p

tcp --dport 21 $IPT –A OUTPUT –j LOG $IPT –A OUTPUT –j DROP $IPT –A INPUT –j ACCEPT –m state --state

ESTABLISHED,RELATED $IPT –A INPUT –j LOG $IPT –A INPUT –j DROP

Page 21: 信息安全综合实验

21

实验五实验五

以上设置,只能登录,无法使用列目录等操作

用命令 modprobe ip_conntrack_ftp 加载 ftp 对应的连接跟踪模块后再进行一次实验

Page 22: 信息安全综合实验

22

实验脚本实验脚本

http://202.38.64.40/~james/nms/lab01.tarwget

http://202.38.64.40/~james/nms/lab01.tartar xvf lab01.tarcd lab01