Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1299647
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-10 15:50:33


控制对计算机系统的访问
第2 章• 管理计算机安全性(概述) 37
在Solaris 10 发行版中,口令策略是在Sun JavaTM System Directory Server 上强制执行的。具体
而言,客户机的pam_ldap 模块遵循在Sun Java System Directory Server 上强制执行的口令策略
控制。有关更多信息,请参见《System Administration Guide: Naming and Directory Services
(DNS, NIS, and LDAP)》中的“LDAP Naming Services Security Model”。
口令加密
强口令加密可提供较早的攻击防线。Solaris 软件提供了四种口令加密算法。与UNIX 算法相
比,其中的两种MD5 算法和Blowfish 算法可提供更为强大的口令加密。
口令算法标识符
可以在/etc/security/policy.conf 文件中指定站点的算法配置。在policy.conf 文件中,
算法以其标识符命名,如下表所示。
表2–1口令加密算法
标识符说明算法手册页
1 与BSD 和Linux 系统上的MD5 算法兼容的MD5 算法。crypt_bsdmd5(5)
2a 与BSD 系统上的Blowfish 算法兼容的Blowfish 算法。crypt_bsdbf(5)
md5 Sun MD5 算法,此算法被视为比BSD 和Linux 版本的MD5 更
为强大。
crypt_sunmd5(5)
__unix__ 传统的UNIX 加密算法。此算法是policy.conf 文件中的缺省
模块。
crypt_unix(5)
policy.conf 文件中的算法配置
以下说明了policy.conf 文件中的缺省算法配置:
#
...
# crypt(3c) Algorithms Configuration
#
# CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to
# be used for new passwords. This is enforced only in crypt_gensalt(3c).
#
CRYPT_ALGORITHMS_ALLOW=1,2a,md5
控制对计算机系统的访问
38 系统管理指南:安全性服务• 2006 年9 月
# To deprecate use of the traditional unix algorithm, uncomment below
# and change CRYPT_DEFAULT= to another algorithm. For example,
# CRYPT_DEFAULT=1 for BSD/Linux MD5.
#
#CRYPT_ALGORITHMS_DEPRECATE=__unix__
# The Solaris default is the traditional UNIX algorithm. This is not
# listed in crypt.conf(4) since it is internal to libc. The reserved
# name __unix__ is used to refer to it.
#
CRYPT_DEFAULT=__unix__
...
更改CRYPT_DEFAULT 的值之后,将使用与新值关联的算法对新用户的口令进行加密。当前用
户更改其口令之后,其旧口令的加密方式会影响加密新口令所用的算法。
例如,假设CRYPT_ALGORITHMS_ALLOW=1,2a,md5,CRYPT_DEFAULT=1。下表说明了将使用何种
算法来生成加密口令。
标识符=口令算法
初始口令更改后的口令说明
1 = crypt_bsdmd5 使用同一算法1 标识符也是CRYPT_DEFAULT 的值。继续使用crypt_bsdmd5
算法对用户口令进行加密。
2a = crypt_bsdbf 使用同一算法2a 标识符位于CRYPT_ALGORITHMS_ALLOW 列表中。因此,使用
crypt_bsbdf 算法对新口令进行加密。
md5 = crypt_md5 使用同一算法md5 标识符位于CRYPT_ALGORITHMS_ALLOW 列表中。因此,使
用crypt_md5 算法对新口令进行加密。
__unix__ =
crypt_unix
使用crypt_bsdmd5
算法
__unix__ 标识符不在CRYPT_ALGORITHMS_ALLOW 列表中。因
此,不能使用crypt_unix 算法。将使用CRYPT_DEFAULT 算法
对新口令进行加密。
控制对计算机系统的访问
第2 章• 管理计算机安全性(概述) 39
有关配置算法选择的更多信息,请参见policy.conf(4) 手册页。要指定口令加密算法,请
参见第61 页中的“更改口令算法(任务列表)”。
特殊的系统登录
访问系统的两种常用方法是使用普通用户登录或者使用root 登录。此外,用户还可以使用
许多特殊的系统登录来运行管理命令,而无需使用root 帐户。作为系统管理员,您可以为
这些登录帐户指定口令。
下表列出了一些系统登录帐户及其用法。这些系统登录可执行特殊的功能。每种登录都有
各自的组标识(group identification, GID) 号。每种登录都应该具有各自的口令,此口令应该
只透露给需要知道的用户。
表2–2系统登录帐户及其用法
登录帐户GID 用法
root 0 几乎没有任何限制。可覆盖所有其他登录、保护和权限。root 帐户具有访
问整个系统的权限。应该非常谨慎地保护root 登录口令。root 帐户(即超
级用户)有权使用大多数Solaris 命令。
daemon 1 控制后台处理。
bin 2 有权使用部分Solaris 命令。
sys 3 有权访问许多系统文件。
adm 4 有权访问某些管理文件。
lp 71 有权访问打印机的对象数据文件和假脱机数据文件。
uucp 5 有权访问UUCP(UNIX 对UNIX 复制程序)的对象数据文件和假脱机数据
文件。
nuucp 9 供远程系统用于登录到系统并启动文件传输。
远程登录
远程登录为入侵者提供了可乘之机。Solaris OS 提供了多个命令来监视、限制和禁用远程登
录。有关过程,请参见第54 页中的“保证登录和口令的安全(任务列表)”。
缺省情况下,远程登录无法获取控制或读取特定系统设备(如系统鼠标、键盘、帧缓冲区
或音频设备)的权限。有关更多信息,请参见logindevperm(4) 手册页。
拨号登录
如果能够通过调制解调器或拨号端口访问计算机,则可以添加额外的安全层。您可以要求
通过调制解调器或拨号端口访问系统的用户提供拨号口令。拨号口令是附加口令,用户必
须提供此口令之后才能被授予访问系统的权限。
控制对计算机系统的访问
40 系统管理指南:安全性服务• 2006 年9 月
仅有超级用户或具有等效功能的角色才能创建或更改拨号口令。要确保系统的完整性,应
该大约每月更改一次口令。此功能最有效的功用就是要求提供拨号口令来获取访问网关系
统的权限。有关如何设置拨号口令的信息,请参见第59 页中的“如何创建拨号口令”。
创建拨号口令涉及两个文件:/etc/dialups 和/etc/d_passwd。dialups 文件包含需要拨号
口令的端口的列表。d_passwd 文件包含需要加密口令作为附加拨号口令的shell 程序的列
表。这两个文件中的信息按如下方式处理:
 如果/etc/passwd 中的用户登录shell 与/etc/d_passwd 中的某项相匹配,则用户必须提
