通过DMZ移动上传的文件

我正在将一个Web应用程序(在LAMP上运行)从单个主机转换到configuration,在DMZ中的公共服务器上运行php / apache应用程序。 该应用程序连接到坐在DMZ后面的专用networking中的MySQL。 我给出的主要标准是将所有用户数据(在数据库或用户上传的文件中)全部保留在DMZ之外,并且只允许通过ACL对其进行访问。 即,通过networking和authentication/访问将应用层从数据层分离出来。

我已经很好地与mysql分离,但是我没有提出任何关于如何从Web服务器访问文件服务器上的文件存储的好主意。 我已经将它安装在Web服务器上的一个NFS导出上,但是这样会将文件服务器及其所有数据都打开给任何有权访问Web服务器(基本上)而无需身份validation的人。

我意识到,任何严肃的解决scheme都可能涉及重大的开发时间,我准备这样做。 还准备花费一些钱在现成的解决scheme,如果需要完成工作的权利。 我觉得我在这里失去了一些非常明显的东西。

你真的不能这样做:如果你想从Web服务器访问文件服务器上的资源,你需要打开一个防火墙漏洞。
如果有人闯入你的networking服务器,他们可以得到你的MySQL数据库(或者至less获取凭据并访问任何用户可以访问的数据库)。 同样,如果他们进入Web服务器,他们可以访问Web服务器被授权访问的任何内容,但要受到您对NFS导出的限制。

关于在这种情况下可以做的最好的事情是将NFS导出限制到文件服务器的最小实际窗口(保护您免受Web服务器的危害),并通过Kerberos为NFS客户端使用强身份validation(例如保护您免受DMZ的附带违约)。 这里还有一些问题,这里用nfs来标记,这些问题涉及到授权和authentication问题,安全性等问题,可以给你一些指导。