潘爱民,北京大学计算机研究所 http://www.icst.pku.edu.cn/InfoSecCourse 网络与信息安全 网络安全 (一) 潘爱民,北京大学计算机研究所 http://www.icst.pku.edu.cn/InfoSecCourse.

Slides:



Advertisements
Similar presentations
NAT与ICMP交互.
Advertisements

第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用
第 8 章 IP 基礎與定址.
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第7章 防 火 墙 技 术 7.1 防火墙概念 7.2 防火墙原理及实现方法 7.3 防火墙体系结构 7.4 防火墙的构成
计算机网络教程(第 2 版) 第 7 章 网络互连 课件制作人:谢希仁.
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
因特网 TCP/IP协议 IP路由技术 Internet接入技术 Internet服务.
UBLink集團 裕笠科技股份有限公司 遠豐科技股份有限公司 鉅創科技股份有限公司
计算机网络安全技术实验 启动虚拟机、GIF、measpoilt、.
数据转发过程.
第十一章 Internet的安全性.
Netman Linux 的防火牆設計與應用 Netman
项目四 组建跨地区网络 授课教师:肖颖.
海信FW3010PF防火墙介绍 北京海信数码科技有限公司
網路基本概念與設定方法 林文宗 資管系助理教授
教学目的:通过本章的学习大家要掌握端口 教学重点:端口的分类的两大类,静态端口 教学难点:几种常见的端口.
学习目标: 1)理解包和包过滤 2)理解包过滤的方法 3)设置特殊的包过滤规则
文档维护者:白金(platinum)、陈绪(bjchenxu)
網路概論.
網路指令 講師 : 郭育倫
教师:陈有为 TCP/IP与Internet(A) 教师:陈有为
網路基本概念 本章主要是為讀者建立有關網路的基本知識, 作為後續章節的基礎。首先我們會說明網路的基本概念, 接著介紹網路的各種類型與相關的作業系統, 最後則是介紹 OSI 與 DoD 等兩種網路模型, 讓讀者能進一步了解網路運作的方式。
David liang 数据通信安全教程 防火墙技术及应用 David liang
計中「多媒體與網路應用」短期訓練課程 FTP server 架設 (in Windows)
計資中心教學研究組唐瑤瑤 電腦與網路 計資中心教學研究組唐瑤瑤
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
华南师范大学 防火墙 华南师范大学
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
網路安全技術期末報告 Proxy Server
计算机网络原理 计算机与信息工程分院 周文峰.
第 16 章 Internet架構.
臺東縣中小學資訊教育校園網路管理暨資訊安全防護計畫研習
第六章 差错与控制报文 (ICMP).
網路伺服器應用 Linux Server Andres, Wen-Yuan Liao
第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用
網路服務 家庭和小型企業網路 – 第六章.
NetFilter IPTables.
P2P通信之 ——UDP穿越NAT方案的讨论
访问控制列表(ACL) Version 1.0.
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
第 2 章 TCP / IP 簡介.
防火墙技术介绍   严峻的网络安全形势,促进了防火墙技术的不断发展。防火墙是一种综合性的科学技术,涉及网络通信、数据加密、安全决策、信息安全、硬件研制、软件开发等综合性课题。
大学计算机基础 典型案例之一 构建FPT服务器.
PPPoE PPTP L2TP全解 方伟、产品策划 讲师的CSDN博客地址
網路探測:路徑、延遲 與流量統計 Instructor: Teaching Assistant:.
网络常用常用命令 课件制作人:谢希仁.
考试题型 填空题(30) 选择题(20) 名词解释(10) 问答题(24) 计算题(16) 附加题(30) 成绩核算:
网络系统集成技术 访问控制列表 Access Control List 第七章.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第4章 OSI傳輸層.
Windows网络操作系统管理 ——Windows Server 2008 R2.
华南师范大学 防火墙 华南师范大学
第十三章 TCP/IP 與 Internet 網路連結技術
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
ISA Server 2004.
第4章 TCP/IP应用层常用协议 4.1 Telnet 协 议 4.2 文件传输协议FTP 4.3 电子邮件的工作原理及其协议
Network Application Programming(3rd Edition)
NAT技术讲座 主讲:周旭 大唐电信科技股份有限公司光通信分公司 数据通信部.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
IT 安全 第 9节 通信和网络控制.
第10讲 Web服务.
助教:廖啟盛 JAVA Socket(UDP) 助教:廖啟盛
Internet课程设计 教师:陈 妍 朱海萍 西安交通大学计算机系
IP Layer Basics & Firewall
实验六静态路由.
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