供拨号口令。
 如果在/etc/d_passwd 中无法找到/etc/passwd 中的用户登录shell,则用户必须提供缺省
口令。缺省口令是用于/usr/bin/sh 的项。
 如果/etc/passwd 中的登录shell 字段为空,则用户必须提供缺省口令。缺省口令是用于
/usr/bin/sh 的项。
 如果/etc/d_passwd 没有用于/usr/bin/sh 的项,则对于其登录shell 字段在/etc/passwd
中为空或者不与/etc/d_passwd 中的任何项相匹配的那些用户,系统不会提示输入拨号
口令。
 如果/etc/d_passwd 仅包含/usr/bin/sh:*: 项,则会禁用拨号登录。
控制对设备的访问
连接到计算机系统的外围设备会引起安全风险。麦克风可以获取会话内容并将其传输到远
程系统。CD-ROM 可能会保存其信息供下一个CD-ROM 设备用户读取。打印机可以从远程
访问。系统不可或缺的设备也可能会出现安全问题。例如,网络接口(如hme0)被视为不
可或缺的设备。
Solaris 软件提供了两种方法来控制对设备的访问。设备策略可限制或防止对构成系统的设
备进行访问。设备策略在内核中强制执行。设备分配可限制或防止对外围设备进行访问。
设备分配在用户分配时强制执行。
设备策略在内核中使用privilege(权限)来保护选定设备。例如,hme 之类的网络接口的设
备策略要求具有所有权限才能进行读取或写入。
设备分配使用授权来保护外围设备,如打印机或麦克风。缺省情况下,不会启用设备分
配。一旦启用,便可配置设备分配,以防止使用设备或者要求仅有获得授权才能访问该设
备。当分配某个设备以供使用时,在当前用户解除分配此设备之前,其他用户将无法访问
此设备。
可以在多个区域中配置Solaris 系统以控制对设备的访问:
 设置设备策略-在Solaris 10 发行版中,可以要求使用一个权限集来运行要访问特定设备
的进程。没有这些权限的进程将无法使用设备。在系统引导时,Solaris 软件将配置设备
策略。可以在安装期间为第三方驱动程序配置设备策略。安装之后,您可以作为系统管
理员将设备策略添加到设备中。
控制对设备的访问
第2 章• 管理计算机安全性(概述) 41
 使设备可分配-启用设备分配之后,可以限制一台设备在某一时间只能由一个用户使
用。可以进一步要求用户实现某些安全要求。例如,可以要求用户在获取授权后再使用
设备。
 禁止使用设备-可以禁止计算机系统上的任何用户使用某一设备(如麦克风)。服务站
