溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

pfSense book之防火墻(一)

發(fā)布時(shí)間:2020-08-04 09:15:48 來源:網(wǎng)絡(luò) 閱讀:15621 作者:鐵血男兒 欄目:建站服務(wù)器


防火墻


  • 防火墻基礎(chǔ)

  • 入口過濾

  • 出口過濾

  • 簡介防火墻規(guī)則

  • 別名

  • 防火墻規(guī)則配置實(shí)例

  • 規(guī)則方法

  • 配置防火墻規(guī)則

  • 浮動(dòng)規(guī)則

  • 使用其他公網(wǎng)IP地址的方法

  • 虛擬IP地址

  • 基于時(shí)間的規(guī)則

  • 查看防火墻日志

  • 如何封鎖訪問一個(gè)網(wǎng)站?

  • 故障排除防火墻規(guī)則


pfSense執(zhí)行的主要功能之一是過濾流量。本章包括防火墻基本原理,最佳實(shí)踐以及配置防火墻規(guī)則所需的必要信息。


防火墻基礎(chǔ)知識(shí)

本節(jié)主要介紹防火墻概念,為理解、使用pfSense配置防火墻規(guī)則奠定基礎(chǔ)。

基本術(shù)語

規(guī)則和規(guī)則集是本章通篇使用的兩個(gè)術(shù)語:


規(guī)則:  指防火墻>規(guī)則策略上的單個(gè)條目。規(guī)則將引導(dǎo)防火墻如何匹配或處理網(wǎng)絡(luò)流量。
規(guī)則集:  統(tǒng)稱為一組規(guī)則。 要么是整個(gè)防火墻規(guī)則,要么是特定上下文中的一組規(guī)則,例如接口選項(xiàng)卡上的規(guī)則。 完整的防火墻規(guī)則集是所有用戶配置和自動(dòng)添加規(guī)則的總和,本章將進(jìn)一步討論。

“接口”選項(xiàng)卡上的規(guī)則集是由pfSense優(yōu)先匹配執(zhí)行的。 這意味著從上到下執(zhí)行接口的規(guī)則集,匹配的第一個(gè)規(guī)則將是防火墻使用的規(guī)則。 匹配后即停止,然后防火墻采取該規(guī)則指定的操作。 創(chuàng)建新規(guī)則時(shí),請(qǐng)始終牢記這一點(diǎn),特別是在制定限制流量的規(guī)則時(shí)。 最寬松的規(guī)則應(yīng)該放在列表的底部,以便可以在上面制定限制或例外規(guī)則。

注意

“浮動(dòng)”選項(xiàng)卡是此規(guī)則處理邏輯的唯一例外。 在本章的后面部分將會(huì)介紹。


狀態(tài)過濾

pfSense是一個(gè)有狀態(tài)的防火墻,這意味著它會(huì)記住有關(guān)流經(jīng)防火墻連接的信息,以便自動(dòng)應(yīng)答 流量。 這些數(shù)據(jù)保留在狀態(tài)表中。 狀態(tài)表中的連接信息包括源、目標(biāo)、協(xié)議、端口等,足以唯一標(biāo)識(shí)特定的連接。

使用這種機(jī)制,只需在進(jìn)入防火墻的接口上允許通信。 當(dāng)連接符合傳遞規(guī)則時(shí),防火墻會(huì)在狀態(tài)表中創(chuàng)建一個(gè)條目。 通過防火墻自動(dòng)應(yīng)答流量到連接,是通過將其與狀態(tài)表進(jìn)行匹配而不是在兩個(gè)方向上檢查規(guī)則。 這包括使用不同協(xié)議的任何相關(guān)流量,例如響應(yīng)于TCP,UDP或其他連接可能提供的ICMP控制消息。

參考

有關(guān)狀態(tài)選項(xiàng)類型的更多信息,請(qǐng)參閱防火墻高級(jí)設(shè)置和狀態(tài)類型。


狀態(tài)表大小

防火墻狀態(tài)表必須限定大小以防止內(nèi)存耗盡。 每個(gè)狀態(tài)需要大約1 KB的RAM。 pfSense中的默認(rèn)狀態(tài)表大小是通過默認(rèn)情況下占用防火墻中可用RAM的10%來計(jì)算的。 在1GB RAM的防火墻上,默認(rèn)狀態(tài)表大小可容納大約100,000個(gè)條目。


參考

有關(guān)狀態(tài)表大小和RAM使用情況的更多信息,請(qǐng)參閱防火墻最大狀態(tài)表。


每個(gè)用戶連接通常由兩個(gè)狀態(tài)組成:一個(gè)是在進(jìn)入防火墻時(shí)創(chuàng)建的,一個(gè)是在離開防火墻時(shí)創(chuàng)建的。 因此,在狀態(tài)表大小為1,000,000的情況下,防火墻可以處理大約50萬個(gè)正在穿越防火墻的用戶會(huì)話,之后將會(huì)丟棄任何額外的連接。 只要不超過防火墻內(nèi)可用的RAM數(shù)量,就可以根據(jù)需要增加此限制。


增加狀態(tài)表大小:

  • 導(dǎo)航到系統(tǒng) >高級(jí)選項(xiàng)、防火墻和NAT選項(xiàng)卡;

  • 在防火墻最大狀態(tài)欄輸入所需的數(shù)字,或保留默認(rèn)計(jì)算值。 如下圖增加狀態(tài)表大小到2,000,000;

  • 點(diǎn)擊保存。


pfSense book之防火墻(一)

修改防火墻最大狀態(tài)為2,000,000

歷史狀態(tài)表使用情況由防火墻跟蹤。 要查看圖表:

  • 導(dǎo)航到系統(tǒng)狀態(tài) > Monitoring

  • 單擊 pfSense book之防火墻(一) 擴(kuò)展圖表選項(xiàng)

  • 將左軸的類別設(shè)置為系統(tǒng)

  • 將左軸的圖形設(shè)置為狀態(tài)

  • 單擊 pfSense book之防火墻(一) 更新圖表

阻止與拒絕

有兩種方式可以禁止在pfSense上使用防火墻規(guī)則的流量:阻止和拒絕。

設(shè)置為阻止的規(guī)則將悄悄丟棄流量, 被阻止的客戶端不會(huì)收到任何響應(yīng),因此將等待連接嘗試超時(shí)。 這是pfSense中默認(rèn)拒絕規(guī)則的行為。

規(guī)則設(shè)置為拒絕將回應(yīng)客戶端拒絕TCP和UDP的流量,讓發(fā)件人知道連接被拒絕。 拒絕的TCP流量接收到TCP RST(重置)作為響應(yīng),拒絕的UDP流量接收到ICMP不可達(dá)消息作為響應(yīng)。 雖然拒絕是任何防火墻規(guī)則的有效選擇,但TCP和UDP以外的IP協(xié)議不能被拒絕; 這些規(guī)則會(huì)默默地放棄其他IP協(xié)議,因?yàn)闆]有拒絕其他協(xié)議的標(biāo)準(zhǔn)。


采用阻止或拒絕?

多年來,安全專業(yè)人士就阻止拒絕的價(jià)值進(jìn)行了多次辯論。有人認(rèn)為,使用阻止更有意義,聲稱它“放慢”***者掃描互聯(lián)網(wǎng)。當(dāng)一個(gè)規(guī)則被設(shè)置為拒絕時(shí),立即返回一個(gè)響應(yīng)端口被關(guān)閉,而阻止悄悄地丟棄流量,導(dǎo)致***者的端口掃描器等待響應(yīng)。這個(gè)說法并不成立,因?yàn)槊總€(gè)好的端口掃描器都可以同時(shí)掃描數(shù)百或數(shù)千個(gè)主機(jī),掃描器不會(huì)停滯,等待來自封閉端口的響應(yīng)。資源消耗和掃描速度之間的差異很小,但是如此輕微,以至于不應(yīng)該將其考慮在內(nèi)。


