65.9K
CodeProject 正在变化。 阅读更多。
Home

应用程序安全:使用 Visual Guard 随时随地满足您的需求

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2014 年 7 月 11 日

CPOL

6分钟阅读

viewsIcon

17834

我在过去两周一直在评审 Novalys Visual Guard,发现这个包里有一些非常有趣的东西,会让我的网络管理员们眼前一亮。

要了解更多关于 Visual Guard 的信息,请访问网站获取免费试用。

引言

我最近花了很多时间思考应用程序安全问题。这曾经是我在阅读项目规范文档时会最后才计划实施的议题。“安全很简单……只需在需要保护的地方加上一些 If/Then 语句,就大功告成了,对吧?”然后我在 2013 年冬天去了一家大型美国零售商购物。他们的系统被入侵了,三个月后,当我试图在一家不错的餐厅付晚餐钱时,我的信用卡被停用了。这很糟糕……应用程序安全突然成了一个真真切切地伤害到我的问题。

当我想到过去十年我写过的所有 .NET 应用程序时,我确信有许多功能可以在授权策略方面进行改进。也许我编写的那个自定义身份验证提供程序可以进一步强化。我想我过去试图过多地扮演安全专家,如果我今天负责维护这些应用程序,我会非常认真地考虑如何实施更好的安全措施。在做了一些研究并查看了微软发布的用于保护其框架的新技术后,我想我找到了一种第三方解决方案,它在全新和现有应用程序方面都做得非常出色。

我在过去两周一直在评审 Novalys Visual Guard,发现这个包里有一些非常有趣的东西,会让我的网络管理员们眼前一亮。让我们从基础开始:Visual Guard 允许我在多种介质中为我的组织配置一个安全的存储库,包括 Microsoft SQL Server、Oracle Database 和文件共享。在这个存储库中,我可以连接 Active Directory 或任意数量的第三方 OAuth 提供程序来管理我的用户。太棒了!然而,存储用户凭据仅仅是冰山一角。

用户身份验证是获取应用程序访问权限的入口。它是您的登录页面、登录屏幕以及在用户使用您的一个安全应用程序期间保持这些凭据。请注意这里使用了复数:应用程序。Visual Guard 允许我配置一个安全存储库,该存储库可以为共享用户群管理许多应用程序。通过 Visual Guard 控制台,我可以清楚地看到哪些应用程序正在被管理以及每个应用程序内部可用的权限。让我们再回顾一下:应用程序的权限是在应用程序外部管理的。

比应用程序外部管理权限更好的是,我可以配置多台服务器来管理应用程序中的身份验证和授权权限。这为我提供了可伸缩性,根据我阅读的手册,甚至可以通过配置 Visual Guard 来允许使用基于 Web 的控制台管理用户和权限。Visual Guard 服务器的部署非常灵活,我才刚刚触及皮毛。

基于 Web 的控制台可以自定义其外观和布局,甚至可以集成到我的应用程序中,使其与我的内容无缝地同时出现。这样我就可以从世界任何地方,使用任何可以连接到我网站的设备来审查和管理安全。

Windows 控制台显示了有关应用程序的信息树,就像这个控制台本身的信息一样。您可以清楚地看到 Visual Guard 控制台 – 权限文件夹下可用的权限。这些权限被分组到权限集,然后分配给角色。最后,角色可以分配给用户,以授予应用程序内部的授权。有了一组凭据,我现在可以在所有与我的 Visual Guard 服务器实例集成的应用程序中实现单点登录。

这里最棒的功能是它与您的应用程序的集成。在这里,我真正看到了它在多年前我编写的那些长生命周期应用程序上的应用。您可以将 Visual Guard 添加到现有的 Web 应用程序中,而无需重新编译!由于 ASP.NET Web Forms 项目的提供程序模型,只要您的登录页面使用 web.config 中定义的安全性提供程序,您就应该能够将身份验证提供程序替换为 Visual Guard。之后,添加一个 HttpModule 就足以保护应用程序的其余部分。Visual Guard 通过拦截正常事件的发生来保护您的应用程序,并允许您指定在这些事件中要采取的行动。

Visual Guard 中定义的每个权限都可以关联属性操作或脚本操作。这些是对应用程序进行的编码更改,在管理控制台中编写和管理,并在应用程序运行时执行。您可以做一些简单的事情,例如创建 ViewGrid 权限,并在用户拥有该权限时将网格的 Visible 属性设置为 true。一旦定义了权限,就可以由您的运营或安全团队进行管理,无需开发人员干预。还有更高级的集成,如果需要,开发人员可以通过修改代码来提供额外的安全检查。然而,这对我来说太棒了,可以将应用程序的授权检查委托给运营团队!

Visual Guard 可以帮助我的另一个有趣功能是多租户。我过去设计并编写过几个大型多租户应用程序,数据访问和安全的故事总是很难描述,并且需要管理数千行代码才能正确实现。Visual Guard 内置了从组到子组的权限继承。这种层次结构在 SQL 数据库中管理起来是一场噩梦,现在我可以依靠 Visual Guard 为我应用这种层次结构和数据过滤。

最后,总会有一个问责制的问题。谁在应用程序中何时执行了什么安全操作?过去,我编写了大量的数据库表和日志机制来提供安全内容的审计能力。Visual Guard 提供了一份审计报告,输出您应用程序中所有安全检查记录。在手工制作了几个这样的服务之后,我很高兴看到我不需要再做一次。根据 Novalys 的文档,Visual Guard 符合 HIPPA 和 SOX 标准……又一个我可以交给专注于这项任务的专业人士的麻烦。

我对安全的看法已经改变了。我不再认为它是一个可以在核心功能正常工作后添加到代码中的事后想法。现在我认为安全是可以与我的运营团队合作实施的事情。在 Novalys Visual Guard 的帮助下,我可以让他们保护我们正在生产的服务。这会带来更安全的系统、对软件服务如何受保护有更深入了解的安全官员,以及对这些设施内授权功能的更安全控制。

材料关联披露:我收到了上述一个或多个产品或服务,希望能在我的博客中提及它们。无论如何,我只推荐我个人使用并认为我的读者会喜欢的产品或服务。我根据联邦贸易委员会 16 CFR,第 255 部分:“关于在广告中使用背书和推荐的指南”进行此披露。

© . All rights reserved.