OPNsense设置缓存代理教程

OPNsense 提供功能齐全的缓存代理服务,具有广泛的访问控制列表、基于类别的 Web 过滤以及在透明模式下运行的能力。它支持 HTTP、HTTPS和FTP 服务。此外,代理服务器可以与流量整形器结合使用,来改善用户体验。通过缓存经常访问的网站,它可以提高响应时间并提高带宽使用效率。ICAP接口还允许与大多数专业防病毒解决方案进行集成。

本教程将主要介绍以下内容:

  • OPNsense缓存代理的特点
  • 配置自定义错误页面
  • 设置基本缓存代理
  • 启用Web 过滤
  • 启用透明HTTP和SSL模式
  • Windows 10导入受信内部CA证书

缓存代理服务严重依赖CPU的运算能力和磁盘缓存写入,为提升响应速度,建议使用 SSD 磁盘来缓存代理服务。

OPNsense缓存代理特点

OPNsense 缓存代理服务的主要功能包括:

  1. 身份验证:可以使用以下身份验证方法将代理设置为透明代理:
  • 无身份验证
  • 本地数据库
  • Radius
  • LDAP
导航到Web ProxyAdministrationForward Proxy>Authentication Settings,在这里配置OPNsense 缓存代理身份验证选项。

访问 OPNsense Web 代理中的身份验证设置

图 1. 访问 OPNsense Web代理中的身份验证设置

  1. 访问控制:它通过使用以下标准支持访问控制列表:
  • 子网
  • 端口
  • MIME 类型
  • 禁止 IP
  • 白名单
  • 黑名单
  • 浏览器/用户代理
  • 支持黑名单
导航到Web ProxyAdministrationForward Proxy>Access Control Lists,在这里配置OPNsense缓存代理访问控制列表。

在 OPNsense Web 代理中访问访问控制列表

图 2. 在 OPNsense Web 代理中访问控制列表

  1. 透明模式:透明模式允许将所有请求路由到代理,客户端不需要进行任何配置。透明模式适用于不安全的 HTTP 流量。但是对于安全 (SSL) HTTPS 连接,代理成为中间人,因为客户端与代理“对话”,并且代理使用客户端必须信任的主密钥加密网络数据包。

使用透明HTTPS 代理可能存在风险,某些 Web 应用程序可能不被允许,例如电子商务。

  1. Web 过滤器 OPNsense包含基于类别的 Web 过滤支持,具有以下功能:
  • 从远程 URL 获取数据。
  • 使用内置调度程序保持最新。
  • 兼容最广泛使用的黑名单
  • 支持平面文件列表和基于类别的压缩列表。
  • 自动将基于类别的黑名单转换为 squid ACL。
  1. 流量管理:代理可以与流量整形器结合使用,以利用其整形功能。包含:
  • 下载/上传的最大文件大小
  • 限制整体带宽
  • 限制每台主机的带宽

导航到Web ProxyAdministrationGeneral Proxy Settings>Traffic Management Settings>Traffic Management,在这里配置OPNsense缓存代理选项。

访问 OPNsense Web 代理中的流量管理设置

图 3. 访问 OPNsense Web代理中的流量管理设置

  1. WPAD / PAC: OPNsense 通过WPAD / PAC提供自动代理配置,用于在无法使用透明模式时的情况。

注意:由于通过DNS的WPAD需要Web UI在默认HTTP端口 (TCP/80)上运行,因此它存在 MITM攻击漏洞。在这种情况下,必须使用代理服务器或避免从不受信任的网络配置应用程序。

  1. 自定义错误页面: OPNsense缓存代理服务可以提供可自定义的错误页面。
  2. 多接口:代理可以同时在多个网络接口上运行。

配置自定义错误页面

可以按照以下步骤在OPNsense 缓存代理服务中配置自定义错误页面:

  1. 导航到ServicesWeb ProxyAdministration> General Proxy Settings
  2. User error pages页面选择Custom。然后将显示Error Pages附加选项卡。

在 OPNsense Web 代理中设置用户错误页面选项

图 4. 在 OPNsense Web 代理中设置用户错误页面选项

  1. 单击Error Pages选项卡。
  2. 单击“Download”图标来获取包含所有可用错误页面和级联样式表的zip 文件 (proxy_template.zip)。