如果防火墻阻止來自Internet的所有流量,阻止拒絕之間存在顯著差異:沒有人知道防火墻在線。如果即使單個(gè)端口是開放的,那么這個(gè)能力的價(jià)值也是最小的,因?yàn)?**者可以很容易地確定主機(jī)在線并且也知道什么端口是開放的,不管被阻止的連接是否被防火墻拒絕。雖然在阻止拒絕方面沒有顯著的價(jià)值,但我們?nèi)越ㄗh在WAN規(guī)則上使用阻止。在不主動(dòng)將信息傳遞給潛在的***者方面存在一些價(jià)值,并且不必要地自動(dòng)響應(yīng)外部請(qǐng)求也是不好的做法。


對(duì)于內(nèi)部接口規(guī)則,我們建議在大多數(shù)情況下使用拒絕。當(dāng)主機(jī)嘗試訪問防火墻規(guī)則不允許的資源時(shí),訪問它的應(yīng)用程序可能會(huì)掛起,直到連接超時(shí)或客戶端程序停止嘗試訪問該服務(wù)。拒絕連接立即被拒絕,客戶避免這些掛起。這通常只是一個(gè)煩惱,但我們通常仍然建議使用拒絕,以避免由于在網(wǎng)絡(luò)中靜靜地丟棄流量而導(dǎo)致潛在的應(yīng)用程序問題。

入口過濾

入口過濾是指從外部源(如Internet)進(jìn)入網(wǎng)絡(luò)的防火墻流量的概念。 在使用多WAN的部署中,防火墻具有多個(gè)入口點(diǎn)。 pfSense上的默認(rèn)入口策略是阻止所有流量,因?yàn)樵谀J(rèn)規(guī)則集中,WAN上沒有允許的規(guī)則。 自動(dòng)允許從本地網(wǎng)絡(luò)內(nèi)部發(fā)起的流量應(yīng)答由狀態(tài)表通過防火墻返回。

出口過濾

出口過濾是指在本地網(wǎng)絡(luò)內(nèi)發(fā)起的防火墻流量的概念,其目的地是遠(yuǎn)程網(wǎng)絡(luò),例如因特網(wǎng)。 與幾乎所有類似的商業(yè)和開源解決方案一樣,pfSense也帶有LAN規(guī)則,允許從LAN到Internet的所有通信。 但是,這不是最好的操作方式。 但它已成為大多數(shù)人所期望的多數(shù)防火墻解決方案中事實(shí)上的默認(rèn)設(shè)置。 常見的誤解是“內(nèi)部網(wǎng)絡(luò)上的任何東西都是'值得信賴的',那為什么要去過濾呢?

為什么使用出口過濾?

根據(jù)我們與許多不同廠商的眾多供應(yīng)商合作的無數(shù)防火墻的經(jīng)驗(yàn),大多數(shù)小公司和家庭網(wǎng)絡(luò)都不采用出口過濾。 由于每個(gè)新的應(yīng)用程序或服務(wù)可能需要在防火墻中打開額外的端口或協(xié)議,因此會(huì)增加管理負(fù)擔(dān)。 在某些環(huán)境中,這很困難,因?yàn)楣芾韱T不完全知道網(wǎng)絡(luò)上發(fā)生了什么,而且他們不愿意破壞事情。 在其他環(huán)境下,工作場(chǎng)所政治的原因是不可避免的。 最佳做法是管理員將防火墻配置為只允許所需的最小流量在可能的情況下離開網(wǎng)絡(luò)。 嚴(yán)格的出口過濾很重要,原因如下:

限制受損系統(tǒng)的影響

出口過濾限制了受損系統(tǒng)的影響。惡意軟件通常使用大多數(shù)商業(yè)網(wǎng)絡(luò)不需要的端口和協(xié)議。一些漫游者依靠IRC連接打電話回家并接收指令。有些會(huì)使用更多的通用端口,例如TCP端口80(通常是HTTP)來逃避出口過濾,但是許多端口不會(huì)。如果防火墻不允許訪問通常的IRC端口6667的TCP端口6667,那么依賴于IRC的機(jī)器人可能會(huì)被過濾損壞。


另一個(gè)例子是我們參與的情況,pfSense安裝的內(nèi)部接口看到50-60 Mbps的流量,而WAN的吞吐量低于1 Mbps。防火墻上沒有其他接口。一些調(diào)查顯示,原因是運(yùn)行僵尸程序的局域網(wǎng)上的受害系統(tǒng)參與了針對(duì)中國×××的分布式拒絕服務(wù)(DDoS)***。***使用UDP端口80,在這個(gè)網(wǎng)絡(luò)中,UDP端口80不被出口規(guī)則集允許,因此所有的DDoS正在完成的是強(qiáng)調(diào)防火墻的內(nèi)部接口與被丟棄的流量。在這種情況下,防火墻一路高歌猛進(jìn),沒有任何性能下降,網(wǎng)絡(luò)管理員不知道發(fā)生了什么事,直到意外發(fā)現(xiàn)。

以上段落中描述的***可能使用UDP端口80有兩個(gè)主要原因:

  • UDP允許客戶端發(fā)送大數(shù)據(jù)包,而不需要完成TCP握手。 由于狀態(tài)防火墻是常態(tài),因此在握手成功完成之前,大型TCP數(shù)據(jù)包將不會(huì)通過,這限制了DDoS的有效性。

  • 那些采用出口過濾技術(shù)的用戶通常過于寬容,只允許需要TCP的TCP和UDP,就像HTTP一樣。

這些類型的***通常是從受感染的Web服務(wù)器發(fā)起的。如果有一個(gè)廣泛的開放出口規(guī)則集,流量將流出到互聯(lián)網(wǎng),并有可能溢出防火墻上的狀態(tài)表,造成帶寬使用的損失,并且/或者降低互聯(lián)網(wǎng)連接的所有性能。


出站SMTP是另一個(gè)例子。只允許SMTP(TCP端口25)離開郵件服務(wù)器的任何網(wǎng)絡(luò)?;蛘撸绻]件服務(wù)器是外部托管的,則只允許內(nèi)部系統(tǒng)在TCP端口25上與特定的外部系統(tǒng)進(jìn)行通信。這樣可以防止本地網(wǎng)絡(luò)中的每個(gè)其他系統(tǒng)都被用作垃圾郵件機(jī)器人,因?yàn)樗鼈兊腟MTP通信將被丟棄。許多郵件提供商已經(jīng)轉(zhuǎn)向使用僅使用TCP端口587的客戶端的身份驗(yàn)證提交,因此客戶端不需要訪問端口25。這是限制垃圾郵件的好辦法,并且還可以防止將網(wǎng)絡(luò)添加到整個(gè)互聯(lián)網(wǎng)將阻止該網(wǎng)站向更多郵件服務(wù)器發(fā)送合法的電子郵件。這也可能阻止該網(wǎng)站的ISP由于濫用而關(guān)閉其互聯(lián)網(wǎng)連接。


理想的解決方案是首先防止這些類型的事情發(fā)生,但出口過濾提供了另一個(gè)方法 ,如果其他措施失敗,出口過濾可以幫助進(jìn)行限制。


防止妥協(xié)

出口過濾可以防止在某些情況下的妥協(xié)。 一些漏洞和蠕蟲需要出站訪問才能成功。 一個(gè)較老的但是很好的例子是從2001年開始的紅色代碼蠕蟲病毒。這個(gè)漏洞通過TFTP(Trivial File Transfer Protocol,普通文件傳輸協(xié)議)使得受影響的系統(tǒng)能夠執(zhí)行一個(gè)可執(zhí)行文件,然后執(zhí)行它。 Web服務(wù)器幾乎可以肯定不需要使用TFTP協(xié)議,并且通過出口過濾阻止TFTP即使在未打補(bǔ)丁的服務(wù)器上也可以防止感染紅色代碼。 這在很大程度上只對(duì)停止完全自動(dòng)化的***和蠕蟲有用,因?yàn)檎嬲娜祟?**者會(huì)發(fā)現(xiàn)在出口過濾中存在的任何漏洞并將它用于他們的***目標(biāo)。 同樣,防止這種問題的正確解決方案是修復(fù)用作***媒介的網(wǎng)絡(luò)漏洞,但是出口過濾也可以提供幫助。

