簡介
本文檔介紹將pfSense社群版設定為企業聊天和電子郵件(ECE)的負載平衡器的步驟。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本檔案中的資訊是根據以下軟體版本:
- 歐洲經委會12.6(1)
- pfSense社群版本2.7.2
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
安裝pfSense
解決方案概述
pfSense Community Edition是一個多功能產品,可在單個伺服器中提供防火牆、負載平衡器、安全掃描器和許多其他服務。pfSense構建於免費BSD之上,具有最低的硬體要求。負載均衡器是HAProxy的實現,提供了易於使用的GUI來配置產品。
您可以將此負載均衡器用於ECE和聯絡中心管理門戶(CCMP)。本文檔提供了為ECE配置pfSense的步驟。
準備
步驟 1.下載pfSense軟體
使用pfSense網站下載iso安裝程式映像。
步驟 2.配置VM
按照最低要求配置VM:
· 64位amd64(x86-64)相容CPU
· 1GB或更多RAM
· 8 GB或更大的磁碟驅動器(SSD、HDD等)
·一個或多個相容網路介面卡
·用於初始安裝的可啟動USB驅動器或高容量光碟機(DVD或BD)
實驗安裝只需要一個網路介面(NIC)。運行裝置的方法有多種,但最簡單的方法是使用單個NIC(也稱為單臂模式)。在單臂模式下,有一個介面與網路通訊。雖然對於實驗室來說這是一種簡單且充分的方法,但它並不是最安全的方式。
配置裝置的更安全的方法是至少擁有兩個NIC。一個NIC是WAN介面,直接與公共Internet通訊。第二個NIC是LAN介面,與內部公司網路通訊。您還可以新增其他介面,以便與具有不同安全和防火牆規則的網路各個部分通訊。例如,您可以用一個NIC連線到公共網際網路,一個連線到DMZ網路(所有外部可訪問的Web伺服器都連線到該網路),第三個網絡卡連線到公司網路。這樣,您就可以讓內部和外部使用者安全地訪問儲存在DMZ中的同一組Web伺服器。確保在實施前瞭解任何設計的安全影響。與安全工程師協商,確保針對您的具體實施遵循最佳實踐。
安裝
步驟 1.將ISO安裝到VM
步驟 2.開啟VM電源,然後按照提示進行安裝。
請參閱本檔案以瞭解逐步說明。
網路設定
您必須為裝置分配IP地址才能繼續配置。
注意:本文檔顯示的是一個配置在一臂模式下的裝置。
步驟 1.配置VLAN
如果您需要VLAN支援,請回答第一個問題。否則,請回答n。
步驟 2.分配WAN介面
WAN介面是雙臂模式下的裝置的不安全端,也是單臂模式下的唯一介面。出現提示時輸入介面名稱。
步驟 3.分配LAN介面
LAN介面是雙臂模式下裝置的安全端。如果需要,請在系統提示時輸入介面名稱。
步驟 4.分配任何其他介面
配置您的特定安裝所需的任何其他介面。這些是可選的,並不常見。
步驟 5.為管理介面分配IP地址
如果您的網路支援DHCP,則分配的IP地址將顯示在控制檯螢幕中。
pfSense控制檯
如果沒有分配地址,或者如果您希望分配特定地址,請執行以下步驟。
- 從控制檯選單中選擇選項2。
- 回答n以禁用DHCP。
- 輸入WAN介面的IPv4地址。
- 輸入位計數中的網路掩碼。(24 = 255.255.255.0,16 = 255.255.0.0,8 = 255.0.0.0)
- 輸入WAN介面的網關地址。
- 如果您希望此網關成為裝置的預設網關,請回答y以進入網關提示,否則回答n。
- 如果需要,配置IPv6的NIC。
- 禁用介面上的DHCP伺服器。
- 回答y以在webConfigurator協定上啟用HTTP。這將在後續步驟中使用。
然後,您將收到設定已更新的確認。
pfSense確認
完成初始設定
步驟 1.開啟Web瀏覽器並導航至:http://<ip_address_of_appliance>
注意:您最初必須使用HTTP而不是HTTPS。
pfSense管理員登入
步驟 2.使用預設登入名admin / pfSense登入
步驟 3.完成初始設定
按一下前兩個螢幕中的「下一步」。
pfSense安裝嚮導 — 1
提供主機名、域名和DNS伺服器資訊。
pfSense安裝嚮導 — 2
驗證IP地址資訊。如果您最初選擇了DHCP,現在您可以更改它。
提供NTP時間伺服器主機名並在下拉選單中選擇正確的時區。
pfSense安裝嚮導 — 3
繼續通過安裝嚮導直到結束。介面GUI會重新啟動,完成後,系統會將您重新導向到新URL。
配置基本管理員設定
步驟 1.登入到管理介面
步驟 2.從「系統」下拉選單中選擇「高級」
pfSense GUI - Admin下拉選單
步驟 3.更新WebConfigurator設定
pfSense GUI — 管理員配置
- 選擇HTTPS(SSL/TLS)協定。
- 此時將SSL/TLS證書保留為自簽名證書。
- 將TCP埠更改為443以外的埠,以更好地保護介面並防止埠重疊問題。
- 選擇WebGUI重定向選項以禁用埠80上的管理介面。
- 選擇Browser HTTP_REFERER enforcement選項。
- 通過選擇啟用安全外殼選項啟用安全外殼。
註:請確保在繼續操作之前,選擇「儲存」按鈕。然後您將重定向到新的https連結。
步驟 4.配置代理伺服器(如果需要)
如果需要,請在「其他」頁籤上配置代理資訊。要完成設定和配置,裝置必須能夠訪問Internet。
pfSense GUI — 代理配置
註:請確保在進行更改後選擇「儲存」按鈕。
新增所需的包
步驟 1.選擇「系統」>「包管理器」
步驟 2.選擇可用包
註:載入所有可用的軟體包可能需要幾分鐘的時間。如果超時,請確認DNS伺服器配置正確。通常,裝置的重新啟動會修復Internet連線。
pfSense GUI — 包清單
步驟 3.查詢並安裝所需的軟體包
- haproxy
- Open-VM工具
註:請勿選擇haproxy級包。
配置證書
pfSense可以建立自簽名證書,也可以與公共CA(內部CA)整合,或者可以充當CA並頒發CA簽名證書。本指南說明與內部CA整合的步驟。
開始此部分之前,請確保這些專案可用。
- CA的根證書儲存為PEM或Base-64編碼格式。
- CA的所有中繼(有時稱為簽發)憑證儲存為PEM或Base-64編碼格式。
步驟 1.從「系統」下拉選單中選擇「證書」
pfSense GUI - Certificates下拉選單
步驟 2.匯入CA根證書
pfSense GUI - CA證書清單
選擇Add按鈕。
pfSense GUI - CA匯入
如下圖所示:
1.提供一個唯一的描述性名稱
2.從「方法」下拉選單中選擇「匯入現有證書頒發機構」。
3.確保選中「信任儲存」和「隨機序列」覈取方塊。
4.將整個證書貼上到「證書資料」文本框中。確保包括-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----行。
5.選擇儲存。
6.驗證是否已匯入證書,如下圖所示。
pfSense GUI - CA清單
步驟 3.匯入CA中間證書
pfSense GUI - CA中間匯入
重複這些步驟以匯入根CA證書以匯入中間CA證書。
pfSense GUI - CA連結
檢視「Certificate Authorities(證書頒發機構)」 ,確保已正確將中間證書連結到根證書,如下圖所示。
步驟 4.為負載平衡網站建立和匯出CSR
以下說明建立CSR、匯出CSR,然後匯入簽署憑證的步驟。如果已經具有PFX格式的現有證書,則可以匯入此證書。有關這些步驟,請參閱pfSense文檔。
1.選擇「證書」選單,然後選擇新增/簽名按鈕。
pfSense GUI — 證書清單
2.完成「證書簽名請求」表單。
pfSense GUI - CSR建立
- 方法:從下拉選單中選擇「建立證書簽名請求」
- 描述性名稱:提供證書的名稱
- 金鑰型別和摘要演算法:檢視以確保它們符合您的要求
- 通用名稱:提供完全限定的域名網站
- 根據您的環境要求提供其餘證書資訊
pfSense GUI - CSR高級
- Certificate Type:在下拉選單中選擇Server Certificate。
- 備用名稱:提供實施所需的任何主題備用名稱(SAN)。
注意:公用名會自動新增到SAN欄位中。您只需要新增其他所需名稱。
所有欄位都正確後,選擇Save。
3.將CSR匯出到檔案。
pfSense GUI - CSR匯出
選擇「匯出」按鈕儲存CSR,然後與CA進行簽名。獲得簽名證書後,將其另存為PEM或Base-64檔案以完成該過程。
4.匯入簽名證書。
pfSense GUI — 憑證匯入
選擇鉛筆圖示以匯入簽名證書。
5.在表單中貼上證書資料。
pfSense GUI — 憑證匯入
選擇Update以儲存證書。
6.檢查證書資料以確保其正確。
pfSense GUI — 證書清單
7.如果希望在此pfSense上託管多個站點,請重複此過程。
新增虛擬IP
在pfSense上託管網站至少需要一個IP。在pfSense中,這可通過虛擬IP(VIP)完成。
步驟 1.從Firewall下拉選單中選擇Virtual IPs
pfSense GUI - VIP下拉選單
步驟 2.選擇「新增」按鈕
pfSense GUI - VIP登入頁
步驟 3.提供地址資訊
pfSense GUI - VIP配置
使用這些資訊新增VIP。
- 型別:選擇IP別名
- Interface:選擇要廣播的此IP地址的介面
- 地址:輸入IP地址
- 地址掩碼:對於用於負載平衡的IP地址,掩碼必須為/32
- 說明:提供簡短文本,以便以後更容易理解配置
選擇Save以提交更改。
對您的配置所需的每個IP地址重複此步驟。
步驟 4.應用配置
pfSense GUI - VIP清單
新增所有VIP後,選擇Apply Changes按鈕。
配置防火牆
pfSense具有內建防火牆。預設規則集非常有限。在裝置投入生產之前,請確保構建全面的防火牆策略。
步驟 1.從Firewall下拉選單中選擇Rules
pfSense GUI - Firewall Rules下拉選單
步驟 2.選擇其中一個Add按鈕
pfSense GUI — 防火牆規則清單
請注意,一個按鈕將新規則新增到所選行上方,而另一個按鈕將規則新增到所選規則下方。任一按鈕都可用於第一條規則。
步驟 3.建立防火牆規則以允許流量通過IP地址到埠443
pfSense GUI — 防火牆通過規則配置
使用該資訊建立規則。
- 操作:選擇通過
- Interface:選擇應用規則的介面
- 地址系列和協定:根據情況選擇
- 來源:將選定內容保留為任意
- 目標:從「目標」下拉選單中選擇「地址」或「別名」,然後輸入應用規則的IP地址
- 目的地連線埠範圍:選擇,在「自」和「至」下拉選單中的HTTPS(443)
- Log:選中此覈取方塊可記錄與此規則匹配的任何資料包進行記帳
- 說明:提供文本以稍後引用規則
選擇Save。
步驟 4.建立防火牆規則以丟棄到pfSense的所有其他流量
選擇Add按鈕將規則插入到新建立的規則下方。
pfSense GUI — 防火牆丟棄規則配置
- 操作:選擇塊
- Interface:選擇應用規則的介面
- 地址系列和協定:根據情況選擇
- 來源:將選定內容保留為任意
- 目標:將選定內容保留為任意
- Log:選中此覈取方塊可記錄與此規則匹配的任何資料包進行記帳
- 說明:提供文本以稍後引用規則
選擇Save。
步驟 5.檢查規則並確保阻止規則位於底部
pfSense GUI — 防火牆規則清單
如果需要,請拖動規則對它們進行排序。
選擇Apply Changes(在防火牆規則符合您的環境所需的順序後應用更改)。
配置HAProxy
HAProxy概念
HAProxy概念
HAProxy是使用Frontend/Backend模型實現的。
前端定義客戶與之通訊的代理端。
前端包括IP和埠組合、證書繫結,並且可以實施某些報頭操作。
後端定義代理與物理Web伺服器通訊的一端。
後端定義實際的伺服器和埠、用於初始分配的負載均衡方法、運行狀況檢查和永續性。
前端知道通過專用後端或使用ACL與哪些後端通訊。
ACL可以建立不同的規則,以便給定前端可以根據各種情況與不同的後端通訊。
初始HAProxy設定
步驟 1.從Services下拉選單中選擇HAProxy
pfSense GUI - HAProxy下拉選單
步驟 2.配置基本設定
pfSense GUI - HAProxy主設定
選中Enable HAProxy覈取方塊。
輸入最大連線數的值。有關所需記憶體的詳細資訊,請參閱本節中的圖表。
為Internal stats埠輸入一個值。此埠用於顯示裝置上的HAProxy統計資訊,但不會在裝置外部顯示。
輸入內部統計刷新率的值。
檢查其餘配置,並根據您的環境需要進行更新。
選擇Save。
pfSense GUI - HAProxy應用更改
注意:只有選擇「應用更改」按鈕後,配置更改才會變為活動狀態。您可以進行多項配置更改並同時應用所有更改。配置無需應用於其他部分即可使用。
配置HAProxy後端
從後端開始。原因是前端必須引用後端。確保已選擇「Backend(後端)」選單。
pfSense GUI - HAProxy新增後端
選擇Add按鈕。
pfSense GUI - HAProxy後端啟動
為後端提供名稱。
選擇向下箭頭,將第一個伺服器新增到「伺服器」清單中
後端 — 伺服器清單
提供引用伺服器的名稱。這不需要與實際的伺服器名稱匹配。這是顯示在統計資訊頁面上的名稱。
提供伺服器的地址。可以將其配置為FQDN的IP地址。
提供要連線的埠。這是ECE的埠443。
選中Encrypt(SSL)覈取方塊。
在Cookie欄位中提供一個值。這是會話粘性Cookie的內容,並且在後端內必須是唯一的。
配置第一個伺服器後,選擇向下箭頭以配置環境中的任何其他Web伺服器。
HAProxy後端 — 負載平衡
配置負載均衡選項。
對於ECE伺服器,必須將其設定為「最少連線」。
HAProxy後端 — 運行狀況檢查
此配置中未使用訪問控制清單。
超時/重試設定可以保留為其預設配置。
配置健康檢查部分。
- 運行狀況檢查方法:HTTP
- 檢查頻率:留空以使用每1秒的預設值。
- 日誌檢查:選擇此選項可將任何運行狀況更改寫入日誌。
- Http檢查方法:從清單中選擇GET。
- http檢查請求使用的URL。提示:對於ECE伺服器,請輸入/system/web/view/platform/common/login/root.jsp?partitionId=1
- HTTP檢查版本: Enter,HTTP/1.1\r\n\Host:\ {fqdn_of_server}
請確保在最後反斜線之後但在伺服器的FQDN之前包含空格。
HAProxy後端 — Cookie持續性
保持未選中代理檢查。
配置Cookie永續性:
- Cookie Enabled:選擇以啟用基於Cookie的永續性。
- Cookie名稱:提供cookie的名稱。
- Cookie模式:從下拉框中選擇插入。
- 不設定其餘選項。
HAProxy後端 — HST
後端配置表單的其餘部分可以保留其預設設定。
如果要配置HSTS,請在此部分中配置超時值。ECE也插入HSTS cookie,因此此配置是冗餘的。
選擇,儲存。
配置HAProxy前端
轉到「前端」選單。
pfSense GUI - HAProxy新增前端
選擇「新增」按鈕
HAProxy — 前端標頭
為前端提供一個名稱。
提供說明,以便稍後幫助識別前端。
在External address表中:
- 收聽地址:選擇您為此網站建立的VIP。
- 埠:輸入443。
- SSL解除安裝:選擇此選項可插入會話cookie。
將Max連線留空。
確保「Type(型別)」選擇為「http / https(解除安裝)」。
HAProxy後端 — 預設後端選擇
最簡單的配置是從下拉選單中選擇預設後端。當VIP託管單個網站時可以選擇此選項。
HAProxy後端 — ACL高級
如圖所示,ACL可用於根據情況將單一前端重新導向多個後端。
您可以看到ACL會檢查請求中的主機是否以名稱和埠號開頭,或者只是以名稱開頭。基於此,使用特定後端。
這在歐洲經委會中並不常見。
HAProxy前端 — 憑證繫結
在SSL Offloading部分,選擇要用於此站點的證書。此證書必須是伺服器證書。
選擇選項Add ACL for certificate Subject Alternative Names。
可將其餘選項保留為預設值。
選擇此表單末尾的Save。
HAProxy — 應用配置
選擇Apply Changes以將前端和後端更改提交到運行配置。
恭喜,您已完成pfSense的設定和配置。