PHP Secure Configuration Checker- 用于检查PHP配置是否存在潜在安全漏洞的工具
PHP Secure Configuration Checker是一个用于检查当前PHP配置是否存在潜在安全漏洞的工具。
特征:
-
一个文件便于分发
-
对每个与安全相关的ini条目进行简单测试
-
其他一些测试 - 虽然不是太复杂
-
兼容PHP> = 5.4,或者如果可能> = 5.0
-
没有复杂/过度设计的代码,例如没有类/接口,测试框架,库,...... - 乍看之下 - 即使对于新手 - 这个工具如何工作以及它的作用应该是显而易见的!
-
没有(或很少)依赖
使用/安装:
-
CLI :只需调用php phpconfigcheck.php即可。而已。添加-a 以查看隐藏的结果,-h 表示HTML输出,-j 表示JSON输出。
-
WEB :将此脚本复制到您的Web服务器可访问的任何目录,例如您的文档根目录。
-
默认情况下,非CLI模式下的输出为HTML。可以通过设置环境变量PCC_OUTPUT_TYPE = text 或PCC_OUTPUT_TYPE = json 来更改此行为。
-
默认情况下隐藏某些测试用例,特别是跳过,ok和未知/未测试。要显示所有结果,请使用phpconfigcheck.php?showall = 1 。这不适用于JSON输出,默认情况下返回所有结果。
-
要在WEB模式下控制输出格式,请使用phpconfigcheck.php?format = ... ,其中format的值可能是text ,html 或json之一。例如:phpconfigcheck.php?format = text 。该格式参数优先PCC_OUTPUT_TYPE。
保障措施:大多数情况下,最好将与PHP配置等安全相关的问题保留给自己。已实施以下保障措施:
-
mtime check :两天后,此脚本在非CLI模式下停止工作。可以通过触摸phpconfigcheck.php 或再次将脚本复制到服务器(例如通过SCP)来重新启动检查。可以通过设置环境变量来禁用此检查:PCC_DISABLE_MTIME = 1 ,例如apache的.htaccess中的SetEnv PCC_DISABLE_MTIME 1 。
-
源IP检查:默认情况下,只有localhost(127.0.0.1和:: 1)可以访问此脚本。其它主机可以通过设置添加PCC_ALLOW_IP 到一个你的IP地址或通配符模式,如SETENV PCC_ALLOW_IP 10.0.0。* 中的.htaccess 。您也可以选择通过SSH端口转发访问您的 Web服务器,例如ssh -D 或ssh -L 。
故障排除:
-
disabled函数:此脚本需要一些函数才能正常工作,例如ini_get()和stat()。如果其中一个功能被列入黑名单(或未列入白名单),则执行将失败或产生无效输出。在这些情况下,可以暂时将Suhosin置于模拟模式并省略disable_functions。为了安全起见,可以使用.htaccess在单独的目录中完成宽松的安全配置。此外,可以使用您的Web服务器配置从命令行调用此脚本,例如php -n -c /etc/.../php.ini phpconfigcheck.php。
-
CLI:较旧的PHP版本不知道SAPI名称'cli',即使在cli上也使用CGI样式输出。解决方法:PCC_OUTPUT_TYPE = text /opt/php/php-5.1.6/bin/php phpconfigcheck.php
下载链接:https://github.com/sektioneins/pcc