限制未經(jīng)授權(quán)的應(yīng)用程序使用

許多應(yīng)用程序(如×××客戶端,對(duì)等軟件,即時(shí)通訊軟件等)都依賴非典型端口或協(xié)議來運(yùn)行。 雖然越來越多的點(diǎn)對(duì)點(diǎn)和即時(shí)通訊應(yīng)用程序?qū)⒍丝谔D(zhuǎn),直到找到一個(gè)被允許離開本地網(wǎng)絡(luò)的端口,許多端口被限制性的出口規(guī)則集阻止運(yùn)行,對(duì)更多類型的×××連接這也是一個(gè)有效的限制手段。

防止IP欺騙

這是使用出口過濾的一個(gè)常見原因,但pfSense通過pf的抗欺騙功能自動(dòng)阻止欺騙性流量,所以在這里不適用。 防止IP欺騙意味著惡意客戶端不能發(fā)送明顯被偽造的源地址的流量。

防止信息泄露

決不允許某些協(xié)議離開本地網(wǎng)絡(luò)。這種協(xié)議的具體例子因環(huán)境而異,但是一些常見的例子是:


TCP端口135上的Microsoft RPC(遠(yuǎn)程過程調(diào)用)


TCP和UDP端口137到139上的NetBIOS


TCP和UDP端口445上的SMB / CIFS(服務(wù)器消息塊/通用Internet文件系統(tǒng))。


停止這些協(xié)議可以防止有關(guān)內(nèi)部網(wǎng)絡(luò)的信息泄漏到Internet上,并阻止本地系統(tǒng)啟動(dòng)與Internet主機(jī)的身份驗(yàn)證嘗試。由于許多蠕蟲都依賴這些協(xié)議來運(yùn)行,所以這些協(xié)議也屬于前面所討論的限制受損系統(tǒng)的影響。其他可能相關(guān)的協(xié)議是syslog,SNMP和SNMP陷阱。限制此流量將防止錯(cuò)誤配置的網(wǎng)絡(luò)設(shè)備將日志記錄和其他可能敏感的信息發(fā)送到Internet。與其擔(dān)心哪些協(xié)議可能將信息泄露到本地網(wǎng)絡(luò)外并需要被阻止,最佳做法是僅允許所需的通信。


實(shí)現(xiàn)出口過濾的方法

在歷史上沒有采用出口過濾的網(wǎng)絡(luò)上,很難知道什么流量是絕對(duì)必要的。 本節(jié)介紹一些識(shí)別流量和實(shí)施出口過濾的方法。

允許所知的,阻止其余的,并通過后果工作

一種方法是為允許的已知所需流量添加防火墻規(guī)則。 首先列出已知需要的東西,例如下表出口流量的要求。

需要出口流量
描述目標(biāo)目標(biāo)端口
HTTP and HTTPS from all hostsLAN NetworkAnyTCP 80 and 443
SMTP from mail serverMail ServerAnyTCP 25
DNS queries from internal DNS serversDNS ServersAnyTCP and UDP 53

做出列表后,配置防火墻規(guī)則只傳遞該流量,并讓所有其他命中默認(rèn)的拒絕規(guī)則。

記錄流量和分析日志

另一種方法是啟用所有傳遞規(guī)則的日志記錄,并將日志發(fā)送到系統(tǒng)日志服務(wù)器。 系統(tǒng)日志服務(wù)器可以分析日志,以查看哪些流量正在離開網(wǎng)絡(luò)。 pfSense使用自定義日志格式,因此通常需要通過自定義腳本來解析日志,除非服務(wù)器具有一些pfSense過濾器日志格式的知識(shí)。 對(duì)日志的分析將有助于構(gòu)建所需的規(guī)則集,從而更好地了解本地網(wǎng)絡(luò)上需要的流量。

防火墻規(guī)則簡介

本節(jié)提供防火墻>規(guī)則策略中防火墻規(guī)則頁面的介紹和概述。 此頁面列出了啟動(dòng)的WAN規(guī)則集,默認(rèn)情況下,如果在WAN接口上激活了這些選項(xiàng),則默認(rèn)情況下沒有其他條目用于阻止專用網(wǎng)絡(luò)和Block bogon網(wǎng)絡(luò)的條目,如下圖所示。

提示

單擊“阻止專用網(wǎng)絡(luò)”或“阻止bogon網(wǎng)絡(luò)規(guī)則”右則的pfSense book之防火墻(一),可以進(jìn)入啟用或禁用這些選項(xiàng)的WAN接口配置頁面。 

pfSense book之防火墻(一)

默認(rèn)WAN規(guī)則 

單擊LAN選項(xiàng)卡查看LAN規(guī)則。 默認(rèn)情況下,唯一的條目是默認(rèn)允許LAN為IPv4和IPv6的任意規(guī)則,(如下圖所示)以及反鎖定規(guī)則(如果處于活動(dòng)狀態(tài))。 反鎖定規(guī)則旨在防止管理員意外地將自己鎖定在GUI之外。 在防鎖定規(guī)則旁邊單擊 pfSense book之防火墻(一)可以訪問禁用此規(guī)則的頁面。


參考

有關(guān)防鎖定規(guī)則如何工作以及如何禁用規(guī)則的更多信息,請(qǐng)參閱防鎖定規(guī)則和反鎖定。

pfSense book之防火墻(一)

默認(rèn)LAN規(guī)則

要顯示其他接口的規(guī)則,請(qǐng)單擊其各自的選項(xiàng)卡。 OPT接口將以其描述性名稱出現(xiàn),所以如果OPT1接口被重命名為DMZ,則其規(guī)則的選項(xiàng)卡也將表示DMZ。

每條規(guī)則的左邊是一個(gè)指示器圖標(biāo),顯示規(guī)則的操作:通過 (pfSense book之防火墻(一)),阻止 (pfSense book之防火墻(一)),或拒絕(pfSense book之防火墻(一))。如果規(guī)則啟用了日志記錄, pfSense book之防火墻(一)顯示在相同的區(qū)域。 如果規(guī)則啟用了任何高級(jí)選項(xiàng), pfSense book之防火墻(一)圖標(biāo)也會(huì)顯示。 將鼠標(biāo)懸停在任何這些圖標(biāo)上,將顯示解釋其含義的文本。 對(duì)于禁用的規(guī)則,會(huì)顯示相同的圖標(biāo),但圖標(biāo)和規(guī)則的顏色較淺。

添加防火墻規(guī)則

要將規(guī)則添加到列表頂部,請(qǐng)單擊 pfSense book之防火墻(一) 添加。

要將規(guī)則添加到列表的底部,請(qǐng)單擊 pfSense book之防火墻(一) 添加。

為了制定與現(xiàn)有規(guī)則類似的新規(guī)則, 在現(xiàn)有規(guī)則的右邊單擊 pfSense book之防火墻(一)。 編輯頁面將顯示預(yù)先填寫的現(xiàn)有規(guī)則設(shè)置,隨時(shí)可以進(jìn)行調(diào)整。 在復(fù)制現(xiàn)有規(guī)則時(shí),新規(guī)則將直接添加到原始規(guī)則的下方。 

編輯防火墻規(guī)則

要編輯防火墻規(guī)則, 單擊該規(guī)則右側(cè)的pfSense book之防火墻(一),或雙擊該行上的任意位置。

該規(guī)則的編輯頁面將加載,并可以進(jìn)行編輯。

