公共Webapp的访问控制或加密

时间:2014-10-04 22:17:45

标签: javascript xml html5 encryption joomla

我有一个网络应用程序,显示目前在我们的集装箱码头工作的船只的生产力数据。这些数据有点敏感,但并不是真正的绝密,因为只是移动待定,总数,每小时移动的生产率和第一次移动的时间以及船只完成运营时的估计。虽然,如果公开,航运公司可以看到他们的竞争对手的船只如何参加,并可能导致我们的营销部门出现问题。

现在,我为智能手机用户创建了webapp,因此他们可以拥有实时生产力计划。这有助于他们评估正在发生的操作,并采取纠正措施来加速起重设备或解决任何问题。

应用程序在内部Web服务器中运行,用户必须登录VPN才能查看应用程序数据。无法从外面访问。我们的一些客户最近要求我们向他们提供数据,但是为了仅查看他们的船只而进行隔离。那没问题。我可以轻松地做到这一点,但问题是我不想让我们的VPN访问每个想要使用该应用程序的客户。

该应用程序以这种方式工作:

a)Pentaho ETL运行查询我们的数据库,并生成一个保存在apache webroot中的XML文件。

b)由HTML5,JS,JQuery编写的webapp读取的XML文件,以及使用bootstrap.js,datatables.js,realgauge.js和其他一些框架。

我的想法是将应用程序资源文件复制到公共网络服务器,并拥有一个cron作业ftp所有XML文件按分钟更新,因为可以从LAN访问。这样我们的智能手机用户将不再需要登录VPN来访问该应用程序。

但是,存在安全问题,因为HTML,JS和XML文件将向公众公开。该应用程序不会被公开,但我担心只是浏览网络根目录的攻击者可能会查明文件并提取数据。

所以,我的问题是我应该采取哪条路径的建议之一:

  1. 我一直在做一些关于XML加密的研究,但我需要提供一些将用作加密算法种子的令牌,我不太确定它的安全性如何它是。
  2. 在应用上实施用户/密码身份验证,但为每个将访问该应用的用户和密码维护数据库可能会很复杂。我担心丢失密码和排序的管理开销。虽然,我还没有完全研究过这个问题。我查看了hello.js,看起来很有希望。我想听听你对此的看法。
  3. 我们使用Joomla 3作为我们网站的CMS,所以也许我们可以在joomla方面使用,也许使用其用户/密码认证系统来控制对应用程序的访问。
  4. 您认为我应该研究的任何其他选项。
  5. 我们的主要目标是:让应用程序可供我们的移动用户或其他外部用户使用,同时不会使用所有数据公开纯XML文件。

    非常感谢所有人的帮助。

    更新

    我一直在研究名为" Blank"的Joomla模板。事实证明甚至还有一个Bootstrap版本,所以如果我可以将我的代码放入模板中,我可以在Joomla中进行访问控制,将我的内容发布给登录用户,并应用自定义模板。有了这个,我将解决2个问题。

    1. 我可以发布自定义客户数据

    2. 我还可以将我们的移动网站发布给我们自己的每个移动用户,并且我将在VPN许可证上节省大量的$。

    3. 感谢大家的帮助。

1 个答案:

答案 0 :(得分:1)

我假设的目标是:(1)非常好的安全性,以及(2)必要的最小开发工作。

然后我更喜欢你的方法#2。我会从您描述的情况中猜测,没有太大的需要更改密码,因此您可以自己生成用户/密码组合并与客户共享。如有必要,您可以每年更新一次。然后,您可以使用用户/密码登录直接访问应用程序,也可以使用客户端密码为客户端加密每个xml。

如果您发现客户确实需要更改密码,那么问题将是如何存储和更新密码,而不仅仅是让应用程序读取平面文件。