OPNsense用戶手冊-緩存代理

../_images/forward_proxy.png

OPNsense配備了功能齊全的正向緩存(透明)代理。緩存代理通過緩存對頻繁請求的網頁減少帶寬使用並縮短響應時間。訪問控制列表可用於用戶身份驗證和/或(基於類別)Web過濾器。

功能包括:

  • 多接口支持

  • 透明模式(包括SSL / HTTPS)

  • ICAP支持反病毒/惡意軟件引擎

  • HTTP代理

  • FTP代理

  • 用戶認證

  • 訪問控制列表(對http(s) 和ftp都有效)

  • 黑名單

  • 基於類別的Web過濾

  • 可以與流量×××器結合使用

認證

用戶身份驗證可以使用OPNsense標準和內置身份驗證器完成。包括:

  • LDAP(包括Microsoft Active Directory)

  • Radius

  • 本地用戶管理

  • 不進行認證

訪問控制

OPNsense支持全面訪問控制,包括基於:

  • 子網

  • 端口

  • MIME類型

  • 禁止IP

  • 白名單

  • 黑名單

  • 瀏覽器/用戶代理

流量控制

代理可以與流量×××器結合使用,並充分利用其×××功能。此外,它還包括自己的選項:

  • 最大下載量

  • 最大上傳量

  • 整體帶寬限制

  • 每個主機帶寬限制

基於類別的Web過濾器

不需要額外的插件,例如squidGuard, 因爲OPNsense有基於內置類別的Web過濾器支持。主要功能包括:

  • 從遠程URL獲取

  • 支持平面文件列表和基於類別的壓縮列表

  • 自動將基於類別的黑名單轉換爲squid ACL

  • 隨時瞭解內置調度程序

  • 與最受歡迎的黑名單兼容

透明模式

透明模式意味着所有請求都將轉移到代理,而無需在客戶端進行任何配置。透明模式適用於不安全的http請求,但是通過安全(SSL)https連接,代理將成爲中間人,因爲客戶端將“與”代理“對話”,代理將使用客戶端需要信任的主密鑰對流量進行加密。

雖然我們不鼓勵在透明模式下使用https,但此功能在16.7以後的版本中發佈。

警告:使用透明HTTPS代理可能是一種危險的做法,您使用的某些服務可能不允許這種做法,例如網上銀行。

WPAD和PAC

如果無法使用透明代理,OPNsense仍支持通過WPAD / PAC進行自動代理配置。

警告:通過DNS的WPAD要求Web界面在默認HTTP端口(TCP / 80)上運行,這也是一種安全風險(MITM***)。在這種情況下,您應該通過代理連接或避免從不受信任的網絡配置應用程序。

設置高速緩存代理

../../_images/proxy_basics.png

啓用/禁用

要啓用代理,只需轉到“ 服務” - >“Web代理” - >“管理”,然後選中“ 啓用代理”,單擊“ 應用”。默認設置將使用基於本地用戶數據庫的用戶身份驗證啓用代理,並在LAN接口的端口3128上運行。

更改代理接口

如果要更改代理將綁定的接口(子網),請單擊“ 正向代理 ”選項卡。現在在代理接口字段中添加/刪除接口。添加時確保已應用並且標籤可見(輸入或從列表中選擇)。

更改代理偵聽端口

默認情況下,代理將在端口3128處偵聽,您可以通過單擊“ 正向代理 ”選項卡來更改此設置,並填寫代理端口數據庫中的端口。不要忘記應用您的更改。

啓用緩存

要啓用緩存,請單擊“ 代理設置”旁邊的箭頭以查看下拉菜單,然後單擊“ 本地緩存設置”

../../_images/proxy_cache.png

選中啓用本地緩存,然後單擊應用

注意:由於默認情況下不創建緩存,您需要在系統->診斷-> 服務下停止並啓動服務,這將確保正確創建緩存。

高級

在高級設置下(請參閱表單左上角的模式切換),您可以更改緩存大小,目錄結構和保留在緩存中最大對象尺寸。同樣,默認設置適用於普通瀏覽,將創建一個100MB緩存,最大對象尺寸爲4MB。

變更認證方法

