无成本给网站服务器加入高可靠的WAF防护

投稿   树懒先生  2018-12-20 07:18:04  389 人阅读  28 条评论

据可靠的新闻网数据显示,阿里巴巴每天被黑客攻击的次数高达三亿多次。跨站攻击、CC 攻击DDOS 攻击,甚至还有些站长遭遇了“可怕的”刷流量,作为一个普通的小站长,十几二十块钱瞬间没有的滋味实在是不舒服。攻防就像是天平两端的两个物件,一直是你多我增的趋势,从诞生之日起就摇摆不定。话不多说,今天树懒先生告诉大家如何利用 NGINX-LUA 给服务器添加高可靠的 WAF 防护。

无成本给网站服务器加入高可靠的WAF防护 - 第1张 - boke112导航(boke112.com)

什么是 WAF?

WAF 就是 Web 应用防护系统(Web Application Firewall),翻译过来就是网站应用级入侵防御系统,他的工作原理是通过执行一系列针对 HTTP(80 端口)或者HTTPS(443 端口)的安全策略来阻止不正经的访问,比如跨站攻击等。

自从军哥的LNMP更新到 1.5 以后 LNMP 配置中添加了 Enable_Nginx_Lua='y'选项,也就是支持一键安装 Nginx_Lua 了,这对于像树懒先生这样水平的站长简直就是福利啊。在默认状态中这个选项应该是“n”的,所以我们需要在服务器的/root/lnmp1.5 目录下更改 lnmp.conf 文件中的 Enable_Nginx_Lua='n'为 Enable_Nginx_Lua='y',然后我们重新编译一下 NGINX 具体代码如下:

//进入服务器 SSH 控制台,依次执行以下命令
cd lnmp1.5
./upgrade.sh nginx

无成本给网站服务器加入高可靠的WAF防护 - 第2张 - boke112导航(boke112.com)

接下来输入括号中的版本号,进行重新编译。树懒先生用的是 1.14 版本,片刻后已经编译完成,接下来我们 wget 一下 lua 的文件到服务器,在控制台执行一下代码:

wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip

解压缩,并移动到我们需要的目录去

