在OPNsense上,可以通过添加nginx插件来保护内部网络和Web服务器。
安装插件
请按照以下简单步骤操作:
访问OPNsense防火墙Web gui:
进入菜单:系统:固件:插件
找到os-nginx插件,然后单击安装[+]
初始配置
在配置之前,我们需要了解一些术语:
上游服务器:将托管网页/应用程序的真实网络服务器;
上游:将在其中配置服务器的后端;
位置:应该配置了上游功能的网址格式;
HTTP 服务器:应该配置一个或多个位置的前端;
配置将从上游服务器配置开始:
要进行初始配置,请转到Nginx配置菜单:
1、上游服务器
点击添加按钮
服务器参数将取决于您的Web服务器/应用程序和网络环境。为了获得更好的保护,建议在“ 最大连接数/失败次数”和“ 失败超时”中设置一些限制。
2、上游
点击添加按钮
选择上一步中配置的上游服务器
在上面的示例中,我们没有在后端使用TLS。
配置的上游如下所示:
3、下载NAXSI(WAF)规则
关于NAXSI:从技术上讲,它是第三方nginx模块,可作为许多类似UNIX的平台的软件包使用。默认情况下,该模块读取一小部分简单(可读)规则,其中包含与网站漏洞有关的99%的已知模式。例如, <, | 或 drop不应该是一个URI的一部分。
在进行配置之前,我们需要下载Naxsi规则,在后面的“位置”配置中启用该规则。
转到子菜单:
单击下载按钮来获取NAXSI规则
必须接受NAXSI存储库许可证才能下载规则
下载过程完成后,将显示获得的规则列表。
4、位置
创建一个新位置:
位置子菜单
点击添加按钮
说明:填入您需要说明的内容;
URL模式:要与您的Web服务器根目录匹配,请用“/”填充。要与另一个路径匹配,请将其更改为“/ anotherpath /”;
启用安全规则:此选项启用WAF保护。结合使用“自定义安全策略”,您将能够保护您的网站免受指定策略(规则组)的侵害;
学习模式:在此模式下,插件将不会阻止与所选策略匹配的请求,而只会记录请求。在开始阻止请求之前,调整自己的白名单规则是个很好的方法。
5、 HTTP服务器
最后,创建您的网站前端:
点击添加按钮
服务器名称:您网站的FQDN名称;
位置:在上一步中创建的位置;
TLS证书/CA证书/启用加密插件:如果要(应该)在网站中启用HTTPS(TLS),则这些选项需要使用TLS和CA证书(如果您已经有一个有效证书)进行配置,或者您可以安装和配置“ Let\’s Encrypt”插件,该插件将免费为您创建这些插件。
6、 OPNsense配置调整
要启用我们的nginx服务而不会出现端口冲突问题,还需要调整一些webgui配置。
注意:在更改以下配置之前,请确保您可以从LAN接口访问OPNsense或添加所需的规则!
转到系统:设置:管理菜单
更改Webgui HTTPS端口并禁用HTTP重定向规则(端口80)
返回菜单服务:Nginx:配置并启用服务:
选中启用,然后单击应用按钮
应用配置后,服务将启动并运行
最后一步是创建所需的防火墙规则,以允许所需网络接口(可能是WAN)上的HTTP / HTTPS通信。
至此,配置完成!