HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引


第 10 章
控制存取资源

每个系统站点有唯一的安全需求。基于这个原因,每个站点应该有一个系统安全策略,为系统管理员和用户规划物理的和软件安全需求。要确保系统安全,OpenVMS 操作系统控制对系统的存取权和 对任何包含可共享信息对象的存取权。这些对象,如设备、卷、逻辑名表、文件和队列,被称为受保护对象。所有受保护对象列出一组存取需求,指定谁有权以给定方式存取对象。

OpenVMS Guide to System Security 描述可用于操作系统和系统管理员可以执行维护帐户和系统安全的任务的安全特性。本章描述 OpenVMS 保护和审查系统资源的一些方法。它包括的信息有:

  • 显示进程的权限标识符
  • 对象的安全简要
  • 解释保护码
  • 默认文件保护
  • 通过网络存取文件
  • 审查对您的帐户和文件的存取

有关其他安全信息,请参阅以下:

  • OpenVMS Guide to System Security,有关保护对象和系统安全的详情
  • OpenVMS DCL Dictionary联机求助,有关本章论述的命令详情

安全特性

可以通过以下方法熟悉 OpenVMS 安全特性:

  • 了解与进程关联的权限标识符 --- 权限标识符确定可以存取什么资源。如果进程没有适当的标识符,可能不能存取某些受保护对象。
    有关显示权限标识符的详情,请参阅 10.1 节
  • 显示受保护对象的安全简要 --- 安全简要包含有关受保护对象的信息。可以更改对象的安全简要,使其他用户对它可存取的或者不可存取的。
    有关安全简要的详情,请参阅 10.2 节
  • 了解如何通过网络存取文件 --- 通过使用存取控制字符串或代理注册帐户可以完成这件事。
    有关存取远程文件的详情,请参阅 10.5 节
  • 审查对帐户和文件的存取 --- 通过仔细观察任何注册消息并且与系统管理员协力审查文件,可以完成这件事。
    有关审查对帐户和文件的存取详情,请参阅 10.6 节

10.1 显示进程的权限标识符

所有尝试存取受保护对象的进程都携带被称为权限标识符的信任证书。所有受保护对象列出一组存取需求,指定谁有权以给定方式存取对象。如果存取进程的权限标识符不匹配那些对象,那么就拒绝存取。

以下例子展示如何使用 SHOW PROCESS 命令显示当前进程的标识符:


$ SHOW PROCESS/ALL
25-NOV-2002 15:23:18.08   User: GREG            Process ID:   34200094
                          Node: ACCOUNTS        Process name: "GREG"

Terminal:           VTA2195:  TNA2170:  (Host: 16.32.123.45 Port: 6789)
User Identifier:    [DOC,GREG]   (1)
Base priority:      4
Default file spec:  WORK1:[GREG.FISCAL_96]
Number of Kthreads: 1
Devices allocated:  ACCOUNTS$TWA2:

Process Quotas:
   .
   .
   .
Process rights:
 INTERACTIVE   (2)
 LOCAL         (3)
 SALES         (4)
 MINDCRIME                         resource  (5)

System rights:
 SYS$NODE_ACCOUNTS   (6)

有三类权限标识符: UIC、环境和通用。SHOW PROCESS 命令输出显示所有这三类:

  1. UIC 标识符,指出用户 Greg 是 DOC 组的成员
  2. 环境标识符,指出用户 Greg 是交互用户
  3. 环境标识符,指出用户 Greg 在本地注册
  4. 通用标识符,指出用户 Greg 也是 SALES 组的成员
  5. 通用标识符,指出 Greg 拥有带资源属性的 MINDCRIME 标识符,因而他可以为这个标识符增加磁盘空间
  6. 环境标识符,指出用户 Greg 正工作在 ACCOUNTS 节点

10.2 对象的安全简要

因为操作系统同时支持多用户,因此它有内设安全机制阻止一个用户的活动妨碍另一个。保护码、存取控制和硬件设计一起保护对存储器、可共享设备 和数据的使用,因而许多用户可以共享系统。对象的安全简要包括用户标识码 (UIC)、ACL 和分配给对象的保护码。可以显示或修改自己拥有的任何对象的安全简要。

要观看任何受保护对象的安全简要,使用 DCL 命令 SHOW SECURITY。例如,以下命令请求文件 95_FORECAST.TXT 的安全信息:


$ SHOW SECURITY 95_FORECAST.TXT
WORK_DISK$:[GREG]95_FORECAST.TXT;1 object of class FILE
      Owner: [ACCOUNTING,GREG]
      Protection: (System: RWED, Owner: RWED, Group: RE, World)
      Access Control List: <empty>