系统可能是一个用于使特定的设备不可用的不错选择。
 将设备限定到特殊区域-可以指定在某个非全局区域中使用设备。有关更多信息,请参
见《System Administration Guide: Solaris Containers-Resource Management and Solaris
Zones》中的“ Device Use in Non-Global Zones”。有关设备和区域的更多基本介绍,请参
见《System Administration Guide: Solaris Containers-Resource Management and Solaris
Zones》中的“Configured Devices in Zones”。
设备策略(概述)
使用设备策略机制,可以指定打开设备的进程需要特定权限。仅有正在使用设备策略指定
的权限运行的进程才能访问受设备策略保护的设备。Solaris OS 提供了缺省设备策略。例
如,hme0 之类的网络接口要求对其进行访问的进程使用net_rawaccess 权限运行。这一要求
是在内核中强制执行的。有关权限的更多信息,请参见第177 页中的“权限(概述)”。
在早期的Solaris OS 发行版中,设备节点仅受文件权限的保护。例如,组sys 拥有的设备只
能由sys 组的成员打开。在Solaris 10 发行版中,文件权限不会预测哪些用户可打开设备,
而是使用文件权限和设备策略来保护设备。例如,/dev/ip 文件具有666 项权限。但是,设
备只能由具有相应权限的进程打开。
可以对设备策略的配置进行审计。AUE_MODDEVPLCY 审计事件可记录设备策略的更改。
有关设备策略的更多信息,请参见以下内容:
 第71 页中的“配置设备策略(任务列表)”
 第87 页中的“设备策略命令”
 第182 页中的“权限和设备”
设备分配(概述)
使用设备分配机制,可以限制对外围设备(如CD-ROM)的访问。可以在本地管理此机
制。如果未启用设备分配,则外围设备仅受文件权限的保护。例如,外围设备在缺省情况
下可供以下用户使用:
 任何可以对软盘或CD-ROM 进行读写操作的用户。
 任何可以连接麦克风的用户。
 任何可以访问已连接的打印机的用户。
设备分配可以限制设备仅由授权用户使用,还可以完全阻止对设备进行访问。分配了设备
的用户对设备具有独占使用权,直到此用户解除分配此设备为止。解除分配设备时,设备
清除脚本会删除任何剩余数据。可以编写设备清除脚本来清除没有脚本的设备中的信息。
有关示例,请参见第92 页中的“编写新的设备清理脚本”。
控制对设备的访问
42 系统管理指南:安全性服务• 2006 年9 月
可以对分配设备、解除分配设备以及列出可分配设备的尝试进行审计。审计事件是ot 审计
类的一部分。
有关设备分配的更多信息,请参见以下内容:
 第76 页中的“管理设备分配(任务列表)”
 第87 页中的“设备分配”
 第88 页中的“设备分配命令”
控制对计算机资源的访问
作为系统管理员,您可以控制和监视系统活动。可以针对何人使用哪些资源设置限制。可
以记录资源的使用,并可以监视正在使用资源的用户,还可以设置计算机以最大程度减少
资源的不正确使用。
限制和监视超级用户
系统要求提供root 口令才能进行超级用户访问。在缺省配置中,用户无法以root 的身份远
程登录系统。远程登录时,用户必须使用其用户名登录,然后使用su 命令成为root。可以
监视使用su 命令的用户,特别是那些尝试获取超级用户访问权限的用户。有关监视用户以
及限制超级用户访问权限的过程,请参见第66 页中的“监视和限制超级用户(任务列
表)”。
配置基于角色的访问控制以替换超级用户
基于角色的访问控制或RBAC 旨在限制超级用户的功能。超级用户(即root 用户)具有访
问系统中所有资源的权限。借助RBAC,可以使用一组具有单独权限的角色来替换root。
例如,可以设置一个角色来处理用户帐户创建,设置另一个角色来处理系统文件修改。创
建了处理一种或一组功能的角色之后,即可从root 的功能中删除这些功能。
每个角色都要求已知的用户使用自己的用户名和口令进行登录。登录之后,用户即可承担
具有特定角色口令的角色。因此,知道root 口令的用户只有有限的系统破坏力。有关
RBAC 的更多信息,请参见第169 页中的“基于角色的访问控制(概述)”。
防止无意中误用计算机资源
您可以通过以下方法来防止您自己和您的用户导致意外的错误:
 可以通过正确设置PATH 变量来阻止运行特洛伊木马程序。
 可以为用户指定受限shell。受限shell 通过控制用户仅访问其工作所需的那些系统部分来
