(售后服务)15-防火墙与Linux代理服务器

上传人:管****问 文档编号:119688245 上传时间:2020-01-23 格式:DOC 页数:31 大小:292.54KB
返回 下载 相关 举报
(售后服务)15-防火墙与Linux代理服务器_第1页
第1页 / 共31页
(售后服务)15-防火墙与Linux代理服务器_第2页
第2页 / 共31页
(售后服务)15-防火墙与Linux代理服务器_第3页
第3页 / 共31页
(售后服务)15-防火墙与Linux代理服务器_第4页
第4页 / 共31页
(售后服务)15-防火墙与Linux代理服务器_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《(售后服务)15-防火墙与Linux代理服务器》由会员分享,可在线阅读,更多相关《(售后服务)15-防火墙与Linux代理服务器(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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

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