此显示指出文件 95_FORECAST.TXT 被用户 Greg 拥有。它也列出文件的保护码,为系统用户和拥有者给出读取、写入、执行和删除存取权。该代码把读取和执行存取 权提供给组用户,但不为全体用户提供任何存取权。(有关进一步解释,请参阅 10.3 节。) 在这个文件上没有 ACL。

10.2.1 修改安全简要

您可以为受保护对象的拥有者、保护码或 ACL 提供新值,或者通过使用 SET SECURITY 命令可以把简要从一个对象复制到另一个。

例如,在 10.2 节 的 SHOW SECURITY 显示展示文件 95_FORECAST.TXT 被用户 Greg 拥有。作为拥有者,他可以更改这个文件的保护码。最初,这个代码没有为全体用户类的用户提供任何存取权。现在,Greg 可以更改它,允许全体用户有读取和写存取权:


$ SET SECURITY/PROTECTION=(W:RW) 95_FORECAST.TXT

以下 SHOW SECURITY 命令验证这个文件的新保护码:


$ SHOW SECURITY 95_FORECAST.TXT
95_FORECAST.TXT object of class FILE
     Owner: [GREG]
     Protection: (System: RWED, Owner: RWED, Group: RE, World: RW)
     Access Control List: <empty>

10.3 解释保护码

保护码控制允许 (或拒绝) 特定用户或用户组的存取类型。它有以下格式:


[category: list of access allowed (, category: list of access allowed,...)]

种类包括系统 (S)、拥有者 (O)、组 (G) 和全体用户 (W)。每个种类可以缩写为它的首位字符。种类有以下定义:

系统 其 UIC 是在 1 至 10 (八进制) 范围的任何用户进程或应用程序,具有 SYSPRV 特权,或者与拥有者同组而拥有 GRPPRV。
拥有者 其 UIC 与对象的 UIC 相同的任何用户进程或应用程序。
其组 UIC 与对象的组 UIC 相同的任何用户进程或应用程序。
全体用户 在系统上的任何用户进程或应用程序。

指定一个以上用户种类时,用逗号分开种类并把整个代码括入圆括号内。可以按任何次序指定用户种类和存取类型。

一个空存取说明意味着没有存取权,因而,当省略一个用户种类的存取类型时,就拒绝这类用户有这个存取类型。要拒绝一个用户种类的所有存取,就不为这个用户种类指定任何取类型。(当拒绝存取一 鲇没е掷嗍保褪÷哉飧鲇没е掷嘀蟮拿昂拧)

对于文件,存取列表包括读取 (R)、写入 (W)、执行 (E) 或删除 (D) 存取类型。存取类型分配给每个拥有者种类,并且用一个冒号 (:) 分开它的存取类型。文件存取类型有以下含义:

读取 给出读取、打印或复制磁盘文件的权限。对于目录文件,读取存取权给出读取或列表文件的权限,并且可以使用通配符文件名查找文件。读取存取权潜在包括执行存取权。
写入 给出写入或更改文件内容的权限,但是不能删除它。写存取权允许修改描述文件内容的文件特征。对于目录文件,写存取权给出插入或删除在文件目录中的条目。
执行 给出执行包含可执行程序映象或 DCL 命令过程文件的权限。对于目录文件,执行存取权给出查找已知其文件名的文件的权限。
删除 给出删除文件的权限。要删除一个文件,必须对文件有删除存取权和对包含该文件的目录有写存取权。

10.4 默认文件保护

新文件接收默认基于 UIC 的保护和父目录的默认存取控制列表 (ACL)。ACL 包含一组条目,定义用户或用户组对特定受保护对象的存取权,如文件、目录或设备。

可以使用默认 UIC 保护或默认 ACL 保护取代提供给新文件的默认基于 UIC 的保护。

10.4.1 默认 UIC 保护

操作系统为每个进程提供以下基于 UIC 的保护:


(S:RWED, O:RWED, G:RE, W)

按照默认,带系统 UIC 的用户和对象拥有者对对象有全部存取权,与对象拥有者在同样 UIC 组中的用户对对象有读取和执行存取权,而拒绝所有其他用户存取这个对象。要更改建立文件的默认保护,可输入带 /DEFAULT 限定词的 SET PROTECTION 命令。例如,如果在注册命令过程中输入以下命令,那么准予所有进程对您建立的任何文件有读取和执行存取权。(记住,必须执行这个注册命令过程以执行这个命令。)


$ SET PROTECTION = (S:RWED,O:RWED,G:RE,W:RE)/DEFAULT