潘爱民,北京大学计算机研究所 http://www.icst.pku.edu.cn/InfoSecCourse 网络与信息安全 网络安全 (一) 潘爱民,北京大学计算机研究所 http://www.icst.pku.edu.cn/InfoSecCourse

内容 TCP/IP基础 防火墙 防火墙的基本介绍 几种防火墙的类型 防火墙的配置 防火墙技术的发展

安全层次 应用安全 系统安全 网络安全 安全协议 安全的密码算法

TCP/IP overview 协议栈 一些数据包的格式 IP数据包 TCP/UDP数据包 常用的上层协议 几个常用工具

TCP/IP协议栈

IP地址划分 保留私用的网络地址: 还有一些具有特殊意义的网络地址,如广播地址和127.0.0.1地址等。 10.0.0.0 - 10.255.255.255 172.16.0.0 - 10.172.31.255.255 192.168.0.0 - 192.168.255.255 还有一些具有特殊意义的网络地址,如广播地址和127.0.0.1地址等。

协议栈各层数据包的结构

IP网络互连的原理 广播子网内部 ARP地址解析 从MAC地址到IP地址之间的解析 以太网络间路由

IP数据包格式

UDP数据包格式

TCP数据包格式

TCP连接的建立和终止时序图

常用的上层协议 DNS: 53/tcp,udp FTP: 20,21/tcp,udp telnet: 23/tcp,udp HTTP: 80/tcp,udp NNTP: 119/tcp,udp SMTP: 25/tcp,udp POP3: 110/tcp,udp 参考:IANA提供的port-numbers.txt

常用的网络工具 Netstat Ipconfig/ifconfig Ping Tracert ……

防火墙(Firewall) 防火墙的基本设计目标 防火墙的控制能力 对于一个网络来说,所有通过“内部”和“外部”的网络流量都要经过防火墙 通过一些安全策略,来保证只有经过授权的流量才可以通过防火墙 防火墙本身必须建立在安全操作系统的基础上 防火墙的控制能力 服务控制,确定哪些服务可以被访问 方向控制,对于特定的服务,可以确定允许哪个方向能够通过防火墙 用户控制,根据用户来控制对服务的访问 行为控制,控制一个特定的服务的行为

防火墙能为我们做什么 定义一个必经之点 防火墙提供了一个监视各种安全事件的位置,所以,可以在防火墙上实现审计和报警 挡住未经授权的访问流量 禁止具有脆弱性的服务带来危害 实施保护,以避免各种IP欺骗和路由攻击 防火墙提供了一个监视各种安全事件的位置,所以,可以在防火墙上实现审计和报警 对于有些Internet功能来说,防火墙也可以是一个理想的平台,比如地址转换,Internet日志、审计,甚至计费功能 防火墙可以作为IPSec的实现平台

防火墙本身的一些局限性 对于绕过防火墙的攻击,它无能为力,例如,在防火墙内部通过拨号出去 防火墙不能防止内部的攻击,以及内部人员与外部人员的联合攻击(比如,通过tunnel进入) 防火墙不能防止被病毒感染的程序或者文件、邮件等 防火墙的性能要求

防火墙的类型 包过滤路由器 应用层网关 电路层网关

包过滤路由器 基本的思想很简单 如何过滤 对于每个进来的包,适用一组规则,然后决定转发或者丢弃该包 往往配置成双向的 过滤的规则以IP和传输层的头中的域(字段)为基础,包括源和目标IP地址、IP协议域、源和目标端口号 过滤器往往建立一组规则,根据IP包是否匹配规则中指定的条件来作出决定。 如果匹配到一条规则,则根据此规则决定转发或者丢弃 如果所有规则都不匹配,则根据缺省策略