防止出现用户错误。事实上,通过谨慎设置,可以确保用户仅访问有助于提高其工作效
率的那些系统部分。
控制对计算机资源的访问
第2 章• 管理计算机安全性(概述) 43
 可以针对用户无需访问的文件设置限制性权限。
设置PATH 变量
应该谨慎地正确设置PATH 变量。否则,可能会无意中运行由其他用户引入的程序。入侵程
序会破坏数据或损坏系统。这类对安全性构成威胁的程序称为特洛伊木马程序。例如,一
个替代的su 程序可能会放置在公共目录中,而您作为系统管理员可能会运行此替代程序。
这类脚本看上去正好类似于常规的su 命令。由于这类脚本会在执行之后自行删除,因此,
几乎没有明确迹象表明您实际上已运行了特洛伊木马程序。
PATH 变量在登录时自动设置。路径通过以下启动文件设置:.login、.profile 和.cshrc。
当设置用户搜索路径以便将当前目录(.) 置于最后时,系统会阻止运行这类特洛伊木马程
序。供超级用户使用的PATH 变量根本不应该包括当前目录。
自动安全性增强工具(Automated Security Enhancement Tool, ASET) 会检查启动文件以确保
PATH 变量设置正确。ASET 还可确保PATH 变量不包含点(.) 项。
为用户指定受限Shell
标准shell 允许用户打开文件,执行命令等。受限shell 可限制用户更改目录和执行命令。可
使用/usr/lib/rsh 命令调用受限shell。请注意,受限shell 并不是远程shell,后者为
/usr/sbin/rsh。受限shell 在以下方面不同于标准shell:
 受限用户只能使用其起始目录,因此无法使用cd 命令来更改目录。因此,这类用户无
法浏览系统文件。
 受限用户无法更改PATH 变量,因此这类用户只能使用系统管理员设置的路径中的命令。
受限用户也无法使用完整路径名来执行命令或脚本。
 用户不能使用> 或>> 来重定向输出。
使用受限shell,可以限制用户对系统文件的访问能力。此shell 将为需要执行特定任务的用
户创建一种限制环境。但是,受限shell 并非完全安全,它仅旨在防止不熟练的用户无意中
造成破坏。
有关受限shell 的信息,请使用man -s1m rsh 命令查看rsh(1M) 手册页。
受限shell 的更安全的替代项是Solaris 安全Shell 中的ssh 命令。使用Solaris 安全Shell,用户
可以通过不安全的网络安全地访问远程主机。有关使用Solaris 安全Shell 的信息,请参见
第19 章。
限制对文件中数据的访问
由于Solaris OS 是多用户环境,因此,文件系统的安全性是系统中最基本的安全风险。可以
使用传统的UNIX 文件保护措施来保护文件,还可以使用更安全的访问控制列表(access
control list, ACL)。
您可能需要允许某些用户读取某些文件,同时为另一些用户提供更改或删除某些文件的权
限。您可能具有某些不希望其他任何用户查看的数据。第6 章介绍了如何设置文件权限。
控制对计算机资源的访问
44 系统管理指南:安全性服务• 2006 年9 月
限制setuid 可执行文件
可执行文件可能存在安全风险。许多可执行程序必须以root 的身份(即超级用户身份)执
行才能正常工作。运行这些setuid 程序需要将用户ID 设置为0。运行这些程序的任何用户
都使用root ID 运行程序。如果在编写使用root ID 运行的程序时未注重安全性,则此程序
将引起潜在的安全问题。
除了Sun 附带的setuid 位设置为root 的可执行程序之外,还应该禁止使用setuid 程序。如
果无法禁止使用setuid 程序,则至少应该限制其使用。安全管理很少需要使用setuid 程
序。
有关更多信息,请参见第127 页中的“防止可执行文件危及安全”。有关过程,请参见第140
页中的“防止程序受到安全风险(任务列表)”。
使用自动安全性增强工具
ASET 安全软件包提供可用于控制和监视系统安全性的自动管理工具。ASET 提供了三种安
全级别:低、中和高。可以指定一种ASET 安全级别。级别越高,ASET 对文件的控制功能
越强,从而可限制访问文件并提高系统的安全性。有关更多信息,请参见第7 章。
使用Solaris 安全工具包
虽然ASET 可用于对系统进行少量安全更改,但Solaris 安全工具包提供了一种灵活且可扩展
的机制,用于最小化、加强和保护Solaris 系统。Solaris 安全工具包(非正式名称为JASS 工
具包)是一种由用户用来对系统执行安全修改的工具。此工具可以提供有关系统安全状态
的报告,还可以撤消工具以前运行的内容。JASS 工具包可以从Sun 的Web 站点
http://wwws.sun.com/security/jass 下载。此Web 站点包含指向联机文档的链接。
Alex Noordergraaf 和Glenn Brunette 合著的《Securing Systems with the Solaris Security
Toolkit》(ISBN 0-13-141071-7,2003 年6 月)中对此工具包进行了详细说明。本书是Sun
Microsystems Press 出版的Sun BluePrints 系列的一部分。
使用Solaris 资源管理功能
Solaris 软件提供了完善的资源管理功能。使用这些功能,可以按照服务器整合环境中的应
用程序对资源使用进行分配、安排、监视以及设置上限操作。使用资源控制框架,可以对
进程占用的系统资源设置约束。这类约束有助于防止尝试使系统资源发生泛洪的脚本引起
的拒绝服务攻击。
使用Solaris 资源管理功能,可以为特殊项目指定资源,还可以动态调整可用资源。有关更
多信息,请参见《System Administration Guide: Solaris Containers-Resource Management and
Solaris Zones》中的第一部分,“Resource Management”。
控制对计算机资源的访问
第2 章• 管理计算机安全性(概述) 45
使用Solaris Zones
Solaris Zones 提供了一种应用程序执行环境,其中单个Solaris OS 实例中各进程与系统的其
余部分隔离开来。这种隔离阻止了在一个区域中运行的进程监视或影响在其他区域中运行
的进程。即使运行的进程具有超级用户功能,也不能查看或影响其他区域中的活动。
Solaris Zones 非常适用于将多个应用程序置于一台服务器中的环境。有关更多信息,请参
见《System Administration Guide: Solaris Containers-Resource Management and Solaris
Zones》中的第二部分,“Zones”。
监视计算机资源的使用情况
作为系统管理员,需要监视系统活动。您需要注意计算机的所有方面,包括以下各项:
 什么是正常负载?
 何人有权访问系统?
 个人何时访问系统?
 系统上通常运行什么程序?
