前言
这篇文章的来源是想自己搭一个自己的博客系统用来存笔记,但是由于我本身是个开发,并不是很了解运维相关的事情,所以在此基础上记录一下遇到的问题以及踩到的坑。
技术选型
需求:
- 能够页面操作与运维机器;
- 能够帮助我快速部署论坛;
- 需要一个免费的,傻瓜式的waf防火墙。
选择宝塔以及雷池社区版的原因:
- 宝塔页面十分强大,可以比较快的上手;
- 宝塔内置了大量的开源网站模板供我选择;
- 雷池社区版是商业产品的开源版本,效果应该有保证;
- 雷池社区版有社区讨论群,并且有官方人员在群里解答问题;
- 雷池社区版有中文官方网站以及文档(ModSecurity的中文社区好久没更新了。。。
雷池社区版Github链接 https://github.com/chaitin/safeline
宝塔Github链接 https://github.com/aaPanel/BaoTa
部署宝塔
这部分已经有很完善的文档以及教程了,我使用的是官方版。
https://www.bt.cn/bbs/thread-19376-1-1.html
准备环境并且部署wordpress
首先,点击网站,然后会自动弹出套件安装的页面,我在这里选的是LNMP,选择极速安装(其实一点也不快,2c4g 100m带宽的阿里云北京机器也装了半小时。。。)。
选择LNMP,然后极速安装
安装完成后,我们点击PHP项目tab下的添加站点,之后选择一键部署,这里我们需要填写我们的域名,如果没有准备配置域名可以直接使用服务器的ip。但是,这里注意,由于后面需要部署waf,所以端口需要改为非80、443端口。
我选择了example.com作为测试域名,并且我让服务监听了8088,给waf留出80或443
等待安装完成之后,会弹出数据库的用户名以及密码。我们就可以访问http://example.com:8088 (这里我手动改了一下我的/etc/hosts来做临时测试用)来访问wordpress了。
数据库密码记得存好,之后配置wordpress时需要配置对
选择简体中文
这里填写上面宝塔面板帮我们创建的数据库的信息
如上
到此,wordpress基本上就部署完成了,我们接下来部署waf。
部署waf
部署是按照官方教程部署的,两条命令搞定。
部署雷池官方教程链接:https://waf-ce.chaitin.cn/posts/guide_install
然后访问服务器的9443端口,
感觉确实安全是安全了,但是好麻烦还得下载TOTP认证软件到手机上
绑定完成之后,直接登陆,然后配置防护站点,配置如下,
80端口提供http,指向本地的8088 wordpress端口
443打开ssl配置上传ssl证书,同样指向本地的8088 wordpress端口
然后,我们来试试能否正常访问,
明明访问的是https://example.com,但是被301到了8088
查了一下资料,需要在wordpress后台更改site-address,可以参考这篇文章:
https://wordpress.org/support/topic/mixed-content-43/
测试一下waf的效果
访问https://example.com/id=1 or 1=1,返回403,看上去是waf是生效了!
总结
宝塔里面的配置确实是能帮我们加快部署,但是确实隐藏了太多的细节,如果需要diy一些东西就很难。