aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2006-10-08 16:22:59 +0000
committerXin LI <delphij@FreeBSD.org>2006-10-08 16:22:59 +0000
commit07b9d98163ba6781a6def1a9d5aa39c838c31149 (patch)
tree19a29693d03a7b7c9f726085bd6e375978f24c93 /zh_CN.GB2312/books/handbook
parent1c8c533d237f24e1433eee7ed374d1638d9474ec (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books/handbook')
-rw-r--r--zh_CN.GB2312/books/handbook/mac/chapter.sgml253
1 files changed, 128 insertions, 125 deletions
diff --git a/zh_CN.GB2312/books/handbook/mac/chapter.sgml b/zh_CN.GB2312/books/handbook/mac/chapter.sgml
index 95bdd64fe2..aea15b7cc9 100644
--- a/zh_CN.GB2312/books/handbook/mac/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/mac/chapter.sgml
@@ -17,31 +17,31 @@
</authorgroup>
</chapterinfo>
- <title>集权式访问控制</title>
+ <title>强制访问控制</title>
<sect1 id="mac-synopsis">
<title>概要</title>
<indexterm><primary>MAC</primary></indexterm>
<indexterm>
- <primary>集权式访问控制</primary>
+ <primary>强制访问控制</primary>
<see>MAC</see>
</indexterm>
<para>&os;&nbsp;5.X 在 &posix;.1e 草案的基础上引入了 TrustedBSD
项目提供的新的安全性扩展。 新安全机制中最重要的两个,
是文件系统访问控制列表 (<acronym>ACL</acronym>)
- 和集权式访问控制 (<acronym>MAC</acronym>) 机制。
- 集权式访问控制允许加载新的访问控制模块, 并借此实施新的安全策略,
+ 和强制访问控制 (<acronym>MAC</acronym>) 机制。
+ 强制访问控制允许加载新的访问控制模块, 并借此实施新的安全策略,
其中一部分为一个很小的系统子集提供保护并加强特定的服务,
- 其他的则对所有的主体和对象提供全面的标签式安全保护。
- 定义中有关集权的部分源于如下事实,
+ 其他的则对所有的主体和客体提供全面的标签式安全保护。
+ 定义中有关强制的部分源于如下事实,
控制的实现由管理员和系统作出,
- 而不像全权式访问控制 (<acronym>DAC</acronym>, &os;
+ 而不像自主访问控制 (<acronym>DAC</acronym>, &os;
中的标准文件以及 System V <acronym>IPC</acronym> 权限)
那样是按照用户意愿进行的。</para>
- <para>本章将集中讲述集权式访问控制框架 (MAC 框架)
+ <para>本章将集中讲述强制访问控制框架 (MAC 框架)
以及一套用以实施多种安全策略的插件式的安全策略模块。</para>
<para>阅读本章之后, 您将了解:</para>
@@ -127,8 +127,11 @@
<itemizedlist>
<listitem>
- <para><emphasis>区间</emphasis>: 区间,
- 是指一组被划分或隔离的程序和数据, 其中,
+ <para><emphasis>区间</emphasis>(compartment):
+ (译注: <emphasis>区间</emphasis> 这一术语,
+ 在一些文献中也称做类别 (category)。 此外,
+ 在其它一些翻译文献中, 该术语也翻译为 <quote>象限</quote>。)
+ 指一组被划分或隔离的程序和数据, 其中,
用户被明确地赋予了访问特定系统组件的权限。 同时,
区间也能够表达分组, 例如工作组、 部门、 项目, 或话题。
可以通过使用区间来实施 need-to-know 安全策略。</para>
@@ -143,28 +146,28 @@
</listitem>
<listitem>
- <para><emphasis>完整性</emphasis>: 作为一个关键概念,
+ <para><emphasis>完整性</emphasis>(integrity): 作为一个关键概念,
完整性是数据可信性的一种程度。
若数据的完整性提高, 则数据的可信性相应提高。</para>
</listitem>
<listitem>
- <para><emphasis>标签</emphasis>: 标签是一种可应用于文件、
- 目录或系统其他对象的安全属性, 它也可以被认为是一种机密性印鉴。
+ <para><emphasis>标签</emphasis>(label): 标签是一种可应用于文件、
+ 目录或系统其他客体的安全属性, 它也可以被认为是一种机密性印鉴。
当一个文件被施以标签时, 其标签会描述这一文件的安全参数,
并只允许拥有相似安全性设置的文件、 用户、 资源等访问该文件。
标签值的涵义及解释取决于相应的策略配置:
- 某些策略会将标签当作对某一对象的完整性和保密性的表述,
+ 某些策略会将标签当作对某一客体的完整性和保密性的表述,
而其它一些策略则会用标签保存访问规则。</para>
</listitem>
<listitem>
- <para><emphasis>程度</emphasis>: 对某种安全属性加强或削弱的设定。
+ <para><emphasis>程度</emphasis>(level): 对某种安全属性加强或削弱的设定。
若程度增加, 其安全性也相应增加。</para>
</listitem>
<listitem>
- <para><emphasis>低水位线</emphasis> (low water mark):
+ <para><emphasis>低水位线</emphasis>(low water mark):
低水位线策略允许降低安全级别, 以访问安全性较差的信息。
多数情况下, 在进程结束时, 又会回到原先的安全级别。
目前在 &os; 中唯一实现这一安全策略的是
@@ -172,48 +175,48 @@
</listitem>
<listitem>
- <para><emphasis>多重标签 (multilabel)</emphasis>: <option>multilabel</option>
+ <para><emphasis>多重标签</emphasis>(multilabel): <option>multilabel</option>
属性是一个文件系统选项。 该选项可在单用户模式下通过
&man.tunefs.8; 程序进行设置。 可以在引导时使用的 &man.fstab.5;
文件中, 也可在创建新文件系统时进行配置。
- 该选项将允许管理员对不同对象施以不同的 <acronym>MAC</acronym> 标签。
+ 该选项将允许管理员对不同客体施以不同的 <acronym>MAC</acronym> 标签。
该选项仅适用于支持标签的安全策略模块。</para>
</listitem>
<listitem>
- <para><emphasis>对象</emphasis>: 对象或系统对象是一种实体,
- 信息随 <emphasis>主体</emphasis> 的导向在对象内部流动。
- 对象包括目录、 文件、 区段、 监视器、 键盘、 存储器、
+ <para><emphasis>客体</emphasis>(object): 客体或系统客体是一种实体,
+ 信息随 <emphasis>主体</emphasis> 的导向在客体内部流动。
+ 客体包括目录、 文件、 区段、 显示器、 键盘、 存储器、
磁存储器、 打印机及其它数据存储/转移设备。
- 基本上, 一个对象就是一个数据容器或一种系统资源。
- 对 <emphasis>对象</emphasis> 的访问实际上意味着对数据的访问。</para>
+ 基本上, 客体就是指数据容器或系统资源。
+ 对 <emphasis>客体</emphasis> 的访问实际上意味着对数据的访问。</para>
</listitem>
<listitem>
- <para><emphasis>策略</emphasis>: 一套用以规定如何达成目标的规则。
- <emphasis>策略</emphasis> 一般用以描述如何对特定对象进行操作。
+ <para><emphasis>策略</emphasis>(policy): 一套用以规定如何达成目标的规则。
+ <emphasis>策略</emphasis> 一般用以描述如何对特定客体进行操作。
本章将在<emphasis>安全策略</emphasis>的范畴内讨论<emphasis>策略</emphasis>,
一套用以控制数据和信息流并规定其访问者的规则,就是其中一例。</para>
</listitem>
<listitem>
- <para><emphasis>敏感性</emphasis>: 通常在讨论
+ <para><emphasis>敏感性</emphasis>(sensitivity): 通常在讨论
<acronym>MLS</acronym> 时使用。
敏感性程度曾被用来描述数据应该有何等的重要或机密。
若敏感性程度增加, 则保密的重要性或数据的机密性相应增强。</para>
</listitem>
<listitem>
- <para><emphasis>单一标签</emphasis>:
+ <para><emphasis>单一标签</emphasis>(single label):
整个文件系统使用一个标签对数据流实施访问控制, 叫做单一标签。
当文件系统使用此设置时, 即无论何时当 <option>多重标签</option>
选项未被设定时, 所有文件都将遵守相同标签设定。</para>
</listitem>
<listitem>
- <para><emphasis>主体</emphasis>: 主体就是引起信息在两个
- <emphasis>对象</emphasis>间流动的任意活动实体,
- 比如用户, 用户处理器, 系统进程等。
+ <para><emphasis>主体</emphasis>(subject): 主体就是引起信息在两个
+ <emphasis>客体</emphasis> 间流动的任意活动实体,
+ 比如用户, 用户进程(译注:原文为 processor), 系统进程等。
在 &os; 中, 主体几乎总是代表用户活跃在某一进程中的一个线程。</para>
</listitem>
</itemizedlist>
@@ -225,20 +228,20 @@
<para>在掌握了所有新术语之后, 我们从整体上来考虑 <acronym>MAC</acronym>
是如何加强系统安全性的。 <acronym>MAC</acronym>
框架提供的众多安全策略模块可以用来保护网络及文件系统,
- 也可以禁止用户访问某些特定的端口、 套接字及其它对象。
+ 也可以禁止用户访问某些特定的端口、 套接字及其它客体。
将策略模块组合在一起以构建一个拥有多层次安全性的环境,
也许是其最佳的使用方式, 这可以通过一次性加载多个安全策略模块来实现。
在多层次安全环境中, 多重策略模块可以有效地控制安全性,
- 这一点与加强式策略不同。
- 加强式策略一般加强仅具有某些特殊用途的系统对象的安全性。
+ 这一点与强化型 (hardening) 策略,
+ 即那种通常只强化系统中用于特定目的的元素的策略是不同的。
相比之下, 多重策略的唯一不足是需要系统管理员先期设置好参数,
- 如多重文件系统安全标志、每一位用户的网络访问权限等等。</para>
+ 如多重文件系统安全标志、 每一位用户的网络访问权限等等。</para>
- <para>与框架长久的效果相比, 这些不足之处微乎其微。
- 例如, 为某种特殊配置选择其所需策略的能力, 会使整体性能下降,
- 但减少对无用策略的支持却可以提高系统整体性能,
- 同时还可以为选择提供弹性空间。 好的应用应该考虑到整体的安全性要求,
- 并有效地实施框架提供的众多安全策略模块。</para>
+ <para>与采用框架方式实现的长期效果相比, 这些不足之处是微不足道的。
+ 例如, 让系统具有为特定配置挑选必需的策略的能力, 有助于降低性能开销。
+ 而减少对无用策略的支持, 不仅可以提高系统的整体性能,
+ 而且提供了更灵活的选择空间。 好的实施方案中应该考虑到整体的安全性要求,
+ 并有效地利用框架所提供的众多安全策略模块。</para>
<para>这样一个使用 <acronym>MAC</acronym> 特性的系统,
至少要保证不允许用户任意更改安全属性; 所有的用户实用工具、
@@ -249,7 +252,7 @@
某些环境也许需要限制网络的访问控制权,
在这种情况下, 使用 &man.mac.portacl.4;、 &man.mac.ifoff.4; 乃至
&man.mac.biba.4; 安全策略模块都会是不错的开始; 在其他情况下,
- 系统对象也许需要严格的机密性, 像 &man.mac.bsdextended.4; 和
+ 系统客体也许需要严格的机密性, 像 &man.mac.bsdextended.4; 和
&man.mac.mls.4; 这样的安全策略模块就是为此而设。</para>
<para>对安全策略模块的决定可依据网络配置进行,
@@ -257,13 +260,13 @@
提供的程序以访问网络或互联网, &man.mac.portacl.4;
安全策略模块应该成为这种情况下的选择。 但对文件系统又该作些什么呢?
是由特定的用户或群组来确定某些目录的访问权限,
- 抑或是将特定对象设为保密以限制用户或组件访问特定文件?</para>
+ 抑或是将特定客体设为保密以限制用户或组件访问特定文件?</para>
- <para>在文件系统的例子中, 也许访问对象的权限对某些用户是保密的,
+ <para>在文件系统的例子中, 也许访问客体的权限对某些用户是保密的,
但对其他则不是。 比如, 一个庞大的开发团队,
也许会被分成许多由几人组成的小组, A 项目中的开发人员可能不被允许访问
- B 项目开发人员创作的对象, 但同时他们还需要访问由 C
- 项目开发人员创作的对象, 这正符合上述情形。 使用由
+ B 项目开发人员创作的客体, 但同时他们还需要访问由 C
+ 项目开发人员创作的客体, 这正符合上述情形。 使用由
<acronym>MAC</acronym> 框架提供的不同策略, 用户就可以被分成这种小组,
然后被赋予适当区域的访问权, 由此, 我们就不用担心信息泄漏的问题了。</para>
@@ -293,15 +296,15 @@
<title>理解 MAC 标签</title>
<para><acronym>MAC</acronym> 标签是一种安全属性,
- 它可以被应用于整个系统中的主体和对象。</para>
+ 它可以被应用于整个系统中的主体和客体。</para>
<para>配置标签时, 用户必须能够确切理解其所进行的操作。
- 对象所具有的属性取决于被加载的策略模块,
+ 客体所具有的属性取决于被加载的策略模块,
不同策略模块解释其属性的方式也差别很大。
由于缺乏理解或无法了解其间联系而导致的配置不当,
会引起意想不到的, 也许是不愿看到的系统异常。</para>
- <para>对象上的安全标签是由安全策略模块决定的安全访问控制的一部分。
+ <para>客体上的安全标签是由安全策略模块决定的安全访问控制的一部分。
在某些策略模块中, 标签本身所包含的所有信息足以使其作出决策,
而在其它一些安全策略模块中, 标签则可能被作为一个庞大规则体系的一部分进行处理。</para>
@@ -312,29 +315,29 @@
分别是 low、 high 及 equal 标签。
尽管这些标签在不同安全策略模块中会对访问控制采取不同措施,
但有一点是可以肯定的, 那就是 low 标签表示最低限度的设定,
- equal 标签会将主体或对象设定为被禁用的或不受影响的,
+ equal 标签会将主体或客体设定为被禁用的或不受影响的,
high 标签则会应用 Biba 及 <acronym>MLS</acronym>
安全策略模块中允许的最高级别的设定。</para>
- <para>在单一标签文件系统的环境中, 同一对象上只会应用一个标签,
+ <para>在单一标签文件系统的环境中, 同一客体上只会应用一个标签,
于是, 一套访问权限将被应用于整个系统, 这也是很多环境所全部需要的。
- 另一些应用场景中, 我们需要将多重标签应用于文件系统的对象或主体,
+ 另一些应用场景中, 我们需要将多重标签应用于文件系统的客体或主体,
如此一来, 就需要使用 &man.tunefs.8;
的 <option>multilabel</option> 选项。</para>
<para>在使用 Biba 和 <acronym>MLS</acronym> 时可以配置数值标签,
- 以精确地标示分级控制的中的程度。
+ 以标示分级控制中的层级程度。
数值的程度可以用来划分或将信息按组分类,
- 从而只允许同程度或更高程度的组对齐进行访问。</para>
+ 从而只允许同程度或更高程度的组对其进行访问。</para>
<para>多数情况下, 管理员将仅对整个文件系统设定单一标签。</para>
<para><emphasis>等一下, 这看起来很像 <acronym>DAC</acronym>!
但我认为 <acronym>MAC</acronym> 确实只将控制权赋予了管理员。 </emphasis>
- 此声明依然有效。 在某种程度上, <username>root</username> 是实施控制的用户,
+ 此句话依然是正确的。 在某种程度上, <username>root</username> 是实施控制的用户,
他配置安全策略模块以使用户们被分配到适当的类别/访问 levels 中。
唉, 很多安全策略模块同样可以限制 <username>root</username> 用户。
- 对于对象的基本控制可能会下放给群组, 但 <username>root</username>
+ 对于客体的基本控制可能会下放给群组, 但 <username>root</username>
用户随时可以废除或更改这些设定。
这就是如 Biba 及 <acronym>MLS</acronym>
这样一些安全策略模块所包含的 hierarchal/clearance 模型。</para>
@@ -343,10 +346,10 @@
<title>配置标签</title>
<para>实际上, 有关标签式安全策略模块配置的各种问题都是用基础系统组件实现的。
- 这些命令为对象和主体配置以及配置的实施和验证提供了一个简便的接口。</para>
+ 这些命令为客体和主体配置以及配置的实施和验证提供了一个简便的接口。</para>
<para>所有的配置都应该通过 &man.setfmac.8; 及 &man.setpmac.8; 组件实施。
- <command>setfmac</command> 命令是用来对系统对象设置
+ <command>setfmac</command> 命令是用来对系统客体设置
<acronym>MAC</acronym> 标签的, 而 <command>setpmac</command>
则是用来对系统主体设置标签的。 例如:</para>
@@ -357,12 +360,12 @@
&man.chmod.1; 和 &man.chown.8; 命令类似。
某些情况下, 以上命令产生的错误可能是
<errorname>Permission denied</errorname>,
- 一般在受限对象上设置或修改设置时会产生此错误。
+ 一般在受限客体上设置或修改设置时会产生此错误。
<footnote><para>其它情况也能导致不同的执行失败。
例如, 文件可能并不隶属于尝试重标签该文件的用户,
- 对象可能不存在或着是只读的。 文件的某一属性、
+ 客体可能不存在或着是只读的。 文件的某一属性、
进程的某一属性或新的自定义标签值的某一属性,
- 将使集权式策略不允许进程重标签文件。 例如:
+ 将使强制式策略不允许进程重标签文件。 例如:
低完整性的用户试图修改高完整性文件的标签,
或者低完整性的用户试图将低完整性文件的标签改为高完整性标签。</para></footnote>
系统管理员可使用以下命令解决此问题:</para>
@@ -392,16 +395,16 @@ test: biba/high</screen>
<itemizedlist>
<listitem>
<para><literal>low</literal>
- 标签被认为是主体或对象所具有的最低层次的标签设定。
- 对主体或对象采用此设定, 将阻止其访问标签为 high 的对象或主体。</para>
+ 标签被认为是主体或客体所具有的最低层次的标签设定。
+ 对主体或客体采用此设定, 将阻止其访问标签为 high 的客体或主体。</para>
</listitem>
<listitem>
- <para><literal>equal</literal> 标签只能被用于不希望受策略控制的对象上。</para>
+ <para><literal>equal</literal> 标签只能被用于不希望受策略控制的客体上。</para>
</listitem>
<listitem>
- <para><literal>high</literal> 标签对对象或主体采用可能的最高设定。</para>
+ <para><literal>high</literal> 标签对客体或主体采用可能的最高设定。</para>
</listitem>
</itemizedlist>
@@ -411,33 +414,34 @@ test: biba/high</screen>
<sect4>
<title>标签高级配置</title>
- <para>如下所示, 用于 <literal>comparison:compartment+compartment</literal> 的标签等级数:</para>
+ <para>如下所示, 用于 <literal>比较方式:区间+区间</literal>
+ (<literal>comparison:compartment+compartment</literal>) 的标签等级数:</para>
<programlisting>biba/10:2+3+6(5:2+3-20:2+3+4+5+6)</programlisting>
- <para>可被解释为: </para>
+ <para>其含义为:</para>
- <para><quote>Biba 策略标签</quote>/<quote>等级10</quote>
- : <quote>区间 2、 3及6</quote>:
+ <para><quote>Biba 策略标签</quote>/<quote>等级 10</quote>
+ :<quote>区间 2、 3及6</quote>:
(<quote>等级5 ...</quote>)</para>
<para>本例中, 第一个等级将被认为是 <quote>有效区间</quote> 的
<quote>有效等级</quote>, 第二个等级是低级等级,
- 最后一个则是高级等级。 大多数配置中不会使用这些设置,
+ 最后一个则是高级等级。 大多数配置中并不使用这些设置,
实际上, 它们是为更高级的配置准备的。</para>
- <para>当把它们应用在系统对象上时, 则只有当前的等级/区间,
+ <para>当把它们应用在系统客体上时, 则只有当前的等级/区间,
因为它们反映可以实施访问控制的系统中可用的范围, 以及网络接口。</para>
- <para>等级和区间, 可以用来在一对主体和对象之间建立一种称为
- <quote>支配</quote> 的关系, 这中关系可能是主体支配对象,
- 对象支配主体, 互不支配或互相支配。
+ <para>等级和区间, 可以用来在一对主体和客体之间建立一种称为
+ <quote>支配 (dominance)</quote> 的关系, 这种关系可能是主体支配客体,
+ 客体支配主体, 互不支配或互相支配。
<quote>互相支配</quote> 这种情况会在两个标签相等时发生。
由于 Biba 的信息流特性, 您可以设置一系列区间,
<quote>need to know</quote>, 这可能发生于项目之间,
- 而对象也由其对应的区间。 用户可以使用
+ 而客体也由其对应的区间。 用户可以使用
<command>su</command> 和 <command>setpmac</command>
- 来将他们的权限进一步细分, 以便在没有限制的区间里访问对象。</para>
+ 来将他们的权限进一步细分, 以便在没有限制的区间里访问客体。</para>
</sect4>
</sect3>
@@ -508,7 +512,7 @@ test: biba/high</screen>
<title>网络接口和标签设定</title>
<para>也可以在网络接口上配置标签, 以控制进出网络的数据流。
- 在所有情况下, 策略都会以适应对象的方式运作。 例如, 在
+ 在所有情况下, 策略都会以适应客体的方式运作。 例如, 在
<literal>biba</literal> 中设置为高的用户,
就不能访问标记为低的网络接口。</para>
@@ -539,13 +543,13 @@ test: biba/high</screen>
两种策略之间存在很多的不同之处, 它们在系统安全模型的灵活性方面,
提供了不同的选择。</para>
- <para><option>singlelabel</option> 只允许在每个 subject
- 或对象上使用一个标签, 如 <literal>biba/high</literal>。
+ <para><option>singlelabel</option> 只允许在每个主体或客体上使用一个标签,
+ 如 <literal>biba/high</literal>。
这降低了管理的开销, 但也同时降低了支持标签的策略的灵活性。
许多管理员可能更希望在安全策略中使用 <option>multilabel</option>。</para>
- <para><option>multilabel</option> 选项允许每一个 subject
- 或对象拥有各自独立的 <acronym>MAC</acronym> 标签,
+ <para><option>multilabel</option> 选项允许每一个主体或客体拥有各自独立的
+ <acronym>MAC</acronym> 标签,
起作用与标准的、 只允许整个分区上使用一个的
<option>singlelabel</option> 选项类似。 <option>multilabel</option>
和 <option>single</option> 标签选项只有对实现了标签功能的那些策略,
@@ -589,7 +593,7 @@ test: biba/high</screen>
<para>另一个需要注意的事情是, 在分区上使用
<option>multilabel</option> 并建立基于 <option>multilabel</option>
- 可能会提高系统管理的开销, 因为文件系统中的所有对象都需要指定标签。
+ 可能会提高系统管理的开销, 因为文件系统中的所有客体都需要指定标签。
这包括对目录、文件, 甚至设备节点。</para>
<para>接下来的命令将在需要使用多个标签的文件系统上设置
@@ -824,7 +828,7 @@ test: biba/high</screen>
这一模块的策略提供了标准文件系统权限模型的一种扩展,
使得管理员能够建立一种类似防火墙的规则集,
以文件系统层次结构中的保护文件、 实用程序,以及目录。
- 在尝试访问文件系统对象时, 会遍历规则表,
+ 在尝试访问文件系统客体时, 会遍历规则表,
直至找到匹配的规则, 或到达表尾。 这一行为可以通过修改
&man.sysctl.8; 参数,
security.mac.bsdextended.firstmatch_enabled 来进行设置。
@@ -1125,10 +1129,10 @@ test: biba/high</screen>
</sect1>
<sect1 id="mac-mls">
- <title>MAC Multi-Level 安全模块</title>
+ <title>MAC 多级 (Multi-Level) 安全模块</title>
<indexterm>
- <primary>MAC Multi-Level 安全策略</primary>
+ <primary>MAC 多级 (Multi-Level) 安全策略</primary>
</indexterm>
<para>模块名: <filename>mac_mls.ko</filename></para>
@@ -1138,12 +1142,12 @@ test: biba/high</screen>
<para>引导选项: <literal>mac_mls_load="YES"</literal></para>
<para>&man.mac.mls.4; 策略,
- 通过严格控制信息流向来控制系统中主体和对象的访问。</para>
+ 通过严格控制信息流向来控制系统中主体和客体的访问。</para>
<para>在 <acronym>MLS</acronym> 环境中,
- <quote>clearance</quote>(透明度) 级别会在每一个主体或对象标签上进行设置,
+ <quote>许可 (clearance)</quote> 级别会在每一个主体或客体标签上进行设置,
连同对应的区间。 由于这些透明度或敏感度可以有六千多个层次,
- 因此为每一个主体或对象进行配置将是一件让任何系统管理员都感到头疼的任务。
+ 因此为每一个主体或客体进行配置将是一件让任何系统管理员都感到头疼的任务。
所幸的是, 这个策略中已经包含了三个
<quote>立即可用的</quote> 标签。</para>
@@ -1154,19 +1158,19 @@ test: biba/high</screen>
<itemizedlist>
<listitem>
<para><literal>mls/low</literal> 标签包含了最低配置,
- 从而允许其他对象支配它。 任何标记为 <literal>mls/low</literal>
- 的对象将是地透明度的, 从而不允许访问更高级别的信息。
- 此外, 这个标签也阻止拥有较高透明度的对象向其写入或传递信息。</para>
+ 从而允许其他客体支配它。 任何标记为 <literal>mls/low</literal>
+ 的客体将是地透明度的, 从而不允许访问更高级别的信息。
+ 此外, 这个标签也阻止拥有较高透明度的客体向其写入或传递信息。</para>
</listitem>
<listitem>
- <para><literal>mls/equal</literal> 标签应放到不希望使用这一策略的对象上。</para>
+ <para><literal>mls/equal</literal> 标签应放到不希望使用这一策略的客体上。</para>
</listitem>
<listitem>
<para><literal>mls/high</literal> 标签是允许的最高级别透明度。
- 指定了这个标签的对象将支配系统中的其他对象; 但是,
- 它们将不允许向较低级别的对象泄露信息。</para>
+ 指定了这个标签的客体将支配系统中的其他客体; 但是,
+ 它们将不允许向较低级别的客体泄露信息。</para>
</listitem>
</itemizedlist>
@@ -1179,7 +1183,7 @@ test: biba/high</screen>
<listitem>
<para>固定规则: 不允许向上读, 不允许向下写
- (主体可以读取同级或较低级别的对象, 但不能读取高级别的。
+ (主体可以读取同级或较低级别的客体, 但不能读取高级别的。
类似地, 主体可以向同级或较高级写, 而不能向下写);</para>
</listitem>
@@ -1208,18 +1212,18 @@ test: biba/high</screen>
<listitem>
<para><literal>security.mac.mls.revocation_enabled</literal>
- 可以用来在标签转为较低 grade 时撤销对象访问权。</para>
+ 可以用来在标签转为较低 grade 时撤销客体访问权。</para>
</listitem>
<listitem>
<para><literal>security.mac.mls.max_compartments</literal>
- 可以用来设置对象的最大区间层次; 基本上,
+ 可以用来设置客体的最大区间层次; 基本上,
这也就是系统中所允许的最大区间数。</para>
</listitem>
</itemizedlist>
<para>要管理 <acronym>MLS</acronym> 标签, 可以使用
- &man.setfmac.8; 命令。 要在对象上指定标签,
+ &man.setfmac.8; 命令。 要在客体上指定标签,
需要使用下面的命令:</para>
<screen>&prompt.root; <userinput>setfmac mls/5 test</userinput></screen>
@@ -1241,8 +1245,8 @@ test: biba/high</screen>
<para>通过使用多级安全策略模块,
管理员可以规划如何控制敏感信息的流向。 默认情况下,
由于其默认的禁止向上读以及向下写的性质,
- 系统会默认将所有对象置于较低的状态。 这样,
- 所有的对象都可以访问,
+ 系统会默认将所有客体置于较低的状态。 这样,
+ 所有的客体都可以访问,
而管理员则可以在配置阶段慢慢地进行提高信息的敏感度这样的修改。</para>
<para>除了前面介绍的三种基本标签选项之外,
@@ -1280,8 +1284,8 @@ test: biba/high</screen>
这一节的许多内容都可以同时应用于两种策略。</para>
<para>在 Biba 环境中, <quote>integrity</quote> (完整性) 标签,
- 将设置在每一个 subject 或对象上。 这些标签是按照层次级别建立的。
- 如果对象或 subject 的级别被提升, 其完整性也随之提升。</para>
+ 将设置在每一个主体或客体上。 这些标签是按照层次级别建立的。
+ 如果客体或主体的级别被提升, 其完整性也随之提升。</para>
<para>被支持的标签是 <literal>biba/low</literal>,
<literal>biba/equal</literal> 以及 <literal>biba/high</literal>;
@@ -1289,21 +1293,21 @@ test: biba/high</screen>
<itemizedlist>
<listitem>
- <para><literal>biba/low</literal> 标签被认为是对象或 subject
- 所能拥有的最低完整性级别。 在对象或 subject 上设置它,
- 将阻止其在更高级别对象或 subject 的写操作,
+ <para><literal>biba/low</literal> 标签是客体或主体所能拥有的最低完整性级别。
+ 在客体或主体上设置它,
+ 将阻止其在更高级别客体或主体对其进行的写操作,
虽然读仍被允许。</para>
</listitem>
<listitem>
<para><literal>biba/equal</literal>
- 标签只应在那些希望排除在策略之外的对象上设置。</para>
+ 标签只应在那些希望排除在策略之外的客体上设置。</para>
</listitem>
<listitem>
- <para><literal>biba/high</literal> 允许向较低标签的对象上写,
- 但不允许读那些对象。
- 推荐在那些可能影响整个系统完整性的对象上设置这个标签。</para>
+ <para><literal>biba/high</literal> 允许向较低标签的客体上写,
+ 但不允许读那些客体。
+ 推荐在那些可能影响整个系统完整性的客体上设置这个标签。</para>
</listitem>
</itemizedlist>
@@ -1316,9 +1320,9 @@ test: biba/high</screen>
<listitem>
<para>固定规则: 不允许向上写, 不允许向下读 (与
- <acronym>MLS</acronym> 相反)。 subject 可以在它自己和较低的级别写,
- 但不能向更高级别实施写操作。 类似地, subject 也可以读在其自己的,
- 或更高级别的对象, 但不能读取较低级别的对象;</para>
+ <acronym>MLS</acronym> 相反)。 主体可以在它自己和较低的级别写,
+ 但不能向更高级别实施写操作。 类似地, 主体也可以读在其自己的,
+ 或更高级别的客体, 但不能读取较低级别的客体;</para>
</listitem>
<listitem>
@@ -1345,11 +1349,11 @@ test: biba/high</screen>
<listitem>
<para><literal>security.mac.biba.revocation_enabled</literal>
- 将在支配 subject 发生变化时强制撤销对对象的访问权。</para>
+ 将在支配主体发生变化时强制撤销对客体的访问权。</para>
</listitem>
</itemizedlist>
- <para>要操作系统对象上的 Biba 策略,
+ <para>要操作系统客体上的 Biba 策略,
需要使用 <command>setfmac</command> 和 <command>getfmac</command>
命令:</para>
@@ -1361,14 +1365,14 @@ test: biba/low</screen>
<title>规划托管完整性</title>
<para>与敏感性不同, 完整性是要确保不受信方不能对信息进行篡改。
- 这包括了在 subject 以及 object 之间传递的信息。
+ 这包括了在主体和客体之间传递的信息。
这能够确保用户只能修改甚至访问需要他们的信息。</para>
<para>&man.mac.biba.4; 安全策略模块允许管理员指定用户能够看到和执行的文件和程序,
并确保这些文件能够为系统及用户或用户组所信任, 而免受其他威胁。</para>
<para>在最初的规划阶段, 管理员必须做好将用户分成不同的等级、
- 级别和区域的准备。 在启动前后, 包括数据以及程序和使用工具在内的对象,
+ 级别和区域的准备。 在启动前后, 包括数据以及程序和使用工具在内的客体,
用户都会无法访问。 一旦启用了这个策略模块, 系统将默认使用高级别的标签,
而划分用户级别和等级的工作则交由管理员来进行配置。
与前面介绍的级别限界不同, 好的规划方法可能还包括 topic。
@@ -1379,7 +1383,7 @@ test: biba/low</screen>
<para>通过其自然的安全控制, 完整性级别较低的主体,
就会无法向完整性级别高的主体进行写操作; 而完整性级别较高的主体,
- 也不能观察或读较低完整性级别的对象。 通过将对象的标签设为最低级,
+ 也不能观察或读较低完整性级别的客体。 通过将客体的标签设为最低级,
可以阻止所有主体对其进行的访问操作。
这一安全策略模块预期的应用场合包括受限的 web 服务器、
开发和测试机, 以及源代码库。 而对于个人终端、
@@ -1401,20 +1405,19 @@ test: biba/low</screen>
<para>和 <acronym>MAC</acronym> Biba 策略不同,
&man.mac.lomac.4; 策略只允许在降低了完整性级别之后,
- 才允许在不破坏完整性规则的前提下访问较低完整性级别的对象。</para>
+ 才允许在不破坏完整性规则的前提下访问较低完整性级别的客体。</para>
<para><acronym>MAC</acronym> 版本的 Low-watermark
完整性策略不应与较早的 &man.lomac.4; 实现相混淆,
- 除了使用浮动的标签来支持 subject 通过辅助级别 compartment 降级之外,
- 其工作方式与 Biba 大体相似。 这一词要的
- compartment 以 <literal>[auxgrade]</literal> 的形式出现。
+ 除了使用浮动的标签来支持主体通过辅助级别区间降级之外,
+ 其工作方式与 Biba 大体相似。 这一次要的区间以 <literal>[auxgrade]</literal> 的形式出现。
当指定包含辅助级别的 lomac 策略时,
其形式应类似于: <literal>lomac/10[2]</literal>
这里数字二 (2) 就是辅助级别。</para>
- <para><acronym>MAC</acronym> LOMAC 策略依赖于系统对象上存在普适的标签,
- 这样就允许 subject 来从较低完整性级别的对象读取, 并对 subject
- 的标签降级, 以防止其在之后写高完整性级别的对象。 这就是前面讨论的
+ <para><acronym>MAC</acronym> LOMAC 策略依赖于系统客体上存在普适的标签,
+ 这样就允许主体从较低完整性级别的客体读取, 并对主体的标签降级,
+ 以防止其在之后写高完整性级别的客体。 这就是前面讨论的
<literal>[auxgrade]</literal> 选项, 因此这个策略能够提供更大的兼容性,
而所需要的初始配置也要比 Biba 少。</para>
@@ -1423,7 +1426,7 @@ test: biba/low</screen>
<para>与 Biba 和 <acronym>MLS</acronym> 策略类似;
<command>setfmac</command> 和 <command>setpmac</command>
- 工具可以用来在系统对象上放置标签:</para>
+ 工具可以用来在系统客体上放置标签:</para>
<screen>&prompt.root; <userinput>setfmac /usr/home/trhodes lomac/high[low]</userinput>
&prompt.root; <userinput>getfmac /usr/home/trhodes</userinput> lomac/high[low]</screen>
@@ -1677,7 +1680,7 @@ setpmac biba/10\(10-10\) /usr/local/etc/rc.d/nagios.sh forcestart</userinput></s
<filename>/etc/rc.bsdextended</filename> 中,
并在系统初始化时加载; 但是, 其中的默认项可能需要进行一些改动。
因为这台机器只为获得了授权的用户提供服务, 因此除了最后两项之外,
- 其它内容都应保持注释的状态。 这两项规则将默认强制加载属于用户的系统对象。</para>
+ 其它内容都应保持注释的状态。 这两项规则将默认强制加载属于用户的系统客体。</para>
<para>在这台机器上添加需要的用户并重新启动。 出于测试的目的,
请在两个控制台上分别以不同的用户身份登录。
@@ -1808,7 +1811,7 @@ setpmac biba/10\(10-10\) /usr/local/etc/rc.d/nagios.sh forcestart</userinput></s
无论 <username>root</username> 是否使用了
<command>su</command> 来成为 <username>joe</username>。
这种情况下, Biba 完整性模型,
- 就不会允许 <username>root</username> 查看在较低完整性级别中的对象。</para>
+ 就不会允许 <username>root</username> 查看在较低完整性级别中的客体。</para>
</sect2>
<sect2>