單擊正向代理選項卡旁邊的箭頭來顯示下拉菜單。現在選擇認證設置並在認證方法字段中選擇所需的認證源 。如果您不想使用任何身份驗證,請單擊“ 清除所有”

根據您在系統-> 訪問->服務器下設置的認證服務器, 您可以選擇以下一項或多項:

  • 無身份驗證(保留字段爲空)

  • 本地用戶數據庫

  • LDAP

  • Radius

FTP代理

啓用FTP代理單擊“正向代理”選項卡旁邊的箭頭,顯示下拉菜單。現在選擇FTP代理設置並在FTP代理接口字段中選擇一個或多個接口並應用

注意:FTP代理僅在啓用代理服務器本身時才起作用。代理僅適用於非加密的ftp流量。

訪問控制列表

您可以通過單擊“ 正向代理”旁邊的箭頭來設置ACL,然後 選擇“ 訪問控制列表”。在這裏你可以:

  • 設置允許的子網(默認情況下,將允許代理接口)

  • 添加不受限制的IP地址(不受限制意味着這一點,沒有身份驗證,也沒有針對這些IP的黑名單)

  • 添加禁止主機IP地址(禁止將阻止此客戶端使用代理)

  • 白名單(點擊(i)查看示例,白名單優先於黑名單)

  • 黑名單(如果白名單不允許,這將根據正則表達式阻止流量)

警告:填寫標記字段後,請不要忘記按Enter或逗號,否則將不會應用該值。它看起來應該類似於:

../../_images/proxy_tag.png

遠程黑名單/廣告攔截

使用簡單的平面文件來屏蔽廣告。對於此示例,我們將使用此處的廣告列表:

http://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml

此列表是一個簡單的平面列表,如下所示:

101com.com
101order.com
123found.com
180hits.de
180searchassistant.com
1x1rank.com
207.net
247media.com

轉到“ 服務” - >“Web代理” - >“管理”,然後單擊“ 遠程訪問控制列表 ”選項卡

現在單擊表單右下角的+以添加新列表。

填寫:

啓用選中啓用/禁用
文件名yoyoads選擇唯一的文件名
網址(複製/粘貼網址)黑名單的URL
類別(留空)用於基於類別的Web過濾
描述YoyoAds Blacklist描述說明

(注:以下是16.1.4版本的屏幕截圖,與現在最新版本有所不同):

../../_images/proxy_blacklist.png

保存更改

現在點擊下載ACLS並應用以啓用黑名單/廣告攔截器。

防火牆規則無代理繞過

要確保沒有人可以繞過代理,您需要添加防火牆規則。轉到防火牆 - >規則,並將以下內容添加到LAN接口上的列表規則頂部(如果LAN是您的客戶端和代理所在的位置)。

操作阻止
接口LAN
協議TCP / UDP
lan
目標端口範圍HTTP
類別Block Proxy Bypass
描述Block http bypass

保存

還有一個阻止HTTPS訪問的規則:

操作阻止
接口LAN
協議TCP / UDP
LAN
目標端口範圍HTTPS
類別Block Proxy Bypass
描述Block http bypass

保存應用更改

../../_images/proxy_firewall.png

配置瀏覽器/Firefox

在本例子中,以Firefox爲例,其他瀏覽器也可以參考。要配置代理,只需轉到網絡設置並按如下設置進行配置:

../../_images/proxy_firefox.png

設置Web過濾

OPNsense中基於類別的Web過濾是通過使用內置代理和一個免費或商業黑名單來完成的。

爲此,我們將使用Fabrice Prigent管理的UniversitéToulouse 的UT1“網絡分類列表”。此列表根據知識共享許可免費提供。

預計與OPNsense合作的其他熱門列表包括:

在本教程中,我們假設:

  • 代理服務器的默認設置/未配置

  • 我們只想要網頁過濾而不需要任何其他內容(沒有緩存,不進行身份驗證)

第1步 - 禁用身份驗證

要開始,請轉到“ 服務” - >“Web代理” - >“管理”

單擊正向代理選項卡旁邊的箭頭以顯示下拉菜單。現在選擇認證設置並單擊清除所有以禁用用戶身份驗證。然後單擊“ 應用”以保存更改。

第2步 - 配置黑名單