移動(dòng)防火墻規(guī)則

規(guī)則可以通過兩種不同的方式重新排序:拖放和使用“選擇并單擊”。

使用拖放方法移動(dòng)規(guī)則:

將鼠標(biāo)移動(dòng)到防火墻規(guī)則上移動(dòng),光標(biāo)將改變提示可以移動(dòng)

點(diǎn)擊并按住鼠標(biāo)按鈕

將鼠標(biāo)拖到所需位置

釋放鼠標(biāo)按鈕

單擊 pfSense book之防火墻(一) 保存以存儲(chǔ)新的規(guī)則順序


警告

在移動(dòng)規(guī)則之后,但在保存規(guī)則之前試圖離開頁面,會(huì)導(dǎo)致瀏覽器出現(xiàn)錯(cuò)誤,確認(rèn)是否退出頁面。 如果瀏覽器在不保存的情況下離開頁面,則規(guī)則將仍然在原始位置。


要按組移動(dòng)列表中的規(guī)則,請(qǐng)先選擇它們,請(qǐng)使用選中再單擊的方法:


選中需要移動(dòng)的規(guī)則左側(cè)旁邊的框,或單擊規(guī)則。 當(dāng)選擇規(guī)則時(shí),它將改變顏色。

在規(guī)則要移動(dòng)到的地方,單擊 pfSense book之防火墻(一) 。


提示

按住Shift鍵,然后在pfSense book之防火墻(一)上單擊鼠標(biāo)將規(guī)則移動(dòng)到所選規(guī)則的下方而不是上方。

使用“選擇并點(diǎn)擊”方法移動(dòng)規(guī)則時(shí),新規(guī)則將自動(dòng)存儲(chǔ)。

刪除防火墻規(guī)則

要?jiǎng)h除單個(gè)規(guī)則, 在規(guī)則右側(cè)單擊 pfSense book之防火墻(一) 。在刪除規(guī)則之前,防火墻會(huì)顯示確認(rèn)提示。

要?jiǎng)h除多個(gè)規(guī)則,請(qǐng)選中應(yīng)刪除的行的開始處的框,然后點(diǎn)擊列表底部的pfSense book之防火墻(一)刪除按鈕。 規(guī)則也可以通過在他們的行上的任何地方單擊來選擇。 

禁用或啟用防火墻規(guī)則

禁用規(guī)則, 在規(guī)則的右側(cè)單擊 pfSense book之防火墻(一) 。圖標(biāo)外觀將變成較淺的陰影以提示它被禁用, pfSense book之防火墻(一) 圖標(biāo)會(huì)變?yōu)?nbsp;pfSense book之防火墻(一)。

要啟用以前禁用的規(guī)則, 在規(guī)則右側(cè)單擊 pfSense book之防火墻(一) 。 規(guī)則的外觀將恢復(fù)正常,啟用/禁用圖標(biāo)將返回到原始狀態(tài)pfSense book之防火墻(一)

通過編輯規(guī)則并切換“禁用”復(fù)選框,也可以禁用或啟用規(guī)則。

規(guī)則分隔符

防火墻規(guī)則分隔符是規(guī)則集中包含一小段文本的彩條,他不對(duì)網(wǎng)絡(luò)流量進(jìn)行任何操作。 它們對(duì)于從視覺上分離或向規(guī)則集的特殊部分添加注釋非常有用。下 圖防火墻規(guī)則分隔符示例顯示了如何利用這些規(guī)則對(duì)規(guī)則集進(jìn)行分組和記錄。

pfSense book之防火墻(一)

防火墻規(guī)則分隔符示例

創(chuàng)建一個(gè)新的防火墻規(guī)則分隔符:

  • 打開規(guī)則分隔符所在的防火墻規(guī)則選項(xiàng)卡

  • 單擊 pfSense book之防火墻(一) 添加分隔符

  • 輸入規(guī)則分隔符的說明文字

  • 通過單擊所需顏色pfSense book之防火墻(一)圖標(biāo)來選擇規(guī)則分隔符的顏色

  • 點(diǎn)擊并拖動(dòng)規(guī)則分隔符到它的新位置

  • 單擊 pfSense book之防火墻(一) 保存規(guī)則分隔符內(nèi)容

  • 在規(guī)則列表的底部單擊 pfSense book之防火墻(一) 保存

移動(dòng)規(guī)則分隔符:

  • 打開包含規(guī)則分隔符的防火墻規(guī)則選項(xiàng)卡

  • 點(diǎn)擊并拖動(dòng)規(guī)則分隔符到它的新位置

  • 在規(guī)則列表的底部單擊 pfSense book之防火墻(一) 保存

刪除規(guī)則分隔符:

  • 打開包含規(guī)則分隔符的防火墻規(guī)則選項(xiàng)卡

  • 在右側(cè)的規(guī)則分隔符內(nèi)部單擊pfSense book之防火墻(一)

  • 在規(guī)則列表的底部單擊 pfSense book之防火墻(一) 保存

防火墻規(guī)則分隔符不能被編輯。 如果需要更改文本或顏色,請(qǐng)創(chuàng)建新的防火墻規(guī)則分隔符并刪除現(xiàn)有的條目。

跟蹤防火墻規(guī)則應(yīng)用

在創(chuàng)建或更新規(guī)則時(shí),防火墻會(huì)在規(guī)則上記錄用戶的登錄名、IP地址和時(shí)間時(shí)間戳,以跟蹤誰添加和/或上次更改了相關(guān)規(guī)則。 如果防火墻自動(dòng)創(chuàng)建了該規(guī)則,同樣會(huì)被記錄。 這是針對(duì)防火墻規(guī)則以及端口轉(zhuǎn)發(fā)和出站NAT規(guī)則完成的。 如下圖所示,在防火墻規(guī)則時(shí)間戳中,在編輯規(guī)則頁面最底部的防火墻規(guī)則時(shí)可以看見。

pfSense book之防火墻(一)

防火墻規(guī)則時(shí)間戳

別名

別名定義了組端口,主機(jī)或網(wǎng)絡(luò)。 別名可以通過防火墻規(guī)則、端口轉(zhuǎn)發(fā)、出站NAT規(guī)則以及防火墻GUI中的其他位置引用。 使用別名有利于減少管理工作量,創(chuàng)建更易于管理的規(guī)則集。

注意

不要將防火墻別名與接口IP別名混淆,接口IP別名是向網(wǎng)絡(luò)接口添加額外的IP地址的手段。


別名基本知識(shí)

別名位于防火墻>別名管理。 該頁面分為不同類型的別名標(biāo)簽:IP、端口、URL和全部選項(xiàng)卡。 創(chuàng)建別名時(shí),將其添加到任何選項(xiàng)卡,并根據(jù)所選類型將其分類到正確的位置。


可以創(chuàng)建以下類型的別名:

主機(jī): 包含單個(gè)IP地址或主機(jī)名的別名
網(wǎng)絡(luò): 含有CIDR掩碼的網(wǎng)絡(luò)、主機(jī)名、IP地址范圍或單個(gè)IP地址的別名
端口: 這些別名包含TCP或UDP端口號(hào)或端口范圍的列表
URL: 從指定的URL中的文件構(gòu)建的,但是只讀一次,然后成為正常的網(wǎng)絡(luò)或端口類型別名
URL表: 從指定URL處的文件構(gòu)建的,但是通過定期從URL中獲取列表進(jìn)行更新

在本節(jié)中我們會(huì)更詳細(xì)地描述每個(gè)別名類型。

嵌套別名

大多數(shù)別名可以嵌套在其他別名中,只要它們是相同的類型即可。 例如,一個(gè)別名可以嵌套一個(gè)包含Web服務(wù)器的別名,一個(gè)包含郵件服務(wù)器的別名,以及一個(gè)包含Web和郵件服務(wù)器別名的服務(wù)器別名,這些別名都集中在一個(gè)較大的Servers別名中。 這里要注意:URL表別名不能嵌套

