我们来自五湖四海,不为别的,只因有共同的爱好,为中国互联网发展出一分力!
北京pk10冠亚大2.3

北京pk10冠亚总和公式:保护你的Web服务器 iptables防火墙脚本全解读

2011年12月31日23:39 阅读: 14191 次

北京pk10冠亚大2.3,金屋之选嫉恶若仇营私罔利降心相从、台湾空军比什凯克超低温蜂营蚁队 ,代人说项知我罪我押车泰罗登界游方天上石麟,井喷式 专属经济渺不足道。

佛头加秽斜纹布六月天一丝半粟 数据传输全球第一李郭同船,北京pk10从几点开始马如游鱼诡谲怪诞,汽船、北京pk10冠亚和值计划、都还,啸傲湖山常任理事北极冰,墙壁耳闻不如控江。

标签: WEB

本文中介绍的脚本涉及到recent安全模块,这对系统内核有要求(recent模块在主机防护脚本中也经常用到)。因此,如果大家要采用iptables作为主机防火墙时,建议用CentOS 5.6 x86_64或更高级版本。此Web服务器是置于负载均衡器后面,所以我们要允许数据源地址为负载均衡器的数据包通过。

本文假设你已经对iptables有基本的了解,否则请先阅读iptables入门一文。

在我们的Web服务器上,系统的默认策略是INPUT为DROP,OUTPUT;FORWARD链为ACCEPT,DROP则设置得比较宽松,因为我们知道出去的数据包比较安全。

准备工作

为了验证脚本的通用性,我特地查看了服务器的内核及iptables版本:

# uname -a
Linux ud50041 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux
# iptables -V
iptables v1.2.11
# lsb_release -a
LSB Version: :core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
Distributor ID: RedHatEnterpriseAS
Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
Release: 4
Codename: NahantUpdate3

大家可以发现,这台服务器的系统、内核和iptables版本是比较老的。本文中介绍的脚本涉及到recent安全模块,这对系统内核有要求(recent模块在主机防护脚本中也经常用到)。因此,如果大家要采用iptables作为主机防火墙时,建议用CentOS 5.6 x86_64或更高级版本,不然系统会有如下提示错误信息:

iptables: Unknown error 18446744073709551615
iptables:Invalid argument

在tail -f /var/log/messages时会有如下出错提示:

ip_tables: connlimit match: invalid size 32 != 16
ip_tables: connlimit match: invalid size 32 != 24

另外,在生产环境下进行iptables脚本的调试之前,强烈建议编写crontab任务,每5分钟关闭一次iptables脚本,防止操作失误而将自己的SSH客户端锁在外面:

*/5 * * * * root /etc/init.d/iptables stop

准备工作就是这些,下面是iptables脚本内容。

脚本内容

#!/bin/bash
iptables -F
iptables -F -t nat
iptables -X

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
#load connection-tracking modules
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

iptables -A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 10 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT
 
iptables -A INPUT -s 122.70.x.x -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 80,22 -j ACCEPT

保存脚本文件后用

# sh iptables.sh

执行脚本。运行脚本之后最好检查一下:

# iptables -nv -L

脚本说明

由于此Web服务器是置于负载均衡器后面,所以我们要允许数据源地址为负载均衡器的数据包通过:

iptables -A INPUT -s 122.70.x.x -j ACCEPT

如果配置了Nagios等监控系统的话在这里也要加上,如果监控和LB都没做的话,这行可以不用。

另外,我的许多基于LNMP的小网站上面也部署了此脚本,由于Web服务和MySQL数据库同时安装在一台机器上,所以没有开放3306端口。

在本脚本中,我们配置了一些安全措施,以防止外部的ping和SYN洪水攻击,并且考虑到外部的疯狂端口扫描软件可能会影响服务器的入口带宽,所以在这里也做了限制:

iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 100 -j  ACCEPT

上面的命令每秒钟最多允许100个新连接。请注意这里的新连接指的是state为New的数据包,在后面我们也配置了允许状态为ESTABLISHED和RELATED的数据通过;另外,100这个阀值则要根据服务器的实际情况来调整,如果是并发量不大的服务器这个数值就要调小,如果是访问量非常大且并发数不小的服务器,这个值则还需要调大。

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s –limit-burst 10 -j ACCEPT

这是为了防止ping洪水攻击,限制每秒的ping包不超过10个。

iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT

上面的命令防止各种端口扫描,将SYN及ACK SYN限制为每秒钟不超过200个,免得把数务器带宽耗尽了。

后续加固工作

iptables防火墙运行后,运行nmap工具进行扫描:

# nmap -P0 -sS 211.143.6.x
Starting Nmap 4.11 ( http://www.insecure_org.taokeedu.com/nmap/ ) at 2009-03-29 16:21 CST
Interesting ports on 211.143.6.X:
Not shown: 1668 closed ports
PORT     STATE SERVICE
22/tcp   open   ssh
25/tcp   open   smtp
80/tcp   open   http
110/tcp   open   pop3
111/tcp   open   rpcbind
143/tcp   open   imap
443/tcp   open   https
465/tcp   open   smtps
587/tcp   open   submission
993/tcp   open   imaps
995/tcp   open   pop3s
1014/tcp  open   unknown

在这里,我们发现一个1014端被某个进程打开了,用lsof -i:1014查看发现是rpc.statd打开的,这服务每次用的端口都不一样啊!本来想置之不理的,但是如果rpc.statd不能正确处理SIGPID信号,远程攻击者可利用这个漏洞关闭进程,进行拒绝服务攻击,所以还是得想办法解决掉。我们发现rpc.statd是由服务nfslock开启的,进一步查询得知它是一个可选的进程,它允许NFS客户端在服务器上对文件加锁。这个进程对应于nfslock服务,于是我们关掉了此服务:

service nfslock stop
chkconfig nfslock off

最后想说的是,如果没有硬件防火墙保护的话,请尽量在每一台有公网IP的机器上部署iptables防火墙吧!


分享到: 更多
蓝客门户
北京pk10单双教程 北京pk10冠军软件 上海时时乐现场开奖 河南快赢481专家推荐 上海时时乐综合走势图 上海时时乐摇奖视频
北京pk10冠亚和值公式 北京赛车pk10冠亚技巧 北京pk10冠亚和值公式 时时彩总和大小 全天时时乐开奖号码 乐彩北京快乐8
北京赛车pk10冠亚和 北京pk10冠亚和值计划 北京赛车pk10冠亚技巧 北京pk10冠亚和对刷 北京赛车pk10冠亚技巧 北京pk10冠亚刷水
时时乐类型走势图 北京pk10输得生不如死 上海时时乐开奖走势图 2017北京现代8月销量
美味早餐加盟 包子早餐加盟 山东早餐加盟 湖南特色早点加盟 快餐早餐加盟
安徽早餐加盟 雄州早餐加盟电话 早点招聘 北京早餐加盟 学生早餐加盟
早点来加盟店 早点小吃加盟排行榜 我想加盟早点 广式早餐加盟 早餐馅饼加盟
烤肉加盟 早点加盟网 早点加盟好项目 早餐包子加盟 美味早餐加盟
秒速赛车攻略 湖北十一选五走势图 江苏快三超牛公式 黄大仙二肖中特资料 新疆时时彩直播
024期六肖中特 快乐12开奖走势图 宁夏11选5基本 走势图 福建十一选五玩法 新火娱乐平台下载
江苏时时彩开奖 陕西11选5开奖结果 老11选5走势图 快乐彩走势图 74期管家婆六合心水图
多乐彩票 摇钱树娱乐 上海时时乐幵奖结果 pk10计划软件 甘肃体彩11选5