BarsUP.AM:我们如何开发一种用于保护Web应用程序信息的工具

图片

BarsUp.Access Manager(BarsUp.AM) -我们用于保护机密信息的软件包。在根据俄罗斯FSTEC法规文件的要求设计和开发该系统时,我们在使用经过认证的信息保护工具来管理对Web应用程序的访问方面遇到了困难。

俄罗斯FSTEC第17号命令指出,应选择经过认证符合信息安全要求的信息保护手段,并考虑其成本,与信息技术的兼容性和技术手段。我们查看了当时的市场情况并了解:与我们的信息系统兼容的解决方案的成本通常超过了系统本身的成本,或者它们不兼容。

在这种情况下,监管机构报告说,在缺乏适当的信息保护手段的情况下,根据俄罗斯联邦法律或对设计决策的调整,会组织其开发(修订)和认证我们决定在FSTEC of Russia中开发和认证软件,该软件可实现用户识别和认证,访问控制和安全事件注册的功能,以便可能使用:

  • 在自动化系统中,根据指导文件“自动化系统。防止未经授权的信息访问。自动化系统的分类和信息保护要求”(俄罗斯国家技术委员会,1992年;
  • 11 2013 . № 17 « , , » 11 2014 . « »;
  • 1 18 2013 . № 21 « ».

该产品称为BarsUP.Access ManagerBarsUP.AM我将消除与FSTEC做出决定以及与测试实验室和认证机构达成的协议有关的问题,并超越本材料的范围,并描述我们如何开发用于保护Web应用程序的软件。

开始


我们组成了一个由项目经理,信息安全工程师,分析师,软件架构师和两名主要开发人员组成的团队。在项目实施过程中,我们确定了以下几个阶段的工作:

图片

在分析阶段,我们从监管文件中收集了可以作为网络保护手段实施的要求,然后我们与开发人员一起在资源和时间上实施了实施可能性。在讨论需求时,我们将法律行为中的措词翻译成分析人员和开发人员可以理解的语言,并形成了路线图:首先应该实施什么,这是可选的。我们在产品开发后并行编写了认证文件。

在输出中,我们收到了解决以下任务的产品:

  • (SSO) ;
  • ;
  • ;
  • ;
  • ;
  • .
  • , ;
  • ;
  • () , TOTP ;
  • ;
  • ;
  • () ;
  • ;
  • ;
  • 由于群集,系统的水平可伸缩性。

该软件支持两种用于实现单点登录的标准:

  • 安全断言标记语言(SAML);
  • OpenID Connect 1.0。

SAML单一登录实施


根据SAML标准的条款,该软件充当身份提供者(IdP)。IP子系统充当服务提供商(SP)。

下面介绍了通过SAML进行单点登录的一般过程:

图片

  1. 用户正在尝试对应用程序(SP)进行Web访问。
  2. 该应用程序检查是否存在安全上下文,如果不存在安全上下文,则生成AuthnRequest消息,并将用户的浏览器重定向到授权服务器BarsUP.AM(IdP);
  3. 用户连接到授权服务器并输入其凭据;
  4. , ;
  5. Response;
  6. , Response. Response .

各方之间的消息交换采用SAML语句(断言)的形式使用安全的HTTPS协议传输SAML声明。

在IdP身份提供者和SP服务提供者之间建立信任关系。发送的SAML消息(包括AuthRequest和AuthResponse)分别使用SP和IdP数字证书进行签名。

AuthRequest消息使用应用程序的私钥签名,并使用HTTP重定向,HTTP POST或HTTP Artifact消息传递到授权服务器。AuthRequest消息尤其包含以下信息:

  • 申请网址
  • IdP身份提供者URL(BarsUP.AM授权服务器);
  • 请求创建的ID和时间。

AuthnResponse响应消息使用授权服务器的私钥签名。AuthnResponse消息尤其包含以下信息:

  • 该响应对应的AuthRequest请求标识符;
  • 响应处理程序URL
  • 响应被视为有效的期限;
  • 用户认证日期和时间
  • 用户会话标识符;
  • 用户属性及其值。

基于OpenID Connect实现单点登录


OpenID Connect是一个扩展,旨在通过OAuth 2.0协议提供用户标识和身份验证。

在使用OpenID Connect技术实施单点登录的过程中,BarsUP.AM充当OpenID提供程序(OpenID Provider,OP)。信息系统(即用户访问的目标Web应用程序)充当依赖方(RP),该依赖方使用OP来验证用户身份。

下图描述了通过OpenID Connect进行单点登录的实现:

图片

  1. 用户正在尝试访问Web应用程序(SP);
  2. 该应用程序生成一个授权码请求(OAuth2.0协议),并将用户的浏览器重定向到授权服务器BarsUP.AM(OP);
  3. 用户在OP上输入其凭据;
  4. OP ;
  5. , OP RP . , Authorization Response, ;
  6. RP OP, (Token Request). TLS;
  7. , OP RP (ID Token, Access Token);
  8. RP .

BarsUP.AM web-


为了避免旨在欺骗OP或RP的攻击,它们必须相互认证。

BarsUP.AM支持OpenID Connect规范中定义的身份验证方法。OpenID Connect和OAuth 2.0的操作原理基于标识令牌(ID令牌)和授权(访问令牌)的使用。

我将在软件中给出基本安全功能的实现:

  • 用户识别和认证;
  • 访问控制;
  • 安全事件日志记录。

用户身份验证和身份验证


在BarsUP.AM中基于用户名和密码来实现标识和认证。用户在BarsUP.AM身份验证网页上输入其凭据。在这种情况下,凭据通过HTTPS协议以安全的形式传输。仅当身份验证成功时,才允许访问目标应用程序。因此,通过对IP的远程Web访问可以实现用户标识和身份验证。

输入密码时,密码不会显示在Web表单中,并且将替换特殊密码。字符。因此,在输入认证信息时实施反馈保护。

BarsUP.AM密码策略提供以下设置:

  • 哈希算法;
  • 禁止用户名和密码;
  • 密码中的最小位数;
  • 最小密码长度;
  • 小写字母的最小数量;
  • 最少大写字母;
  • 最少的特殊字符数;
  • 密码历史记录长度;
  • 一段时间后强制更改密码;
  • 新密码中更改的最少字符数。

BarsUP.AM还支持多因素(两因素)用户身份验证。

访问控制


BarsUP.AM实现了自动用户帐户管理支持和自动用户帐户锁定。

管理员可以自行决定创建,修改,删除,阻止和取消阻止用户帐户。用户帐户由管理员使用BarsUP.AM管理服务器的Web控制台创建。创建帐户时,会显示名称,电子邮件地址,帐户有效期,并在必要时指示其他用户属性。用户根据密码策略在首次登录时更改密码。用户帐户可以按特定的组属性和权限进行分组。

以下用户帐户锁定机制是:

  • 管理员阻止;
  • 在设定的使用时间结束时封锁;
  • 在指定的时间不使用帐户后一段时间内阻止;
  • 超过失败的登录尝试时阻止;
  • 超过并发会话数时阻塞。

该帐户将被管理员取消阻止,或者在阻止超时之后(例如,由于超出失败的登录尝试次数而被阻止时)将被取消阻止。

BarsUP.AM在输入IP时实现对主题的访问控制。可以为BarsUP.AM中的每个用户或用户组分配角色和权限。权限可以应用于特定系统,也可以应用于包括多个系统(应用程序)的整个域。有关角色和权限的信息由管理员设置,并以访问属性的形式固定。

安全事件记录


BarsUP.AM在IP的远程Web访问期间实现有关安全事件的信息的收集,记录和存储。特别是,记录了与更改用户密码,设置和删除用户帐户,更改访问控制规则和用户权限有关的事件。

安全事件记录在事件日志中。对于每个事件,记录日期和时间,事件类型,受影响的系统,与事件关联的用户以及节点的IP地址。日志记录服务器用于存储事件日志。

事件分为几类,包括安全事件和系统事件。查看事件日志的权限已授予管理员。

可以自定义要记录的安全事件的组成。要记录的安全事件的定义及其存储时间记录在组织和管理文档中,以保护信息


该项目耗时6个月,其中不包括测试时间和认证机构的工作。现在,在实施项目以确保信息系统中信息的保护时,我们无需担心如何保护Web应用程序。

Source: https://habr.com/ru/post/undefined/


All Articles