2010-07-26 112 views
10

关于安全性的大多数文献都着手在开始制定机制和实施之前定义安全策略的重要性。虽然这看起来合乎逻辑,但对于确定安全策略的真正含义还不清楚。定义系统的安全策略

在这里没有人有在定义安全策略的经验,如果是这样:

1)什么是这样定义的结果?对于分布式系统而言,这种策略的形式是否包含一系列关于系统安全要求(允许和不允许)的陈述?

2)政策可以采用机器可读的形式(如果有意义的话),如果可以的话如何使用?

3)如何维护这样的政策?政策是否保留为系统中的文档(与所有其他文档一样)?

4)有必要引用代码中的策略文档吗?

Brian

+0

这似乎不是关于编程。由于显然是关于企业级安全性,因此投票迁移到Server Fault。 – 2010-09-07 16:00:05

+2

@大卫:我强烈反对。在设计具有安全隐患的系统时,其实施的机制必须支持一系列潜在的政策。 – Novelocrat 2010-09-07 21:42:20

+0

@Novelocrat:当然,编程上述机制完全在这里讨论。然而,这是关于建立一些将以各种方式实施的规则,一些可能涉及编程,这不是关于SO的主题。 – 2010-09-08 14:10:29

回答

-1

如果您必须设计安全策略,为什么不考虑用户和权限?

所以,假设你有一个API的东西。考虑一些用户的安排,将他们分成他们想做的事情和他们需要做的最低权限。所以如果有人只需要从数据库中读取文档,那么API本身不会让用户做其他事情。

想象一下,这是一个Web JSON API。用户点击一个按钮,JS处理请求并发送它。通常情况下,它可以正常工作,但如果有人篡改请求,服务器只是返回一些错误代码,因为它只是将用户可以执行的一些操作列入白名单。

所以我认为这一切归结为用户和权限。

+0

这非常狭隘地集中在一种安全环境上。其他环境将有非常不同的设置。例如,考虑一个针对统计信息披露的要求。或者允许的操作取决于当前数据和条件的系统。 – Novelocrat 2010-09-07 14:42:10

+0

它被故意简化为我认为是您必须制定政策的最常见情况。恕我直言,大多数安全策略是关于应该或不应该访问某些数据的最终用户。除了这个问题很难完全解决(我希望你去尝试,因为你可能比我有更好的理解)。 – 2010-09-09 02:13:24

+0

'“或者一个允许的操作取决于当前数据和条件的系统” - 这似乎是“用户和白名单权限”方法可以工作的一种方式。 – 2010-09-09 02:15:19

1

开放Web应用安全项目OWASP是一个语言无关的项目,教导安全和提供测试和支持软件的工具。虽然它是以网络为中心的,但许多核心思想都是广泛适用的。该网站面向软件工程师和管理人员。

1

当人们谈论“安全策略”时,他们可能指的是两种不同类型的安全策略。

其中之一是高层次的,通常由管理层定义。这个安全策略的主要读者是人。它是一份文件,用于界定管理层思想中安全的目标,背景,期望和要求。本政策中使用的语言可能含糊不清,但这是适用情况下安全性的基本“法律”。参与的每个人都应遵循这样的政策

1)该政策的结果是管理层明确定义的安全要求。有了这些政策,相关人员就可以了解管理层的期望,并在必要时作出与安全有关的判断。

2)由于此类安全策略的主要读者是人类,而且这些陈述通常非常笼统,因此它可能不是机器可读的形式。但是,可能会根据策略定义一些文档,即安全准则,过程和手册。他们按照安全实际应该如何实施的细节水平不断提高。例如,安全策略中定义的要求可以实现为针对不同操作系统的强化手册,以便管理员和工程师可以高效地执行强化任务,而无需花费太多时间来解释管理层的想法。然后可以将硬化手册变成一组机器可读配置(例如,最小密码长度,在锁定账户之前的最大失败登录次数等)使硬化任务自动化。

3)所有参与者都可以访问该文档,并由管理层定期审查。

4)实际上可能很难做出这样的参考。安全策略可能会不时更新,如果策略更改仅影响某些参数,您可能不希望重新编译程序。但是,在设计sepc等开发文档中引用策略是很好的。

另一种类型的“安全策略”可能只是将这些参数集引用为安全程序。我发现一些安全程序真的喜欢用“策略”这个词来使它们的配置更加有组织和结构。但无论如何,这些“安全策略”实际上只是安全程序遵循的价值观和/或指令。例如,Windows有自己的一套“安全策略”,供用户配置审计日志记录,用户权限等。这种“安全策略”(程序参数)实际上是基于第一种类型的“安全策略” (来自管理层的要求),如上所述。

我可能在这方面写得太多了。希望能帮助到你。