企业级 GIS 安全性(二)——应用程序安全性

本部分主要是针对系统架构人员设置的,帮助他们了解特定的 Esri 应用程序架构和产品的安全选项。

ArcGIS 技术目前广泛应用于商业环境和机密环境中的安全性解决方案。Esri 将继续对产品进行配置和测试,以便轻松集成到企业安全解决方案 - 通常与其他提供/启用安全性功能的产品协同工作。其中包括针对数据保密性和数据访问控制的关系型数据库管理系统 (RDBMS),针对强验证的轻量级目录访问协议 (LDAP) 和单点登陆 (SSO) 系统,以及针对数据完整性的防火墙和入侵检测系统。Esri 还在其事务管理产品中加入了不可否认性。

在典型的企业解决方案中,许多安全性服务将由托管 GIS 应用程序的底层 IT 基础架构提供。Esri 努力确保企业架构在发挥 Esris 产品的强大功能的同时,能够充分利用数据管理和身份验证技术方面的进展。

GIS 解决方案的安全性包括以下几个基本层面:

  • 系统安全性
  • 本地连接安全性
  • Web 服务安全性
  • Web 应用程序安全性


----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

From:                              resources.arcgis.com

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------



富客户端应用程序的安全性


传统意义上,ArcGIS 富客户端应用程序架构涉及运行在客户端桌面上的用户界面(ArcInfo、ArcEditor、ArcView、ArcEngine 和 ArcGIS Explorer)与由 ArcGIS Server 利用位于一个或多个服务器上的 ArcSDE 技术管理的核心数据源 (RDBMS) 两者之间的交互。应用程序逻辑可运行在 ArcSDE/数据库服务器或 ArcGIS 客户端上。

安全问题涉及一系列需要关注的事项,包括保护敏感数据、用户身份验证和授权,保护系统免受来自恶意代码和用户的攻击以及审核和记录事件和用户活动。为解决这些问题,ArcGIS 集成了可提供基础性服务的行业标准和技术。您可使用业内的最佳做法保护这些服务,同时不影响到 ArcGIS 的正常运行。

常规的富客户端安全准则:

  • 确定用于验证用户身份的技术和方法,包括为单个富客户端应用程序实例提供多用户支持。您应考虑到用户的登录方式和登录时间、是否需要支持具有不同权限(例如管理员和标准用户)的不同类型用户(不同角色),以及如何记录成功和失败的登录。还应考虑对断开连接或离线身份验证的相关需求。
  • 如果用户必须能够以同一凭据或身份标识访问多个应用程序,则可考虑采用单点登录 (SSO) 或联合身份验证解决方案。您可通过注册到一个提供了联合身份验证的外部代理实现适当的解决方案,使用证书系统,或者为所在组织机构创建自定义的解决方案。
    • 可创造性地将 Windows 集成身份验证与 ArcGIS 富客户端相结合以用于 SSO 用户体验。
  • 考虑您将如何保护应用程序和资源(例如应用程序所使用的文件、缓存和文档)中存储的数据。加密可能暴露的敏感数据并考虑使用数字签名来防止发生篡改。在高安全性应用程序中,请考虑加密存储在内存中的易失信息。另外,还要记住保护应用程序通过网络或通信信道发送的敏感信息。
  • 考虑您将如何对应用程序实现审核和日志记录,以及确定要在这些日志中包含的信息。请记住可通过加密保护日志中的敏感信息,也可为易遭篡改的大多数敏感类型信息使用数字签名。
  • 考虑选择适当的客户端/服务器 ArcGIS 通信协议
    • 直连
      • 目前在富客户端和数据库服务器之间最常用的通信机制
      • 将标准 SQL 协议通信与数据库服务器配合使用
      • 允许通过将标准数据库供应商解决方案与 SSL 或 IPSec 配合使用来保护客户端和数据库系统之间的通信安全
    • 应用程序连接
      • 客户端和服务器之间的专有通信协议
      • 某些客户更倾向于使用这种解决方案,以避免将数据库客户端软件部署到富客户端计算机
    • 为 ArcGIS Server 提供的 Web 服务接口

利用实现富客户端安全的 ArcGIS Server 令牌

  • 用户向连接对话框中输入有效的用户名和密码。
  • 如果未输入用户名或密码,或者登录不正确,软件会提示用户输入正确的凭据。
  • 输入正确的用户名和密码后,用户即可正常使用服务。