了解这些知识之后,即可使用可用工具来审计系统使用情况并监视个别用户的活动。如果
怀疑安全性受到破坏,则使用监视功能会非常有用。有关审计服务的更多信息,请参见
第27 章。
监视文件完整性
作为系统管理员,需要确保所管理的系统上安装的文件尚未被意外更改。在大型安装中,
使用用于对每个系统上的软件栈进行比较和报告的工具可跟踪系统。使用基本审计报告工
具(Basic Audit Reporting Tool, BART),可以通过在一段时间内对一个或多个系统执行文件级
检查来全面验证系统。一个或多个系统的BART 清单在一段时间内的变化可以验证系统的
完整性。BART 提供了清单创建、清单比较以及脚本报告规则。有关更多信息,请参见
第5 章。
控制对文件的访问
Solaris OS 是一种多用户环境。在多用户环境中,所有登录到系统的用户均可读取属于其他
用户的文件。使用相应的文件权限,用户还可以使用属于其他用户的文件。有关更多介
绍,请参见第6 章。有关针对文件设置相应权限的逐步说明,请参见第127 页中的“保护
文件(任务列表)”。
通过加密保护文件
通过使其他用户无法访问某个文件,可以保证此文件的安全。例如,具有权限600 的文件
无法由其属主和超级用户之外的用户读取。具有权限700 的目录同样无法访问。但是,猜
控制对文件的访问
46 系统管理指南:安全性服务• 2006 年9 月
中您的口令或者知道root 口令的用户可以访问此文件。另外,每次将系统文件备份到脱机
介质时,还可以在备份磁带上保留原本无法访问的文件。
Solaris 加密框架提供了digest、mac 和encrypt 命令来保护文件。有关更多信息,请参见
第13 章。
使用访问控制列表
ACL(发音为“ackkl”)可以对文件权限进行更多控制。如果传统的UNIX 文件保护无法提
供足够的保护,则可添加ACL。传统的UNIX 文件保护可为三种用户类提供读取、写入和
执行权限:属主、组和其他用户。ACL可提供更为精确的安全性。可以使用ACL定义以下
文件权限:
 属主文件权限
 属主组的文件权限
 不属于属主组的其他用户的文件权限
 特定用户的文件权限
 特定组的文件权限
 先前每个类别的缺省权限