單擊“ 遠程訪問控制列表 ”選項卡。現在單擊頁面右下角的+以添加新列表。

將彈出一個頁面,輸入以下詳細信息:

啓用選中啓用/禁用
文件名UT1選擇唯一的文件名
網址(複製/粘貼網址)黑名單的URL
類別(留空)如果留空,則將獲取完整列表
描述UT1 web filter描述說明

../../_images/proxy_ut1.png

保存更改

第3步 - 下載類別

現在按下載ACL,請注意這需要一段時間(可能是幾分鐘),因爲完整列表(> 19MB)將轉換爲squid acl。

第4步 - 設置類別

現在,我們可以通過單擊列表說明旁邊的鉛筆圖標來選擇我們要使用的類別。這將再次打開編輯窗口,但現在您將看到從列表中提取的所有可用類別。

../../_images/proxy_categories.png

對於我們的示例,我們將過濾廣告和成人內容。最簡單的方法是清除列表並從下拉列表中選擇以下內容:

../../_images/proxy_catgegory.png

現在保存更改並再次按下載ACL以下載和重建僅包含所選類別的列表。這將花費與第一次獲取大致相同的時間量,因爲單獨的成人部分是~15MB。

第5步 - 啓用代理

要啓用代理,只需轉到“ 服務” - >“Web代理” - >“管理”,然後選中“ 啓用代理”,單擊“ 應用”。代理將綁定到LAN和端口3128。

代理啓動可能需要一段時間,屏幕右上角的播放圖標將變爲紅色。刷新頁面以查看代理是否已完成加載(播放圖標將變爲綠色)。

第6步 - 禁用代理旁路

要確保沒有人可以繞過代理,您需要添加防火牆規則。轉到防火牆 - >規則,並將以下內容添加到LAN接口上的列表規則頂部(如果LAN是您的客戶端和代理所在的位置)。

操作阻止
接口LAN
協議TCP / UDP
LAN
目標端口範圍HTTP
類別阻止代理繞過
描述阻止http繞過

保存

還有一個阻止HTTPS訪問的規則:

操作阻止
接口LAN
協議TCP / UDP
LAN
目標端口和範圍HTTPS
類別阻止代理繞過
描述阻止https繞過

保存應用更改

../../_images/proxy_firewall.png

設置透明代理

OPNsense提供了一個功能強大的代理,可以與基於類別的Web過濾和任何支持ICAP的反病毒/惡意軟件引擎結合使用。代理可以配置爲以透明模式運行,這意味着不必爲Web代理配置客戶端瀏覽器,但是所有流量都通過利用網絡地址轉換自動轉移到代理。

在本方法中,我們將解釋基本的http以及https(ssl bump)透明代理模式。

警告:透明SSL / HTTPS代理模式使用一種也稱爲中間人的技術,只有在知道自己在做什麼的情況下才配置並使用它。如果配置錯誤,您可能會減少安全防禦能力。使用透明https代理可能是一種危險的做法,您使用的服務可能不允許這種做法,例如網上銀行。

第1步 - 基本代理設置

要設置透明模式,需要完成基本的代理設置。參閱前面部分。

第2步 - 透明

轉到服務 - > Web代理 - >管理

然後在正向代理選項卡下選擇常規設置

選擇啓用透明HTTP代理, 然後單擊應用

第3步 - NAT /防火牆規則

添加NAT /防火牆規則的一種簡單方法是單擊“ 啓用透明HTTP代理”選項左側的(i)圖標,然後單擊添加新的防火牆規則(紅色部分)

../../_images/screenshot_enable_transparent_http.png

作爲參考,這些是默認設置:

接口LAN
協議TCP
LAN
源端口範圍任意 - 任意
目標任意
目標端口範圍HTTP - HTTP
重定向目標IP127.0.0.1
重定向目標端口other/ 3128
描述將流量重定向到代理
NAT迴流啓用
過濾規則關聯添加關聯的過濾規則

默認值應該沒問題,只需按“ 保存應用更改”即可

第4步 - 用於透明SSL的CA

在我們設置透明SSL / HTTPS代理之前,我們需要創建一個證書頒發機構。轉到系統 - >證書 - >認證或使用搜索框快速到達目的地。

../../_images/search_ca.png