富客户端安全的自定义开发

桌面应用程序的安全可通过使用自定义控件扩展来改进。

  • 实现诸如标识管理 (IM) 和访问控制之类的技术,并提供能够限制授权用户可执行的 ArcGIS 客户端操作(编辑、复制、保存和打印)的能力
  • 使用 ArcObjects 开发接口进行开发

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

From:                              resources.arcgis.com

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


移动应用程序

移动设备往往是单用户设备,除了简单的密码外,通常缺少基本的用户配置文件和安全性跟踪。其他的常规桌面机制也可能丢失。移动设备通过协议进行搜索的能力(如蓝牙功能)可能给用户带来意外情况。移动应用程序尤其会面临连接中断带来的挑战。要考虑到所有可能的连通性情况,是无线连接还是有线连接。

一般性移动应用程序安全准则:

即使您使用相同的工具,也不要主观地认为在较大型平台(如 Windows XP)上可用的安全机制在移动平台上也可用。例如,访问控制列表 (ACL) 在 Windows Mobile 中不可用,因此不存在操作系统级别的文件安全性。

保护移动解决方案需主要考虑以下几点:

保护服务器

  • 遵循标准服务器硬化建议

保护通信管道

  • 如果您要支持 GIS 数据的无线/外业同步,您需要确保 DMZ 外部的服务器可以访问。为应对该需求,用户通常要实现 2 个解决方案:
    • 使用反向代理
    • 完全托管在 DMZ 上的服务器
  • 为无线同步、底座插入同步、蓝牙搜索和本地 SD 卡几种情况设计身份验证。
  • 确保对通过蓝牙设备进行的访问进行身份验证。
  • 在移动应用程序图层中标出信任边界;例如,客户端与服务器之间或服务器与数据库之间。这样有助于您确定进行身份验证的位置及方式。
  • 从数据的角度来看,外业项目很少能在生产地理数据库上完成。多数情况下,先创建复本,然后将复本中的数据提供给移动用户。这样做是出于两个原因:
    • 隔离编辑
    • 外业使用需要变换数据模型。

保护移动缓存

  • 如果您正使用“移动 ADF”建立自定义应用程序,则可应用“密码术”加密缓存。
    • 许多用户主要以保护设备为主。

保护移动设备

针对特定 Esri 移动产品的安全准则摘要:

ArcPad

  • 密码保护和加密 AXF 数据文件
  • 加密移动设备内存卡
  • 通过用户和组对可发布 ArcPad 数据的人员范围进行限制,以保护您的 ArcGIS Server 环境
  • 保护用于同步 ArcPad 数据的 Internet 连接

ArcMobile


----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

From:                              resources.arcgis.com

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------



Web 应用程序的安全性

安全性对于保护 Web 应用程序数据和资源的完整性和隐私至关重要。您应为 Web 应用程序设计一种保护策略,此策略采用一套经测试并且验证成功的安全方案,并通过实现身份验证、授权和数据验证等手段来保护应用程序免受一系列威胁。

Web 应用程序的常规安全准则

  • 考虑通过实现一种强身份验证机制来限制资源的访问并保护业务逻辑。
    • 第三方企业级单点登录解决方案可作为 ArcGIS web 应用程序服务的身份验证和身份验证网关
  • 考虑在每一信任边界处都使用输入验证和数据验证,以减少跨站点脚本执行和代码注入之类的安全威胁。
  • 不要仅依赖客户端验证。还要使用服务器端验证。
  • 考虑对任一经由网络发送的敏感数据进行加密
    • 基本安全解决方案着重于加密用户名/密码信息
    • 高级安全解决方案着重于加入数字签名 (PKI)

应用程序开发框架 (ADF) Web 应用程序安全指导

ArcGIS Server 为基于 ADF 的 web 应用程序提供了即用的安全性,您无需进行任何编程。采用 ASP.NET 和 JavaEE 的 Web 应用程序的安全配置可通过 ArcGIS 管理器自动执行。

富 Internet 应用程序 (RIA) 安全准则

