本站在采用Z-Blog PHP建设期间做的一些设置
本章内容:
1、在IIS下部署本站:Z-Blog PHP (1.7.2.3050 (Tenet); AppCentre2.79) + MySQL 5.7
2、安装完成后的一些可能是必要的设置(可能涉及安全问题)
1、在IIS下部署本站
本站部署时的版本:Z-Blog PHP (1.7.2.3050 (Tenet); AppCentre2.79) + MySQL 5.7.38
服务器采用腾讯云的云服务器,数据库部署在个人工作室里。如何实现安全的管理自己的云服务器,并且在自己的工作室环境没有固定IP的互联网专线下把数据库部署部署在自己的工作室里,这涉及到非常多的网络和安全方面的内容,具体请期待我有时间的时候更新的文章。
关于如何在IIS下部署PHP程序,网上也是一大堆的东西。有时间有心情的时候再把它们整理一遍吧。只要记住一些关键词:IIS PHP FastCgiModule就可以。
2、安装完成后的一些可能是必要的设置(可能涉及安全问题)
部署完成后,大概看了下网站的代码和一些功能模块的实现方式,就发现了一些个人并不太喜欢的东西,觉得不那么的安全,只好做了一些设置,个人觉得没什么问题后,才决定把本站正式开放出来。
以下为本人进行的一些设置。至于如果不进行这些设置会不会有什么样的安全问题,我并不太明确的知道,如果您知道,可以在此进行评论告知。但是在我没有明确的了解的情况下,我可能不会进行相关的评论。
zb_install目录:这个目录在部署完成后应该是可以删除的吧。不过我也暂时没有删除,因为不太明确知道删除后是否会对网站有没有影响,只好先暂时做了一些设置,至少是禁止了访问。
实现效果:

实现方式:(IIS方式)

在IIS里,选中zb_install目录,然后找到右边的“处理程序映射”,双击它,把里面所有的处理程序都删除掉,只保留StaticFile一项,默认情况下即可实现。如果您改动了IIS的一些设置,导致在访问该目录下的PHP程序时直接显示源代码时,可以在评论里进行讨论。

zb_system目录:理论上,这个目录是只能读不能写的(如果程序是我写的,个人倾向的做法是,所有php程序都会集中在一个只读文件夹中,再配合IIS的相应的配置,应该就能做到网站无法被挂马),但这个系统的php文件存在于几乎所有的目录中,导致网站被挂马的风险很高,只能在现有的基础上,尽量的做好目录安全的设置,尽量避免了!

其它的一些程序目录,都尽量的做了类似的配置。
因为本人也没有打算从网上更新各种主题,所以当我确定了一种主题后,相应的cache/compiled目录也做了类似的设置。

这个系统的主题模块采用了第三方可以写php代码并且执行的方式实现主题的功能(可能其它的类似于插件、应用等模块也是吧),导致风险非常高!如果更新了一些自带黑代码的主题、插件或者是应用,就可以导致服务器被整个控制的风险!
所以,当我觉得基础功能足够我使用了以后,在检查了所有的代码是安全了的情况下,实施了整站的从目录权限到程序运行权限的全方位的控制,并且配置了服务器无法自主对外发起访问的防火墙等权限!
zb_users目录:这个目录太重要了,而且最大的安全隐患都是从这个目录来的,因为这个目录里的一些子目录,需要开放权限,让用户(包括自己)上传各种文件。做为开发者、安全管理者,都应该要做到最主要的一点:有改写权限的目录必须是无代码执行权限的!很可惜,这个系统一开始设计的时候并没有按这个方向进行设计,所以只能自己想办法进行设置了。
第一步,当然是设置zb_users目录的代码执行权限。

这一步设置就可以实现当upload目录被上传了恶意代码后,无法被访问运行!
当然,程序里是有可能相对严格的上传文件格式的判断代码,但谁知道会不会存在开发者自己也想象不到的BUG呢,所以咱们就必须要假设程序是有漏洞的,可能是会造成被恶意上传代码的,咱们需要做的就是即使是被上传了恶意代码,也不让它可以被运行。
验证:试着在zb_users/upload/2022/07目录下写一个test.php,再访问,返回找不到文件或目录的信息。

接下来,再处理这个zb_users目录下的各个子目录的一些设置,特别是data,logs等目录,如果您采用的是把数据库文件放到data目录中,日志放到logs目录中的方式建站,那么就得要小心了。。。
暂时就先写到这吧。剩下的涉及到的一些IIS、宿主权限、防火墙等相关的配置,等有空有心情了再另外写吧!
我是郑鹏飞。有问题可以留言或者是在评论中进行交流。
转载请注明 : 文章转载自不了阁-飞哥 blog.forbs.cn
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。

