普通Wordpress安装,我可以/应该在DISABLE_Functions中放什么?

时间:2016-01-23 作者:Kevin Burke

我想采取措施来限制Wordpress安装受损可能对我系统的其他部分造成的损坏。Wordpress需要什么系统调用?我可以在disable_functions 配置

文件:http://php.net/manual/en/ini.core.php#ini.disable-functions

2 个回复
SO网友:Mark Kaplun

为了安全起见,经验法则是禁用您不需要的任何东西。在理想的安全世界中,问题实际上是相反的——wordpress需要哪些功能才能正常工作。首先,不要激活任何不使用的PHP扩展,然后过滤掉激活的扩展中的不安全函数。

由于这是一个服务器范围的设置,仅查看wordpress需要什么还不够,还需要查看服务器上的其他应用程序需要什么,但在大多数web服务器设置中,应该禁用这些功能-exec,passthru,shell_exec,system,proc_open,popen. 它们的独特属性使它们更加危险,即能够在系统上执行任何操作,这可以通过在所有服务器上拥有限制性权限来缓解,但实际上,需要遵守规则才能正确地执行,更好地避免打开这种攻击途径。此外,这些功能还绕过wordpress安全模型,该模型可能允许用户访问他们本不应该访问的数据。

如上所述,由于每个服务器都可能有不同的PHP模块处于活动状态,因此不应将其视为一个完整的列表,而应将其视为一个起点,您必须检查您使用的每个模块,以查看它们是否包含禁用可能更好的功能。

SO网友:prosti

继续讲几件重要的事情,马克·卡普伦(MarkKaplen)提供了一个很好的答案,这个答案应该被接受。

disable-functions
是的PHP 世界

以下是更广泛的列表:

exec, passthru, shell_exec, system, proc_open, popen, show_source, apache_child_terminate, apache_get_modules, apache_get_version, apache_getenv, apache_note, apache_setenv, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_getpwuid, posix_uname, pclose, dl, disk_free_space, diskfreespace, disk_total_space, pcntl_exec, proc_close, proc_get_status, proc_nice, proc_terminate, symlink, link, putenv, opcache_get_configuration, opcache_get_status
这是一个PHP指令,您可以在php.ini 文件这里没有指定WordPress函数。每当PHP解释器运行或PHP jit运行(hhvm)时,将接受您输入的逗号分隔的函数,这些函数将被禁用。

还有一件事需要说明process under which PHP 正在运行。即使您在PHP中拥有强大的功能,但如果PHP执行的进程没有执行这些操作的访问权限,它们也无能为力。

因此,从安全角度来看,应该创建一个小岛。让您的www-data 用户仅在该岛上生活。假设这个岛是/var/www 文件夹

/etc/passwd 您可以查看有关www-data 使用者默认情况下,应如下所示:

www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
使用chmodchown 创建所需的孤岛或隔离级别。

相关推荐

wordpress admin security

我用不同的工具扫描我的网站,但它没有显示恶意脚本。但当我在管理仪表板中看到时,我在body标签下面看到了奇怪的方形符号。我试图检查管理索引文件,根索引文件,但什么都没有。有人放了这个脚本。而且,当我试图采取备份它不允许我采取。使用BackupFordPress插件。然而,所有其他的事情都在运行,但在管理方面仍然存在一些问题。如何检测和删除此项。