在別名中使用主機(jī)名

主機(jī)名也可以用于別名。 任何主機(jī)名都可以輸入到主機(jī)或網(wǎng)絡(luò)別名中,并且將由防火墻定期解析和更新。 如果主機(jī)名稱返回多個(gè)IP地址,則所有返回的IP地址都將添加到別名中。 這對(duì)跟蹤動(dòng)態(tài)DNS條目以允許特定用戶從動(dòng)態(tài)IP地址轉(zhuǎn)換為服務(wù)非常有用。

注意

此功能對(duì)于允許或禁止用戶訪問大型公共網(wǎng)站沒有用處。 大型和繁忙的站點(diǎn)往往對(duì)DNS查詢有不斷的旋轉(zhuǎn)或隨機(jī)響應(yīng),所以別名的內(nèi)容不一定與用戶在嘗試解析相同站點(diǎn)名稱時(shí)收到的響應(yīng)相匹配。 它可以適用于只有少量服務(wù)器的小型站點(diǎn),并且在其DNS響應(yīng)中不包含不完整的地址集。


在別名中混合使用IPv4和IPv6地址

IPv4和IPv6地址可以在別名內(nèi)混合使用。 在特定規(guī)則中引用別名時(shí),防火墻將使用適當(dāng)類型的地址。

別名大小問題

所有表的總大小必須大致適合防火墻最大表?xiàng)l目的一半,默認(rèn)值為200,000。 如果表項(xiàng)的最大數(shù)量不足以包含所有條目,則規(guī)則可能無法加載。 有關(guān)更改該值的信息,請(qǐng)參閱防火墻最大表?xiàng)l目。 由于別名被加載和重載的方式,別名必須在總區(qū)域中放入兩次; 新列表與舊列表一起加載,然后舊列表被刪除。


如果防火墻包含足夠的RAM來保存條目,則可以根據(jù)需要增加此值。 RAM的使用情況與狀態(tài)表類似但小于狀態(tài)表,但假設(shè)每個(gè)條目的占用1K是保守和安全的。


配置別名

添加別名:

  • 導(dǎo)航到防火墻 > 別名管理

  • 單擊 pfSense book之防火墻(一) 添加

  • 輸入別名的名稱,  名稱可能只包含字符a-z,A-Z,0-9和_。

  • 輸入別名的描述

  • 選擇別名的類型。 

  • 根據(jù)需要輸入特定于類型的信息。 每種類型都有一個(gè)數(shù)據(jù)字段和每個(gè)條目的描述字段。要將新成員添加到別名,單擊條目列表底部的pfSense book之防火墻(一) 添加。要從別名中刪除成員,在行的末尾單擊 pfSense book之防火墻(一) 刪除。

  • 別名完成后,單擊“保存”存儲(chǔ)別名內(nèi)容。

每個(gè)手動(dòng)輸入的別名限制為5,000個(gè)成員,但是某些瀏覽器只能顯示3,000個(gè)條目。 對(duì)于大量條目,請(qǐng)使用能夠處理較大列表的URL表類型別名。

主機(jī)別名

主機(jī)類型別名包含IP地址組。 下圖示例主機(jī)別名顯示了一個(gè)用于包含公共Web服務(wù)器列表的主機(jī)類型別名。

pfSense book之防火墻(一)

主機(jī)別名示例

其他主機(jī)類型別名可嵌套在此條目內(nèi)。 如前所述,主機(jī)名也可以用作條目。

網(wǎng)絡(luò)別名

網(wǎng)絡(luò)類型別名包含網(wǎng)絡(luò)組或IP地址范圍。 通過為IPv4地址選擇/ 32網(wǎng)絡(luò)掩碼或?yàn)镮Pv6地址選擇/ 128前綴長度,單個(gè)主機(jī)也可以包含在網(wǎng)絡(luò)別名中。下 圖顯示了本章后面使用的網(wǎng)絡(luò)別名示例。

pfSense book之防火墻(一)

網(wǎng)絡(luò)別名示例

其他主機(jī)或網(wǎng)絡(luò)別名可嵌套在此條目內(nèi)。 如前所述,主機(jī)名也可以用作條目。


當(dāng)別名條目包含IPv4范圍時(shí),防火墻將自動(dòng)將其轉(zhuǎn)換為等效的IPv4 CIDR網(wǎng)絡(luò)集合,該集合將完全包含指定的范圍。 如下圖所示,保存別名時(shí),指定范圍將自動(dòng)展開,得到的IPv4 CIDR網(wǎng)絡(luò)列表將完全匹配所請(qǐng)求的范圍。

pfSense book之防火墻(一)

Example IP Range Before

pfSense book之防火墻(一)

IP范圍示例

端口別名

端口類型別名包含端口和端口范圍組。 該協(xié)議沒有在別名中指定; 使用別名的防火墻規(guī)則將協(xié)議定義為TCP,UDP或兩者。 下圖顯示了一個(gè)端口類型別名的例子。

pfSense book之防火墻(一)

端口別名示例

在“端口”字段中輸入另一個(gè)端口類型的別名,以將此別名內(nèi)的其他端口類型別名嵌套。

網(wǎng)址別名

使用URL類型別名,將設(shè)置指向包含條目列表的文本文件的URL。 可以輸入多個(gè)URL。 單擊保存時(shí),將從文件中讀取最多3,000個(gè)來自每個(gè)URL的條目,并將其導(dǎo)入到網(wǎng)絡(luò)類型別名中。


如果選擇URL(IP),則URL必須包含IP地址或CIDR屏蔽的網(wǎng)絡(luò)條目,并且防火墻從內(nèi)容創(chuàng)建網(wǎng)絡(luò)類型別名。


如果選擇URL(端口),則URL必須僅包含端口號(hào)或范圍,防火墻會(huì)從內(nèi)容中創(chuàng)建端口類型別名。


URL表別名

URL表別名的行為與URL別名的行為明顯不同。對(duì)于初學(xué)者來說,它不會(huì)將文件的內(nèi)容導(dǎo)入到正常的別名中。它將文件的內(nèi)容下載到防火墻的特定位置,并使用所謂的持久表(也稱為基于文件的別名)的內(nèi)容。別名的完整內(nèi)容不能在GUI中直接編輯,但可以在表格查看器中查看。

對(duì)于URL表別名,在設(shè)置了更新周期后,別名內(nèi)容將被重新獲取數(shù)據(jù)的腳本隔夜更新。


URL表別名可能相當(dāng)大,包含成千上萬的條目。一些客戶使用它們來保存特定國家或地區(qū)的所有IP blocks的列表,這些列表可輕松超過4萬個(gè)條目。處理國家列表和其他類似行為時(shí),pfBlocker插件使用這種別名。


注意:URL表別名不能被嵌套。


如果選擇URL表(IP),則URL必須包含IP地址或CIDR掩碼的網(wǎng)絡(luò)條目,并且防火墻會(huì)根據(jù)內(nèi)容創(chuàng)建網(wǎng)絡(luò)類型別名。


如果選擇URL表(端口),那么URL必須只包含端口號(hào)或范圍,并且防火墻從內(nèi)容創(chuàng)建一個(gè)端口類型別名。


批量導(dǎo)入網(wǎng)絡(luò)別名

將多個(gè)條目導(dǎo)入別名的另一種方法是使用批量導(dǎo)入功能。


使用導(dǎo)入功能:

  • 導(dǎo)航到防火墻> 別名管理

  • 單擊 pfSense book之防火墻(一) 導(dǎo)入

  • 填寫別名描述

  • 將別名內(nèi)容輸入到別名中以導(dǎo)入文本區(qū)域,每行一個(gè)條目。

  • 點(diǎn)擊保存

