280 likes | 516 Views
Linux 网络操作系统. 第15章 Linux 防火墙与代理服务器. 广州工程技术职业学院. 本章内容. 防火墙简介 用 iptables 设置防火墙. 防火墙简介. 防火墙的概念和功能 防火墙的分类和基本工作原理 Linux 的防火墙. 防火墙的概念和功能. 防火墙具有以下几种功能 : 实施安全策略 过滤传输数据 记录 Internet 活动 IP 地址转换 保护内部网络信息. 防火墙的分类和基本工作原理. 分类: 包过滤防火墙( Packet Filtering Firewall ) 代理防火墙( Proxy Firewall )
E N D
Linux网络操作系统 第15章 Linux防火墙与代理服务器 广州工程技术职业学院
本章内容 • 防火墙简介 • 用iptables设置防火墙
防火墙简介 • 防火墙的概念和功能 • 防火墙的分类和基本工作原理 • Linux的防火墙
防火墙的概念和功能 • 防火墙具有以下几种功能 : • 实施安全策略 • 过滤传输数据 • 记录Internet活动 • IP地址转换 • 保护内部网络信息
防火墙的分类和基本工作原理 • 分类: • 包过滤防火墙(Packet Filtering Firewall) • 代理防火墙(Proxy Firewall) • 状态监测防火墙(Stateful Inspection Firewall)
包过滤防火墙 • 优点 : • 处理速度快 • 对用户的透明性 • 缺点: • 不能实现用户级别的认证 • 日志记录不完善 • 无法防御IP欺骗 • 对某些协议不适用
代理防火墙 • 优点 : • 安全性 • 灵活的过滤规则 • 详细的日志记录 • 缺点: • 处理速度慢 • 对用户不透明 • 代理服务类型的限制
状态监测防火墙 • 又称动态包过滤防火墙。 • 主要特点有: • 高安全性 • 可伸缩性和可扩展性 • 应用范围广
Linux的防火墙 • 在Linux 1.2.x 和2.0.x.内核中,防火墙系统为ipfawdm,能够实现对TCP、UDP、ICMP协议数据包的过滤。 • 在Linux 2.2.x的内核中,防火墙为iptables • 在Linux 2.4.x中使用netfilter做为防火墙系统,相应的配置工具为iptabless。
用iptables设置防火墙 • iptables简介 • iptables命令 • 用iptables进行包过滤 • 用iptables做IP Masquade • 用iptables做透明代理
iptables简介 • 相对于ipfawdm,iptables中新增的特性有: • QoS支持(Quality of Service,服务质量) • 用树型的链系统(Tree style chains system)代替了线型的链系统(Linear system) • 配置上更加灵活,能够更加容易地对防火墙的配置进行大范围的改动 • 能够对任何协议进行过滤,而不只是TCP、UDP和ICMP • 支持反向过滤规则
iptables简介 • 用iptables不只能够配置防火墙进行包过滤,还可以用它来配置IP Masquerade实现多台客户机共用一个外部IP接入Internet,以及配置透明代理,使客户端无需进行特殊设置即可使用代理服务器访问网上资源。
iptables命令 • 防火墙链包括三种标准的链: • input链。 • output链。 • forward链。 • 用户自定义的链——user defined。
iptables命令 • iptables命令的格式是: • iptables -[ADC] 链指派的规则 [选项] • iptables -[RI] 链规则号码指派的规则 [选项] • iptables -D 链规则号码 [选项] • iptables -[LFZNX] [链] [选项] • iptables -P 链目标 [选项] • iptables -M [ -L | -S ] [选项]
iptables命令 • 禁止所有ICMP包进入防火墙 : • # iptables –A input –p ICMP –j DENY • 在localnet链中添加一条规则,对来自任何非本局域网内的目的端口为局域网内的主机的1-1024端口的数据包都拒绝 。 • # iptables –A localnet –s ! 192.168.1.0/24 –d 192.168.1.0/24 1:1024 –j DENY • 允许本子网内的主机对外部网络中的任何主机进行访问 • # iptables –A localnet –s 192.168.1.0/24 –d 0.0.0.0/0.0.0 –j ACCEPT • 删除掉localnet链中的第一条规则 • # iptables –D localnet 1
用iptables进行包过滤 • 默认拒绝所有数据包 • 默认接受所有数据包 • 设置防火墙启动脚本
默认拒绝所有数据包 • 首先拒绝所有的输入、输出、转发包(把三条链的默认策略设置成DENY),然后根据需要逐个打开要开放的各项服务。
默认接受所有数据包 • 首先默认允许接受所有的输入、输出、转发包(把三条链的默认策略设置成ACCEPT),然后拒绝某些危险包,如IP欺骗包、广播包、ICMP服务类型攻击等。同时检查系统上的各种服务,禁用所有不需要的服务。
用iptables做IP Masquade • IP Masquade简介 • IP Masquade的工作方式 • 设置Linux启用IP Masquade
IP Masquade简介 • IP Masquade(IP伪装)是Linux的一项网络功能,类似于一对多(One to Many)的网络地址转换(NAT)。
设置Linux启用IP Masquade • 要对内部网络中的所有主机开放IP Masquade • # iptables -A forward -i ppp0 -s 192.168.1.0/24 -j MASQ
用iptables做透明代理 • 透明代理简介 • 透明代理的设置
透明代理简介 • 透明代理是指不需要客户端进行设置就能使用的代理服务器 • 架设透明代理服务器有几个条件: • 代理服务器和防火墙设置在同一台Linux服务器上。 • 这台Linux服务器同时是局域网的网关。 • 客户端的DNS必须设置正确。
透明代理的工作方式 • 客户端要访问Internet上的一个Web网址,首先用DNS服务器进行地址解析,得到此网址的IP地址,然后把连接请求的数据包发送给网关进行路由。 • 网关,也就是透明代理服务器,接收到这个数据包后,对数据包的包头信息进行判断,发现目的地址的端口是80,也就是HTTP服务的端口,按照防火墙的设置,把此数据包重定向到本地的代理服务器端口。 • 代理服务器接收到这个连接请求的数据包后,按照数据包中的请求信息,去Web服务器上取得相应的页面文件,然后发送给客户端。
透明代理的设置 • 设置透明代理服务器包括两个部分,代理服务器的设置和防火墙的设置。 • 首先要确保在编译内核的时候打开了IP: transparent proxy support选项。用iptables配置防火墙加入如下规则: • # iptables -P input ACCEPT • # iptables -P output ACCEPT • # iptables -P forward DENY • # iptables -A input -p tcp -s 192.168.1.0/24 -d 0.0.0.0/0 80 -j REDRIECT 3128
本章小结 • 掌握利用iptables设置防火墙 • 掌握真实工程中防火墙的部署与实施