安全缺省策略 两种基本策略,或缺省策略 没有被拒绝的流量都可以通过 没有被允许的流量都要拒绝 管理员必须针对每一种新出现的攻击,制定新的规则 比较保守 根据需要,逐渐开放

包过滤路由器示意图 网络层 链路层 物理层 外部网络 内部网络

包过滤防火墙 在网络层上进行监测 通常在路由器上实现 优点: 缺点: 举例: ipchains and iptables 并没有考虑连接状态信息 通常在路由器上实现 实际上是一种网络的访问控制机制 优点: 实现简单 对用户透明 效率高 缺点: 正确制定规则并不容易 不可能引入认证机制 举例: ipchains and iptables

Linux内核2.2中的包的流向 output input sys_write() sys_read() sock_write() inet_sendmsg() tcp_v4_sendmsg() tcp_do_sendmsg() tcp_send_skb() tcp_transmit_skb() ip_queue_xmit() ip_output() ip_finish_output() dev_queue_xmit() hard_start_xmit() sys_read() sock_read() inet_recvmsg() tcp_recvmsg() tcp_v4_recv() ip_local_deliver() ip_rcv() net_bh() Netif_rx() Block_input() ei_receive() ei_interrupt()

网络层的处理流程 传输层 链路层 forward input output Route table Demasq Ip_forward() Ip_local_deliver() forward Route table input Ip_output() Ip_rcv() output 链路层

Linux内核中的包过滤 Firewall_ops input forward output user Deny Reject In_Rule1 Rule1 In_Rule2 Rule2 In_Rule3 Accept

Ipchains的用法示例 ipchains -A input -i eth0 -s 192.168.1.0/24 -j DENY ipchains -A input -p tcp -d 162.105.73.192/26 any -y –i eth0 -j DENY ipchains –A input –p tcp –d 162.105.73.254 80 -i eth0 –j ACCEPT

包过滤防火墙的设置(1) 从内往外的telnet服务 client server 内部 外部 往外包的特性(用户操作信息) IP源是内部地址 目标地址为server TCP协议,目标端口23 源端口>1023 连接的第一个包ACK=0,其他包ACK=1 往内包的特性(显示信息) IP源是server 目标地址为内部地址 TCP协议,源端口23 目标端口>1023 所有往内的包都是ACK=1

包过滤防火墙的设置(2) 从外往内的telnet服务 client server 外部 内部 往内包的特性(用户操作信息) IP源是外部地址 目标地址为本地server TCP协议,目标端口23 源端口>1023 连接的第一个包ACK=0,其他包ACK=1 往外包的特性(显示信息) IP源是本地server 目标地址为外部地址 TCP协议,源端口23 目标端口>1023 所有往内的包都是ACK=1

针对telnet服务的防火墙规则 *: 第一个ACK=0, 其他=1 服务方向 包方向 源地址 目标地址 包类型 源端口 目标端口 ACK 往外 外 内部 外部 TCP >1023 23 * 内 1 往内 *: 第一个ACK=0, 其他=1

Ftp文件传输协议 ftp server client 5151 5150 21 20 PORT 5151 OK 建立数据通道 命令通道:21端口 client ftp server 数据通道:20端口 5151 5150 21 20 PORT 5151 OK 建立数据通道

Ftp文件传输协议(续) ftp server client 5151 5150 21 20 PASV 3267 OK3267 建立数据通道 命令通道:21端口 client ftp server 数据通道:>1023 5151 5150 21 20 PASV OK3267 建立数据通道 OK 3267

针对ftp的包过滤规则注意事项 建立一组复杂的规则集 动态监视ftp通道发出的port命令 启示 是否允许正常模式的ftp数据通道? 有些ftp client不支持pasv模式 动态监视ftp通道发出的port命令 有一些动态包过滤防火墙可以做到 启示 包过滤防火墙比较适合于单连接的服务(比如smtp, pop3),不适合于多连接的服务(比如ftp)

