配置防火墙与代理服务器.ppt_第1页
配置防火墙与代理服务器.ppt_第2页
配置防火墙与代理服务器.ppt_第3页
配置防火墙与代理服务器.ppt_第4页
配置防火墙与代理服务器.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux网络服务器配置管理项目实训教程 杨云马立新杨建新编著中国水利水电出版社 项目11配置防火墙与代理服务器 主讲教师XXXX 课题引入 防火墙与代理服务器 防火墙是一种非常重要的网络安全工具 利用防火墙可以保护企业内部网络免受外网的威胁 作为网络管理员 掌握防火墙的安装与配置非常重要 本章重点介绍Iptables和SQUID两类防火墙的配置 http www ort 防火墙与代理服务器 防火墙的分类防火墙的工作原理IptablesNATSQUID代理服务器 http www ort 掌握防火墙的分类及工作原理掌握Iptables防火墙和SQUID代理服务器的配置掌握NAT及透明代理的实现方法 Iptables防火墙的配置NAT的实现方法透明代理的实现方法 学习目标 本章难点 http www ort 防火墙的分类 包过滤型防火墙代理服务器型防火墙 http www ort 防火墙的分类 防火墙技术用于实现内外网之间访问的安全性 防火墙的两种主要类型 包过滤型防火墙代理服务器 应用防火墙 http www ort 包过滤型防火墙 包过滤型防火墙内置于Linux系统的内核 在网络层或传输层对经过的数据包进行筛选 筛选的依据是系统内设置的过滤规则 ACL 通过检查数据流中每个数据包的源地址 目的地址 所有的协议 端口号等因素 来决定是否允许该数据包通过 如图所示是包过滤型防火墙常用的一种模式 主要用来阻隔来自外网对内部网络的威胁 包过滤型防火墙有两种基本的默认访问控制策略 一种是先禁止所有的数据包通过 然后再根据需要允许满足匹配规则的数据包通过 一种是先允许所有的数据包通过 再根据需要拒绝满足匹配规则的数据包通过 http www ort 代理服务器型防火墙 代理服务器型防火墙是应用网关型防火墙 通常工作在应用层 代理服务器实际上是运行在防火墙上的一种服务器程序 服务器监听客户机的请求 如申请浏览网页等 当内网的客户机请求与外网的真实服务器连接时 客户端首先连接代理服务器 然后再由代理服务器与外网真实的服务器建立连接 取得客户想要的信息 代理服务器再把信息返回给客户 http www ort 防火墙的工作原理 包过滤型防火墙工作原理代理服务器型防火墙工作原理 http www ort 包过滤型防火墙工作原理 包过滤型防火墙的工作过程 1 数据包从外网传送给防火墙后 防火墙在IP层向TCP层传输数据前 将数据包转发给包检查模块进行处理 2 首先与第一条过滤规则进行比较 3 如果与第一条规则匹配 则进行审核 判断是否允许传输该数据包 如果允许则传输 否则查看该规则是否阻止该数据包通过 如果阻止则将该数据包丢弃 4 如果与第一条过滤规则不同 则查看是否还有下一条规则 如果有 则与下一条规则匹配 如果匹配成功 则进行与 3 相同的审核过程 5 依此类推 一条一条规则匹配 直到最后一条过滤规则 如果该数据包与所有的过滤规则均不匹配 则采用防火墙的默认访问控制策略策略 丢掉该数据包 或允许该数据包通过 http www ort 包过滤型防火墙工作原理 包过滤型防火墙原理图 包过滤规则检查内容 源 目标IP地址TCP和UDP的源 目的端口号协议类型ICMP消息类型TCP报头中的ACK位 序列号 确认号IP校验和 代理服务器型防火墙工作原理 代理服务器型防火墙是应用层防火墙 它能提供部分与传输有关的状态 能提供与应用相关的状态和部分传输的信息 工作原理如右图所示 代理服务器型防火墙原理图 代理服务器型防火墙工作原理 代理服务器型防火墙的工作过程 1 主机A向代理服务器发送一个访问因特网的请求 2 代理服务器将检测ACL 访问列表 中的设置 3 如果主机A所需要的信息已经存在 代理服务器将直接将其发送给主机A 否则 服务器将代替主机A访问因特网 4 因特网将主机A所需要的信息发送给代理服务器 这些信息将被保存在缓存中 5 代理服务器将这些信息发送给主机A 6 主机B向代理服务器发送一个访问同样信息的请求 7 代理服务器将检测ACL 访问列表 中的设置 8 服务器直接将已保存的信息发送给主机B 防火墙的工作原理 Netfilter iptables架构iptables传输数据包的过程iptables命令iptables命令使用举例 Netfilter iptables架构 从1 1内核开始 Linux下的包过滤系统经历了3个阶段 在2 0内核中 采用ipfwadm来操作内核包过滤规则 在2 2内核中 采用ipchains来控制内核包过滤规则 在2 4内核中 采用了一个全新的内核包过滤管理工具 iptables Netfilter iptables最早是与2 4内核版本的Linux系统集成的IP信息包过滤系统 它由Netfilter和iptables两个组件组成 Netfilter iptables架构 Netfilter组件称为内核空间 它集成在Linux的内核中 主要由信息包过滤表 tables 组成 而表由若干个链组成 每条链中可以由一条或者多条规则组成 总的来说 Netfilter是表的容器 表是链的容器 而链又是规则的容器 Netfilter iptables架构 1 规则 规则存储在内核的包过滤表中 分别指定了源 目的IP地址 传输协议 服务类型等 当数据包与规则匹配时 就根据规则所定义的方法来处理数据包 如放行 丢弃等动作 2 链 链是数据包传播的路径 每一条链其实就是众多规则中的一个检查清单 每一条链中可以有一条或数条规则 当数据包到达一条链时 会从链中第一条规则开始检查 看该数据包是否满足规则所定义的条件 如果满足 系统就会根据该条规则所定义的方法处理该数据包 否则将继续检查下一条规则 如果该数据包不符合链中任一条规则 会根据该链预先定义的默认策略处理数据包 Netfilter iptables架构 3 表 Netfilter中内置有3张表 filter表 nat表和mangle表 其中filter表用于实现数据包的过滤 nat表用于网络地址转换 mangle表用于包的重构 filter表是iptables默认的表 主要用于数据包的过滤 filter表包含了INPUT链 处理进入的数据包 FORWARD链 处理转发的数据包 和OUTPUT链 处理本地生成的数据包 nat表主要用于网络地址转换 nat表包含了PREROUTIN链 修改即将到来的数据包 OUTPUT链 修改在路由之前本地生成的数据包 和POSTROUTING链 修改即将出去的数据包 mangle表主要用于对指定的包进行修改 在Linux2 4 18内核之前 mangle表仅包含PREROUTING链和OUTPUT链 在Linux2 4 18内核之后 包括PREROUTING INPUT FORWARD OUTPUT和POSTROUTING五个链 http www ort iptables传输数据包过程 iptables传输数据包的过程如下图所示 iptables传输数据包过程 打开Linux的路由转发功能 1 修改内核变量ip forward 2 修改 etc sysctl conf文件使 net ipv4 ip forward 的值设置为1 http www ort iptables命令 iptables命令格式为 iptables t表名 命令 链名 匹配条件目标动作Iptables表的常用命令 iptables命令 Iptables命令中的常用匹配规则 iptables命令 Iptables命令中的常用目标动作选项 iptables命令 制定永久性规则集 保存规则集 恢复规则集 iptables命令举例 例1 清除所有链中的规则 iptables命令举例 例2 设置filter表中3个链的默认策略为拒绝 例3 查看所有链的规则列表 iptables命令举例 例4 添加一个用户自定义的链custom iptables命令举例 例5 向filter表的INPUT链的最后添加一条规则 对来自192 168 1 1这台主机的数据包丢弃 iptables命令举例 例6 向filter表中的INPUT链的第3条规则前面插入一条规则 允许来自于非192 168 3 0 24网段的主机对本机的25端口的访问 iptables命令举例 例7 向filter表的INPUT链中添加一条规则 拒绝外界主机访问本机tcp协议的100至1024端口 iptables命令举例 例8 向filter表的INPUT链中添加一条规则 拒绝来自其他主机的ping请求 iptables命令举例 例9 假设某单位租用DDN专线上网 网络拓扑如下图所示 iptables防火墙的eth0接口连接外网 IP地址为222 206 160 100 eth1接口连接内网 IP地址为192 168 1 1 假设在内网中存在WEB DNS和E mail3台服务器 这3台服务器都有公有IP地址 其IP地址如图所示 设置防火墙规则加强对内网服务器的保护 并允许外网的用户可以访问此3台服务器 例9的解决方案 1 清空所有的链规则 root RHEL4 iptables F 2 禁止iptables防火墙转发任何数据包 root RHEL4 iptables PFORWARDDROP 3 建立来自Internet网络的数据包的过滤规则 iptables AFORWARD ptcp d222 206 100 2 ptcp dport80 ieth0 jACCEPT iptables AFORWARD ptcp d222 206 100 3 ptcp dport53 ieth0 jACCEPT iptables AFORWARD ptcp d222 206 100 4 ptcp dport25 ieth0 jACCEPT iptables AFORWARD ptcp d222 206 100 4 ptcp dport110 ieth0 jACCEPT 4 接受来自内网的数据包通过 root RHEL4 iptables AFORWARD s222 206 100 0 24 jACCEPT 5 对于所有的ICMP数据包进行限制 允许每秒通过一个数据包 该限制的触发条件是10个包 root RHEL4 iptables AFORWARD picmp mlimit limit1 s limit burst10 jACCEPT NAT NAT的基本知识使用iptables实现NAT http www ort NAT的基本知识 NAT的主要功能 1 从Intranet传出的数据包由NAT将它们的专用地址转换为公用地址 2 从Internet传入的数据包由NAT将它们的公用地址转换为专用地址 3 支持多重服务器和负载均衡 4 实现透明代理 http www ort NAT的基本知识 NAT的工作过程 1 客户机将数据包发给运行NAT的计算机 2 NAT将数据包中的端口号和专用的IP地址换成它自己的端口号和公用的IP地址 然后将数据包发给外部网络的目的主机 同时记录一个跟踪信息在映像表中 以便向客户机发送回答信息 3 外部网络发送回答信息给NAT 4 NAT将所收到的数据包的端口号和公用IP地址转换为客户机的端口号和内部网络使用的专用IP地址并转发给客户机 NAT的基本知识 NAT的工作过程示意图 http www ort NAT的基本知识 NAT的分类 1 源NAT SourceNAT SNAT SNAT指修改第一个包的源IP地址 SNAT会在包送出之前的最后一刻做好Post Routing的动作 Linux中的IP伪装 MASQUERADE 就是SNAT的一种特殊形式 2 目的NAT DestinationNAT DNAT DNAT是指修改第一个包的目的IP地址 DNAT总是在包进入后立刻进行Pre Routing动作 端口转发 负载均衡和透明代理均属于DNAT 使用Iptables实现NAT 用户根据规则所处理的信息包类型 使用iptables命令设置NAT规则 要做源IP地址转换的数据包的规则被添加到POSTROUTING链中 要做目的IP地址转换的数据包的规则被添加到PREROUTING链中 直接从本地出去的数据包的规则被添加到OUTPUT链中 使用Iptables实现NAT 数据包穿越NAT的工作流程示意图 使用Iptables实现NAT 例10 假设某企业网中NAT服务器安装了双网卡 eth0连接外网 eth1连接内网 IP地址为192 168 0 1 企业内部网络的客户机都只有私有IP地址 利用NAT服务使企业内部网络的计算机能够连接Internet网络 例10 的解决方案1 假设eth0的IP地址是静态分配的 公网IP地址池为222 206 160 100 222 206 160 150 此时应作SNAT iptables命令的 j参数的语法格式为 jSNAT to source toIP1 IP2 port1 port2 配置步骤 打开Linux的内核转发功能 root RHEL4 echo 1 proc sys net ipv4 ip forward实现SNAT root RHEL4 iptables tnat APOSTROUTING ptcp oeth0 jSNAT to222 206 160 100 222 206 160 150 1025 30000 http www ort 例10 的解决方案2 假设连接外网的接口是利用ADSL拨号连接的ppp0 此时应作IP伪装 iptables命令的 j参数的语法格式为 jMASQUERADE配置步骤 打开Linux的内核转发功能 root RHEL4 echo 1 proc sys net ipv4 ip forward实现IP伪装 root RHEL4 iptables tnat APOSTROUTING oppp0 jMASQUERADE http www ort 使用Iptables实现NAT 例11 假设某企业网中NAT服务器安装了双网卡 eth0连接外网 IP地址为222 206 160 100 eth1连接内网 IP地址为192 168 0 1 企业内部网络WEB服务器的IP地址为192 168 1 2 要求当Internet网络中的用户在浏览器中输入http 222 206 160 100时可以访问到内网的WEB服务器 例11 的解决方案 根据题目要求可知 此时应作DNAT iptables命令的 j参数的语法格式为 jDNAT to destination toIP1 IP2 port1 port2 实现DNAT的配置语句 iptables tnat APREROUTING ptcp d222 206 160 100 dport80 jDNAT to192 168 1 2 80或者 iptables tnat APREROUTING ptcp ieth0 dport80 jDNAT to192 168 1 2 80 SQUID代理服务器 SQUID服务的安装 启动与停止SQUID服务器的配置SQUID服务器配置实例透明代理 SQUID代理服务器 代理服务是指由一台拥有公有IP地址的机器代替若干没有公有IP地址的机器和Internet上的其它主机打交道 提供代理服务的这台机器称为代理服务器 拥有私有IP地址的机器想连接到Internet上时 先把这个请求发给拥有公有IP地址的代理服务器 由代理服务器把这个请求通过它的公有IP地址发到请求的目的地址 然后目标地址的服务器把返回的结果发回给代理服务器 代理服务器再原封不动的把资料发给内部主机 Squid是一个高性能的代理缓存服务器 可以加快内网浏览Internet的速度 提高客户机访问命中率 Squid不仅支持HTTP协议 还支持FTP gopher SSL和WAIS等协议 Squid由一个主要的服务程序Squid 一个DNS查询程序dnsserver 几个重写请求和执行认证的程序 以及几个管理工具组成 Squid使用访问控制清单 ACL 和访问权限清单 ARL 阻止特定的网络连接来减少潜在的Internet非法连接 SQUID服务的安装 启动与停止 SQUID服务的安装 Squid服务的软件包在RHEL4的第2张安装盘上 软件包的名字为 squid 2 5 STABLE6 3 i386 rpm 插入安装盘 挂载 然后输入下面的命令完成安装 SQUID服务的安装 启动与停止 SQUID服务的启动 SQUID服务的重新启动 SQUID服务的停止 SQUID服务器的配置 SQUID服务的主配置文件是 etc squid squid conf 用户可以根据自己的实际情况修改相应的选项 下面给出的是一个配置文件的实例 各项的具体含义见课本P265 SQUID服务器的配置 访问控制列表ACL ACL是要控制客户的主机和域的列表 用户使用http access等命令定义控制功能 可以基于源IP地址 域名 甚至时间和日期等来使用acl命令定义系统或者系统组 acl命令的格式如下 acl列表名称列表类型 i 列表值列表名称用于区分Squid的各个访问控制列表 任何两个访问控制列表不能用相同的列表名 列表类型用于定义可被Squid识别的类别 例如 可以通过IP地址 主机名 域名 日期和时间等 常见选项如下表所示 http www ort ACL类型选项 ACL访问控制列表举例 SQUID服务器配置实例 例17 某公司用Squid作代理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论