数据库安全指南和提示

数据库安全指南和提示

我最近被一家活动策划公司聘用,负责开发一款网络应用程序,该应用程序允许在线支付特定活动费用并保存注册者名单。我的雇主要求我在开始编写应用程序代码之前提供一份项目规格/要求的文档,以确保我完全理解该项目背后的想法,从而在开发最终产品的过程中将出错风险降至最低。

这是我第一次与和其他在线支付处理器合作PaypalCaledon我意识到我需要有一个非常安全数据库,因为关键信息必须保留在服务器中(即用于付款的信用卡的最后四位数字)。

我知道以下是很好的做法:

  • 将数据库保存在独立的机器上(远离网络服务器)并仅在需要时访问它;
  • 使用防火墙保护数据库的安全;
  • 为根用户以及将访问数据库进行维护/管理的用户创建长且“难以猜测”的密码。

除此之外,我不知道我还能做什么来进一步保护数据库。将使用 Microsoft SQL 2005/2008 来构建数据库。

关于我该如何进行此事,有什么提示/建议吗?

先感谢您,

-克里斯托弗

答案1

在线信用卡处理的权威指南是支付卡行业 PCIDSS 标准:https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml 您列表中的所有内容(以及更多内容)都包含在该文档中。

要做好这件事需要做大量的工作,你确定没有已经编写的应用程序/服务可以满足客户的需求吗?

答案2

我会考虑:

答案3

首先要检查企业和服务器所在地的当地法律。我很惊讶地发现,在我所在的地方,我们不允许保留任何信用卡详细信息(在服务器上、打印件等),甚至不允许保留部分号码。

不仅 root 帐户,服务器上的所有帐户都需要合适的密码。root 帐户甚至不应该被远程访问。它只能在服务器上以“普通”用户身份登录并通过 sudo 或 su 发出命令来本地使用。我还喜欢让登录名和密码一样难以猜测的想法。不仅是那些用于访问数据的帐户,而且是任何可以远程登录的帐户,因为这有助于减缓暴力攻击。

我无法评论 MS SQL,因为我不使用它,但最重要的一点是要牢记,尤其是任何面向互联网的东西,是最小访问原则。换句话说,只授予任何用户或功能所需的绝对最小访问权限。

相关内容