雷池WAF高效防御10w+CC攻击实战|博客服务器安全防护解决方案
一、事件起因
我的博客经常打不开宝塔面板或者突然cpu100%,这让我不得不做出防护措施!原本想法是:使用1panel专业版的waf,正好有hz推荐的文章,准备入手一个买断版本,但是我安装完成后发现1panel部署typecho好像也是容器化(我本意是迁移数据,我已经准备好【sql文件】和【usr压缩包】),导致我半夜搞不懂怎么导入数据库文件和选择数据库文件。(简而言之,1panel在面板里面设置typecho安装流程,安装的mysql不知道如何管理)加上,我还有一个香港服务器闲置,于是打算使用雷池WAF部署在闲置服务器2H2G中,博客在4H4G的另外一个服务器中。
二、迁移和防护过程
由于兜兜转转换面板,我还是使用宝塔的LNMP环境,于是先做类似服务器迁移的步骤:
- 安装宝塔:
宝塔面板下载,免费全能的服务器运维软件
我服务器是【Debain系统】,选择一键命令:
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec
注意: 服务器厂商提供的宝塔面板一键安装可能并不完整,特别是应用商店。面板的链接和账号密码注意安全保管。
- 选择LNMP环境
- 添加PHP站点
填写站点信息,可以不创建数据库。 - 数据库添加
添加数据库,比如Typecho。管理数据库【可能需要安装phpadmin】,在数据库Typecho选择后,右上的一行中选择导入,选择已经准备好的sql文件,默认选项,导入。 - 回到站点,将typecho的压缩包解压,将准备好的usr压缩包解压覆盖,设置好ssl和域名【注意选择强制https和伪静态设置】。
- 通过域名安装typecho,填写导入过旧数据的数据库,如果提示,是否选择原有数据库,选择即可。
注意:如果出现后台404,可能伪静态没有设置好:
[post cid="580" /]
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
- 宝塔面板安全保护:
三、准备雷池WAF的服务器
- 选择一键安装命令:
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"
当然,如果你不想使用另外服务器,也可以选择博客所在服务器:
但是需要换掉80和443端口,这篇文章不讲这些。
- 安装好后记录账户密码。
- 登录后,进行操作:添加域名的ssl证书在设置里面【复制粘贴宝塔面板一样的】,应用设置里面添加应用【域名、证书、80端口{ssl不选择}、443端口{ssl选择}、博客服务器的ip{面板开ssl就要https://ip就行了,不要添加端口!}】
四、展示被攻击记录: