第1页Linux系统管理与网络服务2019年10月18日星期五Linux系统管理与网络服务《Linux系统管理与网络服务》教材配套的光盘为师生双方提供了丰富的教学资源。主要包括:课程标准(教学大纲)、教学设计方案(教案)、PPT课件、项目习作参考答案、配套软件清单及下载地址、模拟试卷及评分标准和参考答案(4套)、网络管理员职责、相关认证考试介绍与往年试卷、知识拓展资料、网络工程案例与解决方案。教材主编:夏笠芹出版社:第2页Linux系统管理与网络服务2019年10月18日星期五项目14防火墙与squid代理服务器的搭建【职业知识目标】了解:防火墙的基本概念、分类与作用;Squid代理服务器的分类及特点熟悉:Linux防火墙的架构及包过滤的匹配流程掌握:iptables命令的格式和使用;NAT的配置方法;【职业能力目标】会安装iptables软件包;能使用iptables命令设置包过滤规则会配置NAT服务会安装Squid软件包会架设普通代理、透明代理和反向代理服务器会在客户端测试iptables和Squid的配置情况第3页Linux系统管理与网络服务2019年10月18日星期五14.1项目背景信息安全始终是企业信息化中一个不可忽视的重要方面;而如何在保障企事业内部网络安全的同时为内网和外网(互联网)的用户提供高效、安全、稳定可靠的访问服务,是网络管理员所考虑的问题。RHEL5内置的iptables防火墙和代理服务器则为我们提供了一种物美价廉的解决方案。第4页Linux系统管理与网络服务2019年10月18日星期五14.2项目知识准备14.2.1认识防火墙(firewall)1.什么是防火墙防火墙——是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全策略控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。在逻辑上,防火墙是一个分离器、限制器和分析器,它能有效地监控内部网和Internet之间的任何活动,保证了内部网络的安全。第5页Linux系统管理与网络服务2019年10月18日星期五2.防火墙的功能①过滤进出网络的数据包,封堵某些禁止的访问行为②对进出网络的访问行为作出日志记录,并提供网络使用情况的统计数据,实现对网络存取和访问的监控审计。③对网络攻击进行检测和告警。防火墙可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径,并通知防火墙管理员。④提供数据包的路由选择和网络地址转换(NAT),从而解决局域网中主机使用内部IP地址也能够顺利访问外部网络的应用需求。14.2.1认识防火墙(firewall)第6页Linux系统管理与网络服务2019年10月18日星期五3.防火墙的类型1)按采用的技术划分①包过滤型防火墙——在网络层或传输层对经过的数据包进行筛选。筛选的依据是系统内设置的过滤规则,通过检查数据流中每个数据包的IP源地址、IP目的地址、传输协议(TCP、UDP、ICMP等)、TCP/UDP端口号等因素,来决定是否允许该数据包通过。(包的大小1500字节)②代理服务器型防火墙——是运行在防火墙之上的一种应用层服务器程序,它通过对每种应用服务编制专门的代理程序,实现监视和控制应用层数据流的作用。14.2.1认识防火墙(firewall)第7页Linux系统管理与网络服务2019年10月18日星期五2)按实现的环境划分①软件防火墙:学校、上前台电脑的网吧普通计算机+通用的操作系统(如:linux)②硬件(芯片级)防火墙:基于专门的硬件平台和固化在ASIC芯片来执行防火墙的策略和数据加解密,具有速度快、处理能力强、性能高、价格比较昂贵的特点(如:NetScreen、FortiNet)通常有三个以上网卡接口外网接口:用于连接Internet网;内网接口:用于连接代理服务器或内部网络;DMZ接口(非军事化区):专用于连接提供服务的服务器群。Console口4个10/100/1000口并发连接数:500000网络吞吐量:1100Mbps过滤带宽:250MbpsCheckPointUTM-157014.2.1认识防火墙(firewall)第8页Linux系统管理与网络服务2019年10月18日星期五14.2.2Linux防火墙概述1.Linux防火墙的历史从1.1内核开始,Linux系统就已经具有包过滤功能了,随着Linux内核版本的不断升级,Linux下的包过滤系统经历了如下3个阶段:在2.0内核中,包过滤的机制是ipfw,管理防火墙的命令工具是ipfwadm。在2.2内核中,包过滤的机制是ipchain,管理防火墙的命令工具是ipchains。在2.4之后的内核中,包过滤的机制是netfilter,防火墙的命令工具是iptables。第9页Linux系统管理与网络服务2019年10月18日星期五2.Linux防火墙的架构Linux防火墙系统由以下两个组件组成:①netfilter:netfilter是集成在内核中的一部分作用是定义、保存相应的过滤规则。提供了一系列的表,每个表由若干个链组成,而每条链可以由一条或若干条规则组成。netfilter是表的容器,表是链的容器,而链又是规则的容器。表→链→规则的分层结构来组织规则②iptables:是Linux系统为用户提供的管理netfilter的一种工具,是编辑、修改防火墙(过滤)规则的编辑器通过这些规则及其他配置,告诉内核的netfilter对来自某些源、前往某些目的地或具有某些协议类型的数据包如何处理。这些规则会保存在内核空间之中。14.2.2Linux防火墙概述第10页Linux系统管理与网络服务2019年10月18日星期五表→链→规则的分层结构来组织规则14.2.2Linux防火墙概述第11页Linux系统管理与网络服务2019年10月18日星期五1.表(tables)专表专用filter表——包过滤含INPUT、FORWARD、OUTPUT三个链,nat表——包地址修改:用于修改数据包的IP地址和端口号,即进行网络地址转换。含PREROUTING、POSTROUTING、OUTPUT三个链,mangle表——包重构:修改包的服务类型、生存周期以及为数据包设置Mark标记,以实现Qos(服务质量)、策略路由和网络流量整形等特殊应用。含PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD五个链,raw表——数据跟踪:用于数据包是否被状态跟踪机制处理包含PREROUTING、OUTPUT两个链。14.2.3.iptables规则的分层结构第12页Linux系统管理与网络服务2019年10月18日星期五2.链(chains)——处理的数据包流向的不同INPUT链——当数据包源自外界并前往防火墙所在的本机(入站)时,即数据包的目的地址是本机时,则应用此链中的规则。OUTPUT链——当数据包源自防火墙所在的主机并要向外发送(出站)时,即数据包的源地址是本机时,则应用此链中的规则。FORWARD链——当数据包源自外部系统,并经过防火墙所在主机前往另一个外部系统(转发)时,则应用此链中的规则。PREROUTING链——当数据包到达防火墙所在的主机在作路由选择之前,且其源地址要被修改(源地址转换)时,则应用此链中的规则。POSTROUTING链——当数据包在路由选择之后即将离开防火墙所在主机,且其目的地址要被修改(目的地址转换)时,则应用此链中的规则。用户自定义链14.2.3.iptables规则的分层结构第13页Linux系统管理与网络服务2019年10月18日星期五3.规则(rules)规则其实就是网管员预定义的过滤筛选数据包的条件。规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。当数据包与规则匹配时,iptables就根据规则所定义的动作来处理这些数据包(如放行、丢弃和拒绝等)。配置防火墙的主要工作就是添加、修改和删除这些规则。学习防火墙就是学习这些规则如何去写14.2.3.iptables规则的分层结构第14页Linux系统管理与网络服务2019年10月18日星期五14.2.4.数据包过滤匹配流程表间的优先顺序依次为:raw、mangle、nat、filter链间的匹配顺序入站数据:PREROUTING、INPUT出站数据:OUTPUT、POSTROUTING转发数据:PREROUTING、FORWARD、POSTROUTING链内规则的匹配顺序按顺序依次进行检查,找到相匹配的规则即停止(LOG策略会有例外)若在该链内找不到相匹配的规则,则按该链的默认策略处理第15页Linux系统管理与网络服务2019年10月18日星期五14.2.5代理服务器squid1.Squid代理服务器的作用Squid除了具有防火墙的代理、共享上网等功能外,还有以下特别的作用:①加快访问速度,节约通信带宽②多因素限制用户访问,记录用户行为2.Squid代理服务器的工作流程第16页Linux系统管理与网络服务2019年10月18日星期五3.Squid代理服务器的分类及特点Squid代理服务器按照代理的设置方式可以分为以下三种:①普通(标准)代理服务器这种代理服务器需要在客户端的浏览器中设置代理服务器的地址和端口号。②透明代理服务器透明代理是NAT和代理的完美结合,之所以称为透明,是因为在这种方式下用户感觉不到代理服务器的存在,不需要在浏览器或其它客户端工具(如网络快车、QQ、迅雷等)中作任何设置,客户机只需要将默认网关设置为代理服务器的IP地址便可。③反向代理服务器普通代理和透明代理是为局域网用户访问Internet中的Web站点提供缓存代理,而反向代理恰恰相反,是为Internet中的用户访问企业局域网内的Web站点提供缓存加速。14.2.5代理服务器squid第17页Linux系统管理与网络服务2019年10月18日星期五14.3项目实施任务14-1iptables服务的安装1.安装iptables软件包因为netfilter/iptables的netfilter组件是与内核集成在一起的,所以只需要安装iptables工具,默认情况下系统会安装该软件包,可通过下面命令检查是否已安装:[root@Server1~]#rpm-qa|grepiptablesiptables-ipv6-1.3.5-5.3.el5iptables-1.3.5-5.3.el5若输出了版本信息,则表明系统已安装。若未安装可在RHEL5安装光盘中找到安装包iptables-1.3.5-5.3.el5.i386.rpm进行安装便可。第18页Linux系统管理与网络服务2019年10月18日星期五2.iptables服务的常用管理命令设置完成后可启动、停止或重启iptables服务了,其有关命令如下:(1)iptables服务的启动、停止或重新启动serviceiptablesstart|stop|restart(2)iptables服务的自动启动#chkconfig--level345iptableson#ntsysv此命令打开文本图形界面,在iptables前面选中“*”,确定后即可实现开机自动加载iptables服务,否则取消掉“*”就不自动加载了。任务14-1iptables服务的安装第19页Linux系统管理与网络服务2019年10月18日星期五是对防火墙配置管理的核心命令,其基本格式为:iptables[-t表名]命令选项[链名]-[匹配条件][-j目标动作/跳转]其中:表名、链名——用于指定所操作的表和链,若未指定表名,则filter作为缺省表。命令选项——指定管理规则的方式,常用的命令选项见表15-1。匹配条件——用于指定对符合什么样的条件的包进行处理,常用条件匹配见表15-2。目标动作/跳转——用来指定内核对数据包的处理方式