在 OPNsense Web 代理中下载错误页面

图 5. 在 OPNsense Web代理中下载错误页面

  1. 根据需要修改相关文件,然后再将文件进行压缩。

OPNsense Web 代理模板中的错误页面文件列表

图 6. OPNsense Web 代理模板中的错误页面文件列表

  1. 单击文件夹图标来选择新创建的zip文件,例如custom_template.zip

在 OPNsense Web 代理中上传自定义错误页面

图 7. 在 OPNsense Web 代理中上传自定义错误页面

  1. 点击上传按钮。
  2. 点击Apply按钮。
  3. 单击General Proxy Settings选项卡。
  4. 单击Apply按钮来激活错误页面模板。

带有X 图标的重置按钮将从配置中删除您的自定义模板,下载选项将返回标准 OPNsense 模板。

要更改背景图像,可以将cs文件上传到目录中并忽略所有html文件。

设置基本缓存代理

按照下面的10 个步骤在OPNsense 中设置基本缓存代理服务:

  1. 启用/禁用代理服务器
  2. 配置代理接口
  3. 配置代理监听端口
  4. 启用/禁用缓存
  5. 配置身份验证方法
  6. 启用/禁用 FTP 代理
  7. 定义访问控制列表
  8. 定义远程访问控制列表
  9. 定义防火墙规则以防止客户端绕过代理服务器
  10. 配置客户端代理

1.启用/禁用代理服务器

在OPNsense 防火墙中,代理服务器默认设置可以帮助你进行快速设置。要启用代理服务,按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 选中Enable proxy选项。
  3. 单击Apply激活代理服务器。

代理将启用基于本地用户数据库的用户身份验证,并默认在 LAN 接口的 3128 端口上运行。

在 OPNsense 中启用代理

图 8. 在 OPNsense中启用代理

启动/重启/停止代理服务器

可以导航到Services > Web Proxy > Administration来查看代理服务的状态。状态和操作按钮位于页面的右上角。

代理服务器运行时,状态按钮显示为带有白色右箭头图标的绿色矩形。可以单击Restart按钮重新启动代理服务器。可以单击Stop按钮停止代理服务器。

在 OPNsense 中重新启动/停止代理服务器

图 9. 在 OPNsense中重新启动/停止代理服务

当代理服务器停止时,状态按钮显示为带有白色方形图标的红色矩形。

可以单击Start按钮启动代理服务器。

在 OPNsense 中启动已停止的代理服务

图 10. 在 OPNsense中启动已停止的代理服务

2.代理接口和常规转发设置

如果需要更改代理绑定的接口(子网),可以按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 单击General Forward Settings页面上的Forward Proxy选项卡上。
  3. Proxy interfaces字段中选择接口。根据需要添加任意数量的接口或删除接口。
  4. 单击Apply激活设置。

在 OPNsense 中选择代理接口

图 11. 在 OPNsense 中选择代理接口

在本页面中,还可以:

  1. 可以设置透明HTTP代理选项。下一节会介绍详细设置。
  2. 可以选中启用SSL 检查来记录 HTTPS 流量,或使用代理充当 Internet 和客户端之间的中间人。在启用该选项之前,必须考虑存在的安全隐患。如果打算使用透明 HTTPS 模式,还需要nat 规则来反映您的流量。
  3. 可以选中仅记录 SNI 信息选项来仅记录请求的域和 IP 地址。此选项不解码或过滤 SSL 内容。
  4. 可以更改SSL代理服务将侦听的SSL 代理端口。默认为 3129。
  5. 可以选择证书颁发机构用于SSL 检查
  6. 可以在SSL no bump sites字段中输入不需要被检查的站点列表,例如银行和电子商务站点。要接受所有子域,可以在域前加上.

3.配置代理监听

默认情况下,代理侦听端口为 3128。要更改代理侦听端口,按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 单击General Forward Settings页面的Forward Proxy选项卡。
  3. 将Proxy port设置为你希望的值,例如8080。
  4. 单击Apply激活设置。

在 OPNsense 中更改代理侦听端口

图 12. 在 OPNsense中更改代理侦听端口

4.启用/禁用缓存