对于基于较新的 RIA 技术的 REST API(例如 Javascript、Flex 和 Silverlight)Web 应用程序,Esri 提供了多个可加快开发进度的有关安全的代码段/示例。由于运行在浏览器的沙箱内,RIA 应用程序(例如 Flex 和 Silverlight)减少了各种常见的攻击向量。不过,如果要将代码部署到客户端浏览器上,则应考虑超出基本 web 应用程序以外的其他安全准则:

  • 应用程序运行在浏览器的沙箱内,占用与其他应用程序相隔绝的内存空间。
  • 对于本地客户端文件系统的浏览受到限制。
  • 限制对专门的本地设备(如网络摄像头)的访问。
  • 限制对除应用程序所在域以外的其他域的访问,从而保护用户免受跨站点脚本的攻击

    • 这可通过位于 Web 服务器根目录中针对 Flash 的 CrossDomain.xml 和针对 SilverLight 的 ClientAccessPolicy.xml 来实现
    • Esri 跨域指导

  • 下载客户端上使用的敏感业务逻辑时,请务必慎重。因为当前已存在一些工具能够提取所下载的 XAML 浏览器应用程序 (XBAP) 和 Shockwave Flash (SWF) 文件中的逻辑。

    • 使用 Web 服务实现敏感业务逻辑。
    • 如果出于性能考虑,必须要将逻辑置于客户端,请研究和利用任何可用的模糊处理方法。

    • 为了将敏感数据处于客户端的时间缩至最短,请利用资源的动态加载功能,并覆盖或清除浏览器缓存中包含敏感数据的组件。

针对基于 REST 的应用程序的 ArcGIS 安全令牌指导

  • 对于安全性解决方案,将服务的用户名和密码嵌入客户端 JavaScript 中的做法并不合适。
  • 可以从令牌服务器获取长期令牌,而且此令牌可包含在客户端页面中。随后此令牌将被包含在服务请求中。
    • 长期令牌通常不适用于“基本 GIS 安全模式”以外的解决方案需求,这是由于可能存在重复攻击造成的,攻击者可截获数据并将其(例如允许访问的令牌)重新传输。

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

From:                              resources.arcgis.com

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


服务安全性

当通过服务暴露业务功能时,必须在保护业务规则、数据和功能方面发挥作用。安全问题涉及一系列需要关注的事项,包括保护敏感数据、用户身份验证和授权,保护系统免受来自恶意代码和用户的攻击以及审核和记录事件和用户活动。

服务安全的常规准则

  • 最常见的服务安全机制目前是传输层安全性(例如 SSL)。
  • 改进用户在“高级安全性”中的身份验证需要公钥基础设施 (PKI) 环境
    • 对于基于 extranet 和 intranet 的解决方案,您可以使用通过基于组织的证书服务颁发的证书。
    • 对于业务至业务 (B2B) 服务和常用公共服务,证书应由商业证书颁发机构颁发。
  • 如果服务通过其他服务器,则考虑实现基于消息的安全性。这是因为,使用传输层安全性保护的消息在每次通过其他服务器时,该服务器会对该消息进行解密,然后在重新加密后再将其发送到下一个服务器。
    • 大多数 GIS 实现此时不使用基于消息的身份验证

ArcGIS Server 管理器

  • 对于 ArcGIS Server,可以通过“管理器”中的“服务”选项卡来控制对服务的访问。
  • 设置文件夹以及各个服务的权限。
  • 设置 GIS 服务的权限以通过所有支持的 Web 接口(SOAP、REST、OGC 和 KML)保护对服务的访问

SOAP API 安全性

  • 在不使用 ADF 连接类的情况下,使用 SOAP 工具包访问 GIS Web 服务的 WSDL 的应用程序需要显式获取和使用令牌。
  • WS-Security 当前没有嵌入到 ArcGIS 组件中,可根据需要由第三方 XML/SOAP 网关访问
  • ArcGIS 既有配置即提供 HTTP\Windows 身份验证
  • ArcGIS 既有配置即提供基于令牌的身份验证
  • 使用安全的 ArcGIS Server SOAP 服务

Rest API 安全性

  • 默认情况下,服务目录处于打开状态,因此,如果不想使服务位置信息处于可浏览状态,则禁用服务目录。

本地服务安全性

  • 可通过清空 AGSUsers 组来为用户移除 ArcGIS Server 的本地服务请求
  • 只可以对通过 Internet 进行的连接限制 GIS 服务器上部分服务的访问。
  • 如果只需要通过本地连接进行访问,则可以通过 ArcCatalog 或 ArcGIS 管理器按服务来关闭 Web 服务访问。

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

From:                              resources.arcgis.com

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


猜你喜欢

转载自blog.csdn.net/linghe301/article/details/20472331
今日推荐