unzip master.zip
mv ngx_lua_waf-master/* /usr/local/nginx/conf/waf/

我们将服务器/usr/local/nginx/conf/waf/目录下的 config.lua 下载到本地,这个是 WAF 的配置文件,图中是树懒先生的配置。

无成本给网站服务器加入高可靠的WAF防护 - 第3张 - boke112导航(boke112.com)

下面将完整的配置代码贡献出来了,直接覆盖 config.lua 就可以了

RulePath = "/usr/local/nginx/conf/waf/wafconf/"
attacklog = "on"
logdir = "/usr/local/nginx/logs/hack/"
UrlDeny="on"
Redirect="on"
CookieMatch="on"
postMatch="on"
whiteModule="on"
black_fileExt={"php","jsp"}
ipWhitelist={"127.0.0.1"}
ipBlocklist={"1.0.0.1"}
CCDeny="on"
CCrate="500/60"
html=[[
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>网站防火墙</title>
<style>
p {
line-height:20px;
}
ul{ list-style-type:none;}
li{ list-style-type:none;}
</style>
</head>
<body style=" padding:0; margin:0; font:14px/1.5 Microsoft Yahei, 宋体,sans-serif; color:#555;">
<div style="margin: 0 auto; width:1000px; padding-top:70px; overflow:hidden;">
<div style="width:600px; float:left;">
<div style=" height:40px; line-height:40px; color:#fff; font-size:16px; overflow:hidden; background:#FF0000; padding-left:20px;">树懒先生的 WAF 安全防火墙</div>
<div style="border:1px dashed #cdcece; border-top:none; font-size:14px; background:#fff; color:#555; line-height:24px; height:220px; padding:20px 20px 0 20px; overflow-y:auto;background:#f3f7f9;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#fc4f03;">您的请求带有不合法的参数,已被 WAF 安全防护自动拦截!</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">可能原因:您提交的内容包含危险的攻击请求</p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;">如何解决:</p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1)检查提交内容是否合法;</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2)立刻使用杀毒软件全盘杀毒并刷新重试;</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3)如为普通网站访客,请联系 树懒先生 处理:mail@mecrr.com。</li></ul>
</div>
</div>
</div>
</body></html>
]]

这还不算完,我们看到 logdir = "/usr/local/nginx/logs/hack/"  一项中我们开启了日志,所以还要最后执行一下代码。一般 WAF 都会输出日志,如果不需要日志只需要将 attacklog 一项调成 off 即可,然后忽略下面的代码:

mkdir -p /usr/local/nginx/logs/hack/
chown -R www:www /usr/local/nginx/logs/hack/
chmod -R 755 /usr/local/nginx/logs/hack/

最后重启 NGINX 即可,LNMP 可以执行这个代码重启 lnmp restart,我们进入一个不正常的链接,便会发现被阻止了,而且还会出现如图所示的警告信息:

无成本给网站服务器加入高可靠的WAF防护 - 第4张 - boke112导航(boke112.com)

树懒先生说句良心话,其实CDN所谓的 WAF 都是表面功夫,一旦暴露真实 IP 立刻凉凉,前两天树懒先生就发现有些站长的SSL 检测链接直接暴露了真实 IP,抱着试一下的心态顺着 IP,树懒先生还顺利进入了数据库后台...话说这站长也不改一下默认 root 密码,还好树懒先生没有恶意,要不然后果真的不敢想,还真是百密一疏啊。

您可能感兴趣的文章

文章标签: ,   ,  
原文地址:https://www.mecrr.com/add-waf-to-your-server.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 树懒先生 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
©boke112导航,本站推荐使用:阿里云 ECS服务器等云产品服务,国外免备案主机建议使用:老薛主机
公共账号

阿里云专题 腾讯云专题虚拟主机专题WPS专题

 发表评论

大笑表情偷笑表情鼓掌表情思考表情疑问表情抠鼻表情抓狂表情晕表情黑线表情流汗表情流泪表情囧表情衰表情围观表情OK表情牛表情

  1. 叙旧
    叙旧 @回复

    rmb玩家,

  2. 唯心寒辞
    唯心寒辞 @回复

    无法绝对隐藏真实IP,获取真实IP的手段太多,只能平时注意防护了

  3. 异星软件空间
    异星软件空间 @回复

    膜拜下!的 [强]

  4. wordpress建站吧
    wordpress建站吧 @回复

    我发现阿里官方的WAF服务价格都很贵 啊

  5. 猫鼬
    猫鼬 @回复

    这个才是正儿八经的学习了 [笑哭]

  6. 微信红包活动网
    微信红包活动网 @回复

    收藏下明天看看

  7. 99八十一
    99八十一 @回复

    自从换了服务器,发现比以前卡多了,有时候半天打不开,不知道是不是被攻击了😂

  8. Fat_凯
    Fat_凯 @回复

    [强] 不错不错,已开启网站防火墙!

  9. 洁灰博客园
    洁灰博客园 @回复

    成本就是劳动,劳动就是成本,不过哪里会有不劳而获的道理,哈哈哈,干活

  10. 宋子宪博客
    宋子宪博客 @回复

    不错的文章! [强]

  11. Quanyin
    Quanyin @回复

    教程很详细,非常nice,张戈大神的 cckiller 脚本似乎也是不错的

  12. 天空博客
    天空博客 @回复

    阿里云waf已经接入

  13. 涪陵博客
    涪陵博客 @回复

    宝塔一键面板的教程可以来一个?

  14. 黑鸟博客
    黑鸟博客 @回复

    我这一天也没几个流量的,就不搞这搞那了..

  15. 灵异世界网
    灵异世界网 @回复

    每天就几百IP的路过,网站没流量的。。

  16. 久伴博客
    久伴博客 @回复

    久伴前来围观 [笑哭]

  17. 树懒 先生
    树懒 先生 @回复

    有什么问题可以留言告诉我,一起讨论 [呲牙]

  18. 中意眼镜工作室
    中意眼镜工作室 @回复

    很实用的教程