要在代理服务器上启用缓存,按以下的步骤进行操作:

  1. 导航到Services Web Proxy > Administration
  2. 单击General Proxy Settings旁边的箭头,查看下拉菜单。
  3. 点击Local Cache Settings
  4. 检查Enable local cache选项。
  5. 打开顶部的高级模式按钮。
  6. 调整Memory Cache size in Megabytes的值,例如1024
  7. 调整Cache size in Megabytes的值,例如1024
  8. 保留Maximum object size (MB)默认值,即 4MB。
  9. Maximum object size in memory (KB)默认留空。
  10. Memory cache mode默认留空。也可以使用以下选项:
  • always:保留最近检索到的对象(默认)
  • disk:只有磁盘缓存命中存储在内存中,所以对象必须首先被缓存在磁盘上,然后在被缓存到内存之前第二次命中。
  • network:只有从网络检索到的对象才会存储在内存中。
  1. Enable Linux Package Cache如果网络中有多个服务器并且不托管您自己的包镜像,可以选中为Linux 发行版启用包缓存的选项。这可以节省 Internet 带宽,同时增加磁盘访问。
  2. Enable Windows Update Cache如果您没有 WSUS 服务器,则可以选中启用或禁用 Windows 更新缓存的选项。
  3. 单击Apply激活设置。

在 OPNsense 中启用缓存代理

图 13. 在 OPNsense中启用缓存代理

注意:由于默认不创建缓存,因此必须先停止并重新启动代理服务,才能确保正确创建缓存。

5.配置认证方式

要更改 OPNsense中代理服务的身份验证方法,按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 单击Forward Proxy旁边的箭头,查看下拉菜单。
  3. 点击Authentication Settings
  4. Authentication method 字段中选择所需的身份验证器。如果不想使用任何身份验证,请单击Clear All链接。

根据在System > Access > Servers中配置的身份验证服务器,可以选择以下一个或多个:

  • 本地用户数据库
  • Radius
  • LDAP
  • 基于时间的一次性密码
  • 无身份验证(将该字段留空)
  1. 可以设置强制本地组来限制对选定(本地)组中的用户的访问。本教程我们将其保留为默认值。
  2. 可以根据需要填写身份验证提示。它将显示在身份验证请求窗口中。
  3. 身份验证 TTL(小时)设置为8。这将指定代理服务器假定外部验证的用户名和密码组合的有效时间(小时)。当 TTL 过期时,将提示用户再次输入凭据。默认为 2小时。
  4. 可以将身份验证进程保留为默认值。这是将启动的身份验证器进程的总数。
  5. 单击Apply激活设置。

在 OPNsense 中设置代理的身份验证方法

图 14. 在 OPNsense 中为代理设置身份验证方法

6.启用FTP

在OPNsense中启用FTP代理服务,按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 单击Forward Proxy旁边的箭头,查看下拉菜单。
  3. 点击FTP Proxy Settings
  4. 在FTP代理接口字段中选择一个或多个接口,例如LANGUESTNET
  5. 可以更改默认的FTP 代理端口,默认为2121
  6. 可以勾选启用透明模式,将目标端口 21 的所有请求转发到代理服务器,从而无需任何额外配置。
  7. 点击Apply激活设置。

在 OPNsense 中启用 FTP 代理服务

图 15. 在 OPNsense中启用FTP代理服务

FTP 代理仅在启用代理服务器的情况下才能工作。此外,代理仅适用于未加密的FTP流量。

7.定义访问控制列表

在OPNsense 中为代理服务定义访问控制列表,按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 单击Forward Proxy旁边的箭头,查看下拉菜单。
  3. 点击Access Control Lists
  4. 点击 advanced mode toggle button.
  5. 输入允许访问代理服务器的子网来设置允许的子网。默认情况下允许代理接口。
  6. 可以添加不受限制的IP地址。对于这些 IP 地址,不使用身份验证和黑名单。
  7. 可以在禁止的主机IP地址字段中输入要拒绝访问代理服务器的IP 地址。
  8. 可以将域添加到白名单中,这样它们就不会被代理服务器阻止。
  9. 可以将域添加到黑名单中,以便让代理服务器阻止它们。

在 OPNsense-1 中为代理服务设置 ACL

