1 / 22

信息安全综合实验

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

Download Presentation

信息安全综合实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 信息安全综合实验 张焕杰 中国科学技术大学网络信息中心 james@ustc.edu.cn http://202.38.64.40/~james/nms Tel: 3601897(O)

  2. 第一章防火墙原理及其基本配置 • 课程目的 • 学习包过滤防火墙基本原理 • 简单理解Linux kernel 2.4.*中的netfilter/iptables框架 • 熟悉iptables配置

  3. 1.1 包过滤防火墙原理 • 包过滤型 • 根据数据包的源地址、目的地址、协议、端口、协议内部数据、时间、物理接口来判断是否允许数据包通过。 • 外在表现:路由型、透明网桥型、混合型 • 优点:性能高,对应用透明,使用方便 • 缺点:安全控制粒度不够细

  4. 包过滤防火墙 • 规则 • 条件 动作 序列 • 条件 • 源地址、目的地址、协议、端口、协议内部数据、时间、物理接口 • 动作 • ACCEPT 允许 • DROP 直接丢弃 • REJECT tcp-reset/icmp-port-unreachable • LOG 日志

  5. 包过滤防火墙 • 有先后关系 • 数据包的处理 • 接收到数据包 • 逐条对比规则 • 如果满足条件,则进行相应的动作,如果动作不是ACCEPT/DROP/REJECT,继续处理后面的规则

  6. 1.2 Linux Kernel中的包过滤防火墙 • Ipfw/ipfwadm • 2.0.*中使用移植于BSD的ipfw • 缺点:包过滤、NAT等代码混杂在整个网络相关代码中 • Ipchains • 2.2.*中使用 • Netfilter/iptables • 2.4.* • http://www.netfilter.org/ • 模块化

  7. Netfilter/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

  8. 5个HOOK位置

  9. netfilter结果 • 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.

  10. Netfilter • Iptables是netfilter上的应用程序 • nat mangle filter

  11. Netfilter/iptables • 可以实现完整的基于连接跟踪的包过滤防火墙 • 支持包过滤,双向地址转换 • 一般是路由型的 • 使用ebtables中的bridge+nf patch可以表现为网桥型的 • http://ebtables.sourceforge.net/

  12. 1.3 iptables配置 • 包过滤 • INPUT/OUTPUT/FORWARD 三个规则链 • 可以增加自定义规则链 • iptables –N xxx • 命令格式 • iptables –L –nv 显示 • iptables –F 规则链名 清空规则链 • iptables –A 规则链名 规则 增加规则 • iptables –I 规则链名 规则 插入规则 • iptables –D 规则链名 规则 删除规则 • iptables –D 规则链名 规则编号

  13. 包过滤 • 规则 • -j 动作 ….条件 • 动作为: • ACCEPT 接受数据包 • DROP 丢弃数据包 • RETURN 从当前规则链返回 • LOG 日志,用dmesg可以看到 • REJECT • SNAT/DNAT等

  14. 包过滤 • 条件 • -s IP地址 源地址 • -d IP地址 目的地址 • -i 接口名 接收的接口 • -o 接口名 发送的接口 • -m state -- state 状态 状态包过滤 • ESTABLISHED RELATED NEW INVALID • -p tcp/udp/icmp/47 协议 • --dport 目的端口 • --sport 源端口

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

  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 能看到什么? • 为什么?

  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

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

  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

  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

  21. 实验五 • 以上设置,只能登录,无法使用列目录等操作 • 用命令modprobe ip_conntrack_ftp加载ftp对应的连接跟踪模块后再进行一次实验

  22. 实验脚本 • http://202.38.64.40/~james/nms/lab01.tar • wget http://202.38.64.40/~james/nms/lab01.tar • tar xvf lab01.tar • cd lab01

More Related