当前位置:   article > 正文

飞致云1panel + 雷池WAF(旧版本,已更新新文章见主页)_1panel waf

1panel waf

可能有许多人都有这个需求:为自己的个人站点套上WAF,增加安全性,本文将介绍如何将1panel面板深度结合长亭雷池防火墙实现为个人站点套上WAF并且自动续签ssl证书。

前提条件:

  1. 服务器IP已绑定域名

  2. 完整的1panel环境

  3. 1panel未安装OpenResty

  4. 支持 TOTP 的认证软件,如腾讯身份验证器谷歌身份验证器微软身份验证器FreeOTPBitwarden

安装OpenResty

如图找到OpenResty,点击安装。
在这里插入图片描述

在安装配置页注意:修改HTTP/HTTPS的默认端口,后期WAF对外使用会占用80,443端口。这里改为180,1443,点击确认安装OpenResty。

在这里插入图片描述

此处安装取决于服务器连接 dockerhub 的速度,若为国内服务器或速度过慢,可在容器-配置-镜像加速中填入如下配置:

https://dockerproxy.com
https://hub-mirror.c.163.com
https://docker.m.daocloud.io
https://ghcr.io
https://mirror.baidubce.com
https://docker.nju.edu.cn
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

站点搭建

如图,按照顺序点击创建网站

在这里插入图片描述

静态网站搭建

点击创建静态网站主域名填写站点域名其他域名填写 127.0.0.1:任意未占用端口,如此处127.0.0.1:10000,点击确定创建静态网站。

在这里插入图片描述

反向代理网站搭建

反向代理本机的各种工具类站点,以Alist为例,安装时若未选择 端口外部访问,1panel会将其服务端口映射到127.0.0.1而非0.0.0.0,故适合使用反向代理搭建。

在这里插入图片描述

主域名填写站点域名其他域名填写 127.0.0.1:任意未占用端口,如此处127.0.0.1:10001,点击确定创建反向代理。

在这里插入图片描述

运行环境(PHP)网站搭建

PHP站点的搭建,需要先创建运行环境,如下图:

在这里插入图片描述
在这里插入图片描述

等待安装PHP环境

在这里插入图片描述

当状态转为正常时即安装完毕。

点击创建网站,选择运行环境主域名填写站点域名,其他域名填写 127.0.0.1:任意未占用端口,如此处127.0.0.1:10003,点击确定创建反向代理。

在这里插入图片描述

一键部署网站搭建

一键部署参考此处https://docs.halo.run/getting-started/install/1panel/,注意其他域名填写 127.0.0.1:任意未占用端口

证书申请

创建Acme账户

如图,按此顺序创建ACME账户

在这里插入图片描述

创建DNS账户

参考 1panel官方文档 创建DNS账户

申请证书

参考 1panel官方文档 申请证书

部署证书

在部署好的站点中,点击配置,点击基本HTTPS启用HTTPS,将HTTP选项修改为HTTP可直接访问,下方选择对应证书后保存。

在这里插入图片描述
在这里插入图片描述

获取证书文件

进入网站目录,进入SSL文件夹,下载保存fullchain.pemprivkey.pem两个文件备用。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

部署长亭雷池WAF

长亭雷池的安装可参考该文:https://waf-ce.chaitin.cn/docs/guide/install,注意雷池要求CPU支持ssse3指令集

我在此选择一键安装,安装到/opt/safeline

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
  • 1

在这里插入图片描述

成功安装后显示如下:
在这里插入图片描述

使用https://IP:9443访问WAF

在这里插入图片描述

使用支持TOTP的认证软件进行认证

在这里插入图片描述

添加证书

如图,在通用配置-证书管理添加证书,上传之前下载的证书文件。
在这里插入图片描述
在这里插入图片描述

站点通用配置

如图,在通用配置-其他站点通用配置,根据需求开启,我这里全部开启。
在这里插入图片描述

添加防护站点

如图,在防护站点中,添加站点根据需求配置,上游服务器填写1panel****的OpenResty配置的其他域名,提交。

其他网站同理。

在这里插入图片描述

测试访问

在这里插入图片描述

自动更新雷池WAF的SSL证书

如下图,在1panel中添加计划任务,添加shell脚本,脚本内容及解析见下。

在这里插入图片描述

sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/fullchain.pem  /opt/safeline/resources/nginx/certs/cert_1.crt
# 从域名的ssl目录下复制证书到safeline的nginx目录下,替换原有证书,该证书用于雷池的防护站点
sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/privkey.pem  /opt/safeline/resources/nginx/certs/cert_1.key
# 从域名的ssl目录下复制密钥到safeline的nginx目录下,替换原有密钥,该密钥用于雷池的防护站点
sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/fullchain.pem  /opt/safeline/resources/management/certs/server.crt
# 从域名的ssl目录下复制证书到safeline的nginx目录下,替换原有证书,该证书用于雷池的管理站点,可不设置使用自签证书
sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/privkey.pem  /opt/safeline/resources/management/certs/server.key
# 从域名的ssl目录下复制密钥到safeline的nginx目录下,替换原有密钥,该密钥用于雷池的管理站点,可不设置使用自签密钥
sudo docker restart safeline-tengine
# 重启safeline的nginx服务,使证书生效
sudo docker restart safeline-mgt-api
# 重启safeline的管理api服务,使证书生效
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

防护

为保证网站流量均从WAF进入,在1panel中开启防火墙,具体可参考官方文档,屏蔽掉之前配置的OpenResty的默认端口。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/672044
推荐阅读
相关标签
  

闽ICP备14008679号