图 16. 在OPNsense-1中为代理服务设置 ACL

  1. 可以设置阻止浏览器/用户代理来阻止特定浏览器。例如,“Mozilla”将阻止“所有基于 Mozilla 的浏览器”,而 “(.) Macintosh(.) Firefox/36.0″将阻止“Macintosh 版本的Firefox 36.0”。本教程阻止从 6 到 10 具有严重安全漏洞的 MS Internet Explorer。
  2. 可以设置阻止特定的 MIME 类型回复,以便根据服务器的 MIME 类型回复的内容来阻止 HTTP 回复,例如图像、文本、HTML、flash、音乐、MPEG 等。例如,输入“video/Flv”将阻止 Youtube flash 视频内容,并且“application/x-javascript”会阻止“javascript”。
  3. 可以在Google GSuite 受限字段中输入允许使用 Google GSuite 的域。所有不属于此域的帐户都将被禁止使用。
  4. 可以将YouTube 过滤器字段设置为Moderate 或 Strict来限制Youtube内容。
  5. 可以添加允许的目标TCP端口
  6. 可以添加允许的SSL 端口
  7. 单击Apply

在 OPNsense-2 中为代理服务设置 ACL

图 17. 在 OPNsense-2 中为代理服务设置 ACL

可以使用正则表达式、逗号或按Enter 键来创建新项目。“mydomain.com”匹配“ .mydomain.com”;”https?://([a-zA-Z] ).mydomain.”匹配”http(s)://textONLY.mydomain.”; “.gif$” 匹配”.gif” ,但不匹配 “.giftest”;”[0-9] .gif$”匹配 “123.gif” 但不匹配 “test.gif”。

8.定义远程访问控制列表

在代理服务器中定义远程访问控制列表,按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 点击Remote Access Control Lists标签。
  3. 点击页面右下角的+按钮添加远程黑名单。

在 OPNsense 中为代理服务添加远程黑名单

图 18. 在 OPNsense中为代理服务添加远程黑名单

  1. 选中启用选项。
  2. 输入一个文件名来存储新的黑名单,例如StevenBlackListPorn
  3. 输入检索黑名单的 URL,例如:https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn-social/hosts
  4. 输入描述来说明该黑名单,例如StevenBlackList for social, fake news, gambling, and porn sites 
  5. 其他选项保留为默认值。

在 OPNsense 中编辑代理服务的远程黑名单

图 19. 在 OPNsense 中编辑代理服务的远程黑名单

  1. 单击Save存储设置。
  2. 单击Download ACLs & Apply获取并激活代理中新添加的远程黑名单。

下载与 在 OPNsense 中为代理服务应用远程 ACL

图 20. 在 OPNsense 中为代理服务下载和应用远程 ACL

下载远程黑名单后,可以通过单击带有笔图标的编辑按钮来编辑远程ACL。可以选择要使用的类别。它们用于基于类别的Web 过滤。

9.添加防火墙规则

必须添加防火墙规则来确保客户端无法绕过代理。由于所有客户端都必须通过端口 3128 上运行的OPNsense代理服务器访问 Internet,因此必须阻止所有发送到 80/433 端口的 HTTP(S) 请求。可以通过下面的四个主要步骤来阻止用户绕过代理服务器:

  1. 添加防火墙规则阻止端口 80 上的出站 HTTP 流量。
  2. 添加防火墙规则阻止端口 443 上的出站HTTPS 流量。
  3. 将新创建的规则移动到防火墙规则列表的顶部。
  4. 激活新的防火墙规则。

1. 添加防火墙规则,阻止80

按照以下步骤进行操作:

  1. 导航至Firewall> Rules
  2. 点击代理绑定的接口,如LAN
  3. 单击 按钮添加防火墙规则。
  4. 动作设置 为Block
  5. 接口设置为代理绑定的接口,例如LAN
  6. 协议设置为TCP/UDP
  7. 设置为LAN net

在 OPNsense 中添加防火墙规则以阻止端口 80 上的传出 HTTP 流量

图 21. 添加防火墙规则阻止端口 80 上的出站 HTTP 流量

  1. 目标端口范围设置为HTTP
  2. 选中Log packets that are handled by this rule来启用日志记录。
  3. 类别字段输入Block Proxy Bypass
  4. 描述字段输入Block HTTP Bypass
  5. 其他设置保留为默认。
  6. 点击页面底部的保存按钮

添加防火墙规则以阻止 OPNsense-2 中端口 80 上的传出 HTTP 流量

