真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

安全的Web主機(jī)iptables防火墻腳本怎么用

這篇文章主要為大家展示了“安全的Web主機(jī)iptables防火墻腳本怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“安全的Web主機(jī)iptables防火墻腳本怎么用”這篇文章吧。

喀什ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

下面以自己的Web服務(wù)器舉例說(shuō)明之,系統(tǒng)的默認(rèn)策略是INPUT為DROP,OUTPUT、FORWARD鏈為ACCEPT,DROP設(shè)置得比較寬松,因?yàn)槲覀冎莱鋈サ臄?shù)據(jù)包比較安全;為了驗(yàn)證腳本的通用性,我特的查看了服務(wù)器的內(nèi)核及iptables版本,命令如下所示:
[root@ud50041 ~]# uname -a
Linux ud50041 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux
[root@ud50041 ~]# iptables -V
iptables v1.2.11
[root@ud50041 ~]# 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
大家可以發(fā)現(xiàn),此系統(tǒng)為RHEL4_i386系統(tǒng),系統(tǒng)內(nèi)核版本為2.6.9-34,iptables版本為1.2.11;另外我在別的Centos5.5 x86_64機(jī)器上也成功部署了此腳本;由于后續(xù)的recent安全模塊對(duì)系統(tǒng)內(nèi)核有要求(這個(gè)作為主機(jī)防護(hù)腳本也經(jīng)常用到),如果大家要采用iptables作為主機(jī)防火墻時(shí),建議用Centos5.6 x86_64或更高級(jí)版本,不然系統(tǒng)會(huì)有如下提示錯(cuò)誤信息:
iptables: Unknown error 18446744073709551615
iptables:Invalid argument
在tail -f /var/log/messages時(shí)能發(fā)下面的的出錯(cuò)提示
ip_tables: connlimit match: invalid size 32 != 16
ip_tables: connlimit match: invalid size 32 != 24
另外,在生產(chǎn)環(huán)境下調(diào)試iptables腳本前,強(qiáng)烈建議編寫crontab任務(wù),每5分鐘關(guān)閉一次iptalbes腳本,防止將SSH客戶端鎖在外面,命令如下所示:
*/5 * * * * root /etc/init.d/iptables stop
腳本代碼如下所示:

    #!/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 -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

這里有一種特殊情況,由于此Web服務(wù)器是置于負(fù)載均衡器后面,所以與負(fù)載均衡器的連接還是很頻繁的;所以我們要允許數(shù)據(jù)源地址為負(fù)載均衡器的數(shù)據(jù)包通過(guò);另外,我的許多基于LNMP的小網(wǎng)站上面也部署了此腳本,即Web服務(wù)和MySQL數(shù)據(jù)庫(kù)同時(shí)安裝在一臺(tái)機(jī)器上,也沒(méi)有開放3306端口,這個(gè)靠Web調(diào)用PHP程序?qū)崿F(xiàn)訪問(wèn)。

成功運(yùn)行此腳本后系統(tǒng)應(yīng)該是不會(huì)報(bào)錯(cuò)的,命令如下:
iptables -nv –L
此命令顯示結(jié)果如下(此為另一臺(tái)LNMP機(jī)器的腳本顯示結(jié)果):
Chain INPUT (policy DROP 610 packets, 50967 bytes)
 pkts bytes target     prot opt in     out     source               destination        
    0     0 ACCEPT     all  -f  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 100/sec burst 100
 6100  314K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x16/0x02 limit: avg 20/sec burst 200
 1052 67637 ACCEPT     all  --  *      *       122.70.x.x        0.0.0.0/0          
  986 58112 ACCEPT     all  --  *      *       122.70.x.x        0.0.0.0/0          
  918  131K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0          
97056   12M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
 4325  218K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 80,22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination        
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 limit: avg 1/sec burst 10

Chain OUTPUT (policy ACCEPT 144K packets, 155M bytes)
 pkts bytes target     prot opt in     out     source               destination        
  956  134K ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0

下面我稍為詳細(xì)的解釋下此腳本:
在主機(jī)的防護(hù)上我們配置了一些安全措施,以防止外部的ping和SYN洪水***,并且考慮到外部的瘋狂端口掃描軟件可能會(huì)影響服務(wù)器的入口帶寬,所以在這里也做了限制。命令如下所示:
iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 100 -j  ACCEPT
上面的命令每秒鐘最多允許100個(gè)新連接,請(qǐng)注意這里的新連接指的是state為New的數(shù)據(jù)包,在后面我們也配置了允許狀態(tài)為ESTABLISHED和RELATED的數(shù)據(jù)通過(guò);另外,100這個(gè)閥值則要根據(jù)服務(wù)器的實(shí)際情況來(lái)調(diào)整,如果是并發(fā)量不大的服務(wù)器這個(gè)數(shù)值就要調(diào)小,如果是訪問(wèn)量非常大且并發(fā)數(shù)不小的服務(wù)器,這個(gè)值則還需要調(diào)大。再看以下命令:
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s –limit-burst 10 -j ACCEPT
這是為了防止ping洪水***,限制每秒的ping包不超過(guò)10個(gè)。
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限制為每秒鐘不超過(guò)200個(gè),免得把數(shù)務(wù)器帶寬耗盡了。

iptables防火墻運(yùn)行后,我們可以運(yùn)行nmap工具進(jìn)行掃描,命令如下:
nmap -P0 -sS 211.143.6.x
此命令的執(zhí)行結(jié)果如下:
Starting Nmap 4.11 ( http://www.insecure.org/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

在這里,我們發(fā)現(xiàn)一個(gè)1014端被某個(gè)進(jìn)程打開了,用lsof -i:1014查看發(fā)現(xiàn)又是rpc.statd打開的,這服務(wù)每次用的端口都不一樣??!本來(lái)想置之不理的,但是如果rpc.statd不能正確處理SIGPID信號(hào),遠(yuǎn)程***者可利用這個(gè)漏洞關(guān)閉進(jìn)程,進(jìn)行拒絕服務(wù)***,所以還是得想辦法解決掉,我們發(fā)現(xiàn)rpc.statd是由服務(wù)nfslock開啟的,進(jìn)一步查詢得知它是一個(gè)可選的進(jìn)程,它允許NFS客戶端在服務(wù)器上對(duì)文件加鎖。這個(gè)進(jìn)程對(duì)應(yīng)于nfslock服務(wù),于是我們關(guān)掉了此服務(wù),命令如下所示:
service nfslock stop
chkconfig nfslock off

如果沒(méi)有硬件防火墻保護(hù)的話,置于IDC機(jī)房并且有公網(wǎng)的Web服務(wù)器還是很有用iptables保護(hù)的必要,如果發(fā)現(xiàn)有人用工具惡意頻繁連接我們的Web服務(wù)器,我們可以調(diào)用recent模塊來(lái)阻止它們,我們的做法是:盡量在每一臺(tái)有公網(wǎng)IP的機(jī)器上部署iptables防火墻。

以上是“安全的Web主機(jī)iptables防火墻腳本怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當(dāng)前名稱:安全的Web主機(jī)iptables防火墻腳本怎么用
瀏覽地址:http://weahome.cn/article/iesghg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部