單擊屏幕右上角的添加或導入ca以創建新CA。

在本示例中,我們使用以下數據:

描述名稱OPNsense-SSL
方法生成內部證書頒發機構
密鑰長度(位)2048
摘要算法SHA256
有效期(天)356
國家代碼NL (Netherlands)
州或省Zuid Holland
城市Middelharnis
組織OPNsense
電子郵件地址[email protected]
通用名稱opnsense-SSL-CA

保存

第5步 - 透明SSL

轉至服務 - >Web代理 - >管理, 然後點擊正向代理選項卡下的常規設置

選擇“ 啓用SSL檢查”並將使用認證的CA設置爲用於剛剛創建的CA,然後單擊Apply

第6步 - 配置非SSL Bump

這一步非常重要,需要仔細考慮!爲了確保已知站點正常訪問(如網上銀行)並保持其原始安全層完整,需要將包括所有子域的那些添加到SSL免檢站點 字段。

要在字段中輸入新項目類型,請以.(點)開始,添加所有子域,然後按Enter鍵接受。示例:要添加所有paypal.com,請鍵入.paypal.com並按Enter鍵。

注意:確保將您提供個人信息或登錄信息的所有銀行站點添加到此字段中。如果您不確定要添加什麼,請重新考慮使用透明SSL,因爲它顯然不適合您!

第7步 - SSL NAT /防火牆規則

添加NAT /防火牆規則的一種簡單方法是單擊“ 啓用SSL檢查”選項左側的(i)圖標,然後單擊添加新的防火牆規則

../../_images/screenshot_enable_transparent_http.png

作爲參考,這些是默認設置:

接口LAN
協議TCP
lan
源端口範圍any - any
目標any
目標端口範圍HTTPS - HTTPS
重定向目標IP127.0.0.1
重定向目標端口other/ 3129
描述將流量重定向到代理
NAT迴流啓用
過濾規則關聯添加關聯的過濾規則

默認值應該沒問題,只需按“ 保存應用更改”即可

步驟8 - 配置OS /瀏覽器

由於您的瀏覽器不信任CA,因此您將爲您訪問的每個頁面收到有關此信息的消息。要解決此問題,您可以將密鑰導入您的操作系統並設置爲受信任。要導出密鑰,請轉到系統 - >證書 - >認證,然後單擊右側的導出圖標來導出CA證書。

../../_images/export_CA_cert.png

在您的操作系統上導入和更改信任設置。在OSX上的示例如下:

../../_images/Trust_Settings_OSX.png

警告:因爲您的系統將接受使用此CA證書籤名的任何頁面。只要沒有人獲得對沒有問題的私鑰的訪問權限都是安全的。但是如果任何人都可以得到它,那麼所有流量都可以被解密。

設置WPAD / PAC

OPNsense支持生成PAC文件來向客戶端提供自動代理配置文件。例如,如果您的Web GUI在http://192.168.0.1/上運行,則您的PAC URL則是http://192.168.0.1/wpad.dat

在Firefox中,您可以手動通過以下步驟使用PAC配置代理:

  • 單擊菜單圖標並打開“設置”

  • 向下滾動到“網絡代理”,然後單擊“設置”

  • 檢查“自動代理配置地址”

  • 在文本字段中輸入上面段落中提到的PAC文件的URL,然後單擊“確定”

警告:如果PAC文件不可用,您的瀏覽器可能無法連接到Internet。如果員工可以將設備用於家庭辦公室,則不建議在筆記本電腦等移動設備上使用此類配置。對於此類設備,應使用WPAD。

配置

第一步:創建匹配

轉到“服務” - >“Web代理” - >“配置”,然後打開“匹配”,在最新的18.7.6版本中菜單是“服務” - >“Web代理” - >"Proxy-Auto-Config"

../../_images/pac_menu_match.png

輸入匹配名稱和可選說明。然後選擇要匹配的內容。

名稱匹配的唯一名稱,用於從規則中調用它。
描述簡短描述。
反轉反轉匹配
匹配類型選擇您想要匹配的內容

其餘字段取決於使用的匹配類型。例如,如果我們匹配“普通主機名”,我們不需要任何其他參數。