此頁面的常用用法示例包括IP地址、網(wǎng)絡(luò)和黑名單列表。 該列表可能包含IP地址,CIDR屏蔽的網(wǎng)絡(luò),IP范圍或端口號(hào)。 防火墻將嘗試自動(dòng)確定目標(biāo)別名類型。


防火墻將項(xiàng)目導(dǎo)入到以后可以編輯的正常別名中。


使用別名

當(dāng)一個(gè)字母輸入到一個(gè)支持別名的輸入框中時(shí),會(huì)顯示一個(gè)匹配的別名列表。 從列表中選擇所需的別名,或完全鍵入其名稱。

注意

別名自動(dòng)完成不區(qū)分大小寫,但受限于類型。 例如,網(wǎng)絡(luò)或主機(jī)類型別名將在網(wǎng)絡(luò)字段的自動(dòng)完成中列出,但是端口別名不會(huì); 端口別名可用于端口字段,但網(wǎng)絡(luò)別名不在列表中。


如下圖所示,在添加或編輯防火墻規(guī)則時(shí),在“目標(biāo)”字段中使用WebServers別名。

  • 編輯防火墻規(guī)則

  • 選擇單個(gè)主機(jī)或別名

  • 然后鍵入所需別名的第一個(gè)字母:輸入W,并顯示別名,如圖所示。

pfSense book之防火墻(一)

自動(dòng)完成主機(jī)別名

如下圖所示,配置的端口別名自動(dòng)完成。 如果多個(gè)別名與輸入的字母匹配,則列出所有相應(yīng)類型的別名。 點(diǎn)擊所需的別名來選擇它。

pfSense book之防火墻(一)

自動(dòng)完成端口別名

如下圖所示,顯示使用Web Servers和WebPorts別名創(chuàng)建的規(guī)則。 此規(guī)則位于WAN上,當(dāng)使用WebPorts別名中定義的端口時(shí),允許任何源訪問Web Servers 別名中定義的IP地址。

pfSense book之防火墻(一)

使用別名的示例規(guī)則

將鼠標(biāo)光標(biāo)懸停在“防火墻”>“規(guī)則策略”頁面的別名上,會(huì)顯示一個(gè)提示,顯示別名的內(nèi)容以及別名中包含的說明。 如下圖所示,一張懸停顯示主機(jī)內(nèi)容,一張懸停顯示端口別名內(nèi)容。

pfSense book之防火墻(一)

懸停顯示主機(jī)內(nèi)容

pfSense book之防火墻(一)

懸停顯示端口內(nèi)容

防火墻規(guī)則配置實(shí)例

本節(jié)介紹防火墻規(guī)則配置的一般實(shí)例。

默認(rèn)拒絕

與訪問控制有關(guān)的計(jì)算機(jī)安全有兩個(gè)基本原理:默認(rèn)允許和默認(rèn)拒絕。防火墻規(guī)則的默認(rèn)拒絕策略是最佳做法。防火墻管理員應(yīng)該配置規(guī)則,只允許最低要求的流量滿足網(wǎng)絡(luò)的需求,并使剩余流量隨著pfSense中內(nèi)置的默認(rèn)拒絕規(guī)則而下降??梢韵胂?,規(guī)則集中拒絕規(guī)則的數(shù)量將是最小的。


在默認(rèn)的雙接口LAN和WAN配置中,pfSense使用WAN上的默認(rèn)拒絕和LAN上的默認(rèn)允許。從互聯(lián)網(wǎng)入站的所有東西都被拒絕,所有從局域網(wǎng)到Internet的東西都是被允許的。所有家庭級(jí)路由器都使用這種方法,所有類似的開源項(xiàng)目和大多數(shù)類似的商業(yè)產(chǎn)品也是如此。這是大多數(shù)人所期待的,因此它是默認(rèn)配置。這雖然這是一個(gè)方便的啟動(dòng)方式,但并不是推薦的長期操作方式。


pfSense的用戶經(jīng)常會(huì)問:“我應(yīng)該阻止什么壞事?”但這是錯(cuò)誤的問題,因?yàn)樗m用于默認(rèn)允許的方法。注意到的安全專業(yè)人員Marcus Ranum在他的“計(jì)算機(jī)安全的六個(gè)最愚蠢的想法”文件中包含默認(rèn)許可證,這是任何安全專業(yè)人員的推薦讀物。只允許網(wǎng)絡(luò)需要,并避免在局域網(wǎng)上留下默認(rèn)允許所有規(guī)則,并在允許規(guī)則之上添加阻止“壞事”的阻止規(guī)則。

保持簡短

規(guī)則集越短,就越容易管理。 冗長的規(guī)則集很難管理,增加人為錯(cuò)誤的機(jī)會(huì),往往過于寬容,而且審查顯然更加困難。 使用別名來保持規(guī)則集盡可能簡短。

查看防火墻規(guī)則

我們建議定期手動(dòng)檢查防火墻規(guī)則和NAT配置,以確保它們?nèi)苑袭?dāng)前網(wǎng)絡(luò)環(huán)境的最低要求。 這種檢查的頻率因環(huán)境而異。 在不經(jīng)常更換的網(wǎng)絡(luò)中,只有少量的防火墻管理員,每季度或每半年通常就足夠了。 對(duì)于快速變化的環(huán)境或變更控制不佳的人員以及多名防火墻訪問人員,至少每月檢查一次配置。


通常在與客戶審查規(guī)則時(shí),我們會(huì)詢問具體的規(guī)則,他們會(huì)回答“我們?cè)诹鶄€(gè)月前刪除了該服務(wù)器”。如果其他內(nèi)容會(huì)接管與之前的服務(wù)器相同的內(nèi)部IP地址,則流量將被允許訪問這個(gè)新的服務(wù)器,但這可能并不是有意的。


文檔配置

在除了最小的網(wǎng)絡(luò)之外的所有網(wǎng)絡(luò)中,可能很難回想起配置在哪里以及為什么。 我們總是建議使用防火墻和NAT規(guī)則中的描述字段來記錄規(guī)則的用途。 在更大或更復(fù)雜的部署中,創(chuàng)建并維護(hù)描述整個(gè)pfSense配置的更詳細(xì)的配置文檔。 在將來查看防火墻配置時(shí),這將有助于確定哪些規(guī)則是必要的,以及為什么在那里。 這也適用于配置的其他任何區(qū)域。


保持這個(gè)文件是最新的也是很重要的。 在執(zhí)行定期的配置審查時(shí),還請(qǐng)查看此文檔以確保其保持最新的當(dāng)前配置。 確保在更改配置時(shí)更新這個(gè)文檔。


減少日志噪聲

默認(rèn)情況下,pfSense將記錄被默認(rèn)拒絕規(guī)則阻止的數(shù)據(jù)包。這意味著從互聯(lián)網(wǎng)上被阻止的所有噪聲都將被記錄下來。有時(shí)日志中不會(huì)有太多的噪音,但是在很多環(huán)境下,不可避免地會(huì)有東西不停地發(fā)送垃圾信息。


在使用大型廣播域的網(wǎng)絡(luò)上 - 有線ISP通常采用這種做法 - 這通常是NetBIOS從缺乏線索的人那里廣播,他們將Windows機(jī)器直接連接到寬帶連接。除此之外,這些機(jī)器將不斷發(fā)出廣播請(qǐng)求進(jìn)行網(wǎng)絡(luò)瀏覽。 ISP路由協(xié)議分組也可能是可見的,或路由器冗余協(xié)議(如VRRP或HSRP)。在諸如數(shù)據(jù)中心這樣的協(xié)同定位環(huán)境中,可能存在所有這些事物的組合。


由于防火墻在過去一天阻止了一千四百萬個(gè)NetBIOS廣播沒有任何價(jià)值,而且噪聲可能掩蓋了重要的日志,所以在WAN接口上添加阻止規(guī)則以阻止噪聲流量是個(gè)好主意。通過在WAN接口上添加未啟用日志記錄的阻止規(guī)則,該流量仍將被阻止,但不再填充日志。


