本篇內(nèi)容介紹了“l(fā)inux設(shè)置iptables防火墻的詳細(xì)步驟”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷(xiāo),提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)站開(kāi)發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷(xiāo)、重慶小程序開(kāi)發(fā)、公眾號(hào)商城、等建站開(kāi)發(fā),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專(zhuān)家,為不同類(lèi)型的客戶(hù)提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶(hù)在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。首先簡(jiǎn)單介紹一下什么是IPTables:
iptables是Linux內(nèi)核中內(nèi)置的防火墻,可以允許管理員通過(guò)設(shè)置table, chain以及相關(guān)的規(guī)則來(lái)進(jìn)行數(shù)據(jù)包過(guò)濾和NAT。 一般來(lái)講,iptables防火墻已經(jīng)內(nèi)置于CentOS 6及其他Linux版本中,而且iptables服務(wù)默認(rèn)都是啟動(dòng)的。 iptables應(yīng)用于IPv4, 如果要用IPv6,需要使用ip6tables.
iptables的命令格式:
代碼如下:
iptables[-ttable]command[chain][rules][-jtarget]
[-ttable]:用來(lái)指明使用的表,有三種選項(xiàng):filter,nat和mangle,如果未指定,則使用filter作為缺省表。事實(shí)上,對(duì)于單個(gè)服務(wù)器的防火墻配置,一般來(lái)講,我們只需要對(duì)filter表進(jìn)行配件就OK了。filter表包括INPUT,OUTPUT,和FORWARD三個(gè)chain.
command表明iptables命名要做什么,比如
-A(–append):該命令會(huì)把一條規(guī)則附件到chain的末尾。
-D(–delete)用來(lái)刪除某個(gè)規(guī)則。
-F(–flush)如果指定了chain,刪除該chain中的所有規(guī)則,如果未指定chain,則刪除所有chain中的所有規(guī)則。
target:是由規(guī)則指定的操作。包括下面幾種:
ACCEPT:接收信息包(允許它前往目的地),并且將停止遍歷chain.
DROP:拒絕,
此外還有REJECT,RETURN,LOG,REDIRECT,MARK,MIRROR,MAQUERADE等。
具體的iptables的語(yǔ)法和概念就不再多說(shuō)了,請(qǐng)參照iptablesmanpage官方文檔.
簡(jiǎn)單來(lái)說(shuō),iptables防火墻是由一系列的規(guī)則(rule)組成,一個(gè)數(shù)據(jù)請(qǐng)求進(jìn)來(lái),會(huì)依次和這些規(guī)則進(jìn)行比較,如果正好符合規(guī)則的定義,那這個(gè)數(shù)據(jù)請(qǐng)求要么會(huì)被接收ACCEPT,要么被拒絕DRIP。如果不符合任何規(guī)則的定義,最后缺省的規(guī)則會(huì)被應(yīng)用。
開(kāi)始操作之前:
注意:一定要把你在DigitalOcean/Linode/阿里云上的服務(wù)器做一下快照備份,否則一旦你iptables的配置出了問(wèn)題,極有可能把你自己擋在門(mén)外,你自己都無(wú)法連接到服務(wù)器了?。〕霈F(xiàn)這種情況可是會(huì)欲哭無(wú)淚呀,除了重新做系統(tǒng)好像沒(méi)有更好的辦法了。(DigitalOcean提供了一個(gè)webconsole的界面,有時(shí)候會(huì)給你反悔和擦除iptables設(shè)置的機(jī)會(huì),但阿里云沒(méi)有)
決定哪些端口需要開(kāi)放
首先,SSH的端口22自然是需要開(kāi)放的,否則我們就無(wú)法登錄服務(wù)器了。
一般來(lái)講,CentOS的VPS經(jīng)常作為用LAMP搭建的Web服務(wù)器,F(xiàn)TP服務(wù)器,Mail服務(wù)器等。
對(duì)于Web服務(wù)來(lái)說(shuō),需要開(kāi)放80端口,如果是HTTPS/SSL協(xié)議的話,還需用開(kāi)放443端口
對(duì)于Mail服務(wù)來(lái)說(shuō),由于涉及SMTP,POP3,IMAP協(xié)議,需要開(kāi)放的端口如下:
SMTP:25SecureSMTP:465POP3:110SecurePOP3:995IMAP:143IMAPoverSSL:993
對(duì)于FTP服務(wù)來(lái)說(shuō),需要開(kāi)放20,21兩個(gè)端口
第一步:屏蔽最常見(jiàn)的攻擊
缺省情況下,CentOS的iptables的設(shè)置是允許任何數(shù)據(jù)通過(guò)的。
我們首先要清空iptables中的所有的規(guī)則:
代碼如下:
iptables-F
然后我們加上阻止簡(jiǎn)單掃描和攻擊的規(guī)則
代碼如下:
iptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP#NONE包(所有標(biāo)識(shí)bit都沒(méi)有設(shè)置)主要是掃描類(lèi)的數(shù)據(jù)包
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROP#防止sync-flood攻擊
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP#ALL包(所有的標(biāo)注bit都被設(shè)置了)也是網(wǎng)絡(luò)掃描的數(shù)據(jù)包
關(guān)于sync-flood,請(qǐng)參照wikipedia的解釋。
第二步:為相應(yīng)的服務(wù)開(kāi)放對(duì)應(yīng)的端口
首先我們應(yīng)該接受本機(jī)localhost的任何請(qǐng)求,否則,數(shù)據(jù)庫(kù)連接等將無(wú)法工作
1
iptables-AINPUT-ilo-jACCEPT
對(duì)于不同的服務(wù)需要開(kāi)放不同的端口
代碼如下:
iptables-AINPUT-ptcp--dport22-jACCEPT#SSH
iptables-AINPUT-ptcp--dport80-jACCEPT#HTTP
iptables-AINPUT-ptcp--dport443-jACCEPT#HTTPS
iptables-AINPUT-ptcp--dport25-jACCEPT#SMTP
iptables-AINPUT-ptcp--dport465-jACCEPT#SecureSMTP
iptables-AINPUT-ptcp--dport110-jACCEPT#POP3
iptables-AINPUT-ptcp--dport995-jACCEPT#SecurePOP3
iptables-AINPUT-ptcp--dport143-jACCEPT#IMAP
iptables-AINPUT-ptcp--dport993-jACCEPT#SecureIMAP
第三步:加上通用的規(guī)則
首先要允許所有從服務(wù)器端發(fā)起的連接,由此返回的響應(yīng)數(shù)據(jù)應(yīng)該是允許的!比如VPS發(fā)起的yumupdate,必須要允許外部的update數(shù)據(jù)進(jìn)來(lái)
代碼如下:
iptables-IINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
最后,設(shè)置缺省的策略:屏蔽任何進(jìn)入的數(shù)據(jù)請(qǐng)求,允許所有從Server發(fā)出的請(qǐng)求
代碼如下:
iptables-POUTPUTACCEPT</p>
<p>iptables-PINPUTDROP
至此,規(guī)則設(shè)置完畢
第四步:保存設(shè)置
首先通過(guò)下面的命令查看一下我們的設(shè)置是否正確!
代碼如下:
iptable-L-n
確認(rèn)沒(méi)有問(wèn)題后,執(zhí)行下面的命令
代碼如下:
serviceiptablessave
執(zhí)行上述命令后,相應(yīng)的規(guī)則會(huì)寫(xiě)入/etc/sysconfig/iptables這個(gè)文件,你可以檢查一下看看。
最后執(zhí)行
代碼如下:
serviceiptablesrestart.
重新啟動(dòng)iptables防火墻,以使上述設(shè)置生效。
很好的方法:
為了更方便的修改和維護(hù)自己的iptables的設(shè)置,我一般是把所有的iptables的設(shè)置先寫(xiě)到一個(gè)單獨(dú)文件中,測(cè)試沒(méi)有問(wèn)題后。然后再保存到iptable的配置文件中。
下面是我自己的iptables文件~/script/firewall.sh
代碼如下:
#!/bin/bash
#Asimpleiptablesfirewallconfiguration</p>
<p>PATH=/sbin:/bin:/usr/sbin:/usr/bin;exportPATH</p>
<p>#flush/eraseoriginalrules
iptables-F#清除所有已制定的rule
iptables-X#清除用戶(hù)自定義的chain/table
iptables-Z#將所有的chain的計(jì)數(shù)和流量統(tǒng)計(jì)歸零</p>
<p>#Acceptlocalhostconnetting,nomatterwhatitis
iptables-AINPUT-ilo-jACCEPT</p>
<p>#Acceptanyresponsepackagewhichisinitiatedfrominside
iptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT</p>
<p>#blockmostcommonnetworkattacks(reconpacketsandsyn-floodattack)
iptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROP
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP</p>
<p>#openportsfordifferentservices
iptables-AINPUT-ptcp--dport22-jACCEPT#SSH
iptables-AINPUT-ptcp--dport80-jACCEPT#HTTP
#iptables-AINPUT-ptcp--dport443-jACCEPT#HTTPS
#iptables-AINPUT-ptcp--dport25-jACCEPT#SMTP
#iptables-AINPUT-ptcp--dport465-jACCEPT#SecureSMTP
#iptables-AINPUT-ptcp--dport110-jACCEPT#POP3
#iptables-AINPUT-ptcp--dport995-jACCEPT#SecurePOP</p>
<p>#ICMPconfiguration
#TopreventICMPDDOS,wedonotallowICMPtype8(echo-request)orlimitthisrequestwith2/second
#someICMPrequestsareallowed.
icmp_type="0341112141618"
forticmpin$icmp_type
do
iptables-AINPUT-picmp--icmp-type$ticmp-jACCEPT
done
#iptables-AINPUT-picmp--icmp-type8-mlimit--limit1/second-jACCEPT</p>
<p>#defaultpolicies
iptables-POUTPUTACCEPT
iptables-PINPUTDROP</p>
<p>#saveto/etc/sysconfig/iptables
/etc/init.d/iptablessave
你可以根據(jù)你的需要進(jìn)行相應(yīng)的修改。
“l(fā)inux設(shè)置iptables防火墻的詳細(xì)步驟”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
網(wǎng)頁(yè)名稱(chēng):linux設(shè)置iptables防火墻的詳細(xì)步驟-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://jinyejixie.com/article22/djsicc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)、微信公眾號(hào)、定制開(kāi)發(fā)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容