图 22. 添加防火墙规则阻止端口80上的出站 HTTP 流量

2. 添加防火墙规则,阻止443

按照以下步骤进行操作:

  1. 复制克隆上一步创建的规则。
  2. 目标端口范围设置为HTTPS
  3. 将描述字段更改为Block HTTPS Bypass
  4. 其他设置保留为默认设置。
  5. 点击页面底部的保存按钮

3. 将新建的规则移至列表顶部

刚才创建的两个规则位于防火墙列表的底部。必须将这些防火墙规则移到列表顶部,才能让客户端的 HTTP(S) 请求与它们匹配并被阻止。

移动防火墙规则以防止客户端绕过 OPNsense 中的代理服务器图 23. 移动防火墙规则防止客户端绕过 OPNsense中的代理服务器

4.激活防火墙规则

单击页面右上角的Apply Changes按钮来激活防火墙规则。

10.Windows客户端代理设置

  1. 在Windows 10任务栏的搜索框中输入“proxy(代理)”,打开系统的代理设置选项。Chrome浏览器,可以在SettingsAdvancedSystemOpen your computer's proxy settings打开系统代理选项。

在 Chrome 浏览器中访问代理服务器设置

图 24. 在 Chrome 浏览器中访问代理服务器设置

图 25. 在 Windows 10 客户端中访问代理服务器设置

  1. 点击代理
  2. 手动代理设置页面中切换使用代理服务器
  3. 地址字段中输入代理服务器 IP 地址,例如10.10.10.1.
  4. 端口字段中输入设置的代理服务器端口号,例如3128
  5. 单击Save激活设置。

在 Windows 10 客户端中设置代理

图 26. 在 Windows 10 客户端中设置代理

至此,代理服务器和客户端配置已完成。现在可以测试代理的设置了。

11.测试代理配置

按照以下步骤测试代理配置:

  1. 在客户的 PC 上打开浏览器。如果在代理设置中启用了身份验证,这会弹出一个类似于图 27 的用户身份验证对话框。

图 27. Windows 10 PC 中的代理客户端身份验证

  1. 在浏览器输入http://wizhumpgyros.com/地址,看是否能打开。由于该 URL在代理服务器的 StevenBlack 列表中,因此正常应该被阻止。

OPNsense 代理阻止访问远程黑名单站点

图 28. 访问远程黑名单站点在 OPNsense 代理中被阻止

  1. 导航到Service > Web Proxy > Access Log,会看到forwizhumpgyros.com的访问尝试。

在 OPNsense 代理中查看访问日志

图 29. 在 OPNsense 代理中查看访问日志

启用Web 过滤

OPNsense 通过利用内置代理和免费或商业黑名单执行基于类别的 Web 过滤。在本节中,我们使用Shalla的黑名单,它是按类别组织的URL列表的集合,与SquidGuard 或 Dansguardian等 URL 过滤器一起使用。它们可以免费用于个人和商业目的。

其他流行的网络过滤列表可以在https://github.com/maravento/blackweb找到。

通过配置远程访问控制列表和 Web 类别可以轻松地在OPNsense 代理服务中启用 Web 过滤。

在配置之前,需要按照上一节中的说明在OPNsense 中配置了基本缓存代理。

1.配置远程访问控制列表

按照以下步骤操作:

  1. 导航到Services Web Proxy > Administration
  2. 单击旁边的箭头Forward Proxy查看下拉菜单。
  3. 点击Remote Access Control Lists标签。
  4. 点击页面右下角 按钮添加远程黑名单。
  5. 选中启用选项。
  6. 输入一个文件名来存储新的黑名单,例如ShallaBlackList
  1. 输入要检索黑名单的 URL,例如:http://www.shallalist.de/Downloads/shallalist.tar.gz
  2. 输入描述来解释黑名单的用途,例如ShallaBlackList for category-based web filtering
  3. 其他选项保留为默认值。

在 OPNsense 代理服务中为基于类别的 Web 过滤添加 Shalla 的黑名单

图 30. 在 OPNsense 代理服务中为基于类别的 Web 过滤添加 Shalla 的黑名单

  1. 单击Save存储设置。
  2. 单击Download ACLs & Apply获取并激活代理中新添加的远程黑名单。

下载与 在 OPNsense 代理服务中为基于类别的 Web 过滤应用远程 ACL

