防火墙与代理服务器

上传人:壹****1 文档编号:464520026 上传时间:2022-09-05 格式:DOC 页数:31 大小:262.50KB
返回 下载 相关 举报
防火墙与代理服务器_第1页
第1页 / 共31页
防火墙与代理服务器_第2页
第2页 / 共31页
防火墙与代理服务器_第3页
第3页 / 共31页
防火墙与代理服务器_第4页
第4页 / 共31页
防火墙与代理服务器_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《防火墙与代理服务器》由会员分享,可在线阅读,更多相关《防火墙与代理服务器(31页珍藏版)》请在金锄头文库上搜索。

1、防火墙与Linux代理服务器Linux提供了一种非常优秀的防火墙工具netfilter/iptables,它免费、功能强大,可以对流入流出的信息进行灵活控制,并且可以在一台低配备机器上较好地运营。一、 netfilter/iptables简介Linux在2.4后来的内核中涉及netfilter/iptables,系统这种内置的IP数据包过滤了具使得配备防火墙和数据包过滤变得更加容易,使顾客可以完全控制防火墙配备和数据包过滤。netfiher/iptables容许为防火墙建立可定制的规则来控制数据包过滤,并且还容许配备有状态的防火墙。此外,netfiher/iptables还可以实现NAT(网络

2、地址转换)和数据包的分割等功能。netfilter组件也称为内核空间,是内核的一部分,由某些数据包过滤表构成,这些表涉及内核,用来控制数据包过滤解决的规则集。iptables组件是一种工具,也称为顾客空间,它使插入、修改和删除数据包过滤表中的规则变得容易。使用顾客空间(iptables)构建自己定制的规则,这些规则存储在内核空间的过滤表中。这些规则中的目的告诉内核,对满足条件的数据包采用相应的措施。根据规则解决数据包的类型,将规则添加到不同的链中。解决入站数据包的规则被添 加到INPUT链中。解决出站数据包的规则被添加到OUTPUT链中。解决正在转发的数 据包的规则被添加到FORWARD链中。

3、这二个链是数据包过滤表(filter)中内置的默认主规则链。每个链都可以有一种方略,即要执行的默认操作,当数据包与链中的所有规则都不 匹配时,将执行此操作(抱负的方略应当丢弃该数据包)。 数据包通过filter表的过程如图1所示。图1 数据包通过fiher表的过程二、iptables的语法及其使用通过使用iptables命令建立过滤规则,并将这些规则添加到内核空间过滤表内的链中。添加、删除和修改规则的命令语法如下:格式:#iptables -t table command matchtarget阐明:1、table -t table)有三种可用的表选项:filter、nat和mansle。该选

4、项不是必需的,如未指定,则filter作为默认表。filter表用于一般的数据包过滤,涉及INPUT、OUTPUT和FORWARD链。nat表用于要转发的数据包,涉及PREROUTING、OUTPUT和POSTROUTING链。manglc表用于数据包及其头部的更改,涉及PREROUTING和OUTPUT链。2commandcommand是iptables命令中最重要的部分,它告诉itables命令要进行的操作,如插入规则、删除规则、将规则添加到链尾等。中tables常用的某些操作命令见下表。表 iptables常用的操作命令操作命令功 能-A或-append该命令将一条规则附加到链的末尾-D

5、或-delete通过用-D指定要匹配的规则或者指定规则在链中的位置编号,该命令从链中删除该规则-P或-policy该命令设立链的默认目的,即方略。所有与链中任何规则都不匹配的数据包都将被强制使用此链的方略-N或-new-chain用命令中所指定的名称创立一种新链-F或-flush如果指定链名,该命令删除链中的所有规则,如果未指定链名,该命令删除所有链中的所有规则。此参数用于迅速清除-L或-list列出指定链中的所有规则示例:#iptables -A INPUT -s 192.168.0.10 -j ACCEPT该命令将一条规则附加到INPUT链的末尾,拟定来自源地址192.168.0.10的数

6、据包可以ACCEPT。#iptables -D INPUT -dport 80 -j DROP该命令从INPUT链删除规则。#iptables -P INPUT DROP该命令将INPUT链的默认目的指定为DROP。这将丢弃所有与INPUT链中任何规则都不匹配的数据包。3matchmateh部分指定数据包与规则匹配所应具有的特性,例如源IP地址、目的IP地址、合同等。lptables常用的规则匹配器见下表。表 iptabes常用的规则匹配器参 数功 能-p或-protocol该通用合同匹配用于检查某些特定合同。合同示例有TCP、UDP、ICMP及用逗号分隔的任何这三种合同的组合列表以及ALL(

7、用于所有合同)。AILL是默认匹配,可以使用!符号,表达不与该项匹配-s或-souece该源匹配用于根据数据包的源IP地址来与它们匹配。该匹配还容许对某一范畴内的IP地址进行匹配,可以使用!符号,表达不与该项匹配。默认源匹配与所有IP地址匹配-d或-destination该目的地匹配用于根据数据包的目的地IP地址来与它们匹配。该匹配还容许对某一范畴内IP地址进行匹配,可以使用!符号,表达不与该项匹配示例:#iptables-A INPUT -p TCP,UDP#iptables-A INPUT-p!ICMP#iptables-A OUTPUT-s 192168010#iptables-A OU