针对包过滤防火墙的攻击 IP地址欺骗,例如,假冒内部的IP地址 源路由攻击,即由源指定路由 对策:在外部接口上禁止内部地址 源路由攻击,即由源指定路由 对策:禁止这样的选项 小碎片攻击,利用IP分片功能把TCP头部切分到不同的分片中 对策:丢弃分片太小的分片 利用复杂协议和管理员的配置失误进入防火墙 例如,利用ftp协议对内部进行探查

应用层网关 也称为代理服务器 特点 所有的连接都通过防火墙,防火墙作为网关 在应用层上实现 可以监视包的内容 可以实现基于用户的认证 所有的应用需要单独实现 可以提供理想的日志功能 非常安全,但是开销比较大

应用层网关的结构示意图

应用层网关的协议栈结构 HTTP FTP Telnet Smtp 传输层 网络层 链路层

应用层网关的优缺点 优点 缺点 允许用户“直接”访问Internet 易于记录日志 新的服务不能及时地被代理 每个被代理的服务都要求专门的代理软件 客户软件需要修改,重新编译或者配置 有些服务要求建立直接连接,无法使用代理 比如聊天服务、或者即时消息服务 代理服务不能避免协议本身的缺陷或者限制

应用层网关实现 编写代理软件 客户软件 协议对于应用层网关的处理 代理软件一方面是服务器软件 另一方面也是客户软件 但是它所提供的服务可以是简单的转发功能 另一方面也是客户软件 对于外面真正的服务器来说,是客户软件 针对每一个服务都需要编写模块或者单独的程序 实现一个标准的框架,以容纳各种不同类型的服务 软件实现的可扩展性和可重用性 客户软件 软件需要定制或者改写 对于最终用户的透明性? 协议对于应用层网关的处理 协议设计时考虑到中间代理的存在,特别是在考虑安全性,比如数据完整性的时候

应用层网关——代理服务器 发展方向——智能代理 两个代理服务器的实现例子 不仅仅完成基本的代理访问功能 还可以实现其他的附加功能,比如 对于内容的自适应剪裁 增加计费功能 提供数据缓冲服务 两个代理服务器的实现例子 MSP – Microsoft Proxy Server squid

Microsoft Proxy Server 2.0 一个功能强大的代理服务器 提供常用的Internet服务 除了基本的Web Proxy,还有Socks Proxy和Winsock Proxy 强大的cache和log功能 对于软硬件的要求比较低 安装管理简单 与NT/2000集成的认证机制 扩展的一些功能 反向proxy: proxy作为Internet上的一个Web server 反向hosting,以虚拟Web Server的方式为后面的Web Server独立地发布到Internet上 安全报警

Microsoft Proxy Server v2管理示意图

squid 关于squid 管理和配置 是一个功能全面的Web Proxy Cache 可以运行在各种UNIX版本上 是一个自由软件,而且源码开放 功能强大,除了http协议之外,还支持许多其它的协议,如ftp、ssl、DNS等代理服务 管理和配置 /usr/local/squid /etc/squid.conf 默认端口3128 一种使用方案 Linux+Squid

电路层网关

电路层网关 本质上,也是一种代理服务器 有状态的包过滤器 动态包过滤器 状态 上下文环境 流状态 认证和授权方案 例子:socks

socks 专门设计用于防火墙 在应用层和传输层之间垫了一层 Socks v4和socks v5 正在普及和流行 Socks lib和socks server 不支持ICMP Socks v4和socks v5 基于用户的认证方案 对UDP的支持 正在普及和流行 可以参考有关的RFC

socks 应用 传输层 网络层 链路层 policy server client Socks server

Socks v5 在socks v4的基础上发展起来 Socks要求 Socks v4支持基于TCP的应用穿越防火墙 Socks v5增加了对于UDP协议的支持 Socks v5增加了对于认证方案的支持 Socks v5支持IPv6地址 Socks要求 修改客户程序,链接到socks library,以便socksified 首先连接到socks server,然后再同目标服务器连接 对于UDP协议,首先同socks server建立一个TCP连接,然后再传送UDP数据

