写给系统管理员的25个PHP安全实践(1)

2013 年 12 月 29 日4030

PHP是广泛使用的开源服务端脚本语言。通过HTTP或HTTPS协议,Apache Web服务允许用户访问文件或内容。服务端脚本语言的错误配置会导致各种问题。因此,PHP应该小心使用。以下是为系统管理员准备的,安全配置PHP的25个实践事例。

用于下文的PHP设置样例

下午列出的大部分操作,都是基于 root 用户能在 bash 或其他现代 shell 上执行操作的假设。

    $php-v

样例输出:

本文使用的操作系统:

    $cat/etc/redhat-release

样例输出:

    RedHatEnterpriseLinuxServerrelease6.1(Santiago)

#1:知彼

基于PHP的应用面临着各种各样的攻击:

#2:减少内建的PHP模块

执行下面指令可以查看当前PHP所编译的模块:

    $php-m

样例输出:

从性能与安全性的角度考虑,我建议使用PHP时减少不必要的模块。例如上面的sqlite3是不必要的。那么可以通过删除或重命名/etc/php.d/sqlite3.ini文件来取消它:

    #rm/etc/php.d/sqlite3.ini

    #mv/etc/php.d/sqlite3.ini/etc/php.d/sqlite3.disable

有些模块则只能通过使用重新编译安装PHP来移除。例如,从php.net下载PHP源码后,使用下面指令编译GD,fastcgi和MySQL支持:

    更多信息请查看:how to compile and reinstall php on Unix like operating system

    1

    内容导航

    第 1 页:PHP设置样例 第 2 页:防止PHP信息泄漏 第 3 页:限制PHP访问文件系统 第 4 页:安装Mod_security


    原文:写给系统管理员的25个PHP安全实践(1) 返回操作系统首页

    0 0