有关使用ACL的更多信息,请参见第125 页中的“使用访问控制列表保护文件”。
跨计算机共享文件
网络文件服务器可以控制可共享的文件,还可以控制有权访问文件的客户机,以及允许这
些客户机使用的访问类型。通常,文件服务器可以为所有客户机或特定客户机授予读写权
限或只读权限。通过share 命令使资源可用时,便会指定访问控制。
文件服务器上的/etc/dfs/dfstab 文件列出了此服务器为网络中的客户机提供的文件系统。
有关共享文件系统的更多信息,请参见《System Administration Guide: Network Services》中
的“Automatic File-System Sharing”。
限制对共享文件的root 访问
通常,不允许超级用户对通过网络共享的文件系统进行root 访问。NFS 系统通过将请求程
序的用户更改为具有用户ID 60001 的用户nobody,可以防止以root 身份对已挂载的文件系
统进行访问。用户nobody 的访问权限与为公众提供的那些访问权限相同。用户nobody 具有
的访问权限与没有凭证的用户所具有的访问权限相同。例如,如果公众只对某个文件具有
执行权限,则用户nobody 只能执行此文件。
NFS 服务器可以按主机授予超级用户对共享文件系统的权限。要授予这些权限,请使用
share 命令的root=hostname 选项。应该谨慎使用此选项。有关NFS 的安全选项的介绍,请
参见《System Administration Guide: Network Services》中的第6 章,“ Accessing Network File
Systems (Reference)”。
控制对文件的访问
第2 章• 管理计算机安全性(概述) 47
控制网络访问
计算机常常是其他计算机配置的一部分。此配置称为网络。连接的计算机可通过网络交换
信息。联网的计算机可以访问网络中其他计算机的数据和其他资源。计算机网络创建了一
种强大且完善的计算环境。但是,网络同时也使计算机安全性变得更为复杂。
例如,在计算机网络中,独立的计算机都允许共享信息。未经授权的访问存在安全风险。
由于许多用户都有权访问网络,因此更可能会出现未经授权的访问,尤其是由于用户错误
进行的访问。口令使用不当也会导致未经授权的访问。
网络安全性机制
网络安全性通常基于限制或阻止来自远程系统的操作。下图介绍了可以对远程操作强制执
行的安全限制。
图2–1远程操作的安全限制
控制网络访问
48 系统管理指南:安全性服务• 2006 年9 月
远程访问的验证和授权
验证是一种在特定用户访问远程系统时,限制这些用户的访问权限的方法。可以同时在系
统级别和网络级别设置验证。授权是一种在授予用户访问远程系统的权限之后,限制此用
户可执行的操作的方法。下表列出了可提供验证和授权的服务。
表2–3远程访问的验证和授权服务
服务说明更多信息
IPsec IPsec 提供了基于主机和基于证书的验证以及网络通信
流量加密。
《System Administration Guide: IP
Services》中的第19 章,“ IP Security
Architecture (Overview)”
Kerberos Kerberos 使用加密功能对登录系统的用户进行验证和授
权。
有关示例,请参见第346 页中的“Kerberos
服务的工作方式”。
LDAP 和NIS+ LDAP 目录服务和NIS+ 名称服务可以提供网络级别的
验证和授权。
《System Administration Guide: Naming and
Directory Services (DNS, NIS, and LDAP)》和
《System Administration Guide: Naming and
Directory Services (NIS+)》
远程登录命令使用远程登录命令,用户可以通过网络登录到远程系
统并使用其资源。rlogin、rcp 和ftp 是一些远程登录
命令。如果是“受信任主机”,则会自动执行验证。否
则,系统会要求进行自我验证。
《System Administration Guide: Network
Services》中的第29 章,“Accessing Remote
Systems (Tasks)”
SASL 简单身份验证和安全层(Simple Authentication and
Security Layer, SASL) 是一种为网络协议提供验证和可选
安全性服务的框架。可以使用插件来选择相应的验证
协议。
第307 页中的“SASL(概述)”
安全RPC 安全RPC 通过对远程计算机发出请求的用户进行验
证,可提高网络环境的安全性。可以使用UNIX、DES
或Kerberos 验证系统来实现安全RPC。
第285 页中的“安全RPC 概述”
安全RPC 还可用于在NFS 环境中提供额外的安全性。
具有安全RPC 的NFS 环境称为安全NFS。安全NFS 针
对公钥使用Diffie-Hellman 验证。
第285 页中的“NFS 服务和安全RPC”
Solaris 安全Shell Solaris 安全Shell 可以对不安全网络上的网络通信流量
进行加密。Solaris 安全Shell 通过单独使用口令、公钥
或同时使用这两者来提供验证。Solaris 安全Shell 针对
公钥使用RSA和DSA验证。
第311 页中的“Solaris 安全Shell(概述)”
安全RPC 的可能替代项是Solaris 特权端口机制。为特权端口指定的端口号小于1024。客户
机系统验证客户机的凭证之后,此客户机便会使用特权端口与服务器建立连接。然后,服
务器通过检查连接的端口号来检验客户机凭证。
未运行Solaris 软件的客户机可能无法使用特权端口进行通信。如果客户机无法通过此端口
进行通信,则会显示类似以下内容的错误消息:
控制网络访问
第2 章• 管理计算机安全性(概述) 49
“Weak Authentication
NFS request from unprivileged port”
防火墙系统
可以设置防火墙系统来防止外部对网络中的资源进行访问。防火墙系统是一台安全主机,
可充当内部网络与外部网络之间的屏障。内部网络将所有其他网络均视为不可信对象。应
该考虑将此设置作为内部网络和任何与其进行通信的外部网络(如Internet)之间的强制性
设置。
防火墙可充当网关和屏障,并可充当在网络之间传递数据的网关,还可充当阻止与网络来
回自由传递数据的屏障。防火墙要求内部网络中的用户登录到防火墙系统之后才能访问远
程网络中的主机。同样,外部网络中的用户必须先登录到防火墙系统,然后才会被授予访
问内部网络中主机的权限。
防火墙还可用于某些内部网络之间。例如,可以设置防火墙或安全网关计算机来限制包的
传送。如果网关计算机不是包的源地址或目标地址,则网关可以禁止两个网络之间的包交
换。防火墙还应设置为仅转发特定协议的包。例如,可以允许包传送邮件,但不允许传送
telnet 或rlogin 命令。ASET 以高安全级别运行时,会禁用Internet 协议(Internet Protocol,
IP) 包的转发。
此外,从内部网络发送的所有电子邮件均会首先发送到防火墙系统。然后,防火墙将邮件
传送给外部网络中的主机。防火墙系统还会接收所有传入的电子邮件,并将邮件分发给内
部网络中的主机。
注意– 防火墙可阻止未经授权的用户访问网络中的主机。应该严格维护对防火墙强制执行的
安全性,但对网络中其他主机的安全性限制可以较为宽松。但是,突破防火墙的入侵者可
以获取访问内部网络中所有其他主机的权限。
防火墙系统不应该包含任何受信任主机。受信任主机是指不要求用户提供口令即可从其中
进行登录的主机。防火墙系统不应该共享其任何文件系统,也不应该挂载其他服务器的任
何文件系统。
可以使用以下技术来通过防火墙加强系统的安全性:
 通过ASET 对防火墙系统强制执行高安全性,如第7 章中所述。
 通过Solaris 安全工具包(非正式名称为JASS 工具包)使用防火墙来加强Solaris 系统的