图 31. 下载和应用远程 ACL,以在 OPNsense代理服务中进行基于类别的 Web 过滤

2.配置网页分类

下载远程黑名单后,按照以下步骤选择要使用的网页类别:

  1. 单击远程访问控制列表页面中新添加的黑名单旁边带有笔图标的编辑按钮。
  2. 默认情况下,在类别字段中选择所有Web 类别进行过滤。未选中的类别则允许用户根据需要访问它们。

选择要在 OPNsense 代理中阻止的 Web 类别

图 32. 选择要在OPNsense代理中阻止的 Web 类别

  1. 单击Save存储新设置。
  2. 再次单击Download ACLs下载并重建仅包含所选类别的列表。

3.测试网页过滤配置

我们假设在上一步中选择了要阻止的广告(adv)类别。可以按照以下步骤测试代理配置:

  1. 在客户的 PC 上打开浏览器。
  2. 通过浏览器打开trafficcenter.com
  3. 由于该 URL在Stalla 的黑名单中,因此应该会被阻止。

在 OPNsense 代理中访问 Adv 类别被阻止

图 33. 访问 Adv类别在 OPNsense代理中被成功阻止

  1. 导航到Service > Web Proxy > Access Log,会看到trafficcenter.com的访问尝试。

在 OPNsense 代理中查看访问日志

图 34. 在 OPNsense 代理中查看访问日志

启用透明 SSL 模式

可以将OPNsense 代理服务器配置为以透明模式运行。这样客户端的浏览器就不需要为网络代理进行任何配置了。所有网络流量都通过网络地址转换自动路由到代理。

在本节中,将介绍如何在OPNsense中配置HTTP和HTTPS(SSL bump)透明代理模式。

注意:使用透明 HTTPS 代理会存在一定的危险,并且可能会让服务受到限制,例如电子商务,因为透明 SSL/HTTPS 代理模式利用了一种称为中间人的方法。如果对自己的能力有信心,可以放心配置和使用透明模式。如果配置错误,那么网络安全可能会被严重削弱。

通过以下 5 个主要步骤来启用透明SSL 模式:

  1. 创建证书颁发机构
  2. 禁用代理服务器的身份验证
  3. 启用透明 HTTP 和 SSL 模式
  4. 配置No SSL Bump
  5. 为 HTTP(S) 添加 NAT 防火墙规则
  6. 配置代理客户端
在进行后面的步骤之前,确保已经配置了基本缓存代理。

1.创建证书颁发机构

在代理服务器中启用透明 SSL 模式之前,如果没有内部证书颁发机构,则需要创建一个内部证书颁发机构。这里不再赘诉。

2.禁用代理服务器

在透明模式下操作时,代理身份验证无法完成。由于浏览器不知道正在使用代理,因此无法响应代理身份验证请求。按下面的步骤更改身份验证方法:

  1. 导航到Services Web Proxy > Administration
  2. 单击旁边的箭头Forward Proxy查看下拉菜单。
  3. 点击Authentication Settings
  4. 身份验证方法字段中单击Clear All清除所有身份验证方法。

3.启用透明HTTP和SSL模式

按照下面的步骤启用透明 HTTP 模式:

  1. 导航到Services Web Proxy > Administration
  2. 单击General Forward Settings页面上Forward Proxy选项卡上。
  3. 选中启用透明HTTP代理选项。
  4. 选中启用SSL检查选项。
  5. 单击Apply按钮应用设置。

在 OPNsense 代理中启用透明 HTTP 和 SSL 模式 图 35. 在 OPNsense 代理中启用透明 HTTP和 SSL模式

4.配置No SSL Bump

为确保已知站点不会被拦截并保留其原始安全层,按照下面的步骤将它们添加到SSL no bump sites字段,包括所有子域:

  1. 导航到Services Web Proxy > Administration
  2. 单击General Forward Settings页面Forward Proxy选项卡。
  3. 将域输入SSL no bump sites,然后按 Enter。

包含所有子域,必须以.(点)开头,例如:如.paypal.com.google.com.amazon.com.hsbc.com

注意:在此字段中确保包含需要提供的个人信息的所有银行网站和及其他网站。

5.添加 NAT 防火墙规则

