您以前可能聽(tīng)說(shuō)過(guò)防火墻。它們是您可以實(shí)施的最有效但最不為人知的安全措施類型之一。雖然它們是相當(dāng)復(fù)雜的軟件,但了解它們的工作原理以及如何設(shè)置它們?nèi)匀缓苡杏谩?/p>
簡(jiǎn)而言之,如果您知道如何發(fā)現(xiàn)它們,防火墻可以阻止與您的站點(diǎn)的不需要的連接。在當(dāng)今世界,站點(diǎn)不斷受到攻擊,防火墻可能是您抵御入侵的最佳防御之一。
在本文中,我們將解釋什么是防火墻以及您可能需要防火墻的原因。然后,我們將教您如何為您的站點(diǎn)實(shí)施兩種類型的防火墻。讓我們把艙口蓋上!
防火墻簡(jiǎn)介(以及您可能需要防火墻的原因)
盡管名稱很花哨,但防火墻基本上是一種軟件,可以阻止對(duì)您的服務(wù)器的不必要訪問(wèn),同時(shí)仍使其能夠像往常一樣工作。幾乎每個(gè)運(yùn)營(yíng)網(wǎng)站的人都需要它,并且有很多好處:
- 您可以有選擇地阻止訪問(wèn)。阻止您的服務(wù)器并不意味著沒(méi)有人可以訪問(wèn)它。事實(shí)上,您可以將防火墻配置為僅授予少數(shù)特定用戶(由他們的IP 地址標(biāo)識(shí))訪問(wèn)權(quán)限。
- 它們最大限度地減少了對(duì)您的網(wǎng)站進(jìn)行攻擊的機(jī)會(huì)。大多數(shù)服務(wù)器存儲(chǔ)某種敏感信息,包括文檔、電子郵件地址和密碼。當(dāng)然,很多數(shù)據(jù)都是加密的——但您仍然不希望手表上有任何泄漏。
- 它們相對(duì)容易設(shè)置。許多托管服務(wù)提供商和內(nèi)容管理系統(tǒng) (CMS) 都包含設(shè)置特定類型防火墻的選項(xiàng)。
考慮到這一點(diǎn),讓我們談?wù)勅绾螌?shí)現(xiàn)兩種最常見(jiàn)的防火墻類型,以及它們是如何工作的。
2種實(shí)現(xiàn)服務(wù)器防火墻的方法
防火墻有很多可用的選項(xiàng),但今天我們將重點(diǎn)介紹最容易實(shí)現(xiàn)的兩個(gè):高級(jí)策略防火墻和基于 IP 表的防火墻。請(qǐng)記住,雖然支持這兩種類型的防火墻,但您需要root訪問(wèn)權(quán)限才能實(shí)施它們。這意味著它們僅適用于虛擬專用服務(wù)器?(?VPS?) 和專用服務(wù)器。
1. 使用 IP 表配置防火墻
IP 表使您能夠授予或拒絕對(duì)特定服務(wù)和 IP 地址的訪問(wèn)。這使您可以完全控制進(jìn)出服務(wù)器的所有內(nèi)容,包括傳輸控制協(xié)議 (TCP)和安全外殼 (SSH)連接。簡(jiǎn)而言之,它將適合那些喜歡使用命令行的人。
如果您在 VPS 或?qū)S梅?wù)器上,您應(yīng)該可以訪問(wèn)iptables程序,這是大多數(shù) Linux 發(fā)行版默認(rèn)提供的。您需要做的第一件事是通過(guò)在控制臺(tái)上鍵入以下命令來(lái)檢查默認(rèn)情況下它沒(méi)有設(shè)置任何規(guī)則:
iptables -L
這將返回三組規(guī)則或鏈——每個(gè)用于傳入、傳出和轉(zhuǎn)發(fā)數(shù)據(jù)包,并且所有這些都應(yīng)包含讀取policy ACCEPT的行。要將新規(guī)則添加到特定鏈,您需要使用以下命令:
iptables -A INPUT -p tcp -m tcp --dport 7822 -j ACCEPT
這可以通過(guò) SSH 常用的端口 7822 啟用傳入 TCP 連接。不用擔(dān)心,我們會(huì)在一分鐘內(nèi)將您鏈接到包含有關(guān)您需要了解的所有命令的信息的資源?,F(xiàn)在,讓我們添加另一個(gè)規(guī)則,該規(guī)則將啟用通過(guò)端口 80 (HTTP)的傳入 TCP 連接:
iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
請(qǐng)記住,端口 80 最常用于服務(wù)器傳輸信息,因?yàn)?HTTP 協(xié)議仍然很流行。但是,如果您為您的站點(diǎn)設(shè)置了安全套接字層證書(shū) (SSL),您還需要啟用通過(guò)端口 443(這是 HTTPS 的默認(rèn)設(shè)置)進(jìn)行訪問(wèn)。這是如何做到的:
iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
很簡(jiǎn)單,對(duì)吧?現(xiàn)在,如果您想阻止特定 IP 地址訪問(wèn)您的服務(wù)器,只需要另一個(gè)iptables命令。例如:
iptables -I INPUT rulenum -s 'IP address goes here' -j DROP
DROP規(guī)則將指示您的服務(wù)器阻止來(lái)自特定 IP 地址的所有類型的連接。
現(xiàn)在您已經(jīng)掌握了iptables的基礎(chǔ)知識(shí),我們建議您查看我們的知識(shí)庫(kù),了解更多可以與程序一起使用的命令(以及如何保存和刪除規(guī)則)。
2. 安裝高級(jí)策略防火墻
如果您不是命令行的忠實(shí)擁護(hù)者,高級(jí)策略防火墻 (APF)?是一種替代方案,可讓您使用簡(jiǎn)單的文本編輯器配置防火墻。但是,您還需要使用一個(gè)特定的程序,并且大多數(shù) Linux 發(fā)行版默認(rèn)不包含這個(gè)程序(與iptables不同)。
正如您可能想象的那樣,您需要使用命令行來(lái)設(shè)置它,但過(guò)程相當(dāng)簡(jiǎn)單。只需按照這些說(shuō)明進(jìn)行操作,完成后,您就可以通過(guò)訪問(wèn)以下文件來(lái)配置防火墻:
/etc/apf/conf.apf
使用哪個(gè)文本編輯器的選擇權(quán)在您手中,但過(guò)程保持不變。只需選擇您最喜歡的一個(gè)并用它打開(kāi)該文件。例如,如果您是Vim 用戶,您將使用以下命令:
vi ?/etc/apf/conf.apf
進(jìn)入后,您會(huì)想要找到以下幾行:
SET_MONOKERN="0"
HELPER_SSH_PORT="22"
IG_TCP_CPORTS="22"
這些只是默認(rèn)值,但您需要替換它們以使防火墻有效。例如,將SET_MONOKERN的值更改為1將使程序能夠安裝到內(nèi)核中,而不是作為包安裝,這是它工作所必需的。
繼續(xù)前進(jìn),您還需要將HELPER_SSH_PORT的值更改為 7822,這是 SSH 連接的默認(rèn)值,您可能還記得上一節(jié)。
最后,將要啟用的 TCP 端口添加到最后一行的值中。例如:
IG_TCP_CPORTS="80, 7822, 443"
這將分別啟用通過(guò) HTTP、SSH 和 HTTPS 的連接。最后,將更改保存到conf.apf文件并使用以下命令啟動(dòng) APF 程序:
apf --start
現(xiàn)在你都準(zhǔn)備好了。有關(guān)如何配置高級(jí)策略防火墻的更多信息,請(qǐng)查看我們的知識(shí)庫(kù),其中包括更多示例和指南。
服務(wù)器防火墻結(jié)論
實(shí)施防火墻是阻止對(duì)您的站點(diǎn)和本地計(jì)算機(jī)的攻擊的最有效方法之一。就網(wǎng)站而言,即使您不知道,您的網(wǎng)站也有可能受到攻擊。這就是為什么您需要學(xué)習(xí)如何以各種可能的方式保護(hù)您的安全。