OPNsense配置CloudFlare动态域名,使用Let’s Encrypt证书实现SSL安全访问

本文摘要使用 Let's Encrypt 为 OPNsense 防火墙配置 SSL 证书(DNS-01 质询)通过配置 CloudFlare 动态域名,可以方便地远程访问 OPNsense 防火墙,但在没有设置 SSL 签名证书的前提下,每次登录都会提示连接不安全。本文将介绍使用 Let's Encrypt 免费为防火墙自动创建 SSL 证书,通过 DNS-01 质询方法自动验证并自动续订 SSL 证书。...

使用 Let's Encrypt 为 OPNsense 防火墙配置 SSL 证书(DNS-01 质询)

通过配置 CloudFlare 动态域名,可以方便地远程访问 OPNsense 防火墙,但在没有设置 SSL 签名证书的前提下,每次登录都会提示连接不安全。本文将介绍使用 Let's Encrypt 免费为防火墙自动创建 SSL 证书,通过 DNS-01 质询方法自动验证并自动续订 SSL 证书。使用该方法不需要开放防火墙的 80、443 端口。

前提条件

  • 有公网 IP。
  • 已经在 CloudFlare 注册了顶级域名。

设置动态域名

访问 CloudFlare,为防火墙添加一条二级域名 A 记录。IPv4 地址可以随便输入,因为后面可以通过 OPNsense 防火墙的动态域名程序自动修改,代理选项暂时不选。本示例设置的动态域名为 opnwall.pfchina.site

CloudFlare 中添加 A 记录的界面截图

回到 OPNsense 防火墙,转到 系统 > 固件 > 插件 选项卡,安装 acmeddclient 插件。

安装 acme 和 ddclient 插件的界面截图

转到 服务 > 动态DNS,添加 CloudFlare 动态域名条目,输入用户名、密码、区域、主机名等信息。注意,密码输入 CloudFlare 账户的 Global API Key。

添加 CloudFlare 动态域名条目的配置页面

CloudFlare 上的 Global API Key 查看位置。

CloudFlare 后台显示 Global API Key 的截图

常规设置 选项卡上,选中 启用,然后点击下面的 应用 按钮。

启用动态 DNS 服务的设置页面

回到 CloudFlare 的 DNS 设置,如果设置正确,添加的 A 记录会获取到防火墙 WAN 地址。

设置防火墙规则

由于运营商封闭了 80、443 端口,需要将防火墙默认访问端口修改为外网可访问的端口,本示例使用 5678 端口。

转到 防火墙 > 规则 > WAN 接口,开放 WAN 接口上 5678 端口。为了保证安全,该规则的源地址应限定安全范围。

WAN 接口开放 5678 端口的防火墙规则配置截图

调整系统设置

转到 系统 > 设置 > 管理,将默认访问端口修改为 5678,协议选 https。在 备用主机名 里输入动态域名,或选中 禁用 DNS 重绑定检查 选项,以避免触发防火墙的登录保护。

系统管理设置中修改端口和 SSL 相关选项的截图

设置完成以后,输入 https://opnwall.pfchina.site:5678,可以远程访问防火墙,只不过因为没有配置 SSL 证书,还处于没挂锁的状态。

浏览器地址栏显示未挂锁的 HTTPS 连接状态截图

SSL 证书设置

导航到 服务 > Acme 客户端 > 帐户,添加一个帐号,输入相关信息,并点击保存。

添加 Acme 客户端账户的配置页面

导航到 服务 > Acme 客户端 > 挑战类型,添加 CloudFlare 域名挑战类型。挑战类型选 DNS-01,不需要开放 80、443 端口就可以申请证书。输入域名的其他相关信息,然后点击保存。

添加 DNS-01 挑战类型的配置页面截图

导航到 服务 > Acme 客户端 > 自动操作,添加一条自动化命令,在证书到期时自动重新续签。

添加自动化续签操作的配置页面

单击 证书 菜单,点击右下角 添加 按钮添加证书。输入证书的通用名称、备用名称,选择 ACME 帐号、挑战类型,选中 自动操作 选项。然后点击底部的保存按钮。

添加 SSL 证书的表单配置页面

然后单击 颁发/续订所有证书 按钮,这需要一些时间,大概两分钟左右。

点击颁发或续订证书的按钮界面

申请成功后,转到 系统 > 证书 > 发行 菜单,会多出一个 CA。

证书发行列表中显示的 Let's Encrypt CA

证书 菜单,会多出一个 Acme 创建的证书。

证书列表中显示出新颁发的 SSL 证书

吊销 菜单,会看到 Acme 吊销列表。

Acme 吊销列表界面截图

回到 服务 > ACME 客户端 > 设置 选项卡,选中 启用插件自动续订 两个选项并点击应用。

Acme 客户端设置中启用插件和自动续订的截图

转到 更新任务 选项卡,添加一个定时任务,用于启动证书更新。

添加定时更新任务的具体配置页面

添加完成以后,在 系统 > 设置 > 任务 菜单,可以看到新加的定时任务。

任务列表中显示的证书更新定时任务

最后转到 系统 > 设置 > 管理,在 SSL 证书 选项下拉菜单中选择由 Acme 创建的 SSL 证书,然后单击保存。

系统管理设置中选择已颁发的 SSL 证书

刷新一下浏览器,挂锁成功!

浏览器地址栏显示已挂锁的安全连接状态

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~