你可晓得,你的网站PHP源码,存在着或许在毫无掩护状态下暴露的可能性不,因服务器配置出现不善情况致使源码发生泄露,这不但会使得网站的逻辑全然暴露出来,更有能够变成黑客侵入数据库的一个供其借助的过渡点,然而非法获取这些源码的这般行为,已然触及了刑法规定,千万不要去触碰这条红线哟。
服务器配置是防线第一关
罪魁祸首常常是Web服务器的错误配置导致源码泄露,许多站长在配置Apache或者Nginx之际,并未明确禁止PHP文件被当作普通文件进行下载,要是Apache的httpd.conf里存在把.php后缀映射成可下载类型的错误指令,用户直接访问便能够看到纯文本源码。
要解决这个问题,得进行精准配置。对于Apache,要去检查一下,是不是启用了mod_php模块,得确保.php文件是由这个模块来解析的,而不是当作静态文件输出。对于Nginx用户呢,要去确认在location配置里,是不是将.php传递给了FastCGI处理器,要防止因为配置错误令源码直接在浏览器中暴露出来。
禁用目录浏览和信息泄露
开启目录浏览功能,会致使网站结构毫无保留地呈现出来。攻击者借助访问某一目录,要是见到文件列表,便能够径直点击下载.php 文件。一定要于 Apache 中配置 Options -Indexes,在 Nginx 里设置 autoindex off,将这项存在危险的功能完全关闭。
在php.ini里头的display_errors这个选项,同样是要设置成Off的。于生产环境当中要是开启了错误显示,那么就会将物理路径、数据库查询,甚至代码片段直接输出至浏览器,而这些信息对于攻击者而言来讲,就如同拿到了一份详尽的地图一样,能够精准地定位你的薄弱环节。
用.htaccess文件做精确拦截
在项目的根目录那儿,以及关键的子目录里面放置.htaccess文件,如此一来能够达成精细化的访问控制。当写入“deny from all”这个指令之后,外部发出的请求将会直接被拒绝,从而无法访问该目录之下的所有文件,这里面涵盖了备份文件以及配置文件。
格外要对includes以及vendor这类目录予以保护,它们之中存放着框架核心还有第三方库。哪怕主入口文件是安全的,然而这些目录一旦被直接进行访问,依旧有可能致使大量代码逻辑被泄露。将.htaccess放置于这些目录之中,这就等同于给核心资产增添了第二道锁。
定期扫描排查隐藏漏洞
仅是依靠人工去进行检查,是难以避免会存在出现疏漏这种情况的,而要是借助专业的扫描工具,那便能够发现存在于深层次方面的问题。像Nikto以及WPScan这类工具,是能够去模拟攻击者所做出的行为的,进而能够检测出遗留在服务器上面的备份文件,就例如index.php.bak或者config.php.swp这样的文件,这些文件一般情况下是能够被直接予以下载的。
网站更新以及插件升级过程里,新出情况是,漏洞扫描并非那种执行一次就完事儿的工作,新漏洞极有可能随时在这个进程当中冒出来,这种状况之下应该建议每月最少开展一回完整扫描,着重去留意扫描结果里跟文件权限以及同信息泄露存在关联的那些警告,一旦察觉有异常便马上着手修复。
最小权限原则降低风险
Web服务器进程运行时并不需要root权限,去为PHP - FPM或者Apache创建专用的低权限用户,就像www-data这样,哪怕攻击者借助漏洞获取到了webshell,其所能够造成的破坏也是极为有限的,同时要对目录写权限进行严格的管控,只将其开放给上传以及缓存目录。
生产环境当中一定要杜绝调试模式,开发者常常会因为调试方便就去开启那错误提示或者保留测试脚本,一旦那些后门文件被扫描到,这就好比是直接把系统控制权交出去了一样,上线之前务必要进行全面清理,要保证所有调试接口都已经关闭了。
你有没有对自身网站的服务器配置展开过检查呀,欢迎于评论区去分享你那有关安全防护的经历,点赞并且转发此内容以使更多的站长能够看到这些具备实用性的防护技巧呢。


还没有评论,来说两句吧...