10.4.2 默认 ACL 保护

通过把一个默认保护存取控制条目 (ACE) 放入适当的目录文件的 ACL 中,可以取代对指定目录或子目录的默认 UIC 保护。在 ACE 中指定的默认保护应用于在指定目录或目录的子目录中建立的任何新文件。以下必须在一个目录文件的 ACL 中的 ACE,指定对目录和目录的子目录的默认保护允许系统和拥有者进程有全部存取权、组进程有读取和执行存取权而全体用户没有存取权。


$ SET SECURITY/ACL = (DEFAULT_PROTECTION,S:RWED,O:RWED,G:RE,W:)
[JONES]PERSONAL.DIR

要指定一个将被复制到以后在目录中建立任何文件 ACL 的默认标识符 ACE,在目录文件的标识符 ACL 中指定 DEFAULT 任选项。

在以下例子中展示的 ACE 应用于一个目录文件,并且拒绝网络用户存取在这个目录中建立的所有文件:


$ SET SECURITY/ACL = (IDENTIFIER=NETWORK,OPTIONS=DEFAULT,ACCESS=NONE) -
_$ [JONES]PERSONAL.DIR

10.4.3 重新命名文件

不更改重新命名文件的保护。现有文件的新版本接收上一个版本基于 UIC 的保护和 ACL。(BACKUP、COPY、CREATE 和 SET FILE 命令可以使用 /PROTECTION 限定词取代默认基于 UIC 的保护。)

10.4.4 显式文件保护

可以明确地用 /PROTECTION 限定词为新文件指定基于 UIC 的保护 (对于 BACKUP、COPY 和 CREATE 命令有效)。

使用 SET SECURITY/PROTECTION 命令可以更改现有文件基于 UIC 的保护。

在建立一个文件并且已为这个文件建立 ACL 后,可以修改这个 ACL 并且添加许多想要的条目。ACL 指定的保护取代文件的用户标识码保护。

在以下例子中,指定基于 UIC 的保护:


$ CREATE MAST12.TXT/PROTECTION=(S:RWED,O:RWED,G,W)

在以下例子中,更改文件 MAST12.TXT 的基于 UIC 的保护:


$ SET SECURITY/PROTECTION=(S:RWED,O:RWED,G:RE,W) MAST12.TXT

10.5 通过网络存取文件

以下几节描述如何通过网络存取文件。

10.5.1 存取控制字符串

在通过 DECnet for OpenVMS 网络执行操作的 DCL 命令的文件说明中,可以包括网络存取控制字符串。该存取控制字符串准许本地节点用户存取远程节点的文件。

存取控制字符串包括用于远程帐户的用户名和括入引号内的用户密码,如下所示:


NODE"username password"::disk:[directory]filename.filetype 

警告

由于存取控制字符串包括允许某人进入远程帐户的足够信息,因此它们可能产生严重的泄密问题。

10.5.2 保护存取控制字符串

要保护存取控制字符串的信息,遵循以下规则:

  • 避免在硬拷贝或视频终端展现其信息。如果使用一个硬拷贝终端,那么恰当地处理输出。如果使用一个视频终端,则清除屏幕并且当网络作业完成时使用 DCL 命令 RECALL/ERASE 清空重新调用缓冲区。这样可阻止另一个用户通过使用 Ctrl/B 组合键或使用 DCL 命令 RECALL/ALL 显示命令行来查看密码。
  • 不要把包括存取控制字符串的网络命令放入似乎为发现目标的命令过程中。
  • 如果必须把存取控制字符串放入命令过程,那么为这些文件提供最适宜的文件保护。

10.5.3 使用代理注册帐户保护密码

要避免需要存取控制字符串,可以使用代理注册帐户。代理注册允许您通过网络存取文件,而不用在存取控制字符串中指定用户名或密码。因而,代理注册有以下安全好处:

  • 密码不回应在请求的终端上。
  • 密码不在系统间传送,否则它们会被截取未加密的格式。
  • 密码不需要出现在执行远程存取的命令文件中。

远程节点的系统或安全管理员必须为您建立一个代理帐户,才可以开始一个代理注册。象常规帐户一样,使用 OpenVMS Authorize 公用程序 (AUTHORIZE) 建立代理帐户。他们通常是非特权的帐户。安全管理员允许您存取一个默认代理帐户和多达 15 个其他代理帐户。 系统管理员需要为代理注册设置更多的事情,提供更多的安全网络存取以避免用户需要输入存取控制字符串。