安全性。此工具包可以从Sun 的Web 站点http://wwws.sun.com/security/jass 下载。
 通过IPsec 和Solaris IP 过滤器提供防火墙保护。有关保护网络通信流量的更多信息,请
参见《System Administration Guide: IP Services》中的第四部分,“IP Security”。
加密和防火墙系统
大多数局域网可以通过称为包的块在计算机之间传输数据。通过称为包粉碎的过程,网络
之外的未经授权用户可能会破坏或损坏数据。
控制网络访问
50 系统管理指南:安全性服务• 2006 年9 月
包粉碎涉及在包到达其目标之前捕获这些包。然后,入侵者会向内容中加入任意数据,并
将这些包发送回其原始路线。在局域网中,不可能粉碎包,因为包会同时到达所有系统
(包括服务器)。但是,可以在网关上粉碎包,因此请确保网络中的所有网关都受到保
护。
大多数危险的攻击都会影响数据的完整性。这类攻击包括更改包的内容或者模拟用户。涉
及窃听的攻击不会破坏数据的完整性。窃听者会记录会话内容以便稍后重放,但不会模拟
用户。尽管窃听攻击不会攻击数据的完整性,但是会影响保密性。可以对通过网络的数据
进行加密来保护敏感信息的保密性。
 要对不安全网络上的远程操作进行加密,请参见第18 章。
 要对网络中的数据进行加密和验证,请参见第20 章。
 要对IP 数据报进行加密,请参见《System Administration Guide: IP Services》中的第19
