Linux服务器安装Linux宝塔面板并部署wordpress网站以及雷池WAF,设置禁止使用IP地址访问网站,只能使用域名访问网站

一、Linux服务器安装Linux宝塔面板

这个步骤参考网上其他教程。

二、Linux宝塔面板部署wordpress网站

这个步骤参考网上其他教程,保证网站能够正常访问,并且使用Linux宝塔面板申请并部署了SSL证书,使用https协议默认443端口正常访问网站。

三、Linux宝塔面板部署雷池WAF

本教程wordpress网站使用SSL证书,采用https访问,雷池WAF作为反向代理防护网站使用443端口和80端口,因此需要修改Linux宝塔面板部署wordpress网站SSL证书时使用的443端口为其他端口,例如38443;Linux宝塔面板占用的80端口修改为其他端口,例如3880。可以自定义端口(范围1024~65535)。

1.安全策略放行端口
在服务器安全组中和Linux宝塔面板安全策略中放行38443(https更改端口)、3880(http更改端口)、9443(雷池WAF默认端口)。

2.查看nginx服务配置文件路径
登陆Linux宝塔面板,“网站”=>双击“Nginx”图标,在弹出框中,选择“配置修改”。在最下面,有nginx服务配置文件路径,如下图所示:

3.修改网站nginx配置文件152.32.129.190.conf
使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,切换到nginx服务配置文件所在目录,并编辑网站配置文件152.32.129.190.conf,修改80端口为3880端口,修改443端口为38443端口,并保存。如下图所示:

4.修改网站nginx配置文件phpfpm_status.conf
使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,切换到nginx服务配置文件所在目录,并编辑网站配置文件phpfpm_status.conf,修改80端口为3880端口,并保存。如下图所示:

5.修改网站nginx配置文件0.default.conf
使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,切换到nginx服务配置文件所在目录,并编辑网站配置文件0.default.conf,修改80端口为3880端口,并再添加一个server块,用于雷池WAF把80端口和443端口数据流量映射到59443端口,如果通过服务器IP地址直接访问网站,则返回403,这样就可以禁止使用IP地址访问网站,只能使用域名访问网站,最后保存文件。如下图所示:

由于网站启用了SSL证书,需要在该配置文件0.default.conf中指定自己网站使用的SSL证书的路径,该路径可以在/www/server/panel/vhost/nginx目录中的152.32.129.190.conf配置文件中查找到。(如果网站根目录使用服务器IP地址,就是服务器IP.conf配置文件)。修改0.default.conf配置文件前,先备份一下该文件。

6.添加域名和端口
在Linux宝塔面板中,“网站”=>双击“网站名152.32.129.190”=>“域名管理”,添加自己的域名:端口,如下图所示:

7.添加域名301重定向
在Linux宝塔面板中,“网站”=>双击“网站名152.32.129.190”=>“重定向”=>“添加重定向“。
重定向类型:域名,重定向方式:301(永久重定向),重定向域名:ceshi.com,目标url:https://www.ceshi.com,这样在浏览器中输入不带www域名ceshi.com,就会重定向到带www域名https://www.ceshi.com,如下图所示:

8.重启nginx服务和php服务
在Linux宝塔面板中,软件商店中的“已安装”。重启nginx服务和php服务。如下图所示:

9.安装docker和docker-compose
使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,安装docker和docker-compose

雷池WAF社区版官网:https://waf-ce.chaitin.cn/
可以使用自动安装方式,安装成功后,会有提示登陆雷池WAF网址、账户、密码

10.雷池WAF添加Linux宝塔面板中部署的SSL证书
登陆雷池WAF,“防护站点”=>“证书管理“,添加自己Linux宝塔面板中部署的SSL证书信息。

11.雷池WAF添加站点信息
在雷池WAF中,“防护站点”=>“站点管理“,添加站点。如下图所示:
添加域名,选择80端口、443端口(勾选SSL),选择上一步骤添加的证书,上游服务器:https://127.0.0.1:38443

这一步设置完成后,使用带www域名https://www.ceshi.com访问网站,如果出现“重定向不正确”或“重定向次数过多”的错误提示,不能正常访问网站。需要把Linux宝塔中部署的SSL关闭强制HTTPS

12.查看雷池WAF是否部署成功
登陆雷池WAF可以看到有攻击信息并拦截,说明雷池WAF部署成功。

13.雷池WAF修改默认设置
在“防护配置”模块下可以修改雷池WAF默认一些设置:

14.在浏览器测试使用IP地址不能访问网站,而使用域名可以正常访问网站。
14.1)、使用https://IP访问,IP地址不能访问,如下图所示:

14.2)、使用http://IP访问,IP地址不能访问,如下图所示:

14.3)、使用不带www域名ceshi.com和带www域名www.ceshi.com都可以正常访问网站。