TCP客户的处理过程 客户首先与socks server建立一个TCP连接,通常SOCKS端口为1080 然后客户与服务器协商认证方案 然后进行认证过程 认证完成之后 客户发出请求 服务器送回应答 一旦服务器应答指示成功,客户就可以传送数据了

认证方案的协商 Client->Server: +-----+---------------+---------------+ |VER | NMETHODS| METHODS | | 1 | 1 | 1 to 255 | Method: X’00: No Authentication require X’01: GSSAPI X’02: Username/password X’FF: No Acceptable Methods Server->Client +-----+------------+ |VER | METHOD | | 1 | 1 |

客户发出的请求 +-----+-------+----------+-------+---------------+---------------+ | VER | CMD | RSV  | ATYP | DST.ADDR | DST.PORT | +-----+-------+----------+--------+--------------+---------------+ | 1  |  1 | X‘00’ |  1  | Variable |   2    | +-----+-------+----------+--------+---------------+--------------+ CMD: X’01: connection X’02: bind X’03: UDP associate ATYP: X’01: IP v4 X’03: Domain name X’04: IP v6

服务器的应答 +-----+-------+-------+--------+-----------------+---------------+ | VER| REP | RSV | ATYP | BND.ADDR | BND.PORT | +-----+-------+-------+--------+-----------------+---------------+ | 1 | 1  | X‘00’ | 1   | Variable |   2   | +-----+-------+-------+--------+-----------------+---------------+ REP 00: succeed 01: general SOCKS server failure 02: connection not allowed by ruleset 03: network unreachable 04: host unreachable 05: connection refused 06: TTL expired 07: Command not supported 08: address type not supported 09-FF: not assigned BND.ADDR & BND.PORT: Specify the addr and port of the socks server which will accept an inbound connection

UDP客户的处理过程 请求命令为“UDP associate” 客户->UDP relay server ->目标机器 UDP packet +-----+--------+-------+--------------+-------------+-----------+ |RSV | FRAG | ATYP | DST.ADDR | DST.PORT | DATA | | 2 | 1 | 1 | Variable | 2 | Variable | FRAG: current fragment number

电路层网关的优缺点 优点 效率高 精细控制,可以在应用层上授权 为一般的应用提供了一个框架 缺点 客户程序需要修改 动态链接库?

防火墙的配置 几个概念 堡垒主机(Bastion Host):对外部网络暴露,同时也是内部网络用户的主要连接点 双宿主主机(dual-homed host):至少有两个网络接口的通用计算机系统 DMZ(Demilitarized Zone,非军事区或者停火区):在内部网络和外部网络之间增加的一个子网

防火墙几种典型配置方案 双宿主方案 屏蔽主机方案 单宿主堡垒主机 双宿主堡垒主机 屏蔽子网方案

配置方案一 双宿主堡垒主机方案 所有的流量都通过堡垒主机 优点:简单

配置方案二 屏蔽主机方案:单宿主堡垒主机 只允许堡垒主机可以与外界直接通讯 优点:两层保护:包过滤+应用层网关;灵活配置 缺点:一旦包过滤路由器被攻破,则内部网络被暴露

配置方案三 屏蔽主机方案:双宿主堡垒主机 从物理上把内部网络和Internet隔开,必须通过两层屏障 优点:两层保护:包过滤+应用层网关;配置灵活

配置方案四 屏蔽子网防火墙 优点: 三层防护,用来阻止入侵者 外面的router只向Internet暴露屏蔽子网中的主机

防火墙的发展 分布式防火墙 应用层网关的进一步发展 与其他技术的集成 认证机制 智能代理 比如NAT、VPN(IPSec)、IDS,以及一些认证和访问控制技术 防火墙自身的安全性和稳定性

参考资料 书 William Stallings, Cryptography and network security: principles and practice, Second Edition 文章 SOCKS Protocol Version 5, RFC 1928 其他关于防火墙技术的书籍