




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目五Linux服务器系统安全运行与维护项目主要内容:任务一
加强Linux系统DNS服务的安全防御任务二
加强Linux系统DHCP服务的安全防御任务三
加强Linux系统Web服务的安全防御任务四
加强Linux系统FTP服务的安全防御任务五
使用防火墙模块提升Linux服务器的安全防御任务提出
对网络中的各种服务器实施安全配置后,服务器尽最大努力为网络用户提供安全的服务,但对服务器还需要进行一些安全配置。对于Linux操作系统来说,其系统本身提供了iptables防火墙模块。Linux不但可以利用iptables模块对本机的服务提供安全保护,而且还可以用它充当网关,对局域网内部用户和服务进行安全防护,可以通过利用防火墙模块保护服务器的服务和利用防火墙模块架设安全防火墙两种方式进行安全配置。
在网络系统中服务器可以使用防火墙模块进行以下安全配置:1.使用防火墙模块对网络访问进行安全防护
在防火墙模块中,通过控制内网用户访问外网,修改访问策略,指定NAT转换,保护网络访问的安全。2.使用防火墙模块对Web服务器进行安全防护
在防火墙模块中配置策略文件,使得外网计算机通过服务器的公网地址访问服务器的Web服务器,以保护Web服务器的安全。3.使用防火墙模块对FTP服务器进行安全防护
在防火墙模块中加载FTP模块,配置外网计算机通过防火墙安全策略访问FTP服务,保护FTP服务器的安全。4.使用防火墙模块架设安全防火墙,保护内网用户和服务
在防火墙模块中,设置防火墙默认规则,保护服务器的DNS、Web和FTP服务,配置防火墙日志,保护内网用户和访问服务的安全。任务分析1.使用防火墙模块对网络访问进行安全防护Linux提供了一个非常优秀的防火墙工具——netfilter/iptables。它完全免费,功能强大,使用灵活,可以对流入和流出的信息进行细化控制,且对计算机配置没有较高要求,是进行网络安全防护的重要工具。netfilter/iptablesIP信息包过滤系统是一种功能强大的工具,可用于添加、编辑和删除规则,这些规则是防火墙在进行信息包过滤时所遵循的规则。它由netfilter和iptables两个组件组成。netfilter组件也称为内核空间(kernelspace),
是Linux内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables组件是一种工具,也称为用户空间(userspace),它使插入、修改和删除信息包过滤表中的规则变得容易。iptables防火墙只读取数据包头,不会给信息流增加负担,也不需进行验证。在使用防火墙模块对网络访问进行安全防护时,可以在防火墙上指定网络流量的进出接口,对源IP地址和目的IP地址进行过滤,还可以配置内网在访问外网时进行NAT转换时的IP地址,同时也可以防止地址映射错误,保护DNS和DHCP服务器的安全。2.使用防火墙模块对Web服务器进行安全防护
众所周知,Web服务器是通过TCP协议的80端口提供服务器的,因此在防火墙模块中可以限制从80端口进出的流量,以防护Web服务器的安全。3.使用防火墙模块对FTP服务器进行安全防护FTP服务器通过20端口和21端口提供服务,其中21端口用于建立连接,20端口用于传输数据,因此要保护FTP服务器的安全,需要同时保护20端口和21端口的进出数据。4.使用防火墙模块架设安全防火墙,保护内网用户和服务
在防火墙模块上设置允许访问回环地址,允许客户端和服务器进行DNS查询,允许进行DNS区域复制,允许客户端访问Web服务和FTP服务,配置防火墙日志,将每种服务访问数据设置前缀,方便查看。知识链接Linux防火墙iptables用于实现Linux下IP访问控制的功能,通过定义防火墙的策略和规则使得防火墙发挥防护作用。netfilter和iptables组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,它可以完成封包过滤、封包重定向和网络地址转换等功能。
(1)防火墙的规则链和表。
在iptables中定义的规则,必须要放入内核中供netfilter读取,而放入内核的地方,一共分为五处:1)内核空间中:从一个网络接口进来,到另一个网络接口出去。2)数据包从内核流入用户空间的。3)数据包从用户空间流出的。4)进入/离开本机的外网接口。5)进入/离开本机的内网接口。这五个位置也被称为五个钩子函数(hookfunctions),也称为五个规则链。1)PREROUTING(路由前)。2)INPUT(数据包流入口)。3)FORWARD(转发管卡)。4)OUTPUT(数据包出口)。5)POSTROUTING(路由后)。防火墙控制网络报文的流程图如图1所示:图1报文的流向如下:传到本机的报文:prerouting-->input。由本机转发的报文:prerouting-->forward-->postrouting。由本机的某个进程发出报文:output-->postrouting。防火墙中的5个规则链包含在防护墙的4个表中,用来处理不同的数据报文,4个表分别为:filter表——负责过滤功能,防火墙。nat表——networkaddresstranslation,网路地址转换功能。managle表——拆解报文,作出修改,并重新封装。raw表——关闭nat表上启用的链接追踪机制。
某些链中只包含某些表,并不是每个链都包含上述4种表,表和链的对应关系如图2所示:图2
当一个链中同时包含四种表的时候,这四个表的优先级顺序如下:raw-->mangle-->nat-->filter
因为只有output链能够同时包含这四种表,所以防火墙文件中output项比较多。(2)防火墙的匹配规则。
只有满足匹配规则的报文才能被防火墙转发。基本匹配条件包括源地址SourceIP和目标地址DestinationIP。扩展匹配规则可以是源端口和目标端口,源地址、目的地址、传输协议、服务协议等。当规则匹配之后,处理方法如下:ACCEPT:允许通过;LOG:记录日志信息,然后传给下一条规则继续匹配;REJECT:拒绝通过,必要时给出提示;DROP:直接丢弃,不给出任何回应。匹配规则查看方法:iptables-tfilter-L查询filter表的所有规则;iptables-traw-L查看raw表的所有规则。如使用iptables-L时,其默认的表是filter表,效果等同于iptables-tfilter-L。任务实施1.使用防火墙模块对网络访问进行安全防护操作步骤如下:步骤1实验准备阶段,根据项目一中任务二知识点,在VMwareWorkstation中部署四台RedHatEnterpriseLinux6.4系统虚拟机FW、server、PC1和PC2,四台虚拟机的IP地址规划如表所示。(如果电脑资源不够,虚拟机不必全部同时开启,可以在不同实验阶段开启相应虚拟机即可;也可在多个互连的物理机上分别建立相应的虚拟机)。设备名称设备角色操作系统IP地址默认网关FW防火墙RedHatLinux6.4eth1:54/24
eth0:54/24server服务器RedHatLinux6.4/2454PC1内网客户端RedHatLinux6.40/2454PC2外网客户端RedHatLinux6.4/2454步骤2关闭计算机的防火墙和selinux,并测试计算机之间的连通性。将计算机重启,使得selinux设置生效。其他三台虚拟机同样设置。[root@Server桌面]#serviceiptablesstopiptables:清除防火墙规则:[确定]iptables:将链设置为政策ACCEPT:filter[确定]iptables:正在卸载模块:[确定][root@Server桌面]#vim/etc/selinux/configSELINUX=disabled……[root@FW桌面]#pingPING()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=64time=2.00ms64bytesfrom:icmp_seq=2ttl=64time=0.598ms64bytesfrom:icmp_seq=3ttl=64time=0.434ms^C---pingstatistics---3packetstransmitted,3received,0%packetloss,time2373msrttmin/avg/max/mdev=0.434/1.012/2.006/0.706ms[root@FW桌面]#ping0PING0(0)56(84)bytesofdata.64bytesfrom0:icmp_seq=1ttl=64time=1.84ms64bytesfrom0:icmp_seq=2ttl=64time=0.500ms64bytesfrom0:icmp_seq=3ttl=64time=0.455ms^C---0pingstatistics---3packetstransmitted,3received,0%packetloss,time2585msrttmin/avg/max/mdev=0.455/0.932/1.841/0.643ms[root@FW桌面]#pingPING()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=64time=1.12ms64bytesfrom:icmp_seq=2ttl=64time=0.555ms64bytesfrom:icmp_seq=3ttl=64time=0.577ms^C---pingstatistics---3packetstransmitted,3received,0%packetloss,time2064msrttmin/avg/max/mdev=0.555/0.753/1.127/0.264ms步骤3在服务器上安装网络服务。①在server上安装并启动FTP服务。详细步骤见项目三任务二中任务实施步骤二。②在server上安装并启动DNS服务。详细步骤见项目五任务一中任务实施步骤二。③在server上安装并启动DHCP服务。详细步骤见项目五任务二中任务实施步骤二。④在server上安装并启动Web服务。详细步骤见项目五任务三中任务实施步骤二。步骤4启用内核的包转发功能。①测试PC1和PC2之间能否相互访问。PC1和PC2之间不能相互访问。②在防火墙上打开内核的包转发功能。经查看发现,防火墙的包转发功能默认情况下是关闭的。再次查看,防火墙的包转发功能已打开。[root@PC1桌面]#pingPING()56(84)bytesofdata.^C---pingstatistics---15packetstransmitted,0received,100%packetloss,time14002ms[root@FW桌面]#sysctl-p[root@FW桌面]#vim/etc/sysctl.conf……#net.ipv4.ip_forward=0net.ipv4.ip_forward=1//打开防火墙包转发功能……[root@FW桌面]#sysctl-p③打开防火墙。④测试PC1和PC2之间能否相互访问。[root@FW桌面]#serviceiptablesstartiptables:应用防火墙规则:[确定][root@PC1桌面]#pingPING()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=63time=4.70ms64bytesfrom:icmp_seq=2ttl=63time=0.982ms64bytesfrom:icmp_seq=3ttl=63time=1.37ms64bytesfrom:icmp_seq=4ttl=63time=0.913ms^C---pingstatistics---4packetstransmitted,4received,0%packetloss,time3159msrttmin/avg/max/mdev=0.913/1.995/4.707/1.575msPC1和PC2之间可以相互访问,这其实是防火墙充当了路由器的功能,PC1发送给PC2的数据包先到达防火墙,然后防火墙再转发给PC2,这样就实现了不同网段的计算机的连通性。步骤5进行防火墙初始设置。①清除防火墙规则。清除表filter的系统链规则:清除表filter的自定义链规则:清除nat表的系统链规则:清除nat表的自定义链规则:[root@FW桌面]#iptables-F[root@FW桌面]#iptables-X[root@FW桌面]#iptables-tnat-F[root@FW桌面]#iptables-tnat-X[root@FW桌面]#iptables-PINPUTDROP//拒绝接收数据。[root@FW桌面]#iptables-POUTPUTDROP//拒绝发送数据。[root@FW桌面]#iptables-PFORWARDDROP//拒绝转发数据。[root@FW桌面]#iptables-tnat-PPREROUTINGACCEPT//允许NAT转换输入数据地址。[root@FW桌面]#iptables-tnat-POUTPUTACCEPT//允许NAT转发传送数据。[root@FW桌面]#iptables-tnat-PPOSTROUTINGACCEPT//允许NAT转换输出数据地址。②设置防火墙的默认规则。③保存防火墙规则,并启动防火墙。[root@FW桌面]#iptables-LChainINPUT(policyDROP)targetprotoptsourcedestinationChainFORWARD(policyDROP)targetprotoptsourcedestinationChainOUTPUT(policyDROP)targetprotoptsourcedestination[root@FW桌面]#iptables-save>/etc/sysconfig/iptables[root@FW桌面]#serviceiptablesrestart④查看防火墙规则。⑤测试PC1和PC2之间的连通性。
由于防火墙规则已被清空,进行了重新设置,PC1和PC2之间的数据包不再能够通过防火墙进行转发,两台计算机之间的连通性被断开。[root@FW桌面]#iptables-L-tnatChainPREROUTING(policyACCEPT)targetprotoptsourcedestinationChainPOSTROUTING(policyACCEPT)targetprotoptsourcedestinationChainOUTPUT(policyACCEPT)targetprotoptsourcedestination[root@PC1桌面]#pingPING()56(84)bytesofdata.^C---pingstatistics---33packetstransmitted,0received,100%packetloss,time32959ms步骤6允许内网计算机访问Internet。①测试PC1和PC2之间能否相互访问。
经过步骤5的设置,PC1和PC2由于不在同一网络,防火墙策略不支持传送内外网之间的数据包,PC1和PC2之间无法相互访问。[root@PC1桌面]#pingPING()56(84)bytesofdata.^C---pingstatistics---7packetstransmitted,0received,100%packetloss,time6586ms②在防火墙上配置策略,允许内网计算机访问外网。[root@FW桌面]#iptables-AFORWARD-ieth0-oeth1-s/24-dany/0-jACCEPT//防火墙允许来自网络到达其他所有主机的数据流量自eth0网口进入,eth1网口流出。[root@FW桌面]#iptables-AFORWARD-mstate--stateESTABLISHED,RELATED-jACCEPT//在防火墙中添加一条转发规则:对进来的数据包的状态进行检测,对已经建立tcp连接的数据包以及该连接相关的数据包允许通过。知识链接:Iptables参数-mstate--state<状态>这条命令中有多种状态,主要有:(1)INVALID:表示无效的数据包,例如数据破损的数据包状态;(2)ESTABLISHED:已经联机成功的联机状态;(3)NEW:需要新建立联机的数据包状态;(4)RELATED:这个状态经常用,表示这个数据包与主机发送出去的数据包有关,可能是响应数据包或者是联机成功之后的传送数据包,因此这个状态经常被设置,设置该状态后,只要是由本机发送出去的数据包,即使没有设置数据包的INPUT规则,该有关的数据包均可以进入主机,可以简化很多设置规则。③保存策略,重新启动防火墙。④再次测试PC1和PC2之间能否相互访问。
由于防火墙中已经设置了自PC1发送出去的数据包自防火墙的eth0网口进入,eth1网口转发出去,所以PC1可以成功发送数据包至PC2。PC2响应PC1的ICMP数据包也被允许通过,因此,ping命令得以成功执行。[root@PC1桌面]#pingPING()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=63time=4.90ms64bytesfrom:icmp_seq=2ttl=63time=0.984ms64bytesfrom:icmp_seq=3ttl=63time=1.05ms^C---pingstatistics---3packetstransmitted,3received,0%packetloss,time2165msrttmin/avg/max/mdev=0.984/2.314/4.909/1.835ms[root@FW桌面]#iptables-save>/etc/sysconfig/iptables[root@FW桌面]#serviceiptablesrestart⑤在PC2上抓取PC1发送的数据包,观察源地址是否为PC1的地址。在PC1上pingPC2,然后在PC2上进行抓包。由这句结果可以得出,PC1发送给PC2的数据包的源地址为PC1的地址。⑥在防火墙上查看网络地址转换表。NAT表中的记录为空,说明PC1向PC2发送数据时没有经过网络地址转换。[root@PC2桌面]#tcpdump-ieth0-v……0>:ICMPechorequest,id9748,seq6,length64……[root@FW桌面]#iptables-L-n-tnatChainPREROUTING(policyACCEPT)targetprotoptsourcedestinationChainPOSTROUTING(policyACCEPT)targetprotoptsourcedestinationChainOUTPUT(policyACCEPT)targetprotoptsourcedestination⑦在防火墙上配置内网访问外网时需进行NAT转换。⑧保存策略,重新启动防火墙。[root@FW桌面]#iptables-tnat-APOSTROUTING-s/24-oeth1-jMASQUERADE//对防火墙的NAT表添加规则,
网络中的主机发送到公网的数据包自eth1网口发送,并且要进行IP地址伪装,即NAT转换。[root@FW桌面]#iptables-tnat-APOSTROUTING-s/24-jSNAT--to-source54//对防火墙的NAT表添加规则,网络中的主机向外网发送数据包时需将源地址转换为54。[root@FW桌面]#iptables-save>/etc/sysconfig/iptables[root@FW桌面]#serviceiptablesrestart⑨再次查看网络地址转换表。
由表可见,在转换策略中,将网络中地址静态转换为54。[root@FW桌面]#iptables-L-n-tnatChainPREROUTING(policyACCEPT)targetprotoptsourcedestinationChainPOSTROUTING(policyACCEPT)targetprotoptsourcedestinationMASQUERADEall--/24/0SNATall--/24/0to:54ChainOUTPUT(policyACCEPT)targetprotoptsourcedestination⑩观察PC1访问PC2,并在PC2上抓取PC1发送的数据包,观察源地址是否为PC1的地址。在PC1上pingPC2,然后在PC2上进行抓包。[root@PC1桌面]#pingPING()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=63time=4.09ms64bytesfrom:icmp_seq=2ttl=63time=1.03ms64bytesfrom:icmp_seq=3ttl=63time=5.09ms^C---pingstatistics---3packetstransmitted,3received,0%packetloss,time2112msrttmin/avg/max/mdev=1.032/3.407/5.092/1.729ms[root@PC2桌面]#tcpdump-ieth0-v……54>:ICMPechorequest,id48662,seq7,length6421:15:31.438209IP(tos0x0,ttl64,id14848,offset0,flags[none],protoICMP(1),length84)>54:ICMPechoreply,id48662,seq7,length6421:15:31.438795IP(tos0x0,ttl63,id14848,offset0,flags[none],protoICMP(1),length84)……
由结果可知,PC1发送给PC2的数据包,转换为源地址为54发送和接收。2.使用防火墙模块对Web服务器进行安全防护步骤7允许外网计算机访问Server的Web服务。①测试PC2能否访问Server的Web服务。图3如图3所示,PC2无法访问Web服务器,也无法与之建立连接。②配置外网计算机通过服务器的公网地址能够访问Server的Web服务。[root@FW桌面]#iptables-tnat-IPOSTROUTING-ptcp--dport80-jMASQUERADE//在POSTROUTING链的头部添加新规则,将访问TCP协议80端口的数据包进行地址转换。[root@FW桌面]#iptables-tnat-APREROUTING-d54-ptcp--dport80-jDNAT--to//在防火墙的NAT表PREROUTING链中添加规则,对于目的地址为54,访问端口为80的TCP数据包,将经过动态转换转发给。[root@FW桌面]#iptables-AFORWARD-oeth0-d-ptcp--dport80-jACCEPT//在防火墙规则中添加规则,允许转发发送到eth0网卡,目的地址为,使用TCP协议访问80端口的数据包。[root@FW桌面]#iptables-AFORWARD-ieth0-s-ptcp--sport80-mstate--stateESTABLISHED-jACCEPT//在防火墙规则中添加规则,允许转发来自主机的80端口发送的且已经建立连接的、由eth0网口进入的TCP数据包。③保存策略文件,并重新启动防火墙。④重新测试PC2能否访问Server的Web服务,如图4所示。图4[root@FW桌面]#iptables-save>/etc/sysconfig/iptables[root@FW桌面]#serviceiptablesrestart⑤测试PC1能否通过外网地址访问Server上的Web服务。测试结果同图4,PC1可以通过外网地址访问Server上的Web服务。⑥进行源地址转换,使响应包正确返回。⑦保存策略文件,并重新启动防火墙。[root@FW桌面]#iptables-tnat-APOSTROUTING-d-ptcp--dport80-jSNAT--to54//在NAT表POSTROUTING链中添加规则,对于目的地址为、自TCP协议80端口转发的数据包,将源地址转换为54。[root@FW桌面]#iptables-save>/etc/sysconfig/iptables[root@FW桌面]#serviceiptablesrestart[root@FW桌面]#iptables-L-n-tnatChainPREROUTING(policyACCEPT)targetprotoptsourcedestinationDNATtcp--/0/0tcpdpt:80to:DNATtcp--/054tcpdpt:80to::80ChainPOSTROUTING(policyACCEPT)targetprotoptsourcedestinationMASQUERADEtcp--/0/0tcpdpt:80MASQUERADEall--/24/0SNATall--/24/0to:54SNATtcp--/0tcpdpt:80to:54ChainOUTPUT(policyACCEPT)targetprotoptsourcedestination⑧查看网络地址转发表。⑨再次测试PC1能否通过外网地址访问server的Web服务。测试结果同图5-6,PC1可以通过外网地址访问Server上的Web服务。使用以下命令在PC1上查看访问web网页的数据包。
由抓取的数据包可以发现,发送给PC1的http数据包的源地址已转换为54。[root@PC1桌面]#tcpdump-ieth0-v……54.http>0.54689:Flags[S.],cksum0xdb8e(correct),seq1101565717,ack1641647761,win14480,options[mss1460,sackOK,TSval35364022ecr60214931,nop,wscale6],length022:43:38.261252IP(tos0x0,ttl64,id16388,offset0,flags[DF],protoTCP(6),length52)0.54689>54.http:Flags[.],cksum0x4203(correct),ack1,win229,options[nop,nop,TSval60214933ecr35364022],length022:43:38.261418IP(tos0x0,ttl64,id52885,offset0,flags[DF],protoUDP(17),length71)……3.使用防火墙模块对FTP服务器进行安全防护步骤8允许外网计算机访问server的FTP服务。①测试PC2能否访问server的FTP服务。测试结果为PC2不能访问server的FTP服务。②在防火墙上发布FTP服务,加载FTP模块。③在防火墙上配置外网计算机能够访问server的FTP服务。nat表中的配置:[root@PC2桌面]#ftp54ftp:connect:连接超时[root@FW桌面]#modprobeip_nat_ftp[root@FW桌面]#modprobeip_conntrack_ftp[root@FW桌面]#iptables-tnat-IPREROUTING-d54-ptcp--dport21-jDNAT--to//在防火墙NAT表的PREROUTING链中增加规则,将使用TCP协议21端口访问54的数据包的目的地址转换为。[root@FW桌面]#iptables-tnat-IPOSTROUTING-ptcp--dport21-jMASQUERADE//在防火墙NAT表的POSTROUTING链中增加规则,将访问tcp协议21端口的数据包进行地址转换。[root@FW桌面]#iptables-tnat-IPREROUTING-d54-ptcp--dport20-jDNAT--to//在防火墙NAT表的PREROUTING链中增加规则,将使用TCP协议20端口访问54的数据包的目的地址转换为。[root@FW桌面]#iptables-tnat-IPOSTROUTING-ptcp--dport20-jMASQUERADE//在防火墙NAT表的PREROUTING链中增加规则,将访问tcp协议20端口的数据包进行地址转换。FORWARD链中的配置:[root@FW桌面]#iptables-AFORWARD-oeth0-d-ptcp--dport21-jACCEPT//在防火墙的filter表的FORWARD链中添加规则,对于从eth0网口使用TCP协议21端口发送到的数据包允许转发。[root@FW桌面]#iptables-AFORWARD-ieth0-s-ptcp--sport21-mstate--stateESTABLISHED-jACCEPT//在防火墙的filter表的FORWARD链中添加规则,对于从eth0网口使用TCP协议21端口进入、且建立了连接的数据包允许接收。[root@FW桌面]#iptables-AFORWARD-ieth0-s-ptcp--sport20-mstate--stateESTABLISHED,RELATED-jACCEPT//在防火墙的filter表的FORWARD链中添加规则,对于从eth0网口使用TCP协议20端口进入、并且是与该主机发送的数据包有关的、建立了连接的数据包允许接收。[root@FW桌面]#iptables-AFORWARD-oeth0-d-ptcp--dport20-mstate--stateESTABLISHED-jACCEPT//在防火墙的filter表的FORWARD链中添加规则,对于从eth0网口使用TCP协议20端口发送到主机、且建立了连接的数据包允许接收。[root@FW桌面]#iptables-AFORWARD-oeth0-d-ptcp--dport1024:-mstate--stateESTABLISHED,RELATED-jACCEPT//在防火墙的filter表的FORWARD链中添加规则,对于从eth0网口转发到上的大于1024的TCP端口、并且是与该主机发送的数据包有关的、已建立连接的数据包允许接收。[root@FW桌面]#iptables-AFORWARD-ieth0-s-ptcp--sport1024:-mstate--stateESTABLISHED-jACCEPT//在防火墙的filter表的FORWARD链中添加规则,对于来自eth0网口、并且是来自的大于1024的使用TCP协议的端口、已经建立了连接的转入数据包,允许接收。④保存策略文件,并重新启动防火墙。[root@FW桌面]#iptables-save>/etc/sysconfig/iptables[root@FW桌面]#serviceiptablesrestart⑤再次测试PC2能否访问server的FTP服务。PC2可以访问server的FTP服务。[root@PC2桌面]#ftp54Connectedto54(54).220(vsFTPd2.2.2)Name(54:root):user1331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftp>⑥测试PC1能否通过外网地址访问server的FTP服务。如步骤⑤所示,PC1也可以访问server的FTP服务。⑦进行源地址转换,使回应包正确返回。⑧保存策略文件,并重新启动防火墙。[root@FW桌面]#iptables-tnat-APOSTROUTING-d-ptcp--dport21-jSNAT--to54//在NAT表POSTROUTING链中添加规则,对于目的地址为、自TCP协议80端口转发的数据包,将源地址转换为54。[root@FW桌面]#iptables-save>/etc/sysconfig/iptables[root@FW桌面]#serviceiptablesrestart[root@FW桌面]#iptables-L-n-tnatChainPREROUTING(policyACCEPT)targetprotoptsourcedestinationDNATtcp--/054tcpdpt:20to:DNATtcp--/054tcpdpt:21to:DNATtcp--/054tcpdpt:80to:ChainPOSTROUTING(policyACCEPT)targetprotoptsourcedestinationMASQUERADEtcp--/0/0tcpdpt:20MASQUERADEtcp--/0/0tcpdpt:21MASQUERADEtcp--/0/0tcpdpt:80MASQUERADEall--/24/0SNATall--/24/0to:54SNATtcp--/0tcpdpt:80to:54SNATtcp--/0tcpdpt:21to:54ChainOUTPUT(policyACCEPT)targetprotoptsourcedestination⑨查看网络地址转发表。⑩再次测试PC1能否通过外网地址访问server的FTP服务。如步骤⑥所示,PC1依然可以访问server的FTP服务。4.使用防火墙模块架设安全防火墙,保护内网用户和服务步骤9开启服务器的防火墙,并设置防火墙的默认规则。(1)如步骤5所示,清除防火墙规则,设置防火墙的默认规则,并保存和重启防火墙。(2)允许访问回环地址。①在服务器上尝试ping回环地址。[root@Server桌面]#pingPING()56(84)bytesofdata.ping:sendmsg:不允许的操作ping:sendmsg:不允许的操作ping:sendmsg:不允许的操作ping:sendmsg:不允许的操作^C---pingstatistics---4packetstransmitted,0received,100%packetloss,time3365ms由于在服务器上打开并设置了防火墙,服务器不能够ping通回环地址。②在服务器上配置防火墙规则,允许访问回环地址。③再次在服务器上尝试ping回环地址。在服务器的防火墙规则中允许访问回环地址,所以服务器可以正常ping通回环地址。[root@Server桌面]#iptables-AINPUT-s-d-jACCEPT//防火墙允许源地址为、目的地址为的输入数据包通过。[root@Server桌面]#iptables-AOUTPUT-s-d-jACCEPT//防火墙允许源地址为、目的地址为的输出数据包通过。[root@Server桌面]#pingPING()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=64time=0.216ms64bytesfrom:icmp_seq=2ttl=64time=0.052ms64bytesfrom:icmp_seq=3ttl=64time=0.052ms^C---pingstatistics---3packetstransmitted,3received,0%packetloss,time2251msrttmin/avg/max/mdev=0.052/0.106/0.216/0.078ms(3)保护服务器的DNS服务。①分别在服务器和客户端PC1上尝试进行DNS查询。PC1上查询结果同样无法查询。
由于在服务器上开启了防火墙,阻碍了DNS查询,所以在服务器和PC1上均无法进行DNS查询。②在服务器防火墙规则中设置允许DNS查询。
由于DNS查询过程包括递归查询和迭代查询过程,DNS服务器在整个查询过程中既是服务器又是客户端,所以在设置DNS查询规则时需要从服务器和客户端两方面进行设置。[root@Servernamed]#nslookup>;;connectiontimedout;tryingnextorigin;;connectiontimedout;noserverscouldbereached允许以服务器端角色进行DNS查询:[root@Server桌面]#iptables-AINPUT-pudp--dport53-jACCEPT//以服务器端角色进行DNS查询,防火墙对于访问53端口的输入进来的数据包允许通过。[root@Server桌面]#iptables-AOUTPUT-pudp--sport53-jACCEPT//以服务器端角色进行DNS查询,防火墙对于53端口发送出去的数据包允许通过。[root@Server桌面]#iptables-AOUTPUT-pudp--dport53-jACCEPT//以客户端角色进行DNS查询,防火墙对于访问53端口的输出的数据包允许通过。[root@Server桌面]#iptables-AINPUT-pudp--sport53-jACCEPT//以客户端角色进行DNS查询,防火墙对于从53端口发送过来的数据包允许通过。允许以客户端角色进行DNS查询:[root@Server桌面]#iptables-AINPUT-ptcp-s0-d--dport53-jACCEPT//防火墙允许源地址为0、目的地址为的TCP协议数据包输入并访问53端口。[root@Server桌面]#iptables-AOUTPUT-ptcp-s-d0--sport53-jACCEPT//防火墙允许源地址为
、目的地址为0、源端口为53的TCP协议数据包转发出去。允许区域复制:③再次在服务器和客户端PC1上进行DNS查询。PC1上也可以进行DNS查询,查询情况同服务器,说明在防火墙中的配置策略生效,允许进行DNS查询。[root@Server桌面]#nslookup>Server: Address: #5392. name=.>Server: Address: #53Name: Address:
(4)保护服务器的Web服务。①在客户端访问服务器的Web服务。
在客户端的浏览器中输入服务器的IP地址,访问Web服务,如图5所示。图5由于防火墙已经开启,阻挡了Web服务的正常访问,因此客户端访问Web服务失败。②在防火墙中设置允许访问服务器的Web服务。③再次在客户端访问服务器的Web服务。在客户端上再次访问服务器的Web服务,如图6所示。[root@Server桌面]#iptables-AINPUT-ptcp--dport80-jACCEPT//在防火墙中允许目的端口为80的TCP数据包输入。[root@Server桌面]#iptables-AOUTPUT-ptcp--sport80-mstate--stateESTABLISHED-jACCEPT//在防火墙中允许源端口为80、已建立连接的TCP协议数据包输出。图6由于防火墙已经设置允许访问Web服务,因此客户端可以成功访问Web服务。(5)保护服务器的FTP服务。①在客户端上访问服务器的FTP服务。由于防火墙的阻碍,客户端无法访问服务器的FTP服务。②在防火墙中设置允许访问服务器的FTP服务。[root@PC1桌面]#ftpftp:connect:连接超时[root@Server桌面]#iptables-AINPUT-ptcp--dport21-jACCEPT//在防火墙中允许访问21端口的TCP协议数据包输入。[root@Server桌面]#iptables-AOUTPUT-ptcp--sport21-mstate--stateESTABLISHED-jACCEPT//在防火墙中允许来自21端口、已建立状态的TCP协议数据包输出。允许所有传入连接的FTP:启用主动FTP传输:[root@Server桌面]#iptables-AINPUT-ptcp--dport20-mstate--stateESTABLISHED,RELATED-jACCEPT//在防火墙中允许目的端口为20端口、已建立连接、且与本主机发送的数据包相关的TCP协议数据包输入。[root@Server桌面]#iptables-AOUTPUT-ptcp--sport20-jACCEPT//在防火墙中允许来自20端口的TCP协议数据包输出。启用被动FTP传输:[root@Server桌面]#iptables-AINPUT-ptcp--sport1024:65535--dport1024:65535-jACCEPT//在防火墙中允许来自端口号1024至65535、目的端口号为1024至65535的TCP协议数据包输入。[root@Server桌面]#iptables-AOUTPUT-ptcp--sport1024:65535--dport1024:65535-mstate--stateESTABLISHED,RELATED-jACCEPT//在防火墙中允许来自端口号1024至65535、目的端口号为1024至65535、已建立连接、且与本主机发送的数据包相关的TCP协议数据包输出。③再次在客户端上访问服务器的FTP服务。在防火墙中允许访问FTP服务后,客户端可以正常访问FTP服务。[root@PC1桌面]#ftpConnectedto().220(vsFTPd2.2.2)Name(:root):user1331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.④查看服务器的防火墙列表。[root@Server桌面]#iptables-LChainINPUT(policyDROP)targetprotoptsourcedestinationACCEPTudp--anywhereanywhereudpdpt:domainACCEPTudp--anywhereanywhereudpspt:domainACCEPTtcp--0tcpdpt:domainACCEPTtcp--anywhereanywheretcpdpt:httpACCEPTtcp--anywhereanywheretcpdpt:ftpACCEPTtcp--anywhereanywheretcpdpt:ftp-datastateRELATED,ESTABLISHEDACCEPTtcp--anywhereanywheretcpspts:1024:65535dpts
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖书快递合同范本
- 广州课题申报书怎么写
- 双方签订独家合同范本
- 各种合同范本里
- 调查现状课题申报书
- 幼儿校级课题申报书范文
- 创鑫供货合同范本
- 名酒酒厂供货合同范本
- 化妆 摄影 服务合同范本
- 教研课题申报书
- 12网络与新媒体概论(第二版)-第十二章互联网与社会思潮.电子教案教学课件
- 9-马工程《艺术学概论》课件-第九章(20190403)【已改格式】.课件电子教案
- 常见老年综合征医院护理-认知障碍(2020年版)
- 体育测量与评价课件-第五章身体素质的测量与评价
- 社区工作者经典备考题库(必背300题)
- 市政热力管道工程归档资料目录
- 氧气吸入法护理课件
- 畜禽废弃物处理关键技术课件
- 《工程制图》题库(含答案)
- 版式设计(全套课件455P)
- DB32T 3839-2020 水闸泵站标志标牌规范
评论
0/150
提交评论