-1

我正在寻找可以在移动和桌面应用程序访问的服务器上构建数据库。这个想法是当应用程序安装在计算机上时,它将联系服务器数据库并注册自己,尽可能少地与用户交互。我想我的问题是我怎样才能有效地注册一个新的应用程序,并且它是以安全的方式在服务器数据库上关联的计算机?

我是否有用于注册目的的默认用户名和密码?我想这很不安全。

例如,如果我开发一个与 Web 应用程序交互的移动应用程序,比如说像 dropbox 或 netflix 那样,那么 Javascript 是一种实现安全性的好技术。

4

2 回答 2

1

尽管我发表了评论,但让我通过为您提供一些与安全相关的良好阅读和材料来为您提供更多帮助。你必须明白,从第一天甚至从第一天起就必须加强安全性;否则最后增加安全性变得非常困难。您还必须了解,安全性并不总是与编码或购买可用的最昂贵的安全工具有关,安全性是关于对冲风险并根据您的需求和能力调整它们。以下是其他帖子的一些链接,其中讨论了一些安全方面

post1

另一个帖子

此外,如果安全性是您项目的一个重要方面,或者您希望该项目在未来发展并成为一个可行的项目,我建议您阅读 ISO 27000 出版物(特别是 27001 和 27002)或 FIPS(199 &200)。这些阅读内容有点长,但它们是信息系统安全的标准。当然,您可能不需要遵循这些标准的所有方面,但它们可以为您提供很好的指导。另一个已知的风险评估解决方案是 OCTAVE,它也有点长,但更容易理解,并且有大量的指导和工具。

于 2013-07-04T12:01:09.837 回答
0

从您的问题和标签看来,您正准备在公共互联网上可见的机器上部署 MySQL 服务器实例。您似乎正计划让您的桌面和移动应用程序建立连接,使用 MySQL 协议并使用众所周知的 MySQL 服务器访问凭据(用户名/密码)来注册自己。

不要这样做! 严重地。

相反,在 Web 服务器上创建一个小型 Web 应用程序,而不是连接到 MySQL 数据库。安排您的客户端应用程序联系您的 Web 应用程序,并提供注册所需的信息。然后让 Web 应用程序执行注册所需的任何 MySQL 操作。

将您的 MySQL 服务器放在防火墙后面。如果您有数据中心或托管服务,这很简单,而且很可能已经完成。如果您正在运行自己的机器(物理或虚拟),请设置 MySQL,使其在公共互联网上不可见。

原因如下:

首先,让数据库服务器在公共互联网上可见是一种糟糕的做法。它使您可以使用各种坏人技巧,例如拒绝服务攻击和窃取用户数据的尝试。

其次,您必须使用 MySQL 访问协议软件来负担您的客户端应用程序。与使用 HTTP 发布“注册”请求相比,这显得臃肿。

第三,与 MySQL 相比,HTTP 是超轻量级的。您的客户发送一个简单的请求并等待一个简单的响应。如果有很多请求,运行您的应用程序(apache、nginx、IIS 等)的 Web 服务器很擅长对请求进行排队。

第四,如果您在 Web 应用程序中执行此操作,则可以在更改数据库或业务规则时更新 Web 应用程序。如果你把 MySQL 查询放在你的客户端应用程序中,事情就会变得不那么灵活。

祝你好运。在互联网上要小心。

于 2013-07-04T12:02:42.710 回答