以下例子说明正常网络注册请求和代理注册请求的差别。对于每个例子,存在以下条件:

  • 用户 KMAHOGANY 有两个用户帐户:
    • 一个在节点 BIRCH 上密码为 "XYZ123ABC" 的帐户
    • 一个在节点 WALNUT 上密码为 "A25D3255" 的帐户
  • KMAHOGANY 已注册到节点 BIRCH。
  • KMAHOGANY 想要复制其帐户在节点 WALNUT 的默认设备和目录中的文件 BIONEWS.MEM。

下图展示这些条件。


  • 用户 KMAHOGANY 可能使用一个存取控制字符串复制文件 BIONEWS.MEM,如下所示:


    $ COPY WALNUT"KMAHOGANY A25D3255"::BIONEWS.MEM  BIONEWS.MEM
    

    注意到回应密码 A25D3255。观看屏幕的任何人可以看到它。
  • 如果 KMAHOGANY 有一个从节点 BIRCH 存取节点 WALNUT 上的代理帐户,那么复制文件 BIONEWS.MEM 的命令如下所示:


    $ COPY WALNUT::BIONEWS.MEM   BIONEWS.MEM
    

    KMAHOGANY 不需要在存取控制字符串中指定密码。作为代替,系统执行一个代理注册,从他在节点 BIRCH 上的帐户进入他在节点 WALNUT 上的帐户,没有交换密码。

10.5.4 通用存取代理帐户

安全管理员也可以授权来自外部节点的用户组共享使用一个通用存取代理帐户。例如,在节点 WALNUT 上的安全管理员可以带以下条件建立一个通用存取帐户:

  • 用户名 GENACCESS。
  • 存取限制为网络注册。
  • 只有帐户拥有者才知道其密码。(远程用户没有需要知道它。) 这有助于保护这个帐户。
  •  默认设备和目录是 STAFFDEV:[BIOSTAFF]。

如果安全管理员准予 BIRCH::KMAHOGANY 代理存取 GENACCESS 帐户,那么通过输入以下命令,用户 KMAHOGANY 可以复制文件 BIONEWS.MEM:


$ COPY WALNUT::[KMAHOGANY]BIONEWS.MEM   BIONEWS.MEM

注意,KMAHOGANY 必须指定目录 [KMAHOGANY],因为文件 BIONEWS.MEM 不是在 GENACCESS 帐户 (STAFFDEV:[BIOSTAFF]) 的默认设备和目录。另外,对文件 BIONEWS.MEM 的保护必须准许 GENACCESS 帐户存取。否则, 这个命令失败。

如果可以存取给定节点的一个以上代理帐户,而又不想使用默认代理帐户,那么就指定这个代理帐户名。例如,要使用代理帐户 PROXY2 代替 GENACCESS 帐户 (默认),KMAHOGANY 可输入以下命令:


$ COPY WALNUT"PROXY2"::[KMAHOGANY]BIONEWS.MEM BIONEWS.MEM

这个命令使用 PROXY2 帐户复制在节点 WALNUT 的 [KMAHOGANY] 目录上的文件 BIONEWS.MEM。

10.6 审查对您的帐户和文件的存取

虽然安全管理员的工作是监控系统上可能的非法存取企图,但是您也可以帮助安全管理员审查对您的帐户和文件的存取。

10.6.1 观察您的最后注册时间

OpenVMS 系统维护 UAF 记录中的信息,其中包括您注册帐户的最后时间。安全管理员决定系统是否应该在注册时显示这个信息。 需要中高级安全的站点频繁地显示这个信息,并请求用户检查是否存在不平常的或不能解释的成功注册和不能解释的失败注册。

如果有一个交互或非交互注册不在您的注册时间内,迅速把它报告给安全管理员。也更改您的密码。安全管理员可以使用会计文件和审查记录进行进一步调查。

如果您接收到一条注册失败消息而又不能解释这个失败,那么很有可能某人正在尝试存取您的帐户,但没有成功。检查您的密码,确保坚持了在 1.9 节描述的密码安全的所有推荐。如果没有,立即更改密码。

如果期望看到一条注册失败消息而它却不出现,或者失败计数太低,那么更改您的密码。把这些注册失败的问题报告给安全管理员。

安全管理员可以选择一类或多类事件,保证要特别注意其发生。检测到这样的事件时,安全管理员指示系统发送一个审查到系统安全审查 日志文件,或者发送一个警报给终端,使之成为安全操作员终端。例如,安全管理员可以标识一个或多个文件禁止写存取权。可以允许审查或者可以设置警报指出尝试对这些文件的存取。

如果推测有一个对您的帐户的非法存取,则更改您的密码。可以请求安全管理员实现对敏感文件的审查。


前页 后页 目录 索引