1. 云期刊首页
  2. 运维教程

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

云服务器的安全防护成本已经大大降低,但并不意味着现在就安全了。对于站长来说,做站千般难,遇到攻击渗透万念灰,宝塔面板除了降低服务器的运维成本,让运维变得简单高效外,在安全防护方面也做足了文章,企业级防篡改插件、Nginx防火墙插件、堡塔php安全防护插件、堡塔防提权插件都是得力卫士,然而孤木难成林,一根筷子容易折,只有把这些插件配合使用,才能最大限度的保证云服务器、网站系统的安全运转。(本文以宝塔公众号的推文为主,整理而成。)

一、企业级防篡改插件同Nginx防火墙或堡塔php安全防护插件配合使用

用过企业级防篡改的人都知道,企业级防篡改有些目录是不进行监控的,相当于白名单的意思,这就给了黑客一个突破的点,如果他们可以把php文件写入到那些不监控的目录,那么就成功突破了企业级防篡改插件,不过我们可以利用Nginx防火墙来弥补企业级防篡改的不足。

举例如下:

1、在ceshi.php文件中写下面的代码,就可以把a.php文件写入到config目录中,因为企业级防篡改中默认是不监控config目录的,所以写入的时候会写入成功。

<?php
file_put_contents("config/a.php",$_get ["constents"]);
?>

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

2、通过在地址栏输入【您的域名/ceshi.php?content=<%3fphp+phpinfo()%3b%3f>】,给刚才保存到congfig文件夹的a.php文件写入内容。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

3、通过在地址栏输入【您的域名/config/a.php】,可以看到是没有报错,那代表写入成功。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

4、通过Nginx防火墙弥补企业级防篡改的不足。

把那些企业级防篡改排除的目录加入到Nginx防火墙的URL黑名单中,这样别人就不可以访问到这个php文件了(这里比较粗暴了。建议加入在禁止执行PHP的URL)。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

5、设置完成后,再次访问刚刚写入的a.php,就会发现出现了403页面或者网页走丢了页面。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

6、除了使用NGINX防火墙外还可以使用堡塔php安全防护进行拦截,这里使用的不允许config访问。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

7、再次在浏览器地址栏输入【您的域名/config/a.php】访问,则出现报错代码:Fatal error:sorry, prohibited dir in /www/wwwriit/www.xxx.com/config/a.php on line 1。(不过这里有个缺陷,暴露了网站的绝对路径地址,后面会讲到如何处理。)

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

【思路总结】利用黑白名单的思路。把企业级防篡改同Nginx防火墙或者堡塔php安全防护两个插件结合起来使用,互补缺点达到更好的防护效果。

二、Nginx防火墙插件同PHP安全防护配合使用

Nginx防火墙可以防御一些基本且常见的漏洞,但是某些低版本是存在绕过的问题(建议升级到最新版版)。所以这个时候使用堡塔的PHP安全防护就是特别有必要的地方了。以ThinkPHP5框架的代码执行漏洞为例,举例说明。

1、宝塔面板安装了Nginx防火墙,使用下面的payload进行访问。

?s=index/thinkapp/invokefunction&function=array_map&vars[]=assert&vars[][]=phpinfo();

我们会发现,Nginx防火墙拦截了这个payload请求。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

2、如果我们换一个payload进行访问,则会出现完全不同的效果,例如使用下面的payload。

?s=index/thinkapp/invokefunction&function=array_map&vars[]=assert&vars[][]='phpinfo'();

我们会发现,这个payload请求绕过了Nginx防火墙的拦截。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

3、Nginx防火墙配合堡塔php安全防护插件且制定 ThinkPHP5.0 规则,效果会截然不同。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

4、再次使用上面的payload访问,则发现堡塔php安全防护插件成功拦截了该payload请求,出现报错:Fatal error: deny get black s = index/think\app/invokefunction in /www/wwwroot/www.xxx.com/public/index.php on line 15 。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

5、上面已经提过,使用堡塔php安全防护插件拦截成功了,但有一个小小的不足就是暴露了网站的绝对路径,我们只需要找到对应的php版本,进行配置修改即可规避这个不足。以php7.0版本为例,示范如下:

登陆宝塔后台,点击左侧导航【软件管理】,在点击上方【已安装】,找到php7.0版本,点击后面的【设置】,在弹出的php7.0管理对话框,点击左侧导航【配置修改】,找到配置项dispaly_errors选择【关闭】,然后点击【保存】,再点击左侧导航【服务】然后重启php即可。

云服务器如何利用宝塔面板的企业级防篡改、Nginx防火墙、堡塔php安全防护、堡塔防提权等插件做好安全防护

【思路总结】利用Nginx防火墙插件同PHP安全防护配合使用,多层次防御让您的网站取得良好的防护效果。

本站所有内容,如有版权、侵权等问题,请及时联系本站做删除。发布者:云期刊,转载请注明出处:https://www.yunqikan.cn/5432.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

问答社区 在线客服
联系我们

QQ 技术:109033286

QQ 运维:3423710838

email 邮箱:drhxxkj@163.com

Qqun QQ交流群:808026766

分享本页
返回顶部