8、TPUT-s 1 210431100#iptables-A INPUT-d 19216811#iptables-A OUTPUT-d 1 2104311004target目的是由规则指定的操作,lptaLles常用的某些目的和功能阐明见下表。表 iptables常用的目的和功能目的功能ACCEPT当数据包与具有ACCEPT目的的规则完全匹配时,会被接受(容许它前去目的地),并且它将停止遍历链(虽然该数据包也许遍历另一种表中的其她链,并且有也许在那里被丢弃)。该目的被指定为-j ACCEPTDROP当数据包与具有DROP目的的规则完全匹配时,会阻塞该数据包,并且不对它做进一步解决。该目的被指定为

9、-j DROPREJECT该目的的工作方式与DROP目的相似,但它比DROP好。和DROP不同,REJECT不会在服务器和客户机上留下死套接字。此外,RKJECT将错误消息发回给数据包的发送方。该目的被指 定为-j REJECTRETURN在规则中设立的RETURN目的让与该规则匹配的数据包停止遍历涉及该规则的链。如果链是如INPUT之类的主链,则使用该链的默认方略解决数据包。该目的被指定为-j RETURN5保存规则用上述措施建立的规则被保存到内核中,这些规则在系统重启时将丢失。如果但愿在系统重启后还能使用这些规则,则必须使用iptables -save命令将规则保存到某个文献 (iptab

10、les -script)中。#iptables -saveiptables-script执行如上命令后,数据包过滤表中的所有规则都被保存到lptables-script文献中。当系统重启时,可以执行lptaLles-restoreiptables-script命令,将规则从文献iptables -scrtpt中恢复到内核空间的数据包过滤表中。三、 设立防火墙在终端窗口执行system-config-securitylevel命令,打开“安全级别设立”窗口,如 图2所示。可以启用或停用防火墙。可以添加可信任服务,例如添加FTP和SSH。添加的可信任服务其实是容许数据包从该服务相应的端口进出。此外

11、也可以直接添加可信任的端口,例如添加了3128(squid服务)。端窗口执行iptables -L命令,如图3所示,可以看出刚刚添加的过滤规则已经生效。 图2 安全级别设立窗口 图3 执行iptables -L命令下面是一种iptables的脚本实例,读者要根据自己的环境需求进行相应的调节。#!/bin/bashINET_IF=ppp0 #外网接口LAN_IF=eth0 #内网接口LAN_IP_RANGE=192.168.1.0/24 #内网IP地址范畴,用于NATIPT=/sbin/iptables #定义变量MODPROBE=/sbin/modprobe$MODPROBE ip_table

12、s #下面9行加载有关模块$MODPROBE iptable_nat$MODPROBE ip_nat_ftp$MODPROBE ip_nat_irc$MODPROBE ipt_mark$MODPROBE ip_conntrack$MODPROBE ip_conntrack_ftp$NODPROBK ip_conntrack_irc$NODPROBK ipt_MASOUZRADEfor TABLE in filter nat mangle;do #清除所有防火墙规则$IPT -t $TABLE -F$IPT -t $TABLR -Xdone$IPT -P INPUT DROP #下面6行设立fi

13、lter和nat表的默认方略$IPT -P OUTPUT ACCEPT$IPT -P FOKNARD DROP$IPT -t nat -P PREROUTINC ACCEPT$IPT -t nat -P POSTROUTING ACCEPT$1PT -t nat -P OUTPUT ACCEPT#容许内网samba、smtp和pop3连接$IPT -A INPUT -m state -state ESTABLISHED,RKLATED -j ACCEPT$IPT -A INPUT -p top -m multiport -dports 1863,443,110,80,25 -j ACCEPT$

14、IPT -A INPUT -p top -s $LAN_IP_RANGR -dport 139 -j ACCEPT#容许DNs连接$IPT -A INPUT -i $LAN_IF -p udp -m multiport -dports 53 -j ACCEPT#为了避免DOS袭击,可以最多容许15个初始连接,超过的将被丢弃$IPT -A INPUT -s $LAN_IP_RANGE -p top -m state -state ESTABLISHED,RELATED -j ACCEPT$IPT -A INPUT -i $ INET_IF -p top -syn -m connlimit -connlimit -above 15 -j DROP$IPT -A INPUT -s $LAN_IPRANGE -P top -syn -m connlimit -connlimit -above 15 -j DROP#设立ICMP阈值,记录袭击行为$IPT -A INPUT -p icmp -m limit -limit 3/s -j LOG -log-level INPO -log -prefixICMP packet IN:$IPT -A INPUT -p icmp -m limit -limit 6/m -j ACCEPT$IPT -A INPUT -p icmp -i DR

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号