如何在现有的Apache网站上安全地分配博客文件夹

我非常了解在不同用户帐户下运行不同网站的好处,以便在单个Web应用程序受到威胁时限制受损。 我被指示在我们的主要公司域名上安装一个wordpress博客作为该域名的子文件夹(example.com/blog),而不是一个子域名(我相信这是一个SEO策略)。 我必须将主要电子商务网站(可访问我们的用户帐户数据库)的博客分区,但是我看不到使用suexec执行此操作的明确方法。

我唯一的想法是在单独的服务器上安装博客,并在主站点上使用mod_proxy作为反向代理。 但是,这意味着我们必须在两个不同的地方维护主要网站模板(博客必须与主站点相同的页眉,页脚等)。 如果这是唯一的解决scheme,那么这可能是我会select的path,但我想知道是否有任何其他的想法,这将不胜感激。

首先确保电子商务和博客有单独的数据库和单独的mysql帐户。 确保这些帐户不能访问彼此或访问名为mysql的数据库。 确保它们都不具有FILE权限,这是您可以授予Web应用程序的最危险权限,在这种情况下,即使Apache / PHP被locking,攻击者也可以使用MySQL来读写文件到其他应用程序。

与suexec的交易是一个PHP应用程序作为一个特定的用户运行。 这对于共享主机,以及你正在做的事情来说是理想的。 基本上创build2个用户帐户,并有2个应用程序目录。 确保这些用户不能访问其他的目录。 (像chown wordpress -R /var/www/blog && chmod 550 -R /var/www/blog )。 然后提供适当的configuration suexec。

我也运行phpsecinfo ,通过将shell设置为/ bin / false,禁止shell帐户访问这两个帐户。 仔细考虑安装一个类似mod_security的WAF。

反向代理可能是要走的路 – 即使博客使用相同的页眉和页脚的外观和感觉,它可能不会共享相同的确切编码,所以无论如何您都会遇到2个代码库的问题。

就我个人而言,我会设置一个前端的矛头和反向代理的所有请求,所有的应用程序服务器都有效双重防火墙。