我正在努力将公司的各种信息系统整合到一个基于Web的应用程序中。这是一个不小的壮举,但随着时间的推移,我们将逐步推出并改进。
该应用程序分为两个区域 - 一个仅限员工的门户网站,用于Intranet,以及一个供客户访问的公共门户网站。
我创建这个没有问题,但我不确定如何进行托管。安全是我最关心的问题。鉴于我们的数据库将托管敏感信息(您可以确定我将加密和散列所有重要的东西以及所有常见的XSS / CSRF / SQL注入)
我是否在同一台服务器上运行应用程序和数据库?我是否在内部运行内部资源,以确保其安全,并让公共系统通过Web API进行调用?
在这种情况下,可维护性,安全性和性能的最佳平衡是什么?
答案 0 :(得分:1)
这样的系统通常具有复杂的设置。您的员工门户应位于公司网络内的计算机上,不应从公共网络访问。
当然,公共门户必须位于可从公共网络访问的计算机上。机器应该关闭你不需要的所有东西,并且应该有一个外部防火墙阻止你不使用的网络端口 - 假设有人会试图闯入机器,并提供少量路径尽量尝试。此计算机需要对数据库进行网络访问,但该访问路径也应严格限制,以防止成功的攻击者进入您的安全网络。
数据库应位于第三台计算机上,可供两台门户计算机访问,但同样需要严重防火墙,以防止在没有门户网站代码的情况下尝试访问数据库。
答案 1 :(得分:0)
1.根据顾虑提供您的申请
2.尽可能独立地使应用程序
3.提供所有应用程序的接口,实施访问管理系统并根据您的组织公共/私人决策提供访问权限(从长远来看这将有所帮助)