按照以下步骤为 HTTP(S) 添加 NAT 防火墙规则:

  1. 导航到Services Web Proxy > Administration
  2. 单击General Forward Settings页面Forward Proxy选项卡。
  3. 单击启用透明 HTTP 代理选项左侧的 (i) 图标,会展开该选项的详细说明。
  4. 单击添加新的防火墙规则链接。将会重定向到FirewallNAT>Port Forward设置页面。

OPNsense proxy-1 中透明 HTTP 模式的 NAT 防火墙规则

图 36. OPNsense proxy-1 中透明 HTTP模式的 NAT防火墙规则

OPNsense proxy-2 中透明 HTTP 模式的 NAT 防火墙规则

图 37OPNsense proxy-2中透明 HTTP 模式的 NAT 防火墙规则

  1. 单击Save按钮。
  2. 导航到Services Web Proxy > Administration
  3. 单击General Forward Settings页面Forward Proxy选项卡。
  4. 单击启用 SSL 检查选项左侧的 (i) 图标。会展开该选项的详细说明。
  5. 单击添加新的防火墙规则链接。将会直接重定向到FirewallNAT>Port Forward设置页面。

OPNsense proxy-1 中透明 SSL 模式的 NAT 防火墙规则

图 38. OPNsense proxy-1 中透明 SSL 模式的 NAT 防火墙规则

OPNsense proxy-2 中透明 SSL 模式的 NAT 防火墙规则

图 39.OPNsense proxy-2 中透明 SSL 模式的 NAT 防火墙规则

  1. 单击Save按钮保存设置。
  2. 单击Apply Changes激活设置。

OPNsense 代理中透明 HTTP/SSL 模式的 NAT 防火墙规则

图 40.OPNsense 代理中透明 HTTP/SSL 模式的 NAT 防火墙规则

6.配置代理客户端

由于浏览器不信任设置的内部 CA,打开网页将会收到类似下图的警告消息:

图 41. ERR_CERT_AUTHORITY_INVALID 警告消息

要解决该问题,必须在客户端操作系统中添加 CA 证书作为受信任的Root CA 证书。您可以按照以下步骤将密钥导入 Windows 10 PC 并将其设置为受信任的Root CA 证书:

  1. 导航到System>Trust>Authorities
  2. 单击下载图标导出 CA 证书。

在 OPNsense UI 中导出 CA 证书

图 42. 在 OPNsense UI 中导出 CA 证书

  1. 将 CA 证书复制到客户端 PC。
  2. 使用 Windows 10 PC 中的 MMC 工具将 CA 证书导入为受信任的Root CA证书。在搜索栏中输入mmc并按 Enter 键运行 Microsoft Management Control。
  3. 单击File菜单并选择Add/Remove Snap-in

图 43. 添加/删除管理单元 

  1. 现在在可用的管理单元下,单击证书,然后单击添加。证书管理单元允许您为自己、服务或计算机浏览证书存储的内容。
  2. 单击确定。

添加证书管理单元 Microsoft 管理控制

图 44. 添加证书管理单元

在下一个对话框中,选择计算机帐户,然后单击下一步。

图 45. 为计算机帐户添加证书管理单元

  1. 现在选择本地计算机并单击完成。

图 46. 为本地计算机添加证书管理单元

  1. 现在,回到MMC,在控制台树中,双击Certificates,然后右键单击 Trusted Root Certification Authorities Store。在所有任务下,选择导入。这将打开证书导入向导。

将证书导入为受信任的根 CA

图 47. 将证书导入为受信任的根 CA

图 48. 证书导入向导-1

  1. 单击Next按钮。
  1. 浏览并选择要导入的 CA 证书,然后单击Next按钮。

图 49. 在证书导入向导中选择要导入的证书文件

  1. 点击下一步。

图 50. 在证书导入向导中选择证书存储

  1. 单击Finish按钮完成证书导入。导入操作成功完成后,会出现一个对话框。

图 51. 完成证书导入向导

图 52.CA 证书导入成功完成。

  1. 单击确定。

在 Windows 10 客户端中作为受信任的根 CA 证书导入的内部 OPNsense CA 证书

图 53. 在 Windows 10 客户端中作为受信任的根 CA 证书导入的内部 OPNsense CA 证书

这样就解决了浏览器访问HTTPS网站出现警告的问题。

原文地址