0

我们正在 wcsf 中设计 asp.net Web 应用程序。Web 应用程序将部署到 Windows Server 2003 共享VDS主机。网站将用于 b2b、每月服务费和 Web 应用程序中使用的信用卡交易,因此它必须是安全的网站。我想考虑在部署之前必须做些什么,我需要回答几个问题:

1) 我如何复制保护我的网站和我的代码。代码签名是否足够?反光板保护应该怎么做?混淆就够了吗?

2) Windows Server 2003 VDS主机的优缺点如何?

3) MS SQL Server 2005 Express 适合那种商业用途?mssql express(4GB 存储和 1Gb 内存)的限制导致网站出现瓶颈?

4) 以后可以将数据库从 express 版转移到 mssql 2005 工作组版没有问题吗?

4

2 回答 2

1
  1. 混淆就足够了。代码签名不提供任何防止窥探的保护。此外,大多数受人尊敬的主机商对您的知识产权和数据不感兴趣。归根结底,他们从事托管业务。

  2. 我在一家托管公司工作,我们在我们的虚拟化平台上托管的客户数量正在快速增长。对于客户和我们自己来说,其中一个优势是,如果您需要更多 CPU 或内存,我们几乎可以立即添加它们,因为这只是 VM 上的配置设置。最终,这一切都取决于您的供应商如何构建他的虚拟环境。您确实需要收集有关其环境的功能和限制、每个节点通常运行多少台服务器等的更多信息,并确定它是否适合您。

  3. SQL 2005 express 将与完整的 SQL 2005 一样执行。限制在于功能(例如,没有 olap,那种东西),并且正如您正确指出的那样,它可以使用的最大内存量和 DB 的最大大小。但是,如果您超出最大可用内存量,性能将会下降。

  4. SQL 2005 Express 数据库可以毫无问题地备份和恢复到任何 SQL 2005/2008 产品。

在不知道会影响您的应用程序的流量的情况下,很难预测虚拟服务器是否是最佳环境选择。这同样适用于 SQL 2005 express。如果应用程序是数据库密集型应用程序,您可能会发现自己承受着越来越大的内存压力 - SQL Server 拥有的内存越多,它可以缓存的越多。我认为您需要进行一些自己的容量规划,并自己决定现在和以后的最佳解决方案是什么。

于 2009-01-17T14:08:58.540 回答
1

二汗——

您的主要安全目标不是保护您的源代码,而是保护您的客户数据。 为此,您必须确保 A) 您的通信是安全的 (SSL) b) 您的代码实现了适当的安全性(不受 SQL 注入攻击)和 c) 您的数据库是安全的。

对于 (A) - 通信安全 - 您需要从Thawte之类的人那里获得 SSL 证书(这是我们使用的人,我喜欢他们)。当您在服务器上安装证书时,您需要确保网站只接受安全 (SSL) 连接 - 至少对于包含敏感数据的所有页面。例如,所有包含信用卡数据的表格都必须通过 SSL 提交。

对于 (B) - 代码安全性 - 这值得一整本书!例如,您不能仅通过附加从网页收集的表单/请求数据来构造 SQL 调用(这会使您面临SQL 注入攻击)。 所有SQL 参数都必须参数化。等等等等。没有人可以在 SO 帖子中解释安全性 - 你有很多东西要学。

对于 (C) - SQL Server 安全性 - 这也是一个复杂的主题,但有几个关键点。根据您的描述,我假设 SQL Server 与您的 Web 应用程序在同一台服务器上运行。这意味着您希望它接受任何来自网络的连接。不要试图让它保持打开状态,以便您可以从桌面上的 SQL Management Studio 轻松访问它……这只是可怕的、愚蠢的安全做法。登录远程服务器后,您可以通过远程桌面访问它。此外,禁用“sa”帐户 - 立即执行。在端口 1433 上找到您的人(如果您不禁用所有网络访问)将每分钟每秒对 sa 帐户进行暴力密码猜测,等等。多年。我们每天在为少数客户维护的非网站数据库上获得大约 17,000 个数据。这里还有更多要学习的东西,但如果你采取这两个步骤,你就会很好地覆盖。不过,可以肯定的是,我建议您也运行 MS 安全表面分析工具并遵循它的建议,

至于虚拟机托管,应该没问题。然而, MaximumASP的专用主机每月仅运行约 199 美元(我使用、推荐和认为是业内最好的!)。我建议您考虑使用自己的专用服务器,以便在证明成功的情况下轻松扩展业务。

对于您的数据库,SQL Server Express 将适用于此,是的,您将来可以升级到 Workgroup Edition。除非您实际达到这些限制,否则数据库限制不会对您的网站造成瓶颈。你需要弄清楚这是否可能。话虽如此,确实建议尝试在免费版本的 MS 数据库上运行专业网站——尤其是一个持有财务数据的网站。无论取得任何成功,您可能会突破这些限制。许多网络托管公司(尤其是MaximumASP)将允许您以最低价格(例如每月25 美元或类似的价格)在您的服务器价格中添加专业版本的SQL Server。

最后,您似乎对 Web 应用程序与 Windows 应用程序有点混淆。在 Web 应用程序中,您的用户将无法访问您的源代码/DLL(IIS 阻止访问各种文件,包括 dll 和 .config 文件)。他们不会下载和安装应用程序,因此您无需对代码进行签名,也无需进行混淆处理。在这种情况下,“反射器保护”对我来说甚至没有意义。

如果您担心托管公司会看到您的代码,您应该找一家不同的托管公司。话虽这么说,我只是无法想象任何有信誉的托管公司真的关心看到你的源代码。

祝你好运!

于 2009-01-17T14:20:52.727 回答