章,“IP Security Architecture (Overview)”。
报告安全问题
如果您遇到可疑的安全性破坏,则可以与计算机应急响应组/协调中心(Computer Emergency
Response Team/Coordination Center, CERT/CC) 联系。CERT/CC 是国防部高级研究项目署
(Defense Advanced Research Projects Agency, DARPA) 资助的项目,设在卡耐基梅隆大学的软
件工程学院。此项目署可以您帮助解决遇到的任何安全问题,还可以指示您与其他更适合
特殊要求的计算机应急响应组联系。您可以通过全天候热线致电CERT/CC:(412)
268-7090。或者,向 发送电子邮件与此响应组联系。
报告安全问题
第2 章• 管理计算机安全性(概述) 51
52
控制对系统的访问(任务)
本章介绍用于控制可以访问Solaris 系统的用户的过程。以下是本章中信息的列表:
 第53 页中的“控制系统访问(任务列表)”
 第54 页中的“保证登录和口令的安全(任务列表)”
 第61 页中的“更改口令算法(任务列表)”
 第66 页中的“监视和限制超级用户(任务列表)”
 第68 页中的“SPARC: 控制对系统硬件的访问(任务列表)”
有关系统安全的概述信息,请参见第2 章。
控制系统访问(任务列表)
一台计算机的安全性取决于其最薄弱的登录点。以下任务列表说明了应监视和确保安全的
若干方面:
任务说明参考
监视、允许和拒绝用户登录监视异常登录活动。临时禁止登录。管理拨号登
录。
第54 页中的“保证登录和口令的安全
(任务列表)”
提供强口令加密指定用于加密用户口令的算法。安装其他算法。第61 页中的“更改口令算法(任务列
表)”
监视和限制超级用户活动定期监视超级用户活动。禁止root 用户远程登
录。
第66 页中的“监视和限制超级用户
(任务列表)”
禁止访问硬件设置禁止普通用户使用PROM。第68 页中的“SPARC: 控制对系统硬件
的访问(任务列表)”
3第3 章
53
保证登录和口令的安全(任务列表)
以下任务列表说明监视用户登录和禁用用户登录的过程。
任务说明参考
显示用户的登录状态列出有关用户登录帐户的详细信息,如全名和口
令生命期信息。
第54 页中的“如何显示用户的登录状
态”
查找没有口令的用户仅查找其帐户无需口令的那些用户。第55 页中的“如何显示没有口令的用
户”
临时禁用登录拒绝用户在系统关闭或例行维护时登录到计算
机。
第56 页中的“如何临时禁止用户登录

保存失败的登录尝试为五次登录尝试后仍不能提供正确口令的用户创
建日志。
第57 页中的“如何监视失败的登录尝
试”
保存所有失败的登录尝试为失败的登录尝试创建日志。第58 页中的“如何监视所有失败的登
录尝试”
创建拨号口令要求通过调制解调器或拨号端口远程登录的用户
提供其他口令。
第59 页中的“如何创建拨号口令”
临时禁用拨号登录禁止用户通过调制解调器或端口远程拨入。第61 页中的“如何临时禁用拨号登录

保证登录和口令的安全
您可以限制远程登录和要求用户具有口令,也可以监视失败的访问尝试以及临时禁用登
录。
 如何显示用户的登录状态
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《System
Administration Guide: Basic Administration》中的第2 章,“WorkingWith the Solaris
Management Console (Tasks)”。
使用logins 命令显示用户的登录状态。
# logins -x -l username
-x 显示一组扩展的登录状态信息。
-l username 显示指定用户的登录状态。变量username 是用户的登录名称。必须以逗号
分隔的列表形式指定多个登录名称。
1
2
保证登录和口令的安全(任务列表)
54 系统管理指南:安全性服务• 2006 年9 月
logins 命令使用相应的口令数据库来获取用户的登录状态。该数据库可以是本地
/etc/passwd 文件,也可以是名称服务的口令数据库。有关更多信息,请参见logins(1M) 手
册页。
显示用户的登录状态
在以下示例中,显示了用户rimmer 的登录状态。
# logins -x -l rimmer
rimmer 500 staff 10 Annalee J. Rimmer
/export/home/rimmer
/bin/sh
PS 010103 10 7 -1
rimmer 标识用户的登录名称。
500 标识用户ID (user ID, UID)。
staff 标识用户的主组。
10 标识组ID (group ID, GID)。
Annalee J. Rimmer 标识注释。
/export/home/rimmer 标识用户的起始目录。
/bin/sh 标识登录shell。
PS 010170 10 7 -1 指定口令生命期信息:
 上次更改口令的日期
 更改之间要求的天数
 在该天数后必须更改
 警告期
 如何显示没有口令的用户
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《System
Administration Guide: Basic Administration》中的第2 章,“WorkingWith the Solaris
Management Console (Tasks)”。
使用logins 命令显示所有没有口令的用户。
# logins -p
 
 
以上文章转自于 : http://developers.sun.com.cn/
阅读(442) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~