大多数一句话木马通过eval函数进行植入,如果能禁用掉eval函数,可以进一步加固服务器安全。而eval函数是无法通过php.ini直接禁用的,需要安装Suhosin扩展进行禁用。以下教程适用于php5.4版本(以下操作建议由专业运维人员操作)因为宝塔后台没有内置这个插件,所以我们需要连接服务器,通过命令行安装,首先链接登录服务器。然后按一下步骤操作。
1、下载扩展源码(有些扩展版本需要与PHP版本对应)
wget https://download.suhosin.org/suhosin-0.9.38.tar.gz (适用于php5.4) 请根据自身php环境选择对应版本下载
2、解压:
tar xvf suhosin-0.9.38.tar.gz (在这里以php5.4为例)
3、进入源码目录:
cd suhosin-0.9.38
4、生成配置(少数扩展可能还需要指定其它依赖库的目录,请根据官方说明修改编译参数):
/www/server/php/54/bin/phpize
./configure --with-php-config=/www/server/php/54/bin/php-config
5、编译并安装:
make && make install
6、写配置文件
echo "extension = suhosin.so" >> /www/server/php/54/etc/php.ini
7. 禁用eval()函数
去你的php.ini文件中找到刚刚安装的扩展,在 extension=suhosin.so 后面加一行代码 suhosin.executor.disable_eval = on 来禁止eval函数。
8、重载PHP
/etc/init.d/php-fpm-54 reload
9、检查是否安装成功
/www/server/php/54/bin/php -m|grep -i OAuth
10、清理无用文件
cd .. && rm -rf suhosin-0.9.38*
如果您是其他php版本,则需找到对应suhosin安装包,官网下载地址 https://suhosin.org/stories/download.html (不同版本安装后修改对应php版本路径的参数即可)