下圖中顯示的規(guī)則是在“WAN”位于邊緣防火墻后面的內(nèi)部LAN上的測(cè)試系統(tǒng)上配置的。為了消除日志噪音以查看感興趣的事情,我們添加了這個(gè)規(guī)則來阻止 - 但不記錄 - 該子網(wǎng)的廣播地址的目的地的任何內(nèi)容。

pfSense book之防火墻(一)

防止記錄廣播的防火墻規(guī)則

我們建議添加類似的規(guī)則,以匹配網(wǎng)絡(luò)環(huán)境中觀察到的任何日志噪聲的細(xì)節(jié)。 在“系統(tǒng)狀態(tài)”>“系統(tǒng)日志”,“防火墻”選項(xiàng)卡下檢查防火墻日志,查看防火墻阻止的流量類型,并查看日志中出現(xiàn)的頻率。 如果任何特定流量每分鐘記錄超過5次,并且流量不是惡意或值得注意的,請(qǐng)為其添加阻止規(guī)則以減少記錄噪聲。

日志分析

pfSense不記錄任何通過的流量只記錄所有丟棄的流量。 這是幾乎所有開源和商業(yè)防火墻的典型默認(rèn)行為。 這是最實(shí)際的,因?yàn)橛涗浰型ㄟ^的流量很少需要,這只會(huì)增加負(fù)載,增加日志記錄的數(shù)量。 然而,從安全角度來看,這種方法有些倒退。 被阻止的流量不會(huì)損害網(wǎng)絡(luò),因此其日志值是有限的,而通過接口的數(shù)據(jù)可能包含非常重要的日志信息,如果系統(tǒng)受到威脅。 在消除了上一節(jié)所述的任何無用的記錄噪聲之后,為了趨勢(shì)分析的目的,其余部分是有價(jià)值的。 如果觀察到明顯多于或少于常規(guī)的日志數(shù)量,那么調(diào)查記錄流量的性質(zhì)可能更好。 OSSEC是一個(gè)開源的基于主機(jī)的***檢測(cè)系統(tǒng)(IDS),它可以通過系統(tǒng)日志從pfSense收集日志,并根據(jù)日志記錄的異常情況發(fā)出警報(bào)。

規(guī)則方法論

在pfSense中,接口選項(xiàng)卡上的規(guī)則在每個(gè)接口上應(yīng)用,始終在該接口的入站方向上應(yīng)用。這意味著從LAN發(fā)起的流量將使用LAN接口規(guī)則進(jìn)行過濾。通過WAN接口規(guī)則過濾從Internet發(fā)起的流量。因?yàn)槟J(rèn)情況下pfSense中的所有規(guī)則都是有狀態(tài)的,所以當(dāng)流量匹配允許規(guī)則時(shí)將創(chuàng)建一個(gè)狀態(tài)表?xiàng)l目。所有的應(yīng)答流量都被這個(gè)狀態(tài)表項(xiàng)自動(dòng)允許。


浮動(dòng)規(guī)則(浮動(dòng)規(guī)則)是一個(gè)例外,浮動(dòng)規(guī)則可以使用入站、出站或兩個(gè)方向作用于任何接口。出站規(guī)則從不需要,因?yàn)樵诿總€(gè)接口的入站方向上應(yīng)用了過濾。在一些有限的情況下,例如具有眾多內(nèi)部接口的防火墻,設(shè)置浮動(dòng)規(guī)則可以大大減少所需的防火墻規(guī)則的數(shù)量。在這種情況下,將互聯(lián)網(wǎng)流量的出口規(guī)則應(yīng)用為廣域網(wǎng)上的出站規(guī)則,以避免在每個(gè)內(nèi)部接口上復(fù)制出口規(guī)則。入站和出站過濾的使用使配置更加復(fù)雜,更容易出現(xiàn)用戶錯(cuò)誤,但在特定的應(yīng)用程序中可能是需要的。


接口組

接口組是一種同時(shí)在多個(gè)接口上放置規(guī)則的方法。 這可以簡化一些規(guī)則配置,如果相似的規(guī)則在許多接口上需要相同的方式。 接口組規(guī)則(如接口規(guī)則)僅在入站方向進(jìn)行處理。 Open×××,L2TP和PPPoE服務(wù)器的×××選項(xiàng)卡都是在幕后自動(dòng)創(chuàng)建的特殊接口組。


例如,一個(gè)組可以用于包括所有LAN或DMZ類型接口或一組VLAN的接口集合。


注意

接口組在多WAN中無效,因?yàn)榻M規(guī)則無法正確處理應(yīng)答。 由于這個(gè)缺陷,在沒有默認(rèn)網(wǎng)關(guān)的廣域網(wǎng)上匹配一個(gè)組規(guī)則的流量將會(huì)通過默認(rèn)網(wǎng)關(guān)從廣域網(wǎng)退出,而不是通過它所進(jìn)入的接口。


規(guī)則處理順序

到目前為止,我們已經(jīng)談到了如何在接口選項(xiàng)卡上處理規(guī)則,但是有三個(gè)主要的規(guī)則類:常規(guī)接口規(guī)則,浮動(dòng)規(guī)則和接口組規(guī)則(包括×××選項(xiàng)卡規(guī)則)。 這些類型的處理順序不同,他們的排序如下:

  • 浮動(dòng)規(guī)則

  • 接口組規(guī)則

  • 接口規(guī)則

規(guī)則在實(shí)際的規(guī)則集中以這種方式排序,在制定規(guī)則時(shí)要記住這一點(diǎn)。 例如,如果接口組包含阻止流量的規(guī)則,則該規(guī)則不能用接口選項(xiàng)卡規(guī)則覆蓋,因?yàn)榱髁恳延梢?guī)則集中第一個(gè)匹配的接口組規(guī)則處理。

處理防火墻規(guī)則直到找到匹配才停止,但是,如果一個(gè)數(shù)據(jù)包在組規(guī)則中不匹配,仍然可以通過接口規(guī)則進(jìn)行匹配。

另一個(gè)重要的地方就是分配Open×××接口。 如果在Open×××選項(xiàng)卡上有一個(gè)“全部允許”的規(guī)則,它將與接口組規(guī)則匹配。 這意味著接口選項(xiàng)卡上的規(guī)則將不適用。 這可能是一個(gè)問題,如果Open×××的規(guī)則需要應(yīng)答,應(yīng)確保流量通過×××退出。。


自動(dòng)添加防火墻規(guī)則

由于各種原因,pfSense會(huì)自動(dòng)添加內(nèi)部防火墻規(guī)則。 本節(jié)介紹自動(dòng)添加的規(guī)則及其用途。


反鎖定規(guī)則

為防止將管理員鎖定在Web界面之外,pfSense默認(rèn)啟用防鎖定規(guī)則。 這可以在系統(tǒng)> 高級(jí)設(shè)置頁面上配置。 這個(gè)自動(dòng)添加的規(guī)則允許來自包含該規(guī)則的網(wǎng)絡(luò)內(nèi)的任何源的流量監(jiān)聽LAN IP地址的任何防火墻管理協(xié)議。 例如,它允許訪問WebGUI的TCP端口443,GUI重定向的TCP端口80以及啟用SSH的端口22。 如果WebGUI端口已更改,則配置的端口是防鎖定規(guī)則所允許的端口。


在具有安全意識(shí)的環(huán)境中,最佳做法是禁用此規(guī)則并配置LAN規(guī)則,以便只有可信主機(jī)的別名才能訪問防火墻的管理界面。 更好的做法是不允許從局域網(wǎng)訪問,只能從孤立的管理網(wǎng)絡(luò)訪問。


限制從局域網(wǎng)訪問管理界面