匹配“Plain Hostname(普通主機名)”,則意味着域名沒有點,所以如果我們想創建一個fqdn匹配,我們可以簡單地反轉這個:

../../_images/pac_match_fqdn.png

名稱is_fqdn
描述可以留空
反轉選中
匹配類型Plain Hostname

../../_images/pac_internal_domain.png

名稱not_internal
描述可以留空
反轉選中
匹配類型Hostname matches
主機模式內部域的通配符

第二步:創建代理服務器

現在切換到“服務” - >“Web代理” - >"Proxy-Auto-Config - > Proxies”添加新的代理服務器。

名稱輸入將在規則視圖中顯示的名稱以供選擇
描述您可以爲此代理添加可選說明
代理類型如果不使用代理,則直接連接或請輸入代理類型
網址除非已選擇直接連接(no proxy),否則請輸入代理URL

在這種情況下,假設僅存在單個LAN和DMZ,並且內部連接不在代理上運行。要制定有意義的規則,我們需要兩個可能的返回值:

  • LAN代理

  • 沒有代理

沒有代理配置非常簡單:

../../_images/pac_proxy_direct.png

名稱direct
描述可以留空
代理類型Direct Connection
網址

對於傳出連接,我們需要代理:

../../_images/pac_proxy_lan.png

名稱lan_proxy
描述可以留空
代理類型proxy
網址代理IP +':'+代理端口

第三步:創建規則

現在,當匹配和代理存在時,可以構建規則。爲此,需要切換到“服務” - >“Web代理” - >"Proxy-Auto-Config - > 規則” 。

現在需要創建以下規則:

../../_images/pac_rule.png

啓用選中
描述描述說明
匹配兩個先前創建的匹配
加入類型and
匹配類型if
代理lan proxy

保存後,單擊右側的橙色重新加載按鈕,配置就完成了。

WPAD

Web代理自動發現用於查找域名的PAC文件。

使用DNS(Unbound)

方式1:自動配置

警告:使用此選項時,將覆蓋wpad主機和域名的TXT記錄。這可能會破壞其他記錄,例如此特定域名的SPF的TXT記錄。

在Unbound  DNS常規設置中,您只需選中以下複選框:

../../_images/wpad_dns_unbound2.png

這將定義DHCP中配置的任意域名的主機記錄,作爲防火牆主機的CNAME。它還將覆蓋TXT記錄解析爲PAC文件的URL。

方式2:手動配置

警告:使用DNS時,OPNsense必須通過端口80上的HTTP進行響應。

轉到服務 - >Unbound DNS- >覆蓋,爲wpad主機添加新的主機覆蓋:

../../_images/wpad_dns_unbound.png

主機WPAD
域名你的域名
類型A或AAAA
IP您的OPNsense的IP(可以訪問Web界面的IP地址)
描述可以留空

保存設置並應用更改。

使用

方式1:自動配置

在DHCP服務器設置中,您可以選中以下複選框:在這種情況下,將使用您在系統設置(防火牆域名)中選擇的域和Web接口的端口。主機名是wpad。如果您使用HTTP在端口80上運行OPNsense Web界面。將創建以下URL:http://wpad.example.com:80/wpad.dat

方式2:手動配置

轉到服務 - > DHCP - >服務器,選擇正確的接口並向下滾動到“其他選項”。

添加此行並保存:

../../_images/wpad_dhcp_option.png

數目252
類型String
PAC文件的URL,用雙引號括起來

Firefox配置

打開設置菜單

首先,必須打開設置菜單。有兩種方法。你也可以

../../_images/pac_firefox_menu.png

首先單擊編輯

../../_images/pac_firefox_edit.png

然後單擊Preferences(首選項)或您也可以

../../_images/pac_firefox_menu2.png

單擊菜單圖標,然後單擊“Preferences(首選項)”

配置代理

../../_images/pac_firefox_network_proxy_setting.png

然後向下滾動到頁面底部,然後在點擊Network Proxy(網絡代理)界面點擊Settings(設置)

../../_images/pac_firefox_proxy_settings.png

在新打開的窗口中,您可以設置代理設置。如果要強制Firefox使用WPAD / PAC,請選擇“ 自動檢測此網絡的代理設置”。如上圖所示,點擊“OK”完成。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章