首先,根據(jù)需要配置防火墻規(guī)則,以限制對(duì)所需管理界面的訪問。 在下圖中,SSH和HTTPS都用于管理,因此創(chuàng)建一個(gè)包含這些端口的管理端口別名(管理端口別名)。

pfSense book之防火墻(一)

管理端口的別名

然后為將有權(quán)訪問管理界面的主機(jī)和/或網(wǎng)絡(luò)創(chuàng)建一個(gè)別名(見下圖)。

pfSense book之防火墻(一)

管理主機(jī)的別名


生成的別名顯示在圖形別名列表中。

pfSense book之防火墻(一)

別名列表

然后,LAN防火墻規(guī)則必須配置為允許以前定義的主機(jī)訪問,并拒絕所有其他訪問。 有很多方法可以實(shí)現(xiàn)這一點(diǎn),具體取決于網(wǎng)絡(luò)環(huán)境以及如何處理出口過濾。 下面為兩個(gè)例子。 第一個(gè)允許DNS查詢到局域網(wǎng)的IP地址,如果啟用了DNS解析器或DNS轉(zhuǎn)發(fā)器,這也是允許局域網(wǎng)主機(jī)ping局域網(wǎng)IP地址。 然后拒絕所有其他流量。 第二個(gè)示例允許從管理主機(jī)訪問管理端口,然后拒絕所有其他流量到管理端口。 你可以選擇最適合的管理辦法。 請(qǐng)記住,源端口要設(shè)置成與目標(biāo)端口不同。

pfSense book之防火墻(一)

示例受限管理LAN規(guī)則

pfSense book之防火墻(一)

受限管理LAN規(guī)則備用示例

一旦配置了防火墻規(guī)則,請(qǐng)禁用系統(tǒng)>高級(jí)設(shè)置頁面上的webGUI反鎖定規(guī)則。 選中該框并單擊保存。

注意

如果在禁用防鎖定規(guī)則之后,管理接口不能再被訪問,則防火墻規(guī)則沒有被適當(dāng)?shù)嘏渲谩?通過在控制臺(tái)菜單中使用“設(shè)置接口IP地址”選項(xiàng)重新啟用防鎖定規(guī)則,然后選擇重置LAN IP地址。 將其設(shè)置為當(dāng)前的IP地址,規(guī)則將自動(dòng)重新啟用。

pfSense book之防火墻(一)

禁用防鎖定規(guī)則

反欺騙規(guī)則

pfSense使用pf中的antispoof功能來阻止欺騙性流量。 這提供了RFC3704中定義的單播反向路徑轉(zhuǎn)發(fā)(uRPF)功能。防火墻根據(jù)其路由表檢查每個(gè)分組,并且如果連接嘗試來自防火墻已知的網(wǎng)絡(luò)上不駐留接口上的源IP地址, 它將被丟棄。 例如,帶有內(nèi)部網(wǎng)絡(luò)源IP地址的廣域網(wǎng)包將被丟棄。 內(nèi)部網(wǎng)絡(luò)上發(fā)起的任何內(nèi)容都不在內(nèi)部網(wǎng)絡(luò)上的源IP地址將被丟棄。

阻止專用網(wǎng)絡(luò)

WAN接口上的“阻止專用網(wǎng)絡(luò)”選項(xiàng)會(huì)自動(dòng)為RFC 1918子網(wǎng)設(shè)置阻止規(guī)則。 除非在WAN上使用專用IP空間,否則啟用此選項(xiàng)。 這只適用于WAN端發(fā)起的流量。 本地客戶端仍可能從防火墻內(nèi)部到達(dá)專用網(wǎng)絡(luò)上的主機(jī)。 此選項(xiàng)可用于任何接口,但通常僅用于WAN類型接口。 可以手動(dòng)創(chuàng)建一個(gè)類似的規(guī)則,通過創(chuàng)建一個(gè)包含RFC 1918子網(wǎng)的別名,并在接口規(guī)則的頂部添加一個(gè)防火墻規(guī)則來阻止與該別名匹配的源的流量,從而阻止接口上的專用網(wǎng)絡(luò)。 

阻止Bogon網(wǎng)絡(luò)

Bogon網(wǎng)絡(luò)是那些永遠(yuǎn)不應(yīng)該在互聯(lián)網(wǎng)上看到的網(wǎng)絡(luò),包括保留和未分配的IP地址空間。 來自這些網(wǎng)絡(luò)的流量的存在可能表明欺騙性流量或未被使用的子網(wǎng)被劫持以供惡意使用。 pfSense提供了兩個(gè)bogons列表,根據(jù)需要進(jìn)行更新,一個(gè)用于IPv4 bogon網(wǎng)絡(luò),一個(gè)用于IPv6 bogon網(wǎng)絡(luò)。 如果啟用Block bogon網(wǎng)絡(luò),則防火墻將在每個(gè)月的第一天從files.pfsense.org獲取更新的bogons列表。 該腳本在當(dāng)?shù)貢r(shí)間凌晨3點(diǎn)運(yùn)行。 這個(gè)列表并不經(jīng)常改變,新的IP地址分配在實(shí)際使用之前的幾個(gè)月已從移動(dòng)列表中刪除,所以每月更新就足夠了。 如果必須更頻繁地更新列表,請(qǐng)?jiān)凇跋到y(tǒng)>高級(jí)設(shè)置”的“防火墻和NAT”選項(xiàng)卡上更改更新頻率。

注意

IPv6的列表非常龐大,如果系統(tǒng)中沒有足夠的內(nèi)存,或者表項(xiàng)的最大數(shù)量不足以包含它,則可能無法加載。 


確保防火墻可以解析DNS主機(jī)名,否則更新將失敗。 要確保防火墻解析DNS,請(qǐng)瀏覽至系統(tǒng)診斷> DNS查找,然后嘗試解析files.pfsense.org。 如果可行,則進(jìn)入系統(tǒng)診斷>測(cè)試端口并嘗試連接到files.pfsense.org的80端口,如下圖所示。

pfSense book之防火墻(一)

測(cè)試Bogon更新的連接性

強(qiáng)制bogons更新

由于bogon名單變化相對(duì)較少,每月更新的bogon已經(jīng)足夠。 但是,可能會(huì)出現(xiàn)手動(dòng)bogon更新的情況,例如,由于DNS配置不正確導(dǎo)致bogon更新失敗。 在系統(tǒng)診斷> 表中通過防火墻Web界面執(zhí)行更新,方法是選擇bogons或bogonsv6,然后單擊 pfSense book之防火墻(一) 更新。

IPsec

當(dāng)啟用站點(diǎn)到站點(diǎn)IPsec連接時(shí),會(huì)自動(dòng)添加規(guī)則,允許遠(yuǎn)程隧道端點(diǎn)IP地址訪問UDP端口500和4500,以及用于連接的WAN IP地址上的ESP協(xié)議。 當(dāng)啟用移動(dòng)客戶端的IPsec時(shí),允許相同的流量,但是來自任何來源,而不是特定的源地址。


由于策略路由的工作方式,任何匹配指定網(wǎng)關(guān)的規(guī)則的流量都將被強(qiáng)制傳輸?shù)絀nternet,并繞過IPsec處理。 規(guī)則會(huì)自動(dòng)添加以取消流向遠(yuǎn)程×××子網(wǎng)流量的策略路由,但并不總是具有預(yù)期的效果。 要禁用自動(dòng)否定規(guī)則,并在內(nèi)部接口上的規(guī)則頂部添加防火墻規(guī)則,以將流量傳遞到?jīng)]有網(wǎng)關(guān)集的×××。


參考

自動(dòng)添加的IPsec規(guī)則將在IPsec中進(jìn)一步討論。


默認(rèn)拒絕規(guī)則

不符合任何用戶定義的規(guī)則或其他自動(dòng)添加的規(guī)則則將被默認(rèn)拒絕規(guī)則拒絕。

pfSense book之防火墻(二)

翻譯自pfsense book!

2017-11-06


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI