安全性端口映射器

端口映射器  时间:2021-05-07  阅读:()
SunMicrosystems,Inc.
www.
sun.
com请将有关本文档的意见和建议提交至:http://www.
sun.
com/hwdocs/feedbackSolarisSecurityToolkit4.
2管理指南文件号码819-3791-102005年7月,修订版A请回收版权所有2005SunMicrosystems,Inc.
,4150NetworkCircle,SantaClara,California95054,U.
S.
A.
保留所有权利.
对于本文档中介绍的产品,SunMicrosystems,Inc.
对其所涉及的技术拥有相关的知识产权.
需特别指出的是(但不局限于此),这些知识产权可能包含在http://www.
sun.
com/patents中列出的一项或多项美国专利,以及在美国和其他国家/地区申请的一项或多项其他专利或待批专利.
本文档及其相关产品的使用、复制、分发和反编译均受许可证限制.
未经Sun及其许可方(如果有)的事先书面许可,不得以任何形式、任何手段复制本产品或本文档的任何部分.
第三方软件,包括字体技术,均已从Sun供应商处获得版权和使用许可.
本产品的某些部分可能是从BerkeleyBSD系统衍生出来的,并获得了加利福尼亚大学的许可.
UNIX是X/OpenCompany,Ltd.
在美国和其他国家/地区独家许可的注册商标.
Sun、SunMicrosystems、Sun徽标、SunBluePrints、Solaris、SunOS、Java、JumpStart、Sun4U、SunDocs和SolsticeDiskSuite是SunMicrosystems,Inc.
在美国和其他国家/地区的服务标记、商标或注册商标.
所有SPARC商标的使用均已获得许可,它们是SPARCInternational,Inc.
在美国和其他国家/地区的商标或注册商标.
带有SPARC商标的产品均基于由SunMicrosystems,Inc.
开发的体系结构.
ORACLE是OracleCorporation的注册商标.
OPENLOOK和Sun图形用户界面是SunMicrosystems,Inc.
为其用户和许可证持有者开发的.
Sun感谢Xerox在研究和开发可视或图形用户界面的概念方面为计算机行业所做的开拓性贡献.
Sun已从Xerox获得对Xerox图形用户界面(GUI)的非独占使用许可.
该许可也涵盖实施OPENLOOKGUI的Sun许可获得者,而其他情况则应符合Sun的书面许可协议.
美国政府权利-商业用途.
政府用户应遵循SunMicrosystems,Inc.
的标准许可协议,以及FAR(FederalAcquisitionRegulations,即"联邦政府采购法规")的适用条款及其补充条款.
本文档按"原样"提供,对于所有明示或默示的条件、陈述和担保,包括对适销性、适用性和非侵权性的默示保证,均不承担任何责任,除非此免责声明的适用范围在法律上无效.
iii目录前言xvii1.
简介1使用SolarisSecurityToolkit软件保护系统安全1JumpStart模式2独立模式2了解软件组件3目录4Audit目录4Documentation目录4man目录5Drivers目录5Files目录8Finish目录9OS目录9Packages目录10Patches目录10Profiles目录10Sysidcfg目录11数据信息库11ivSolarisSecurityToolkit4.
2管理指南2005年7月维护版本控制11配置和定制SolarisSecurityToolkit软件12策略和要求12准则122.
保护系统安全:方法论15规划与准备15考虑风险和收益15查看安全策略、标准和相关文档17实例117实例217确定应用程序和服务要求18确定应用程序和可用服务清单18确定服务要求18开发和执行SolarisSecurityToolkit配置文件26安装软件26执行安装前任务27备份数据27验证系统稳定性27执行安装后的任务28验证应用程序和服务功能28验证安全性配置文件的安装28验证应用程序和服务功能28维护系统安全293.
升级、安装和运行安全性软件31执行规划及安装前的任务31软件依赖性32确定使用何种模式32目录v独立模式32JumpStart模式33升级过程33升级SolarisSecurityToolkit软件和Solaris操作系统34仅升级SolarisSecurityToolkit软件35仅升级SolarisOS35下载安全性软件35下载SolarisSecurityToolkit软件36下载pkg版本36下载推荐的修补程序群集软件37下载推荐的修补程序群集软件37下载FixModes软件38下载FixModes软件38下载OpenSSH软件39下载OpenSSH软件39下载MD5软件40下载MD5软件40定制安全性配置文件42安装和执行软件42在独立模式下执行软件42在独立模式下执行软件45审计选项46清除选项46显示帮助选项48驱动程序选项49电子邮件通知选项50执行历史记录选项50最新执行选项50viSolarisSecurityToolkit4.
2管理指南2005年7月输出文件选项51抑制显示输出选项51根目录选项52撤消选项52在JumpStart模式下执行软件52在JumpStart模式下执行软件53验证系统修改53对服务执行QA检查53对配置进行安全性评估54验证安全性配置文件55执行安装后的任务554.
取消系统更改57了解如何记录并取消更改57撤消系统更改的要求58定制脚本以撤消更改59检查手动更改的文件59使用具有撤消功能的选项60备份选项61强制选项61保留选项62输出文件选项62抑制显示输出选项62电子邮件通知选项62撤消系统更改63撤消SolarisSecurityToolkit运行操作635.
配置和管理JumpStart服务器71配置JumpStart服务器和环境72目录vii配置JumpStart模式72使用JumpStart配置文件模板74core.
profile74end-user.
profile74developer.
profile75entire-distribution.
profile75oem.
profile75minimal-SunFire_Domain*.
profile75添加和删除客户机75add-client脚本76rm-client脚本776.
审计系统安全性79维护安全性79执行加强操作之前检查安全性80定制安全性审计80审计安全性的准备工作81使用选项和控制审计输出82命令行选项82显示帮助选项82电子邮件通知选项83输出文件选项84抑制显示输出选项84详细选项84标题与消息输出85主机名、脚本名称和时间戳输出88进行安全性审计89进行安全性审计89viiiSolarisSecurityToolkit4.
2管理指南2005年7月7.
保护系统安全93规划与准备93假设与限制94系统环境94安全性要求95创建安全性配置文件95安装软件95下载和安装安全性软件96下载和安装安全性软件96安装修补程序96安装修补程序96指定和安装OS群集97指定和安装OS群集97配置JumpStart服务器和客户机98准备基础结构99准备基础结构99验证和检查rules文件101定制加强安全性配置103启用FTP服务104启用FTP服务104安装SecureShell软件104安装SecureShell105启用RPC服务105启用RPC106定制syslog.
conf文件106定制syslog.
conf文件106安装客户机107安装客户机107目录ix质量保证测试108验证配置文件安装108验证应用程序和服务的功能109词汇表111索引117xSolarisSecurityToolkit4.
2管理指南2005年7月xi图图1-1软件组件结构3图1-2驱动程序控制流程6xiiSolarisSecurityToolkit4.
2管理指南2005年7月xiii表表1-1定制文件的命名标准13表2-1列出最近使用的服务24表3-1将命令行选项与jass-execute一起使用43表4-1将命令行选项与撤消命令一起使用61表5-1JumpStartadd-client命令76表5-2JumpStartrm-client命令77表6-1将命令行选项与审计命令结合使用82表6-2审计详细级别85表6-3在审计输出中显示标题和消息86表6-4显示主机名、脚本名称和时间戳审计输出88xivSolarisSecurityToolkit4.
2管理指南2005年7月xv代码示例代码示例1-1驱动程序控制流程代码7代码示例2-1获得有关文件系统对象的信息19代码示例2-3确定动态加载的应用程序20代码示例2-2从正在运行的进程中收集信息20代码示例2-4确定是否正在使用配置文件21代码示例2-5确定哪些应用程序正在使用RPC22代码示例2-6验证rusers服务23代码示例2-7确定使用RPC的应用程序的备选方法24代码示例2-8确定哪些服务或应用程序拥有哪些端口25代码示例2-9确定哪些进程正在使用文件和端口25代码示例3-1将一个修补程序文件移动到/opt/SUNWjass/Patches目录38代码示例3-2在独立模式下使用命令行的范例42代码示例3-3在独立模式下执行软件45代码示例3-4-c选项输出范例47代码示例3-5-h选项输出范例48代码示例3-6-d驱动程序选项输出范例49代码示例3-7-H选项输出范例50代码示例3-8-l选项输出范例51代码示例3-9-o选项输出范例51代码示例3-10-q选项输出范例52xviSolarisSecurityToolkit4.
2管理指南2005年7月代码示例4-1手动更改的文件输出范例60代码示例4-2可撤消的运行操作的输出范例64代码示例4-3撤消运行操作处理多个清单文件条目的输出范例65代码示例4-4撤消异常的输出范例66代码示例4-5在撤消过程中选择备份选项的输出范例67代码示例4-6在撤消过程中选择备份选项的输出范例68代码示例6-1-h选项输出范例83代码示例6-2-o选项输出范例84代码示例6-3-q选项输出范例84代码示例6-4仅报告审计失败的输出范例86代码示例6-5审计日志条目的输出范例88代码示例6-6审计运行操作的输出范例90代码示例7-1在JumpStart服务器上添加一台客户机99代码示例7-2创建一个配置文件100代码示例7-3修改的脚本的输出范例100代码示例7-4检查rules文件以纠正错误101代码示例7-5rules文件的输出范例102代码示例7-6错误脚本范例102代码示例7-7正确脚本范例103代码示例7-8修改的xsp-firewall-hardening.
driver输出范例107代码示例7-9评估安全性配置108xvii前言本手册包含的参考信息有助于您了解和使用SolarisSecurityToolkit软件.
它主要针对使用SolarisSecurityToolkit软件来提高Solaris操作系统(OS)版本8、9和10安全性的读者,例如部署新的Sun系统或保护已部署系统安全的管理员、安全顾问以及其他人员.
本书中的指导适用于以JumpStart模式或独立模式来使用该软件.
阅读本书之前您应当是经过Sun认证的Solaris系统管理员或网络管理员.
同时还应该对标准网络协议和拓扑知识有一定的了解.
由于本书所针对的读者在安全性方面的经验或知识千差万别,因此您的经验和知识将决定您应如何使用本书.
本书的结构您可以将本手册作为用户指南来使用.
其中的章节包含使用该软件保护系统安全的信息、指导和准则.
本书的结构如下所示:第1章介绍SolarisSecurityToolkit软件的设计和用途.
其中涉及关键组件、功能、优点和所支持平台方面的信息.
第2章提供保护系统安全的方法论.
在使用SolarisSecurityToolkit软件保护系统安全之前,您可以应用该软件的过程.
第3章提供有关下载、安装和运行SolarisSecurityToolkit软件以及其他与安全性相关的软件的指导信息.
xviiiSolarisSecurityToolkit4.
2管理指南2005年7月第4章提供有关在加强安全性过程中撤消由SolarisSecurityToolkit软件所做更改的信息和过程.
第5章提供有关配置和管理JumpStart服务器以使用SolarisSecurityToolkit软件的信息.
第6章介绍如何使用SolarisSecurityToolkit软件来审计(验证)系统安全性.
可在加强安全性后使用本章的信息和过程维护已建立的安全性配置文件.
第7章介绍如何将前面章节中提供的信息和技巧,应用到安装并保护新系统安全的实际情况中.
使用UNIX命令本文档不会介绍基本的UNIX命令和操作过程,如关闭系统、启动系统和配置设备等.
欲获知此类信息,请参阅以下文档:系统附带的软件文档Solaris操作系统的有关文档,其URL如下:http://docs.
sun.
comShell提示符Shell提示符Cshellmachine-name%Cshell超级用户machine-name#Bourneshell和Kornshell$Bourneshell和Kornshell超级用户#前言xix印刷约定使用硬件型号的通用术语SunFire高端系统指下列型号:E25KE20K15K12KSunFire中端系统指下列型号:E6900E49006800481048003800SunFire入门级中端系统指下列型号:E2900Netra1280V1280字体**浏览器的设置可能会与这些设置有所不同.
含义示例AaBbCc123命令、文件和目录的名称;计算机屏幕输出编辑.
login文件.
使用ls-a列出所有文件.
%Youhavemail.
AaBbCc123用户键入的内容,与计算机屏幕输出的显示不同%suPassword:AaBbCc123保留未译的新词或术语以及要强调的词.
要使用实名或值替换的命令行变量.
这些称为class选项.
要删除文件,请键入rmfilename.
新词术语强调新词或术语以及要强调的词.
您必须成为超级用户才能执行此操作.
《书名》书名阅读《用户指南》的第6章.
xxSolarisSecurityToolkit4.
2管理指南2005年7月V890V880V490V480支持的硬件系统SolarisSecurityToolkit4.
2软件支持运行Solaris10OS的SPARC(仅64位)和x86/x64系统.
SolarisSecurityToolkit4.
2软件还支持运行Solaris8和9的SPARC32位系统,例如Ultra2Creator3D.
支持的SolarisOS版本Sun对于SolarisSecurityToolkit软件的支持,仅限于在Solaris8、Solaris9和Solaris10操作系统中使用该软件.
注–对于SolarisSecurityToolkit4.
2软件,Solaris10仅能用于SunFire高端系统域,而不能用于系统控制器(SC).
虽然SolarisSecurityToolkit4.
2软件能够在Solaris2.
5.
1、Solaris2.
6和Solaris7操作系统中使用,但Sun支持并不涉及在这些操作系统中使用该软件.
SolarisSecurityToolkit软件可自动检测已安装的SolarisOS软件的版本,然后运行适合该操作系统版本的任务.
请注意,在本文档提供的实例中,脚本对OS版本进行检查时,它检查的是SunOS版本5.
x,而不是SolarisOS版本2.
x、7、8、9或10.
表P-1显示了SunOS版本和SolarisOS版本之间的相互关系.
表P-1SunOS版本和SolarisOS版本之间的相互关系SunOS版本SolarisOS版本5.
5.
12.
5.
15.
62.
65.
77前言xxi支持的SMS版本如果您在SunFire高端系统中使用SystemManagementServices(SMS)来运行系统控制器(SC),且使用的SMS版本为1.
3、1.
4.
1和1.
5,则在所有的Solaris8和Solaris9OS版本中均支持SolarisSecurityToolkit4.
2.
在使用SolarisSecurityToolkit4.
2软件的Solaris10OS中,不支持任何版本的SMS.
注–对于SolarisSecurityToolkit4.
2软件,Solaris10仅能用于域,而不能用于系统控制器(SC).
相关文档可通过访问以下网址获取下表中列出的联机文档:http://www.
sun.
com/products-n-solutions/hardware/docs/Software/enterprise_computing/systems_management/sst/index.
html5.
885.
995.
1010应用书名文件号码格式位置发行说明《SolarisSecurityToolkit4.
2发行说明》819-3798-10PDFHTML联机参考《SolarisSecurityToolkit4.
1ReferenceManual》819-1503-10PDFHTML联机手册页《SolarisSecurityToolkit4.
1ManPageGuide》819-1505-10PDF联机表P-1SunOS版本和SolarisOS版本之间的相互关系(续)SunOS版本SolarisOS版本xxiiSolarisSecurityToolkit4.
2管理指南2005年7月文档、支持和培训第三方Web站点Sun对本文档提到的第三方Web站点的可用性不承担任何责任.
对于此类站点或资源中的(或通过它们获得的)任何内容、广告、产品或其他资料,Sun并不表示认可,也不承担任何责任.
对于因使用或依靠此类站点或资源中的(或通过它们获得的)任何内容、产品或服务而造成的或连带产生的实际或名义损坏或损失,Sun概不负责,也不承担任何责任.
Sun欢迎您提出意见Sun致力于提高其文档的质量,并十分乐意收到您的意见和建议.
您可以通过以下网址提交您的意见和建议:http://www.
sun.
com/hwdocs/feedback请在您的反馈信息中包含文档的书名和文件号码:《SolarisSecurityToolkit4.
2管理指南》,文件号码819-3791-10Sun功能URL描述文档http://www.
sun.
com/documentation/下载PDF和HTML文档,订购印刷的文档支持http://www.
sun.
com/support/获取技术支持以及下载修补程序培训http://www.
sun.
com/training/学习Sun课程1第1章简介本章介绍SolarisSecurityToolkit软件的设计和用途.
其中涉及关键组件、功能、优点和所支持平台方面的信息.
本章还提供有关对修改和部署进行版本控制的准则,并提出有关定制SolarisSecurityToolkit软件的重要准则.
本章包含以下主题:第1页"使用SolarisSecurityToolkit软件保护系统安全"第3页"了解软件组件"第11页"维护版本控制"第12页"配置和定制SolarisSecurityToolkit软件"使用SolarisSecurityToolkit软件保护系统安全SolarisSecurityToolkit软件的非正式名称为JumpStart体系结构和安全脚本(JASS)工具包,可提供自动化、可扩展、可伸缩的机制来构建和维护SolarisOS系统的安全.
使用SolarisSecurityToolkit软件可以加强和审计系统的安全性.
以下是在本指南中使用的一些术语,了解它们很重要.
加强系统安全性-修改SolarisOS配置以提高系统的安全性.
审计系统安全性-确定系统的配置是否与预定义的安全配置文件相符合.
注–术语审计系统安全性指的是SolarisSecurityToolkit软件对安全性状态的自动化验证过程,方法是与预先定义的安全配置文件相比较.
本出版物中使用此术语,不表示在使用审计选项后便可保证系统的绝对安全.
2SolarisSecurityToolkit4.
2管理指南2005年7月系统安全性计分-计算在审计运行过程中发现的故障的数量.
如果未发现(任何种类的)故障,则最终得分为0.
每检测到一个故障,SolarisSecurityToolkit便将得分(也称为安全漏洞值)增加1分.
可以通过两种模式来安装SolarisSecurityToolkit软件,本节的后面将对此进行简要介绍:第2页"JumpStart模式"第2页"独立模式"无论采取哪种安装方式,您都可以使用SolarisSecurityToolkit软件来加强系统安全性并最小化系统.
然后,定期使用SolarisSecurityToolkit软件来审计安全系统的安全配置文件是否被意外或恶意地进行了修改.
JumpStart模式系统安装和配置应该尽可能实现自动化(理想状态为100%).
这包括OS安装和配置、网络配置、用户帐户、应用程序和加强系统安全性.
JumpStart软件是一种可用于实现SolarisOS安装自动化的技术.
JumpStart软件提供一种通过网络安装系统的机制,很少需要或不需要人为干预.
SolarisSecurityToolkit软件提供了一个框架和多个脚本,可在基于JumpStart软件的安装中实现并使大部分与加强SolarisOS系统安全性相关的任务自动化.
JumpStartEnterpriseToolkit(JET)软件可帮助进行基于JumpStart的安装并包含支持使用SolarisSecurityToolkit加强系统安全性的模块,要获取该软件,请访问SunSoftwareDownload站点,网址为:http://www.
sun.
com/download/有关JumpStart技术的更多信息,请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
独立模式此外,SolarisSecurityToolkit软件还具有独立模式.
该模式能够执行与JumpStart模式中相同的所有安全性加强功能,但是只能在经过部署的系统上使用.
在上述两种模式中,安全性修改的定制可以并且应该与系统的安全性要求相匹配.
无论采取哪种安装方式,您都可以使用SolarisSecurityToolkit软件来加强系统安全性.
然后,定期使用SolarisSecurityToolkit软件来审计安全系统的配置是否被意外或恶意地进行了修改.
第1章简介3了解软件组件本节概述了SolarisSecurityToolkit软件的组件结构.
SolarisSecurityToolkit软件是多个文件和目录的集合.
图1-1为该软件的结构示意图.
图1-1软件组件结构下列程序或命令文件位于/bin目录中:add-client-一个JumpStart帮助程序,用于将客户机添加到JumpStart环境中rm-client-一个JumpStart帮助程序,用于将客户机从JumpStart环境中删除make-jass-pkg-该命令能够从SolarisSecurityToolkit目录内容中创建SolarisOS软件包,以简化已定制的SolarisSecurityToolkit配置在内部的分发jass-check-sum-该命令能够确定曾经由SolarisSecurityToolkit软件修改过的文件是否已被更改(基于每次SolarisSecurityToolkit运行过程中所创建的校验和)jass-execute-该命令能够执行SolarisSecurityToolkit软件的大部分功能JASS_HOME_DIR/Documentation/Files/etc/man/sman1m/sman4/sman7windex/root/var/Drivers/Finish/Packages/Audit/bin/lib/Patches/Solaris_2.
5.
1/Solaris_2.
6/Solaris_7/Solaris_8/Solaris_9/Solaris_10/Solaris_2.
6/Solaris_2.
5.
1/Solaris_7/Solaris_8/Solaris_9/Solaris_10/Profiles/OS/Sysidcfg4SolarisSecurityToolkit4.
2管理指南2005年7月目录SolarisSecurityToolkit体系结构的组件按以下目录进行组织:/Audit/bin/Documentation/Drivers/Files/Finish/lib/man/OS/Packages/Patches/Profiles/Sysidcfg本节中逐一介绍了每个目录,并在相应的位置列出了每个脚本、配置文件或子目录,同时还将提供其他章节作为参考以便您获得详细信息.
SolarisSecurityToolkit目录结构是基于SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》中所述的结构.
Audit目录该目录包含的脚本,可评估系统是否符合预定义的安全配置文件或审计脚本集.
该目录中的脚本分为以下类别:禁用启用安装最小化打印删除设定更新有关每个类别中脚本的详细列表和每个脚本的说明,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
Documentation目录本目录包含具有用户信息的文本文件,例如README、EOL_NOTICE和INSTALL文件.
第1章简介5man目录本目录包含命令、功能和驱动程序手册页部分的子目录.
此外,本目录还包含windex文件,该文件是命令的索引,且免费提供.
有关这些手册页的更多信息,请参见实际的手册页或《SolarisSecurityToolkit4.
2ManPageGuide》.
Drivers目录该目录包含配置信息文件,这些配置信息指定了运行SolarisSecurityToolkit软件时需要执行和安装的文件.
该目录还包含驱动程序、脚本和配置文件.
以下是Drivers目录中的驱动程序和脚本的实例:audit_{private|public}.
funcscommon_{log|misc}.
funcs{config|hardening|secure}.
driverdriver.
{init|run}driver_{private|public}.
funcsfinish.
initserver-{config|hardening|secure}.
driversuncluster3x-{config|hardening|secure}.
driversunfire_15k_sc-{config|hardening|secure}.
driverundo.
{funcs|init|run}user.
init.
SAMPLEuser.
run.
SAMPLESolarisSecurityToolkit中的所有驱动程序均具有三个文件:名称-{config|hardening|secure}.
driver在以上列表中,这三个文件是在括号中列出的,例如sunfire_15k_sc-{config|hardening|secure}.
driver.
列出这些文件是为了突出完整性.
执行某个驱动程序时,仅需使用secure.
driver或名称-secure.
driver即可.
该驱动程序会自动调用相关的驱动程序.
SolarisSecurityToolkit体系结构包括可以使driver、finish和audit脚本不经修改(不修改实际的脚本本身)便可用于不同环境的配置信息.
在finish和audit脚本中使用的所有变量都在一个配置文件集中进行维护.
这些配置文件是由驱动程序导入的,当驱动程序调用finish和audit脚本时配置文件使这些脚本可以使用变量.
SolarisSecurityToolkit软件具有四个主要配置文件,它们都存储在Drivers目录中:driver.
initfinish.
inituser.
inituser.
run6SolarisSecurityToolkit4.
2管理指南2005年7月user.
run文件为您提供了一个位置,可用于写入SolarisSecurityToolkit函数的替换版本或加强版本;如果存在,则会自动使用这些版本.
注意–只能更改user.
init配置文件中的变量定义,不可更改driver.
init和finish.
init配置文件中的变量定义.
由驱动程序调用的finish脚本位于Finish目录中.
由驱动程序调用的audit脚本位于Audit目录中.
由驱动程序安装的Files从Files目录中读取.
有关finish脚本的更多信息,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》中的第4章.
有关audit脚本的更多信息,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》中的第5章.
图1-2是驱动程序控制流程的流程图.
图1-2驱动程序控制流程1.
仅适用于非JumpStart运行,驱动程序将运行jass-execute命令.
JumpStart运行直接调用驱动程序,而不是调用jass-execute命令.
第1章简介72.
驱动程序可以明确地设置变量.
3.
驱动程序从不同的.
init文件中导入所有的环境变量.
4.
驱动程序定义JASS_FILES和JASS_SCRIPTS环境变量.
这两个定义是可选的;可以定义任意一个单独的环境、也可以定义两个或者不定义任何环境.
有关定义JASS_FILES和JASS_SCRIPTS环境变量的更多信息,请参见《SolarisSecurityToolkit4.
2ReferenceManual》中的第7章.
5.
驱动程序调用driver.
run来执行由JASS_FILE和JASS_SCRIPTS环境变量所定义的任务.
6.
(可选)驱动程序定义特定的驱动程序行为,可用于覆盖finish.
init或user.
init中的系统默认值.
代码示例1-1中的驱动程序明确地将JASS_PASS_HISTORY设置为4.
代码示例1-1说明了驱动程序控制流程代码.
1.
该代码实例设置DIR环境变量并将其导出,以使驱动程序识别启动目录.
2.
驱动程序明确地将JASS_PASS_HISTORY环境变量设置为4.
3.
驱动程序读取不同的.
init文件(从driver.
init开始).
4.
将JASS_FILES环境变量定义为包含从JASS_HOME_DIR/Files目录复制到客户机的那些文件.
5.
使用由SolarisSecurityToolkit软件运行的finish脚本来定义JASS_SCRIPTS环境变量.
代码示例1-1驱动程序控制流程代码DIR="'/bin/dirname$0'"JASS_PASS_HISTORY="4"exportDIR.
${DIR}/driver.
initJASS_FILES="/etc/cron.
d/cron.
allow/etc/default/ftpd/etc/default/telnetd"JASS_SCRIPTS="install-at-allow.
finremove-unneeded-accounts.
fin".
${DIR}/driver.
run8SolarisSecurityToolkit4.
2管理指南2005年7月6.
通过调用driver.
run驱动程序执行运行加强系统安全性的操作.
driver.
run将复制JASS_FILES中指定的文件,并运行JASS_SCRIPTS中指定的脚本.
Files目录JASS_FILES环境变量和driver.
run脚本使用本目录来存储被复制到JumpStart客户机的文件.
该目录中包含以下文件:/.
cshrc/.
profile/etc/default/sendmail/etc/dt/config/Xaccess/ftpd/banner.
msg/etc/hosts.
allow/etc/hosts.
allow-15k_sc/etc/hosts.
allow-server/etc/hosts.
allow-suncluster/etc/hosts.
deny/etc/init.
d/klmmod/etc/init.
d/nddconfig/etc/init.
d/set-tmp-permissions/etc/init.
d/sms_arpconfig/etc/init.
d/swapadd/etc/issue/etc/motd/etc/opt/ipf/ipf.
conf/etc/opt/ipf/ipf.
conf-15k_sc/etc/opt/ipf/ipf.
conf-server/etc/security/audit_class+5.
10/etc/security/audit_class+5.
8/etc/security/audit_class+5.
9/etc/security/audit_control/etc/security/audit_event+5.
10/etc/security/audit_event+5.
8/etc/security/audit_event+5.
9/etc/sms_domain_arp/etc/sms_sc_arp/etc/syslog.
conf/root/.
cshrc/root/.
profile/var/opt/SUNWjass/BART/rules/var/opt/SUNWjass/BART/rules-secure第1章简介9Finish目录该目录包含finish脚本,该脚本在执行过程中进行系统修改和更新.
该目录中的脚本分为以下类别:禁用启用安装最小化打印删除设定更新有关每个类别中脚本的详细列表和每个脚本的说明,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
OS目录该目录仅包含SolarisOS映像.
在JumpStart软件安装进程进行客户机安装时,将这些映像作为SolarisOS源使用.
如果目录名称遵循了SolarisSecurityToolkitOS命名约定,则add_client脚本将接受包含在该目录中的SolarisOS版本作为参数.
有关加载和修改SolarisOS映像的详细信息,请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
标准安装命名约定如下.
SolarisOS对于SolarisOS,请使用以下的命名标准:Solaris_OS版本_CD版本的4位数年份-2位数月份例如,日期为2005年3月的Solaris10OperatingEnvironmentCD的目录名称应为Solaris_10_2005-03.
通过将SolarisOS的更新和版本分开,可以对测试和开发目的维护进行非常精细的控制.
适用于x86/x64平台的SolarisOS对于适用于x86/x64平台的SolarisOS,请使用以下目录命名标准:Solaris_OS版本_CD版本的4位数年份-2位数月份_ia例如,如果适用于x86/x64平台的SolarisOS发布日期为2005年3月,则该目录名称为:Solaris_10_2005-03_ia.
10SolarisSecurityToolkit4.
2管理指南2005年7月Packages目录该目录包含可以使用finish脚本进行安装并通过audit脚本进行验证的软件包.
例如,OpenSecureShell软件包可以存储在Packages目录中,这样适当的finish脚本会根据需要安装该软件.
SolarisSecurityToolkit软件包含的几个finish和audit脚本可以执行软件安装、基本的配置和验证功能.
从Packages目录中安装和验证软件的脚本包括:install-fix-modes.
{fin|aud}install-jass.
{fin|aud}install-md5.
{fin|aud}install-openssh.
{fin|aud}Patches目录本目录用于存储SolarisOS的RecommendedandSecurityPatchClusters.
下载必需的修补程序并将其提取到本目录中.
通过将修补程序放置在该目录中并在其中提取,可以简化安装操作.
当修补程序提取到该目录中时,SolarisSecurityToolkit软件修补程序安装脚本会使安装自动化,因此无需手动为每个系统安装提取修补程序群集.
为所使用的每个SolarisOS版本创建子目录.
例如,Patches目录中可能已经存在9_Recommended和10_Recommended目录.
SolarisSecurityToolkit软件支持适用于x86/x64平台的SolarisOS修补程序群集.
这些修补程序群集所支持的命名约定与通过SunSolveOnLineSM服务获得的命名约定相同.
格式为_x86_Recommended.
针对Solaris10OS的适用于x86/x64平台的SolarisOS修补程序群集会位于一个名为10_x86_Recommended的目录中.
Profiles目录该目录包含所有JumpStart配置文件.
JumpStart软件使用这些配置文件中包含的配置信息来确定安装的SolarisOS群集(例如,核心、最终用户、开发人员或完整分发)、磁盘布局以及要执行的安装类型(例如,独立安装).
rules文件列出了它使用的JumpStart配置文件,以定义如何构建特定的系统或系统组.
第1章简介11Sysidcfg目录与Profiles目录类似,Sysidcfg目录仅包含在JumpStart模式安装过程中使用的文件.
通过提供必需的安装信息,这些文件可使SolarisOS安装自动化.
特定操作系统的信息存储在单独的目录树中.
每个SolarisOS都具有一个单独的目录.
每个版本都有一个名为Solaris_OS版本的目录.
SolarisSecurityToolkit软件提供了用于SolarisOS版本2.
5.
1至10的范例sysidcfg文件.
可将范例sysidcfg文件扩展为其他类型,例如,每个网络或主机.
SolarisSecurityToolkit软件支持任意sysidcfg文件.
有关sysidcfg文件的其他信息,请参见SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
数据信息库尽管不处于JASS_HOME_DIR目录结构中,数据系统信息库(或者JASS_REPOSITORY目录)支持SolarisSecurityToolkit撤消运行操作,根据每个运行操作的执行方式来保存数据,维护由软件修改的文件清单以及保存执行日志的数据.
该目录位于/var/opt/SUNWjass/runs/时间戳中.
维护版本控制维护由SolarisSecurityToolkit软件使用的所有文件和脚本的版本控制非常关键,有以下两个原因:1.
该环境的目标之一就是能够重新创建系统安装.
如果没有安装过程中所用到所有文件版本的快照,那么该目标是不可能实现的.
2.
由于这些脚本执行安全性功能(这对很多组织来说都是关键的过程),因此必须格外小心以确保仅实施必要的且经过测试的更改.
在SolarisOSSUNWsprot软件包中提供了源代码控制系统(SCCS)的版本控制软件包.
用户可以使用来自免费软件和商业供应商的其他版本控制软件来管理版本信息.
无论您使用哪种版本控制产品,都要使用一个过程,从而为将来系统的重新创建管理更新信息并获取版本信息.
除版本控制外,还要使用完整性管理解决方案以确定文件的内容是否已经被修改.
尽管系统的特权用户也许能够绕过版本控制系统,但他们无法轻易地绕过完整性管理系统,该系统在远程系统上维护其完整性数据库.
进行集中管理时,完整性管理解决方案会充分发挥其作用,因为本地存储的数据库可能会被恶意修改.
12SolarisSecurityToolkit4.
2管理指南2005年7月配置和定制SolarisSecurityToolkit软件SolarisSecurityToolkit软件包含用于脚本、框架功能和变量的默认值,这些默认值可实现SunBluePrints书籍《EnterpriseSecurity:SolarisOperatingEnvironmentSecurityJournal,SolarisOperatingEnvironmentVersions2.
5.
1,2.
6,7,and8》以及关于安全性的SunBluePrintsOnLine文章中的所有安全准则.
这些设置并不适用于所有系统,因此必须定制SolarisSecurityToolkit软件来满足系统的安全性要求.
SolarisSecurityToolkit软件的一个最重要特征就是可以轻松地定制,使它符合您的环境、系统和安全性要求.
要定制SolarisSecurityToolkit软件,请通过驱动程序、finish脚本、audit脚本、框架功能、环境变量以及文件模板来对其进行调整.
大多数用户不需要修改SolarisSecurityToolkit代码.
如果在您的环境中使用SolarisSecurityToolkit软件必须修改代码,请将该代码复制到user.
run中的一个唯一的函数名称中,以便轻松地跟踪更改,如第12页"准则"中所述.
在整个指南中,提供了用于定制SolarisSecurityToolkit软件的准则和指导.
请参阅《SolarisSecurityToolkit4.
2ReferenceManual》,以查找关于定制驱动程序的帮助信息.
定制包括修改和创建文件或变量.
本指南还提供了用于定制SolarisSecurityToolkit软件的实例.
实例重点介绍了定制SolarisSecurityToolkit软件的某些方法;然而,还存在许多其他方法.
在尝试定制SolarisSecurityToolkit软件之前,必须准确理解以下各节所给出的信息.
这些信息基于从很多部署方案收集的共享经验,因此可以避免通常所犯的错误.
策略和要求定制和部署SolarisSecurityToolkit软件时,适当的规划可以确保正确配置结果平台配置,并且与组织的期望相一致.
在规划阶段中,请务必从各种来源中获取输入,这些来源包括安全性策略和标准、工业规程和准则以及供应商提供的首选做法.
除此之外非常重要的一点是,应该考虑应用程序和操作要求以确保配置结果不会影响平台为其预期的业务功能提供服务.
准则定制SolarisSecurityToolkit软件时,请考虑以下准则.
了解并遵守这些准则有助于使维持部署的过程更加简单、有效.
第1章简介13作为一般规则,请勿更改由SolarisSecurityToolkit软件提供的任何原始文件(驱动程序、脚本、文件等等).
更改原始文件将阻止并限制您的组织升级到SolarisSecurityToolkit软件最新版本的能力,因为对原始文件的任何更改都可能会被该文件的新版本所覆盖.
(定制的所有更改都将丢失,而系统配置的更改方式可能不合适.
)要定制其中任何文件,请首先制作一个副本,然后修改该副本,保留原始文件不变.
对于该规则只存在一个例外:sysidcfg文件SolarisSecurityToolkit4.
2软件新增了一个特性,使您可以对Files目录中的模板使用关键字后缀.
这样,系统管理员就不必修改SolarisSecurityToolkit4.
2软件中的任何默认模板,而只在需要时使用后缀即可.
对驱动程序或脚本的副本进行命名,以便区别于其原始版本.
使用可表明脚本用途的前缀或关键字.
例如,包含公司的名称或股票标记、部门标识符或平台、应用程序类型的前缀都是不错的命名标准.
表1-1列出了几个命名标准的实例.
查看以下SolarisSecurityToolkit文件是否适合您的系统.
要定制这些文件,请复制原始文件、将副本重命名为user.
init和user.
run,然后对副本的内容进行修改或添加.
注–请注意,如果您使用pkgrm命令删除了SUNWjass,由其创建的user.
init和user.
run文件不会被删除.
这种情况同样也会发生在其他不包含在原始软件分发版中的、后来添加到SolarisSecurityToolkit目录结构中的用户文件.
注–SolarisSecurityToolkit4.
2软件中对pkgrm命令做了新的改进.
在这一版本中,pkgrm命令的第一步是检查分发中所有文件的完整性.
如果存在任何不同的文件,则pkgrm命令会退出,并显示一个错误消息,提示系统管理员放置正确的文件或删除已修改的文件.
表1-1定制文件的命名标准定制文件命名标准abccorp-secure.
driver公司前缀abcc-nj-secure.
driver公司股票代码、位置abbcorp-nj-webserver.
driver公司、位置、应用程序类型abc-nj-trading-webserver.
driver公司、位置、组织、应用程序类型Drivers/user.
init.
SAMPLE用于定制全局参数Drivers/user.
run.
SAMPLE用于定制全局函数14SolarisSecurityToolkit4.
2管理指南2005年7月15第2章保护系统安全:方法论本章提供保护系统安全的方法论.
在使用SolarisSecurityToolkit软件保护系统安全之前,您可以应用该软件的过程.
本章包含以下主题:第15页"规划与准备"第26页"开发和执行SolarisSecurityToolkit配置文件"第26页"安装软件"第28页"验证应用程序和服务功能"第29页"维护系统安全"规划与准备适当的规划是成功使用SolarisSecurityToolkit软件来保护系统安全的关键.
规划阶段将根据组织的安全策略和标准以及系统的应用程序和操作要求,为系统构建一个SolarisSecurityToolkit配置文件.
该阶段分为以下任务:第15页"考虑风险和收益"第17页"查看安全策略、标准和相关文档"第18页"确定应用程序和服务要求"尽管未在本书中说明,该阶段的其他注意事项可能包括了解风险和收益,了解基础结构及其安全要求,考虑责任、日志以及对使用的审计.
考虑风险和收益加强系统的安全性时,必须采取特殊的预防措施以确保在使用SolarisSecurityToolkit软件之后,系统可以正常运行.
此外,优化该过程来确保尽可能短的停机时间也非常重要.
16SolarisSecurityToolkit4.
2管理指南2005年7月注–在保护经过部署的系统的安全时,在某些情况下,重新构建系统可能是更加有效的方法,这样可在重新安装时加强系统的安全性,然后重新加载操作所需的全部软件.
本节给出了在尝试保护系统安全之前必须准确理解的注意事项.
请仔细权衡风险与收益以确定适合您的组织的操作.
1.
了解系统上的服务和应用程序的要求.
在运行SolarisSecurityToolkit软件之前,必须识别运行在系统上的服务和应用程序.
必须列举出所有与服务和应用程序相关的依赖性,以便SolarisSecurityToolkit软件可以有效地进行调整.
未执行此操作可能会禁用服务或阻止必需的服务启动.
因为由SolarisSecurityToolkit软件所做的更改在大多数情况下都可以撤消,在安装之前开发正确的配置文件可以减少在实现SolarisSecurityToolkit软件时可能造成的停机时间.
2.
要考虑到系统必须脱机和重新引导的情况.
要使由SolarisSecurityToolkit软件所做的更改生效,必须重新引导系统.
根据系统的重要程度、系统所提供的服务、维护窗口的可用性,组织可能在执行该软件时遇到不同的困难.
在仔细权衡停机时间的花费与不增强安全性的风险之后,必须做出一个决定.
3.
系统可能要求多次重新引导以验证其功能性.
只要有可能,就应在将更改应用到影响关键任务的实际环境之前,首先在非生产系统中进行试验.
但有时无法满足这样的要求,例如,没有足够的硬件和软件对目标环境进行有效的镜像.
在对SolarisSecurityToolkit软件执行加强安全性操作之前和之后都必须进行测试.
在系统加强安全性后,可能仍然存在未识别的、需要进行错误诊断的依赖性.
在大多数情况下,可以使用本章中介绍的技术非常快速地解决这些问题.
如果在运行SolarisSecurityToolkit软件后发现了功能问题,可能需要额外的平台重新引导来撤消SolarisSecurityToolkit软件的影响或者对系统的配置做进一步的更改以支持并启用缺失的功能.
4.
平台安全性需要的不仅仅是加强和审计.
当考虑改进系统配置以增强其安全性时,必须了解的是,平台加强和审计只代表了可以用于和应该用于保护系统、服务和数据的一小部分措施.
其他措施和控制不在本文的范围之内,但希望您考虑到与帐户管理、权限管理、文件系统和数据完整性、基于主机的访问控制、入侵检测、安全漏洞扫描和分析以及应用程序安全相关的问题.
5.
系统中可能存在可被利用的安全漏洞或者已经被利用.
正在加强安全性的平台可能已经被攻击者利用.
SolarisSecurityToolkit软件的执行可能已经太晚,因而无法为已被利用的安全漏洞提供保护.
在存在已被利用的安全漏洞的情况下,请:a.
重新安装系统.
b.
安装SolarisSecurityToolkit软件.
第2章保护系统安全:方法论17c.
使用SolarisSecurityToolkit软件来增强系统安全性.
查看安全策略、标准和相关文档保护系统安全的首要任务就是了解组织的相关安全策略、标准以及关于平台安全性的准则.
应将这些文档作为SolarisSecurityToolkit配置文件的基础,因为这些文档提供了对于组织内的所有系统要遵循的要求和做法.
如果您的组织没有这些文档,则开发它们可以提高定制SolarisSecurityToolkit软件的能力.
注–当查找这些文档时,请记住某些材料可能列于最佳做法或其他文档中.
有关安全策略的更多信息,请参阅SunBluePrintsOnLine文章"DevelopingaSecurityPolicy".
该文档可以使您对安全策略在组织安全性计划中发挥的作用有更进一步的了解.
以下两个实例说明了策略声明是如何直接影响SolarisSecurityToolkit配置文件的配置方式的.
实例1策略-一个组织必须使用支持强大的用户身份验证和传输数据加密的管理协议.
配置文件影响-不应该使用明文协议,例如:Telnet、文件传输协议(FTP)、简单网络管理协议版本1(SNMPv1)和其他明文协议.
SolarisSecurityToolkit中的secure.
driver会禁用这些服务,因此不需要额外的配置.
注–可以使用扩展(例如Kerberos)将Telnet和FTP服务配置为支持更强的身份验证和加密.
但是,它们的默认配置不支持这些添加的安全级别.
实例2策略-强制所有用户每30天更改一次密码.
配置文件影响-可以将SolarisSecurityToolkit软件配置为启用密码过期.
SolarisSecurityToolkit软件中的secure.
driver将密码的最长过期时间设置为8周(56天).
要符合该策略,必须更改SolarisSecurityToolkit软件的配置文件.
请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
18SolarisSecurityToolkit4.
2管理指南2005年7月尽管在系统中运行时,SolarisSecurityToolkit软件中的secure.
driver会启用密码过期,但是在现有用户更改密码之前,这一更改不会对他们产生影响.
要为现有用户启用密码过期,请在每个用户帐户上调用passwd(1)命令.
要强制现有用户更改密码,您可以使用passwd-f命令.
有关passwd(1)命令的更多信息,请参阅《Solaris10OSReferenceCollection》.
确定应用程序和服务要求该任务确保在系统加强安全性后服务仍然能够保持正常工作.
该任务包括以下步骤:第18页"确定应用程序和可用服务清单"第18页"确定服务要求"确定应用程序和可用服务清单清点应用程序、服务和可用功能或管理功能.
该清单对于确定实际在系统上使用的软件是必需的.
在很多情况下,系统会配置比使用的软件更多的软件,甚至配置有不支持业务功能的软件.
应该构建尽可能小的系统.
也就是说,不应该安装与支持业务功能无关的软件.
系统上不必要的软件应用程序会为攻击者利用系统提供更多的机会.
此外,系统上安装更多的软件通常就等于必须要应用更多的修补程序.
有关最小化SolarisOS的信息,请参阅SunBluePrintsOnLine文章"MinimizingtheSolarisOperatingEnvironmentforSecurity".
有关最小化SunFire系统域的信息,请参阅SunBluePrintsOnline文章"PartI:MinimizingDomainsforSunFireV1280,6800,12K,and15KSystems"和"PartII:MinimizingDomainsforSunFireV1280,6800,12K,and15KSystems".
当构建软件的清单时,请确保除包括位于系统上的应用程序之外,还要包括基础结构组件(例如管理、监视以及备份软件).
确定服务要求在完成应用程序和服务清单后,应确定加强安全性的过程是否会影响到组件的依赖性.
很多第三方应用程序不直接使用由SolarisOS提供的服务.
对于直接使用SolarisOS提供的服务的应用程序,以下各节提供了有用的信息.
第19页"共享库"第21页"配置文件"第22页"服务框架"注–本节中的所有实例均来自Solaris9OS.
第2章保护系统安全:方法论19共享库了解支持应用程序需要的库是非常重要的.
在调试环境时这种知识最为有用,在准备要进行安全性加强的系统时也很有用.
当系统状态未知时,应收集尽可能多的信息以便准确地理解问题(例如,软件相关性).
您可以使用三种方法来确定应用程序所使用的库,这取决于所安装的SolarisOS版本.
本节为每种方法提供了一个代码实例.
方法1-获取文件系统对象(如应用程序二进制文件或库)的信息(代码示例2-1).
方法2-收集正在运行的进程的信息以分析正在运行的应用程序(代码示例2-2).
方法3-标识动态加载的应用程序,以便在程序启动时对其进行跟踪(代码示例2-3).
方法1要获取有关文件系统对象的信息,请使用/usr/bin/ldd命令.
例如:确定支持域名系统(DNS)服务器软件所需要的库.
方法2要从正在运行的进程中收集信息,请使用/usr/proc/bin/pldd命令(在SolarisOS版本8、9和10中可用).
代码示例2-1获得有关文件系统对象的信息#ldd/usr/sbin/in.
namedlibresolv.
so.
2=>/usr/lib/libresolv.
so.
2libsocket.
so.
1=>/usr/lib/libsocket.
so.
1libnsl.
so.
1=>/usr/lib/libnsl.
so.
1libc.
so.
1=>/usr/lib/libc.
so.
1libdl.
so.
1=>/usr/lib/libdl.
so.
1libmp.
so.
2=>/usr/lib/libmp.
so.
2/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.
so.
120SolarisSecurityToolkit4.
2管理指南2005年7月方法3除应用程序所链接的库之外,pldd命令还显示由应用程序动态加载的共享库.
也可以使用以下truss命令来收集该信息.
注–为简洁起见,本例对输出内容做了删节.
代码示例2-2从正在运行的进程中收集信息#pldd2030720307:/usr/sbin/in.
named/usr/lib/libresolv.
so.
2/usr/lib/libsocket.
so.
1/usr/lib/libnsl.
so.
1/usr/lib/libc.
so.
1/usr/lib/libdl.
so.
1/usr/lib/libmp.
so.
2/usr/platform/sun4u/lib/libc_psr.
so.
1/usr/lib/dns/dnssafe.
so.
1/usr/lib/dns/cylink.
so.
1代码示例2-3确定动态加载的应用程序#truss-f-topen,open64/usr/sbin/in.
named20357:open("/usr/lib/libresolv.
so.
2",O_RDONLY)=320357:open("/usr/lib/libsocket.
so.
1",O_RDONLY)=320357:open("/usr/lib/libnsl.
so.
1",O_RDONLY)=320357:open("/usr/lib/libc.
so.
1",O_RDONLY)=320357:open("/usr/lib/libdl.
so.
1",O_RDONLY)=320357:open("/usr/lib/libmp.
so.
2",O_RDONLY)=320357:open("/usr/lib/nss_files.
so.
1",O_RDONLY)=420357:open("/usr/lib/nss_files.
so.
1",O_RDONLY)=420357:open("/usr/lib/dns/dnssafe.
so.
1",O_RDONLY)=420357:open("/usr/lib/dns/cylink.
so.
1",O_RDONLY)=420357:open("/usr/lib/dns/sparcv9/cylink.
so.
1",O_RDONLY)=4第2章保护系统安全:方法论21此输出的版本包含进程标识符、系统调用(在本例中为open)及其变量以及系统调用的返回值.
使用返回值,可清晰地看到系统调用成功找到和打开了共享库.
了解共享库列表后,请使用以下命令来确定它们属于哪个SolarisOS软件包.
结果输出表示该共享库属于SUNWcsl(核心,共享库)软件包.
当执行平台最小化时该进程尤其有用,因为它有助于确定支持应用程序或服务所必需的软件包.
配置文件另一种收集要求的方法就是通过配置文件进行.
由于可以重命名或删除配置文件以禁用服务,因此该过程更直接地影响系统的安全性加强方式.
有关更多信息,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
要确定是否正在使用配置文件,请使用truss命令.
注–为简洁起见,本例对输出内容做了删节.
#grep"/usr/lib/dns/cylink.
so.
1"/var/sadm/install/contents/usr/lib/dns/cylink.
so.
1fnone0755rootbin6353224346\1018126408SUNWcsl代码示例2-4确定是否正在使用配置文件#truss-f-topen,open64/usr/sbin/in.
named2>&1|\grep-v"/usr/lib/.
*.
so.
*"20384:open("/etc/resolv.
conf",O_RDONLY)=320384:open("/dev/conslog",O_WRONLY)=320384:open("/usr/share/lib/zoneinfo/US/Eastern",O_RDONLY)=420384:open("/var/run/syslog_door",O_RDONLY)=420384:open("/etc/nsswitch.
conf",O_RDONLY)=420384:open("/etc/services",O_RDONLY)=420384:open("/etc/protocols",O_RDONLY)=420384:open("/etc/named.
conf",O_RDONLY)=420384:open("named.
ca",O_RDONLY)=520384:open("named.
local",O_RDONLY)=520384:open("db.
192.
168.
1",O_RDONLY)=520384:open("db.
internal.
net",O_RDONLY)=522SolarisSecurityToolkit4.
2管理指南2005年7月在本例中,DNS服务使用了配置文件,例如/etc/named.
conf.
正如前面的实例中介绍的,如果服务的返回值表明一个错误,则可能存在问题.
仔细记录加强安全性前后的结果有助于加速整个验证过程.
服务框架该类别包括框架或元服务,基于它们可以构建更大、更复杂的应用程序.
通常可在该类别中找到的框架类型有:命名服务,例如:网络信息服务(NIS)、NIS+和轻量目录访问协议(LDAP)验证服务,例如:Kerberos和LDAP实用程序服务,例如:远程过程调用(RPC)实用程序使用的端口映射器通常很难始终清楚地了解应用程序何时依赖于这些类型的服务.
当需要特殊的调整来配置应用程序时(例如将其添加到Kerberos区域),相关性是已知的.
但是,应用程序依赖性并非总是需要添加任务,而且供应商可能不会记录实际的依赖性.
RPC端口映射器就是一个这样的实例.
SolarisSecurityToolkit软件中的secure.
driver会禁用RPC端口映射器.
该操作可能会引起依赖于该服务的其他服务中的异常行为.
基于过去的经验,服务退出、挂起或者失败取决于应用程序中处理异常情况的代码是否编写得完善.
要确定应用程序是否正在使用RPC端口映射器,请使用rpcinfo命令.
例如:服务列中引用了来自/etc/rpc文件或已配置的命名服务(例如LDAP)的信息.
代码示例2-5确定哪些应用程序正在使用RPC#rpcinfo-p1000003tcp111rpcbind1000004udp111rpcbind1000002udp111rpcbind1000241udp32777status1000241tcp32772status1001331udp327771001331tcp327721000211udp4045nlockmgr1000212udp4045nlockmgr1000213udp4045nlockmgr1000214udp4045nlockmgr1000211tcp4045nlockmgr第2章保护系统安全:方法论23如果该文件没有用于某项服务(通常是第三方产品)的条目,则该服务字段可能为空.
这就使确定由其他应用程序注册的应用程序变得更加困难.
例如,考虑rusers命令.
该命令依赖于RPC端口映射服务.
如果RPC端口映射器没有运行,则rusers命令显示为挂起.
程序最终会超时,并显示以下错误消息:出现此问题是由于该程序无法与服务进行通信.
在从/etc/init.
d/rpc启动RPC端口映射服务之后,该程序可立即产生其结果.
作为另一个实例,请考虑RPC端口映射服务正在运行,而没有将rusers服务配置为运行的情况.
在这种情况下,就会产生完全不同的响应,并且可以相对简单地进行验证.
假设rpcinfo命令没有用于rusers服务的注册表,可以肯定地认为没有将该服务配置为运行.
这种假设可以通过查看/etc/inet/inetd.
conf中的服务条目进行验证.
该服务行开头的注释标记(#)表明已禁用rusers服务.
要启用该服务,请取消注释行并将SIGHUP信号发送到/usr/sbin/inetd进程,如下所示.
注–仅在SolarisOS版本7至10中提供了pkill命令.
对于其他版本,请分别使用ps和kill命令查找和使用信号通知该进程.
#rusers-alocalhostlocalhost:RPC:Rpcbindfailure代码示例2-6验证rusers服务#rusers-alocalhostlocalhost:RPC:Programnotregistered#greprusers/etc/rpcrusersd100002rusers#rpcinfo-p|greprusers#greprusers/etc/inet/inetd.
conf#rusersd/2-3tlirpc/datagram_v,circuit_vwaitroot/usr/lib/netsvc/rusers/rpc.
rusersdrpc.
rusersd#pkill-HUPinetd24SolarisSecurityToolkit4.
2管理指南2005年7月另一种确定应用程序是否使用RPC工具的方法是使用前面介绍的ldd命令.
librpcsvc.
so.
1条目与文件名指明该服务依赖于RPC端口映射服务.
除RPC端口映射器外,应用程序还可能依赖于其他常用的OS服务,例如FTP、SNMP或网络文件系统(NFS).
可以使用类似的技术来调试这些服务以及确定它们是否确实是支持业务功能所必需的.
其中一种方法涉及使用netstat命令,如下所示.
该命令返回一个最近使用的服务列表,例如:代码示例2-7确定使用RPC的应用程序的备选方法#ldd/usr/lib/netsvc/rusers/rpc.
rusersdlibnsl.
so.
1=>/usr/lib/libnsl.
so.
1librpcsvc.
so.
1=>/usr/lib/librpcsvc.
so.
1libc.
so.
1=>/usr/lib/libc.
so.
1libdl.
so.
1=>/usr/lib/libdl.
so.
1libmp.
so.
2=>/usr/lib/libmp.
so.
2/usr/platform/SUNW,Ultra-250/lib/libc_psr.
so.
1#netstat-a|egrep"ESTABLISHED|TIME_WAIT"表2-1列出最近使用的服务localhost.
32827localhost.
32828491520491520ESTABLISHEDlocalhost.
35044localhost.
32784491520491520ESTABLISHEDlocalhost.
32784localhost.
35044491520491520ESTABLISHEDlocalhost.
35047localhost.
35046491520491520ESTABLISHEDlocalhost.
35046localhost.
35047491520491520ESTABLISHEDfilefly.
ssh192.
168.
0.
3.
2969176151503200ESTABLISHED第2章保护系统安全:方法论25在此实例中,正在使用多种服务,但是不清楚哪些服务或应用程序拥有哪些端口.
可以通过使用pfiles(1)命令(在SolarisOS版本8、9和10中可用)对进程进行检查以收集该信息.
pfiles命令报告每个进程中所有打开的文件的信息.
确定这些依赖性的一种更为有效的方法是使用lsof(列出打开的文件)命令.
从以下网址下载lsof源代码:ftp://lsof.
itap.
purdue.
edu/pub/tools/unix/lsof/从以下网址下载lsof二进制文件:http://www.
sunfreeware.
comlsof命令能够确定哪些进程正在使用哪些文件和端口.
例如,要确定前面实例中的哪些进程正在使用端口35047,请使用以下命令.
lsof的输出表明端口35047正在用于dtexec和ttsession进程之间的通信.
使用lsof程序,您可以更迅速地确定系统间或应用程序间的需要使用文件系统或网络的依赖性.
在本节中阐述的几乎所有内容都可以使用lsof程序来获取.
注–此处介绍的确定依赖性的方法可能无法找出那些极少使用的依赖性.
除使用这些方法外,还请查看Sun文档和供应商提供的文档.
代码示例2-8确定哪些服务或应用程序拥有哪些端口#forpidin`ps-aeopid|grep-vPID`;do>pfiles${pid}|egrep"^${pid}:|sockname:">done代码示例2-9确定哪些进程正在使用文件和端口#.
/lsof-i|grep35047ttsession600root9uIPv40x3000b4d47e80t1TCPlocalhost:35047->localhost:35046(ESTABLISHED)dtexec5614root9uIPv40x3000b4d59e80t0TCPlocalhost:35046->localhost:35047(ESTABLISHED)26SolarisSecurityToolkit4.
2管理指南2005年7月开发和执行SolarisSecurityToolkit配置文件在完成规划和准备阶段后,即可开发和执行安全性配置文件.
安全性配置文件包括相关配置、加强安全性和安全性驱动程序,例如,名称-{config|hardening|secure}.
driver、脚本以及实现站点特定的安全策略的文件.
您可以对SolarisSecurityToolkit软件附带的一个安全性配置文件进行配置,也可以自行开发.
每个组织的策略、标准和应用程序都不会相同,即使只有细微的差别.
要定制一个安全性配置文件,请通过finish脚本、audit脚本、环境变量、框架功能以及文件模板来调整该文件的操作.
有关更多信息,请参见以下各章节:有关定制软件的重要准则,请参见第1章,第12页"配置和定制SolarisSecurityToolkit软件".
有关创建安全性配置文件的实例情况,请参见第7章,第95页"创建安全性配置文件".
有关定制驱动程序的信息,请参见《SolarisSecurityToolkit4.
2ReferenceManual》.
如有需要,可参见《SolarisSecurityToolkit4.
2ReferenceManual》的其他章节以获得有关脚本、框架功能、环境变量和文件的信息.
您可能要定制的两个关键环境变量是JASS_FILES和JASS_SCRIPTS.
要跨越大多数平台强制执行标准,同时保证特定平台之间的差异,请使用嵌套或分层安全性配置文件技术.
有关更多信息,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
比较结果配置文件与您组织的策略、标准和要求以确保不存在粗心大意或错误的更改.
安装软件SolarisSecurityToolkit软件的安装对于经过部署的或正在安装的新系统来说是相同的.
有关详细指导,请参阅第3章.
对于经过部署的系统,一些特定的例子可以使该过程更简单、迅速.
这些例子的重点不在于加强安全性过程,而是在于安装前后的任务.
第2章保护系统安全:方法论27执行安装前任务在加强经过部署的系统的安全性之前,请考虑和计划两项重要的任务:备份验证这两个任务有助于确定已部署系统的状态,并且有助于在加强系统安全性之前解决所有潜在的配置问题.
备份数据该任务重点在于意外事故的规划.
发生问题时,必须确保系统的配置和数据以某种形式进行了归档.
您必须:备份系统确保可以读取备份介质验证是否可以恢复其内容在对系统配置进行任何重要更改之前,均应采用这些步骤.
验证系统稳定性验证任务几乎与备份任务同等重要.
在实现任何配置更改(例如,由加强安全性过程所做的更改)之前,验证过程可确保系统处于稳定工作状态.
此验证过程包括:重新引导成功地测试所有应用程序或服务尽管已经选择了定义好的测试和验收计划,但计划并不总是可用.
如果情况确实如此,请根据系统的使用方式以合理的方式测试该系统.
其目的在于确保实际运行的配置与所保存的配置相匹配.
当系统引导或应用程序启动时,查看所显示的所有错误消息或警告.
如果无法纠正错误,请记录它们,以便在加强安全性过程中不会将其当作问题的潜在原因.
当查看日志文件时,请确保包括系统、服务以及应用程序日志,例如:/var/adm/messages/var/adm/sulog/var/log/syslog/var/cron/log重新启动系统时如果没有遇到错误或警告消息,或者没有遇到任何未知的错误或警告(所有已知的都已记录),则该任务完成.
系统应该重新启动到一个已知并稳定的状态.
如果在验证过程中发现系统正在运行的配置和存储的配置有所不同,请重新评估您组织的更改控制策略和过程以确定导致该情况的原因.
28SolarisSecurityToolkit4.
2管理指南2005年7月执行安装后的任务安装后的任务是安装前的任务的延伸.
目的在于确保加强系统安全性过程没有对系统或应用程序造成任何新的问题.
该任务主要是通过查看系统和应用程序日志文件来完成的.
在加强安全性以及随后的重新引导之后创建的日志文件应该与那些在对系统进行加强安全性之前收集的日志文件相似.
在某些情况下,由于只启动了较少的服务,因此消息可能会少一些.
最重要的一点是,不应该出现新的错误或警告消息.
除查看日志文件外,还要测试功能,因为某些应用程序可能会发生故障但不生成日志条目.
有关详细的验证信息,请参见下节.
验证应用程序和服务功能保护系统安全过程的最后任务会涉及到验证由系统提供的应用程序和服务是否能够正确地运行.
该任务还验证安全性配置文件是否成功地满足了安全策略的要求.
请在加强安全性的平台启动之后彻底地执行该任务,以确保可检测到任何异常或问题并立即得到纠正.
该任务分为两个子任务:验证安全性配置文件安装和验证应用程序和服务功能.
验证安全性配置文件的安装要验证SolarisSecurityToolkit软件是否正确无误地安装了安全性配置文件,请查看安装日志文件jass-install-log.
txt.
该文件安装在/var/opt/SUWWjass/runs中,其所处的目录对于每个加强系统安全性或审计系统安全性的运行(运行的起始时间)都是唯一的.
注–请参阅该日志文件以了解SolarisSecurityToolkit软件对系统所进行的操作.
对于在系统上运行的每个操作,都会根据运行操作起始时间在目录中保存一个新的日志文件.
除了要验证所安装的配置文件外,还要评估系统的安全配置.
执行手动检查或使用工具使该过程自动化.
验证应用程序和服务功能要对过程应用程序和服务进行验证,请执行已定义好的测试和验收计划.
该计划将运行系统或应用程序的各个组件以确定它们是否可用和处于正常工作状态.
如果这样的规划不可用,则要根据系统的运行方式以合理的方法对系统进行测试.
其目的在于确保安全性加强安全性过程绝对不会影响应用程序或服务执行其功能的能力.
第2章保护系统安全:方法论29如果发现在加强系统安全性后,应用程序或服务出现故障,请通过查看应用程序日志文件来确定该问题.
在很多情况下,可以使用truss命令来确定应用程序遇到的问题.
在知道问题所在后,可以针对该问题并跟踪返回到SolarisSecurityToolkit软件所做的更改.
维护系统安全很多组织通常会犯的一个错误就是仅在安装过程中强调安全,然后就很少或不再重新考虑它.
维护安全是一个实时进行的过程.
必须定期查看和重新考虑系统安全.
维护一个安全的系统要求提高警惕,因为任何系统的安全配置随着时间的推移都会逐渐地公开.
例如,系统安全漏洞会变得众所周知.
以下的基本指导提供了维护系统安全性的概述:在安装任何修补程序前后都要查看系统的安全状态.
同时,保证系统已使用最新的修补程序进行更新也非常重要.
SolarisOS修补程序可能在安装过程中安装其他软件包,并且会覆盖系统配置文件.
SolarisSecurityToolkit软件可以协助您应用修补程序,因为它支持在系统上的重复运行操作,所以可以在安装修补程序后保护系统的安全.
在安装任何修补程序后,以适当的驱动程序运行该软件以确保您的配置与已定义的安全策略保持一致.
此外,请手动查看系统,因为正在使用的SolarisSecurityToolkit软件的版本可能不支持由已安装的修补程序添加的新功能.
对系统进行实时监视以确保不会发生未经授权的行为.
查看系统帐户、密码和访问模式,它们可以提供大量有关系统当前状态的信息.
部署和维护集中的syslog系统信息库以收集和解析syslog消息.
可以通过收集和查看这些日志来获得有价值的信息.
制定一个全面的安全漏洞和审计策略来监视和维护系统配置.
当在一段时间内维护系统处于安全的配置时,该要求尤为重要.
定期使用SolarisSecurityToolkit软件的最新版本更新您的系统.
SolarisSecurityToolkit软件包括用作起点的默认安全性配置文件.
30SolarisSecurityToolkit4.
2管理指南2005年7月31第3章升级、安装和运行安全性软件本章提供下载、升级或安装和运行SolarisSecurityToolkit软件及其他与安全相关的软件的指导.
其中包含将环境配置为独立或JumpStart模式以及获得支持的指导.
请按照本节提供的指导和过程以升级或安装、配置和执行软件.
这些指导包括下载附加的安全性软件、帮助实例和准则.
虽然SolarisSecurityToolkit软件是单机产品,然而当与下载的附加的安全性软件同时使用时最有效.
该软件包括来自SunSolveOnline的最新推荐的修补程序群集和安全性修补程序群集、SolarisOS版本中未包含的SecureShell软件、用于限制SolarisOS和第三方软件权限的权限和所有权修改软件,以及用于验证Sun文件和可执行文件完整性的完整性验证二进制文件.
本章包含以下任务:第31页"执行规划及安装前的任务"第32页"软件依赖性"第32页"确定使用何种模式"第33页"升级过程"第35页"下载安全性软件"第42页"定制安全性配置文件"第42页"安装和执行软件"第53页"验证系统修改"执行规划及安装前的任务正确的规划是成功使用SolarisSecurityToolkit软件以保护系统安全的关键.
有关安装软件前规划的详细信息,请参见第2章.
如果要在经过部署的系统上安装软件,请参见第27页"执行安装前任务",以了解有关在经过部署的系统上执行安装前任务的信息.
32SolarisSecurityToolkit4.
2管理指南2005年7月软件依赖性SolarisSecurityToolkit4.
2软件依赖于SUNWloc软件包.
该软件包的缺失会导致SolarisSecurityToolkit发生故障.
有关所支持的Solaris操作系统版本,请参见第xx页"支持的SolarisOS版本".
有关所支持的SystemManagementsServices(SMS)软件版本的信息,请参见第xxi页"支持的SMS版本".
确定使用何种模式在OS安装过程中或者在安装结束后马上加强系统安全性,可以减少系统在不安全状态下可能遭受攻击的时间.
在使用SolarisSecurityToolkit软件保护系统安全之前,请配置SolarisSecurityToolkit软件,使其能在您的环境中正常运行.
SolarisSecurityToolkit软件具有模块化的框架.
即便当前没有使用JumpStart产品,而SolarisSecurityToolkit软件框架的灵活性使您能够有效地为以后使用JumpStart版本做准备.
如果正在使用JumpStart,则由于SolarisSecurityToolkit软件能够集成到现有的JumpStart体系结构中,因此您可从中受益.
以下几节介绍了独立模式和JumpStart模式.
独立模式在独立模式下,SolarisSecurityToolkit软件可直接从SolarisOSshell提示符下运行.
这种模式使您可以在那些需要安全性修改或更新但还不能中断服务以完全重新安装OS的系统上使用SolarisSecurityToolkit软件.
但是,只要有可能,就应该在进行保护前完全重新安装操作系统.
在安装修补程序或第三方软件后加强系统安全性时,独立模式特别有用.
可以在系统上多次运行SolarisSecurityToolkit软件而没有不良后果.
修补程序会覆盖或修改SolarisSecurityToolkit软件已经修改的文件;再次运行SolarisSecurityToolkit软件,会重新执行由修补程序安装所撤消的任何安全性修改.
注–在生产环境中,将修补程序安装到现实环境之前,请在测试和开发环境中对其进行测试.
第3章升级、安装和运行安全性软件33独立模式是尽可能快地加强已部署系统安全性的最佳选择之一.
除了第35页"下载安全性软件"提供的下载和安装指导中的步骤之外,不需要任何专门的步骤即可将SolarisSecurityToolkit软件集成到不带JumpStart的体系结构中.
JumpStart模式JumpStart技术是Sun的基于网络的SolarisOS安装机制,能够在安装过程中运行SolarisSecurityToolkit脚本.
本书假设读者熟悉JumpStart技术并具有可用的JumpStart环境.
有关JumpStart技术的更多信息,请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
SolarisSecurityToolkit4.
2软件包是可重定位的,这样可通过使用pkgadd命令的正确选项将该软件包安装至您所希望的任何目录.
JASS_HOME_DIR将成为Jumpstart服务器的基目录.
将SolarisSecurityToolkit软件集成到JumpStart体系结构中只需要几个步骤.
有关如何配置JumpStart服务器的指导,请参见第5章.
升级过程本节包含的信息是关于在升级和不升级SolarisOS的情况下,如何将系统的SolarisSecurityToolkit4.
0和4.
1软件升级到SolarisSecurityToolkit4.
2软件.
通过在Solaris操作系统上使用SolarisSecurityToolkit软件可以加强系统安全性.
无论是从版本4.
0还是4.
1进行升级,过程是相同的.
按照此处介绍的过程进行操作是很重要的,这可以防止您覆写以前所有的定制设置.
注意–每次只能安装SolarisSecurityToolkit的一个版本.
SolarisSecurityToolkit4.
2软件中对pkgrm命令做了新的改进.
在这一版本中,pkgrm命令的第一步是检查发行版本中所有文件的完整性.
如果存在任何不同的文件,则pkgrm命令会退出,并显示一个错误消息,提示系统管理员放置正确的文件或删除已修改的文件.
驱动程序放置在Drivers子目录下(SolarisSecurityToolkit安装在此处).
用户写入的驱动程序也放置在此处.
如果定制的驱动程序与SolarisSecurityToolkit提供的驱动程序具有不同的名称,则在使用pkgrm命令删除SUNWjass时,会同时删除SolarisSecurityToolkit提供的驱动程序和用户修改过的驱动程序,但不会删除用户添加的定制驱动程序.
34SolarisSecurityToolkit4.
2管理指南2005年7月注意–如果某个驱动程序被修改过,则在升级前必须对其进行保存.
请勿修改与SolarisSecurityToolkit软件一起发行的原始文件.
不要修改驱动程序文件,而是将其复制到一个新文件,然后对新文件进行修改.
升级SolarisSecurityToolkit软件和Solaris操作系统1.
按照可用的最佳操作来升级系统,即对其进行备份或使用Solaris升级程序.
2.
卸载以前版本的SolarisSecurityToolkit软件.
3.
安装SolarisSecurityToolkit4.
2软件.
4.
使用以前的SolarisSecurityToolkit驱动程序和用户指定的驱动程序,在升级后的系统中以审计模式运行SolarisSecurityToolkit4.
2软件.
用户指定的驱动程序必须位于Drivers目录中.
如果确是如此,则可将其指定用于jass-execute或加强系统安全性运行操作.
5.
执行下列操作之一:a.
如果没有错误,请转至步骤6.
b.
如果在运行过程中生成错误(例如:一个非安装的运行控制脚本被修改,或者应使用FMRI控制某个服务),则请修正这些错误,然后重复执行步骤4和5,直到不再生成错误为止.
6.
将定制的驱动程序与secure.
driver进行比较,以确定是否应该将新的finish或audit脚本添加到定制的驱动程序.
7.
执行下列操作之一:a.
如果没有缺少脚本,请转至步骤8.
b.
如果缺少脚本,则请添加这些缺少的脚本,然后重复步骤4、5、6和7,直到包含全部必需的脚本为止.
8.
以加强系统安性全模式运行SolarisSecurityToolkit4.
2.
9.
以审计模式运行SolarisSecurityToolkit4.
2,并确保没有错误发生.
10.
查看系统的安全性配置和状态,以确定其是否符合安全性要求.
11.
执行下列操作之一:a.
如果系统符合要求,请转至步骤12.
b.
如果系统不符合要求,请更新正在使用的驱动程序,然后返回步骤8.
第3章升级、安装和运行安全性软件3512.
对系统进行完整测试,以确保系统能够提供所需的网络服务并且所有的应用程序运行完全正常.
13.
如果出现错误,请更新正在使用的驱动程序,然后返回步骤8.
至此升级完成.
仅升级SolarisSecurityToolkit软件1.
卸载以前版本的SolarisSecurityToolkit软件.
2.
安装SolarisSecurityToolkit4.
2软件.
3.
转至第34页"升级SolarisSecurityToolkit软件和Solaris操作系统"的步骤4.
仅升级SolarisOS如果您仅打算升级SolarisOS并且已经安装了SolarisSecurityToolkit4.
2软件(例如,从Solaris8OS升级到Solaris10OS),则无需卸载SolarisSecurityToolkit4.
2软件.
完成对SolarisOS的升级后,请以审计模式运行SolarisSecurityToolkit4.
2,然后查看系统的安全性配置以确保没有错误.
下载安全性软件加强系统安全性的第一步是将附加的安全性软件包下载到要保护的系统上.
本节涵盖以下主题:第36页"下载SolarisSecurityToolkit软件"第37页"下载推荐的修补程序群集软件"第38页"下载FixModes软件"第39页"下载OpenSSH软件"第40页"下载MD5软件"注–本节介绍的软件中,SolarisSecurityToolkit软件、推荐的修补程序群集和安全性修补程序群集、FixModes和message-digest5(MD5)算法软件是必需的.
可以用SecureShell(可从许多供应商获得)的商业版本来替代OpenSSH.
在所有系统上安装并使用SecureShell产品.
如果使用的是Solaris9或10OS,请使用其附带的SecureShell(SSH)版本.
如果使用的是Solaris10OS,请将其附带的/usr/bin/digest命令用于MD5校验和.
36SolarisSecurityToolkit4.
2管理指南2005年7月下载SolarisSecurityToolkit软件SolarisSecurityToolkit软件以SolarisOS软件包格式分发.
首先下载SolarisSecurityToolkit软件,然后以独立模式将其安装在要使用SolarisSecurityToolkit软件的服务器上,或者以JumpStart模式安装在JumpStart服务器上.
注–以下指导中使用的文件名未涉及版本号.
请始终从网站下载所提供的最新版本.
在本指南的剩余部分中,JASS_HOME_DIR环境变量是指SolarisSecurityToolkit软件的根目录(默认情况下为/opt/SUNWjass).
下载pkg版本1.
下载软件发行文件(SUNWjass-n.
n.
pkg.
tar.
Z).
源文件位于:http://www.
sun.
com/security/jass注–如果您在下载软件过程中遇到困难,请使用浏览器中的"SaveAs"选项.
2.
使用uncompress命令将软件发行文件解压缩到服务器上的一个目录中:3.
使用tar命令将软件分发软件包解包:4.
使用pkgadd命令将软件发行文件安装到服务器上的目录中,如下所示:其中,n.
n是下载的最新版本.
执行此命令在/opt中创建SUNWjass目录.
该子目录包含所有SolarisSecurityToolkit目录和相关文件.
#uncompressSUNWjass-n.
n.
pkg.
tar.
Z#tar-xvfSUNWjass-n.
n.
pkg.
tar#pkgadd-dSUNWjass-n.
n.
pkgSUNWjass第3章升级、安装和运行安全性软件37下载推荐的修补程序群集软件修补程序由Sun发布,为SolarisOS提供对性能、稳定性、功能和安全性的修正.
对于系统安全性最重要的是安装最新的修补程序群集.
为确保系统上安装了SolarisOS推荐的修补程序群集和安全性修补程序群集,本节讲述了如何下载最新的修补程序群集.
注–在安装任何修补程序之前,请在非生产系统中或在预定的维护窗口中对其进行测试和评估.
下载推荐的修补程序群集软件在安装修补程序群集之前,请查看每个修补程序的README文件和所提供的其他信息.
信息通常包括安装修补程序群集之前需要知道的建议及帮助信息.
1.
从SunSolveOnLineWeb站点下载最新的修补程序群集,网址为:http://sunsolve.
sun.
com2.
单击右侧导航栏中的"Patches"链接.
3.
单击"RecommendedPatchClusters"链接.
4.
在"RecommendedSolarisPatchCluster"框中选择适当的SolarisOS版本.
在此实例中,选择Solaris10OS.
5.
用相关的单选按钮选择最佳的下载选项(HTTP或FTP),然后单击"Go".
在浏览器窗口中会显示一个"SaveAs"对话框.
6.
将文件保存到本地.
7.
将文件安全地移动至要加强安全性的系统中.
使用安全复制命令scp(1),或其他提供安全文件传输的方法.
按如下所示使用scp命令:#scp10_Recommended.
ziptarget01:38SolarisSecurityToolkit4.
2管理指南2005年7月8.
将文件移动到/opt/SUNWjass/Patches目录下并解压缩.
例如:在下载了附加安全性软件包并执行了SolarisSecurityToolkit软件后,系统会自动安装修补程序群集软件.
注–如果没有将推荐的修补程序群集和安全性修补程序群集软件放到/opt/SUNWjass/Patches目录下,则当执行SolarisSecurityToolkit软件时会显示一条警告消息.
在没有修补程序群集应用时可以安全地忽略这条消息,因为这种情形通常出现在新的操作系统版本中.
下载FixModes软件FixModes是一个限制默认的SolarisOS目录和文件权限的软件包.
限制这些权限能够有效地提高整体安全性.
更多的限制性权限可以使恶意用户更难在系统中获得权限.
注–在Solaris10OS版本中,为了提高以前由FixModes软件修改的默认的对象权限,作了重大更改,因此该软件不再是必需的了.
因此,install-fixmodesfinish和audit脚本无法用于运行Solaris10OS的系统.
下载FixModes软件1.
从以下网址下载FixModes预编译的二进制文件:http://www.
sun.
com/security/jassFixModes软件是作为预编译和压缩的软件包版本文件发行的,其格式适用于SolarisOS系统.
文件名是SUNBEfixm.
pkg.
Z.
代码示例3-1将一个修补程序文件移动到/opt/SUNWjass/Patches目录#cd/opt/SUNWjass/Patches#mv/directoryinwhichfilewassaved/10_Recommended.
zip.
#unzip10_Recommended.
zipArchive:10_Recommended.
zipcreating:10_Recommended/inflating:10_Recommended/CLUSTER_READMEinflating:10_Recommended/copyrightinflating:10_Recommended/install_cluster[.
.
.
]第3章升级、安装和运行安全性软件392.
使用scp命令或者其他提供安全文件传输的方法,将文件安全地移动到要加强安全性的系统中.
按如下所示使用scp命令:3.
用以下命令解压缩文件SUNBEfixm.
pkg.
Z并将其保存在/opt/SUNWjass/Packages下的SolarisSecurityToolkitPackages目录中.
在下载了所有附加安全性软件包并执行了SolarisSecurityToolkit软件后,会自动安装FixModes软件.
下载OpenSSH软件在任何安全的环境下,需要将加密与强身份验证结合使用以保护用户交互式会话.
最低限度,访问网络必须进行加密.
最常用于实行加密的工具是SecureShell软件(SolarisOS附带的版本、第三方商业版本或免费版本).
要实现SolarisSecurityToolkit软件所进行的所有安全性修改,必须具有一个SecureShell软件产品.
注–如果您正在使用的是Solaris9或10OS,请使用操作系统附带的SecureShell版本.
SecureShell的该版本集成了其他SolarisOS安全功能(例如,基本安全模块(BSM))并受到Sun的支持机构的支持.
执行SolarisSecurityToolkit软件禁用了系统中所有未加密的用户交互式服务和守护程序,特别是守护程序,例如:in.
telnetd、in.
ftpd、in.
rshd和in.
rlogind.
SecureShell使您可以使用Telnet和FTP访问系统.
下载OpenSSH软件注–如果服务器当前运行Solaris9或10OS,则可以使用附带的SecureShell软件并跳过本节中的OpenSSH安装步骤.
install-sshfinish和audit脚本无法用于运行Solaris10OS的系统.
#scpSUNBEfixm.
pkg.
Ztarget01:#uncompressSUNBEfixm.
pkg.
Z#mvSUNBEfixm.
pkg/opt/SUNWjass/Packages/40SolarisSecurityToolkit4.
2管理指南2005年7月获取以下SunBluePrintsOnLine文章或SunBluePrints书籍,并使用下载软件的指导:SunBluePrintsOnLine上的一篇有关如何编译与部署OpenSSH的名为"BuildingandDeployingOpenSSHontheSolarisOperatingEnvironment"的文章可以在下列网址获得:http://www.
sun.
com/blueprints可从书店购买SunBluePrints出版物《SecureShellintheEnterprise》.
在下载了所有附加安全性软件包并执行了SolarisSecurityToolkit软件后,会自动安装OpenSSH软件.
注意–请不要在需要加强安全性的系统上编译OpenSSH,也不要在需要加强安全性的系统上安装编译器.
使用单独的SolarisOS系统-运行相同的SolarisOS版本、体系结构和模式(例如,Solaris8OS、Sun4U(sun4u)和64位)-编译OpenSSH.
如果要使用SSH的商业版本,则不需要任何编译程序.
目的是限制潜在入侵者对编译器的使用.
但是,对于本地系统编译器安装的限制并不能对抗蓄意攻击者,因为他们仍然可以安装预编译的工具.
下载MD5软件MD5软件在要加强安全性的系统上生成MD5数字指纹.
生成数字指纹后,将其与Sun公司发布的正确数字指纹相对比,以检测被未授权用户更改或隐藏在看起来安全的事物中(特洛伊式更改)的系统二进制文件.
通过修改系统二进制文件,攻击者可利用后门访问系统;他们隐藏了自己的存在并使系统在不稳定的状态下运行.
注–如果服务器当前运行Solaris10OS,则可以使用OS附带的/usr/bin/digest命令并跳过本节下面的MD5安装步骤.
下载MD5软件注–在Solaris10系统中,SolarisSecurityToolkit并不会按此过程中所述安装MD5软件并审计MD5软件的安装.
运行Solaris10OS的系统不需要MD5软件,原因是digest(1M)命令现在包含了MD5功能.
1.
从以下网址下载MD5二进制文件:http://www.
sun.
com/security/jassMD5程序以压缩的软件包版本文件形式发行.
第3章升级、安装和运行安全性软件412.
使用scp命令或其他提供安全文件传输的方法,将文件SUNBEmd5.
pkg.
Z安全地移动到要加强安全性的系统中.
按如下所示使用scp命令:3.
使用与以下相似的命令,解压缩文件并将其移动到/opt/SUNWjass/Packages下的SolarisSecurityToolkitPackages目录中.
将MD5软件保存到/opt/SUNWjass/Packages目录中后,执行SolarisSecurityToolkit软件以安装MD5软件.
在MD5二进制文件安装完毕后,通过Solaris指纹数据库可以使用它们验证系统上可执行文件的完整性.
有关Solaris指纹数据库的更多信息,可以从SunBluePrintsOnLine中标题为"TheSolarisFingerprintDatabase-ASecurityToolforSolarisSoftwareandFiles"的文章中获得.
4.
(可选)从位于以下位置的SunBluePrintWeb站点下载并安装SolarisFingerprintDatabaseCompanion和SolarisFingerprintDatabaseSidekick软件:http://www.
sun.
com/blueprints/tools注–虽然步骤4被标记为可选,但在所有的操作系统中使用该步骤都是非常有益的.
安装这些可选工具并与MD5软件一起使用.
这些工具简化了通过MD5校验和数据库验证系统二进制文件的过程.
需要经常使用这些工具来验证安全的系统上SolarisOS二进制和文件的完整性.
这些工具及相关下载指导在SunBluePrintsOnLine中标题为"TheSolarisFingerprintDatabase-ASecurityToolforSolarisSoftwareandFiles"的文章中可以找到.
需要验证下载的安全性工具的完整性.
在安装和运行SolarisSecurityToolkit软件及附加安全性软件前,请使用MD5校验和验证其完整性.
在SolarisSecurityToolkit下载页面上,可以获得用于该用途的MD5校验和.
#scpSUNBEmd5.
pkg.
Ztarget01:#解压缩SUNBEmd5.
pkg.
Z#mvSUNBEmd5.
pkg/opt/SUNWjass/Packages/42SolarisSecurityToolkit4.
2管理指南2005年7月定制安全性配置文件很多安全性配置文件模板是作为驱动程序包含在SolarisSecurityToolkit软件发行版本中的.
由驱动程序实现的安全性配置文件禁用了那些不需要的服务,并启用了被secure.
driver禁用的可选的安全功能.
正如前面章节所述,默认的安全性配置文件和由这些驱动程序进行的更改很可能并不适用于您的系统.
在运行SolarisSecurityToolkit软件之前,请查看并定制环境的默认安全性配置文件,或者开发新的文件.
《SolarisSecurityToolkit4.
2ReferenceManual》提供了定制安全性配置文件的技巧和准则.
安装和执行软件在执行SolarisSecurityToolkit软件前完成以下预备任务是很重要的.
运行SolarisSecurityToolkit软件时,会自动完成大部分加强安全性工作.
在要加强安全性的系统上或在JumpStart服务器上下载附加安全性软件和SolarisSecurityToolkit软件.
请参见第35页"下载安全性软件".
将您的系统配置为独立或JumpStart模式.
请参见第32页"确定使用何种模式".
为您的环境定制SolarisSecurityToolkit软件(如果需要).
在安装和运行SolarisSecurityToolkit软件及附加安全性软件前,需要使用MD5校验和验证其完整性.
可以直接从命令行或从JumpStart服务器上执行SolarisSecurityToolkit软件.
有关命令行选项及其他关于执行软件的信息,请参阅以下之一:第42页"在独立模式下执行软件"第52页"在JumpStart模式下执行软件"在独立模式下执行软件代码示例3-2显示了在独立模式下使用命令行的范例.
代码示例3-2在独立模式下使用命令行的范例#.
/jass-execute-husage:第3章升级、安装和运行安全性软件43表3-1列出了可用的命令行选项并逐个进行说明.
ToapplythisToolkittoasystem,usingthesyntax:jass-execute[-rroot_directory-pos_version][-q|-ooutput_file][-me-mail_address][-V[3|4]][-d]driverToundoapreviousapplicationoftheToolkitfromasystem:jass-execute-u[-b|-f|-k][-q|-ooutput_file][-me-mail_address][-V[3|4]]Toauditasystemagainstapre-definedprofile:jass-execute-adriver[-V[0-4]][-q|-ooutput_file][-me-mail_address]ToremovesavedfilesfromapreviousrunoftheToolkit:jass-execute-c[-q|-ooutput_file][-me-mail_address][-V[3|4]]TodisplaythehistoryofToolkitapplicationsonasystem:jass-execute-HTodisplaythelastapplicationoftheToolkitonasystem:jass-execute-lTodisplaythishelpmessage:jass-execute-hjass-execute-Todisplayversioninformationforthisprogram:jass-execute-v#表3-1将命令行选项与jass-execute一起使用选项描述-a驱动程序确定系统与其安全性配置文件是否兼容.
请勿与-b、-k、-f、-c、-d、-h、-H、-l、-p、-r或-u选项一起使用.
-b备份自最后一次加强安全性运行操作以来手动更改的所有文件,然后将系统恢复至其原始状态.
仅与-u选项一起使用.
-c指定清除选项.
删除以前运行SolarisSecurityToolkit时保存的文件.
-d驱动程序指定在独立模式下运行的驱动程序.
请勿与-a、-b、-c、-f、-h、-H、-k或-u选项一起使用.
代码示例3-2在独立模式下使用命令行的范例(续)44SolarisSecurityToolkit4.
2管理指南2005年7月有关在独立模式下可与jass-execute命令一起使用的选项的详细信息,请参见以下几节:-f在不询问是否有例外的情况下,取消加强安全性运行操作所作的更改,在执行加强安全性操作后进行手动更改的文件也不例外.
仅与-u选项一起使用.
-H显示系统上SolarisSecurityToolkit软件的历史.
-h|-显示jass-execute帮助消息,其中概述了可用的选项.
单独使用.
除-h|-之外,忽略所有指定的选项.
-k在加强安全性运行操作后保存对文件所做的手动更改.
仅与-u选项一起使用.
-l显示系统上已安装的SolarisSecurityToolkit的最近应用.
-m电子邮件地址为内部支持指定电子邮件地址.
-o输出文件指定到输出文件的完整路径以及输出文件本身.
-pOS版本指定SolarisOS版本.
格式与uname-r相同.
必须与-r根目录选项一起使用.
-q指定静默模式.
运行此命令时,不显示消息.
输出结果被保存在JASS_REPOSITORY/中.
-r根目录指定在jass-execute运行时使用的根目录.
此根目录是/,由SolarisSecurityToolkit环境变量JASS_ROOT_DIR进行定义.
可通过/保护SolarisOS的安全.
例如,如果您希望保护一个单独OS目录(临时安装在/mnt中)的安全,则可以使用-r选项来指定/mnt.
必须与-pOS版本选项一起使用.
-u发生异常时,运行带有交互式提示(询问要采取何种措施)的撤消选项.
请勿与-a、-c、-d、-h、-l、-p、-r或-H选项一起使用.
-V详细级别指定审计运行操作的详细级别.
存在5个级别(0-4)0单独行,表明通过或者没有通过审计.
1对于每个脚本,使用单独行表明通过还是没有通过,在所有脚本行的下面有一个大的总分行.
2对于每个脚本,提供了所有检查的结果.
3提供完整输出的多行,包括标题与标题消息.
这是默认级别.
4多行(所有级别3中提供的数据)加上logDebug日志功能产生的所有项.
本级别用于调试.
-v显示本程序的版本信息.
表3-1将命令行选项与jass-execute一起使用(续)选项描述第3章升级、安装和运行安全性软件45第46页"审计选项"第46页"清除选项"第48页"显示帮助选项"第49页"驱动程序选项"第50页"电子邮件通知选项"第50页"执行历史记录选项"第50页"最新执行选项"第51页"输出文件选项"第51页"抑制显示输出选项"第52页"根目录选项"第52页"撤消选项"有关可用的驱动程序的完整列表,请参见第5页"Drivers目录".
新的软件版本可能包含额外的驱动程序.
在独立模式下执行软件1.
执行secure.
driver(或产品的专用脚本,例如sunfire_15k_sc-secure.
driver),如下所示:代码示例3-3在独立模式下执行软件#.
/jass-execute-dsecure.
driver[NOTE]ThefollowingpromptcanbedisabledbysettingJASS_NOVICE_USERto0.
[WARN]DependingonhowtheSolarisSecurityToolkitisconfigured,itisbothpossibleandlikelythatbydefaultallremoteshellandfiletransferaccesstothissystemwillbedisableduponrebooteffectivelylockingoutanyuserwithoutconsoleaccesstothesystem.
Areyousurethatyouwanttocontinue(YES/NO)[NO]y[NOTE]Executingdriver,secure.
driversecure.
driver:Driverstarted.
SolarisSecurityToolkitVersion:4.
2.
0Nodename:ufuduZonename:globalHostID:8085816e46SolarisSecurityToolkit4.
2管理指南2005年7月有关可用的驱动程序的完整列表,请参见第5页"Drivers目录".
新的软件版本可能包含额外的驱动程序.
2.
在系统上运行SolarisSecurityToolkit软件后,请重新引导系统以实现更改.
在加强安全性过程中,需要对客户机的配置做大量更改.
这些更改可能包括禁用服务启动脚本,禁用服务选项和通过修补程序安装新的二进制文件或库.
只有客户机重新启动后,这些更改才可能被启用.
3.
重新引导系统后,检查更改的正确性和完整性.
请参见第53页"验证系统修改".
4.
如果出现任何错误,请进行修正并再次在独立模式下运行SolarisSecurityToolkit软件.
审计选项通过-a选项,SolarisSecurityToolkit软件能够进行审计运行,以确定系统是否与其安全性配置文件相兼容.
此运行不仅验证系统文件修改是否仍然起作用,还验证之前禁用的过程是否在运行或者删除的软件包是否已重新安装.
有关此功能的更多信息,请参见第6章.
审计系统的安全性配置文件的命令行用法摘要:清除选项-c选项删除在先前运行SolarisSecurityToolkit过程中保存的文件.
您可以将抑制显示输出(-q)、输出(-o)、邮件(-m)和详细(-V)选项与清除选项一起使用.
Hostaddress:10.
8.
31.
115MACaddress:8:0:20:85:81:6eOSversion:5.
10Date:TueJul516:28:24EST2005[.
.
.
]#jass-execute-a驱动程序[-V[0-4]][-q|-o输出文件][-m电子邮件地址]代码示例3-3在独立模式下执行软件(续)第3章升级、安装和运行安全性软件47代码示例3-4显示了使用-c选项的实例,其产生的输出与以下内容类似:代码示例3-4-c选项输出范例#bin/jass-execute-cExecutingdriver,clean.
driverPleaseselectSolarisSecurityToolkitrunstoclean:1.
July15,2005at11:41:02(/var/opt/SUNWjass/run/20050715114102)2.
July15,2005at11:44:03(/var/opt/SUNWjass/run/20050715114403)Choice('q'toexit)2[NOTE]Cleaningpreviousrunfrom/var/opt/SUNWjass/run/20050715114403clean.
driver:Driverstarted.
ToolkitVersion:4.
2.
0Nodename:sstzoneZonename:sstzoneHostID:80cb346cHostaddress:10.
8.
28.
45MACaddress:8:0:20:cb:34:6cOSversion:5.
10Date:FriJul1511:44:58PDT2005clean.
driver:PerformingCLEANUPof/var/opt/SUNWjass/run/20050715114403.
clean.
driver:Driverfinished.
[SUMMARY]ResultsSummaryforCLEANrunofclean.
driver[SUMMARY]Theruncompletedwithatotalof1scriptrun.
[SUMMARY]TherewereFailuresin0Scripts[SUMMARY]TherewereErrorsin0Scripts[SUMMARY]TherewereWarningsin0Scripts[SUMMARY]TherewasaNotein1Script[SUMMARY]NotesScriptslistedin:/var/opt/SUNWjass/run/20050715114403/jass-clean-script-notes.
txt48SolarisSecurityToolkit4.
2管理指南2005年7月显示帮助选项-h选项显示jass-execute帮助信息,提供了可用选项的概述.
-h选项产生的输出与以下内容相似:代码示例3-5-h选项输出范例#.
/jass-execute-hToapplythisToolkittoasystem,usingthesyntax:jass-execute[–rroot_directory–pos_version][–q|–ooutput_file][–me-mail_address][–V[3|4]][–d]driverToundoapreviousapplicationoftheToolkitfromasystem:jass-execute–u[–b|–f|–k][–q|–ooutput_file][–me-mail_address][–V[3|4]]Toauditasystemagainstapre-definedprofile:jass-execute–adriver[–V[0–4]][–q|–ooutput_file][–me-mail_address]ToremovesavedfilesfromapreviousrunoftheToolkit:jass-execute-c[-q|-ooutput_file][-me-mail_address][-V[3|4]]TodisplaythehistoryofToolkitapplicationsonasystem:jass-execute–HTodisplaythelastapplicationoftheToolkitonasystem:jass-execute–lTodisplaythishelpmessage:jass-execute–hjass-execute–Todisplayversioninformationforthisprogram:jass-execute–vNotethatjustthedrivernameshouldbespecifiedwhenusingthe'–d'or'–a'options.
ApathneednotbespecifiedasthescriptisassumedtoexistintheDriversdirectory.
The'–u'undooptionismutuallyexclusivewiththe'–d'and'–a'options.
Thedefaultundobehavioristoasktheuserwhattodoifafiletoberestoredhasbeenmodifiedasthechecksumisincorrect.
The–uoptioncanbecombinedwiththe'–k','–b',or'–f'to第3章升级、安装和运行安全性软件49驱动程序选项-d驱动程序选项指定在独立模式下运行的驱动程序.
必须用-d选项指定驱动程序.
SolarisSecurityToolkit软件将Drivers/附加在所添加脚本的名称之前.
因此只需在命令行中输入脚本名称.
注–请勿将-d选项与-a、-b、-c、-f、-H、-h、-k或-u选项一起使用.
使用了-d驱动程序选项的jass-execute加强安全性运行操作产生的输出类似于以下内容:overridethedefaultinteractivebehavior.
Theuseofoneoftheseoptionsisrequiredwhenruninquietmode('–q').
The'–k'optioncanbeusedtoalwayskeepthecurrentfileandbackupifchecksumisincorrect.
The'b'canbeusedtobackupthecurrentfileandrestoreoriginalifthechecksumisincorrect.
The'f'optionwillalwaysoverwritetheoriginalifthechecksumisincorrect,withoutsavingthemodifiedoriginal.
代码示例3-6-d驱动程序选项输出范例#.
/jass-execute-dsecure.
driver[.
.
.
][NOTE]Executingdriver,secure.
driversecure.
driver:Driverstarted.
SolarisSecurityToolkitVersion:4.
2.
0Nodename:ufuduZonename:globalHostID:8085816eHostaddress:10.
8.
31.
115MACaddress:8:0:20:85:81:6eOSversion:5.
10Date:TueJul516:28:24EST2005[.
.
.
]代码示例3-5-h选项输出范例(续)50SolarisSecurityToolkit4.
2管理指南2005年7月电子邮件通知选项-m电子邮件地址选项提供了一种机制,通过该机制,SolarisSecurityToolkit软件可在运行完成后将独立审计、清除、加强系统安全性和撤消运行操作的输出用电子邮件自动发送出去.
电子邮件报告是使用其他选项在系统中生成的日志和由SolarisSecurityToolkit软件创建的本地日志的补充.
使用电子邮件选项调用sunfire_15k_sc-config.
driver的SolarisSecurityToolkit运行类似于以下内容:执行历史记录选项-H选项提供一种确定SolarisSecurityToolkit软件在系统中已运行多少次的简单机制.
该选项将列出所有的运行,无论其撤消与否.
-H选项产生的输出类似于以下内容:此输出表明,SolarisSecurityToolkit软件已在系统上运行了三次,且最后一次运行被撤消.
最新执行选项-l选项提供了确定最近一次运行的机制.
这通常是-H选项列出的最后一次运行.
#.
/jass-execute-mroot-dsunfire_15k_sc-config.
driver[.
.
.
]代码示例3-7-H选项输出范例#.
/jass-execute-HNote:ThisinformationisonlyapplicableforapplicationsoftheSolarisSecurityToolkitstartingwithversion0.
3.
ThefollowingisalistingoftheapplicationsoftheSolarisSecurityToolkitonthissystem.
Thislistisprovidedinreversechronologicalorder:1.
June31,2004at12:20:19(20040631122019)(UNDONE)2.
June31,2004at12:10:29(20040631121029)3.
June31,2004at12:04:15(20040631120415)第3章升级、安装和运行安全性软件51-l选项产生的输出类似于以下内容:输出文件选项-o输出文件选项将jass-execute的控制台输出重定向到一个单独的输出文件.
您可以为输出文件指定完全适合的路径名.
此选项不影响JASS_REPOSITORY目录内的日志.
在较慢的终端连接上运行时,此选项特别有帮助.
根据所指定的详细级别,运行SolarisSecurityToolkit可能会生成大量的输出.
此选项可与-a、-d或-u选项一起使用.
-o选项产生的输出类似于以下内容:抑制显示输出选项在加强安全性运行操作中,-q选项可禁止SolarisSecurityToolkit输出到控制台.
此选项不影响JASS_REPOSITORY目录内的日志.
与-o选项类似,此选项特别有助于通过cron作业或较慢的网络连接来运行SolarisSecurityToolkit软件.
此选项可与-a、-c、-d或-u选项一起使用.
代码示例3-8-l选项输出范例#.
/jass-execute-lNote:ThisinformationisonlyapplicableforapplicationsoftheSolarisSecurityToolkitstartingwithversion4.
2.
0.
ThelastapplicationoftheSolarisSecurityToolkitwas:1.
June31,2005at12:20:19(20040631122019)(UNDONE)代码示例3-9-o选项输出范例#.
/jass-execute-o/var/tmp/root/jass-output.
txt-dsecure.
driver[NOTE]Executingdriver,secure.
driver[NOTE]Recordingoutputto/var/tmp/root/jass-output.
txt52SolarisSecurityToolkit4.
2管理指南2005年7月-q选项产生的输出类似于以下内容:根目录选项-r根目录选项用于指定在运行jass-execute时使用的根目录.
使用-r选项还需要使用-p选项指定平台(OS)版本.
-p选项的格式与uname-r产生的格式相同.
此根目录是/,由SolarisSecurityToolkit环境变量JASS_ROOT_DIR进行定义.
可通过/保护SolarisOS的安全.
例如,如果要保护一个独立的OS目录,请临时在/mnt下装入,然后使用-r选项指定/mnt.
则会将所有脚本应用到该OS映像.
撤消选项通过-u选项,SolarisSecurityToolkit软件可以在加强安全性过程中撤消系统修改.
每个finish脚本都可以通过-u选项来撤消.
此外,SolarisSecurityToolkit的撤消功能与每次运行时所产生的校验和紧密相关.
有关此功能的更多信息,请参见第4章.
有三个选项可与-u选项一起使用:-b(备份)选项,备份自最后一次加强安全性运行操作以来手动更改的所有文件,然后将系统恢复至其原始状态.
-f(强制)选项,在不询问是否有例外的情况下,取消加强安全性运行操作所作的更改,在执行加强安全性操作后进行手动更改的文件也不例外.
-k(保留)选项,保留自最后一次执行加强安全性运行操作以来所作的手动更改.
撤消命令的命令行用法摘要:在JumpStart模式下执行软件JumpStart模式由插入到JumpStart服务器上rules文件中的SolarisSecurityToolkit驱动程序控制.
如果没有配置环境以使用JumpStart模式,请参阅第5章.
代码示例3-10-q选项输出范例#.
/jass-execute-q-dsecure.
driver[NOTE]Executingdriver,secure.
driver#jass-execute-u[-b|-f|-k][-q|-o输出文件][-m电子邮件地址][-V[3|4]]第3章升级、安装和运行安全性软件53有关JumpStart技术的更多信息,请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
在JumpStart模式下执行软件要在JumpStart模式下执行SolarisSecurityToolkit软件,必须将其集成到JumpStart环境中并作为和JumpStart安装相关的finish脚本的一部分进行调用.
有关如何将SolarisSecurityToolkit软件集成到您环境中的信息,请参见第5章.
1.
完成对驱动程序的所有必要修改后,请使用JumpStart基础结构安装客户机.
在客户机的ok提示符中使用以下命令完成该任务.
一旦安装完成,JumpStart软件就会重新引导系统.
系统的配置应该正确.
在加强安全性过程中,需要对客户机的配置做大量更改.
这些更改包括禁用服务启动脚本、禁用服务选项和禁止通过修补程序安装新库.
只有客户机重新启动后,这些更改才可能生效.
2.
重新引导系统后,检查更改的正确性和完整性.
请参见第53页"验证系统修改".
3.
如果出现错误,请修正它们并重新安装客户机的OS.
验证系统修改重新引导系统后,按照以下几节所述对修改的正确性和完整性进行验证.
对服务执行QA检查保证系统安全的重大挑战之一是,确定必须使哪些OS服务处于启用状态以使系统正常运行.
由于要直接使用SolarisOS服务(例如,用于登录系统的SecureShell),因此可能需要它们.
或者间接使用它们,例如使用第三方软件管理工具的图形用户界面(GUI)的远程过程调用RPC守护进程.
ok>bootnet-install54SolarisSecurityToolkit4.
2管理指南2005年7月在运行SolarisSecurityToolkit软件之前,应该确定这些要求中的大部分.
(参见第18页"确定应用程序和服务要求".
)然而,唯一确定的机制是安装并保护系统安全,然后通过质量保证(QA)测试对其所要求的功能进行完全测试.
在加强系统安全性后,要对所有新部署的系统正确地执行QA计划.
类似的,对于要加强安全性的经过部署的系统,需要进行完全的测试以确保其具备了所有要求的和所期望的功能.
如果QA过程发现了任何差异,请执行以下步骤:1.
根据第2章中的准则,确定问题出现区域.
2.
验证应用程序在已修改的配置中运行.
3.
撤消SolarisSecurityToolkit运行.
4.
根据问题的解决方案,修改安全性配置文件(驱动程序).
5.
再次运行SolarisSecurityToolkit软件.
最终结果应为一个安全性配置文件,它可在系统上运行而不对任何所需的功能产生负面影响.
对配置进行安全性评估在验证系统可执行所有需要的功能时,还要对安全性配置做出评估,以确定系统是否达到需要的安全级别.
根据在系统上执行的加强安全性及最小化系统操作,这种评估可能涉及不同的方面.
至少应该从以下几方面检查系统的配置:确保安装了所有适当的安全性修补程序和推荐的修补程序.
验证当前是否仅运行必需的和相关的进程,并且以正确的参数运行.
确保当前仅运行必需的守护程序,并且以适当的参数运行.
进行本地检查(例如,netstat-a)和使用端口扫描程序(例如Nmap,它可以确定网络接口上可用的端口)进行远程检查,以验证系统中是否仅开放了必需的端口.
如果系统是最小化的,请确保仅安装了必需的SolarisOS软件包.
对于新构建的并已保护安全的系统,至少应该考虑到这种检查.
在加强传统系统的安全性时,需要检查底层的OS以确定是否执行了未授权的修改.
对于这种完整性检查,最好在只读模式下装入系统的文件系统,然后从一个已知OS实例上运行完整性检查软件.
在SunBluePrintsOnLine中标题为"TheSolarisFingerprintDatabase-ASecurityToolforSolarisSoftwareandFiles"的文章所介绍的工具在这些情况下非常有用.
第3章升级、安装和运行安全性软件55验证安全性配置文件在保护系统安全并且已经验证了所需的服务和功能后,请使用审计功能以确保正确且完全地应用了安全性配置文件.
此任务非常关键,原因有两个.
第一,要确保按照要求加强了系统的安全性.
第二,要确保为系统定义的安全性配置文件正确地反映在了SolarisSecurityToolkit配置中.
由于配置信息用于在系统的整个部署生命周期中维护系统的安全性配置文件,因此这种检查十分重要.
有关审计功能的更多信息,请参见第6章.
执行安装后的任务如果在一台经过部署的系统上安装软件,请参见第28页"执行安装后的任务",以了解有关在经过部署的系统上执行安装后任务的信息.
56SolarisSecurityToolkit4.
2管理指南2005年7月57第4章取消系统更改本章提供的信息和步骤可用于取消(撤消)SolarisSecurityToolkit软件在加强安全性运行过程中所做的更改.
此选项提供一种自动机制,通过该机制可使系统返回到SolarisSecurityToolkit加强安全性操作或一系列操作之前的状态.
本章包含以下主题:第57页"了解如何记录并取消更改"第58页"撤消系统更改的要求"第59页"定制脚本以撤消更改"第59页"检查手动更改的文件"第60页"使用具有撤消功能的选项"第63页"撤消系统更改"了解如何记录并取消更改每次SolarisSecurityToolkit加强安全性操作都在JASS_REPOSITORY下创建一个运行目录.
这些目录的名称基于运行的日期和时间.
除了在屏幕上显示输出之外,SolarisSecurityToolkit软件还会在目录下创建一系列文件以跟踪更改并记录其操作.
存储在目录中的文件跟踪对系统进行的修改,并使撤消功能生效.
注意–管理员不应修改JASS_REPOSITORY目录中文件的内容.
修改这些文件会破坏文件内容,且当使用撤消功能时,会引起不可预知的错误或系统崩溃.
当在JumpStart或者独立模式下使用SolarisSecurityToolkit软件加强系统的安全性时,软件将系统更改记录在JASS_REPOSITORY/jass-manifest.
txt文件中.
此文件列出了undo功能用于取消更改的操作.
该文件包含有关通过SolarisSecurityToolkit软件加强安全性操作的信息,包括创建、复制、移动或删除的文件.
另外,此文件还可包含取消更复杂的更改(例如软件包安装)时所需的条目(标准条目和定制条目).
每次加强安全性操作都会创建一个单独的jass-manifest.
tx文件.
58SolarisSecurityToolkit4.
2管理指南2005年7月注–SolarisSecurityToolkit软件的undo功能仅能取消那些在清单文件中具有相应条目的更改.
undo运行操作会仔细检查那些在SolarisSecurityToolkit运行过程中生成并保存在JASS_REPOSITORY中的清单文件.
根据您是否使用了备份、强制或保留选项,该运行操作会将备份文件恢复到它们最初的位置.
有关备份、强制和保留选项的更多信息,请参见以下内容:第61页"备份选项"第61页"强制选项"第62页"保留选项"如果在加强系统安全性过程中没有备份文件,则JASS_SAVE_BACKUP变量在user.
init文件中被定义为0时或使用-c选项时,撤消操作功能不可用.
有关更多信息,请参见第58页"撤消系统更改的要求".
撤消SolarisSecurityToolkit操作并不会删除相关的目录.
而是在JASS_REPOSITORY目录下创建两个文件:jass-undo-log.
txt和reverse-jass-manifest.
txt.
随后再次执行jass-execute-u时,不会列出已撤消的操作.
加强安全性操作只能撤消一次.
撤消系统更改的要求在使用SolarisSecurityToolkit软件的撤消功能时,请注意以下限制和要求.
在SolarisSecurityToolkit版本0.
3到4.
2中,可以在独立模式或者JumpStart模式下对已开始进行的运行操作使用撤消功能.
但是,仅可以在独立模式下撤消更改.
在JumpStart安装过程中不能使用撤消功能.
如果选择了SolarisSecurityToolkit选项,不创建备份文件;则无论在JumpStart模式还是在独立模式下,撤消功能均不可用.
将JASS_SAVE_BACKUP参数设为0,可禁止创建备份文件副本.
一个运行操作只能撤消一次.
如果您要开发一个新的finish脚本,请确保使用SolarisSecurityToolkit框架功能.
您必须创建一个匹配的audit脚本并使用add_to_manifest功能为清单文件添加条目.
否则,SolarisSecurityToolkit无法了解您定制的开发.
在任何情况下都不要修改JASS_REPOSITORY目录的内容.
修改文件会破坏文件内容,且当使用撤消功能时,会引起不可预知的错误或系统崩溃.
第4章取消系统更改59定制脚本以撤消更改SolarisSecurityToolkit框架为设计和构建finish脚本提供了灵活性.
该框架允许扩展SolarisSecurityToolkit软件的功能以更好地满足组织的要求,同时也能帮助您在配置的生命周期内改善对系统配置的管理.
当定制脚本时,了解所采取的操作如何影响撤消功能是非常重要的.
为了简化定制脚本,助手功能可对清单文件做适当的更改.
(undo功能根据清单文件的内容取消加强系统安全性运行操作.
)在多数情况下,这些助手功能提供了为您机构定制脚本所需的操作.
有关助手功能的列表和使用它们的信息,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
使用这些助手功能代替它们对应的系统命令,从而使撤消运行操作能够参考清单文件中的相关条目.
在某些情况下,要执行的功能可能不具有助手功能.
在这些情况下,请使用名为add_to_manifest的特殊功能.
使用此功能可将条目手动插入到清单文件中,而不必调用助手功能.
请慎重使用此特殊功能,以保护系统和SolarisSecurityToolkit信息库的完整性.
例如,可使用此特殊功能添加非Sun的pkg格式的软件包.
在此实例中,需要通知undo功能如何删除在加强安全性运行操作过程中以其他格式添加的软件包.
利用助手功能和特殊的add_to_manifest功能,SolarisSecurityToolkit软件提供了一种简单灵活的方法,可定制脚本,并可撤消运行操作对系统进行的更改.
如果更改finish脚本时,没有使用这些功能,则SolarisSecurityToolkit无法了解已经发生的更改.
因此,必须手动撤消清单文件没有相关记录的任何更改.
在另一个实例中,在更改系统中的文件之前,应首先保存文件的原始版本.
在SolarisSecurityToolkit软件环境外,用户通常执行/usr/bin/cp命令以完成该任务.
然而,在SolarisSecurityToolkit软件环境下,如果直接使用此命令,SolarisSecurityToolkit软件无从了解需要创建一个清单条目.
因此,请使用backup_file助手功能,而不要使用cp命令.
该功能以JASS_SUFFIX为后缀保存了原始文件的副本,并添加了一个清单条目以通知SolarisSecurityToolkit软件已复制了文件的副本.
同时此功能还使文件校验和开始计算.
文件校验和由撤消功能以及jass-check-sum命令使用.
检查手动更改的文件虽然使用jass-execute-u命令可以自动检查在加强安全性运行操作后手动更改的文件,但有时使用jass-check-sum命令列出并检查已经更改的文件也很有帮助.
60SolarisSecurityToolkit4.
2管理指南2005年7月此命令可检查JASS_REPOSITORY目录的内容并对清单文件中列出的所有文件执行校验和,以确定自加强安全性运行操作(执行并保存校验和)以来,哪些文件进行了更改.
在强制运行撤消操作之前进行检查,该操作可提供有价值的信息,从而节省数小时不必要的错误诊断时间.
以下为一个输出实例.
该输出表明加强安全性运行操作结束后更改了三个文件.
使用具有撤消功能的选项本节介绍了jass-execute-u命令和在执行撤消操作时可使用的选项.
注–不能在撤消功能中使用-c、-d、-a、-h、-l或-H选项.
在静默模式下运行撤消操作时,必须提供-b、-k或-f选项.
jass-execute-u命令是执行undo运行操作的标准方法.
此命令会自动发现上次执行加强安全性操作以来手动进行的任何更改.
如果SolarisSecurityToolkit软件发现了上次执行加强安全性操作以来手动更改的文件,系统会提示您选择以下响应操作之一:1.
在恢复原始的文件(加强安全性运行操作前存在的文件)之前,请备份最新的文件.
2.
保留最新的文件,且不要恢复原始文件.
3.
强制覆写手动更改的任何文件(可能会导致数据丢失)并恢复原始文件.
4.
在恢复原始的文件(加强安全性运行操作前存在的文件)之前,务必备份最新的文件.
5.
务必保留最新的文件,且不要恢复原始文件.
6.
务必强制覆写手动更改的所有文件(可能会导致数据丢失)并恢复原始文件.
如果您希望定义撤消命令应如何处理执行加强安全性操作后被修改过的文件,请在执行撤消命令时使用备份(-b)、保留(-k)或强制(-f)选项.
代码示例4-1手动更改的文件输出范例#.
/jass-check-sumFileNameSavedCkSumCurrentCkSum/etc/inet/inetd.
con1643619259:68832801102257:6879/etc/logadm.
conf2362963540:1042640364414:1071/etc/default/inetd3677377803:7192078997873:720第4章取消系统更改61表4-1列出了可与撤消操作一起使用的命令行选项.
有关每个选项的详细信息,请参见以下几节.
备份选项-b选项自动备份自上次加强安全性运行操作以来手动更改的任何文件,然后将文件恢复到加强安全性运行操作前的原始状态.
为实现手动更改,必须将恢复文件与备份文件作对比,并手动调整它们之间的不同.
使用此选项备份文件的实例用法如下.
强制选项-f选项取消加强安全性运行操作过程中未发生异常情况的更改,也包括在加强安全性运行操作之后手动更改的文件.
该撤消操作运行不会将所保存的文件校验和与现有文件版本的校验和进行比较.
因此,如果在加强安全性运行操作后手动更改了文件,则在执行具有强制选项的撤消操作后,文件更改会被覆盖或者丢失.
您可能需要在撤消运行操作完成后再次进行手动更改.
此外,可能有必要根据所做的更改类型调整文件组之间的差异.
注–为避免发生这些问题,请使用前面提到的jass-check-sum命令或-b命令行选项.
表4-1将命令行选项与撤消命令一起使用选项描述-b备份自最后一次加强安全性运行操作以来手动更改的所有文件,然后将系统恢复至其原始状态.
-f在不询问是否有例外的情况下,取消加强安全性运行操作所作的更改,在执行加强安全性操作后进行手动更改的文件也不例外.
-k在加强安全性运行操作后保存对文件所做的手动更改.
-m将输出发送到一个电子邮件地址.
-o定向输出到一个文件.
-q防止将输出显示到屏幕上.
又称为抑制显示输出选项.
输出存储在JASS_REPOSITORY/jass-undo-log.
txt文件中.
-V指定撤消操作运行的详细级别.
/etc/motd.
BACKUP.
JASS_SUFFIX62SolarisSecurityToolkit4.
2管理指南2005年7月保留选项-k选项自动保留加强安全性运行操作后所做的手动更改而不恢复原始文件.
-k选项可搜索文件中的任何不匹配内容,生成通知并进行记录,但不用原始文件覆盖现有文件.
只有那些保存了有效校验和的更改才会被取消.
此选项并非没有缺点.
例如,如果使用finish脚本修改了一部分文件之后又手动修改了这些文件,则该选型会导致系统不一致.
以finish脚本remove-unneeded-accounts.
fin为例.
该脚本修改了系统中的/etc/passwd和/etc/shadow文件.
如果用户在加强安全性运行操作完成后手动更改了密码,则与/etc/shadow文件相关的校验和将与SolarisSecurityToolkit软件保存的值不匹配.
所导致的结果就是,如果使用保留选项,则只有/etc/passwd文件会被复制回它的原始状态.
而/etc/shadow文件会保持它的当前形式.
这两个文件不再一致.
输出文件选项-o到输出文件的完整路径选项将jass-execute的控制台输出重定向到一个单独的输出文件.
此选项不影响JASS_REPOSITORY目录中的日志.
终端连接缓慢时,可使用该选项,因为SolarisSecurityToolkit撤消操作会产生大量的输出.
抑制显示输出选项注–在静默模式下运行撤消操作时,必须提供-b、-k或-f选项.
-q选项可阻止SolarisSecurityToolkit软件将输出显示到屏幕上.
此选项不影响JASS_REPOSITORY目录中的日志.
与-o选项类似,此选项特别有助于通过cron作业或较慢的网络连接来运行SolarisSecurityToolkit软件.
电子邮件通知选项-m电子邮件地址选项指示SolarisSecurityToolkit软件将一个已完成运行操作的副本发送到指定的电子邮件地址.
使用其他选项除了可在系统上生成日志外,还可生成电子邮件报告.
第4章取消系统更改63撤消系统更改有时必须取消在一个或多个SolarisSecurityToolkit加强安全性运行操作过程中所做的更改.
如果发现在加强安全性运行操作时所做的更改对系统产生了负面影响,请撤消这些更改.
例如,如果在加强安全性运行操作后发现禁用了一项所需的服务,例如SolarisVolumeManager(SVM)),请执行以下操作:1.
撤消加强安全性操作.
2.
创建一个定制的驱动程序.
有关定制驱动程序的指导,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》第4章中的"CustomizingDrivers".
3.
通过JASS_SVCS_ENABLE环境变量启用您希望使用的SVM服务.
有关使用JASS_SVCS_ENABLE的指导,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》第7章中的"JASS_SVCS_ENABLE".
4.
重复加强安全性操作.
本节提供了在一个或者多个加强安全性运行操作的过程中取消更改的指导.
请注意,对于有效地取消加强安全性运行操作有一些限制和要求.
请参阅第58页"撤消系统更改的要求".
撤消SolarisSecurityToolkit运行操作1.
备份并重新引导系统.
在每次撤消运行前备份并重新引导系统,以确保能够返回或恢复到一个已知的工作状态.
2.
确定在使用jass-execute-u命令时使用哪些选项.
请参见第60页"使用具有撤消功能的选项".
以下指导假设您正在使用jass-execute-u命令.
64SolarisSecurityToolkit4.
2管理指南2005年7月3.
要使用标准-u选项撤消一个或多个加强安全性运行操作,请在JASS_HOME_DIR/bin中输入以下命令:SolarisSecurityToolkit软件通过查找JASS_REPOSITORY中的所有清单文件收集有关每次加强安全性运行操作的信息.
如果清单文件为空或者根本不存在,则认为没有可撤消的更改并忽略该运行操作.
此外,如果一个名为jass-undo-log.
txt的文件与清单文件存在于同一目录下,则认为已运行了取消操作,从而忽略该运行操作.
收集过程完成之后,会显示结果.
以下是一个输出实例.
在本实例中,存在四个独立的加强安全性运行操作.
这些运行操作使系统发生更改并且尚未被撤消.
加强安全性运行操作列表通常按时间从近到远列出.
列表中的第一项为最近执行的加强安全性运行操作.
4.
检查输出以确定需要撤消哪些运行操作,然后输入相应的数字.
对于所选的项,SolarisSecurityToolkit软件取消每个索引号等于或小于所选值的运行操作.
即撤消运行操作将按照与原先所做更改相反的顺序来撤消这些更改,从最近的加强安全性运行操作开始一直到所选的运行操作.
使用前面的实例作为指导,如果选择了运行操作3,则撤消运行操作首先取消运行操作1的更改,然后取消运行操作2的更改,最后取消运行操作3的更改.
#.
/jass-execute-u代码示例4-2可撤消的运行操作的输出范例#.
/jass-execute-u[NOTE]Executingdriver,undo.
driverPleaseselectaJASSruntorestorethrough:1.
January24,2003at13:57:27(/var/opt/SUNWjass/run/20030124135727)2.
January24,2003at13:44:18(/var/opt/SUNWjass/run/20030124134418)3.
January24,2003at13:42:45(/var/opt/SUNWjass/run/20030124134245)4.
January24,2003at12:57:30(/var/opt/SUNWjass/run/20030124125730)Choice('q'toexit)第4章取消系统更改65代码示例4-3示了撤消运行操作处理两个清单文件条目时生成的输出.
在本实例中,SolarisSecurityToolkit软件撤消了一个复制操作并删除了加强安全性运行过程中所添加的一个文件.
撤消运行操作的输出记录了用于恢复系统的实际命令,在需要对系统配置进行错误诊断时可以清楚地理解此过程并用作参考.
对于自上次执行加强安全性运行操作以来进行过修改的文件,如果SolarisSecurityToolkit的检查是成功的,则撤消运行操作将会继续进行,直到处理完所有的运行操作和相应的清单文件并取消了更改为止.
SolarisSecurityToolkit软件除了通过查找所有位于JASS_REPOSITORY中的清单文件以收集有关每次加强安全性运行的信息之外,它还会执行以下操作:a.
比较每个经过修改的文件的校验和.
b.
为校验和文件中任何不匹配的情况生成一个通知并进行记录.
c.
询问您希望对这些文件采取什么操作.
5.
如果撤消运行操作发现异常(在加强安全性运行操作后更改了文件),请输入这些选项之一.
代码示例4-3撤消运行操作处理多个清单文件条目的输出范例[.
.
.
]undo.
driver:PerformingUNDOof//var/opt/SUNWjass/run/20050715145837.
[.
.
.
]undo.
driver:UndoingFinishScript:update-cron-allow.
fin[NOTE]UndoingoperationCOPY.
cp-p/etc/cron.
d/cron.
allow.
JASS.
20050715145906/etc/cron.
d/cron.
allowrm-f/etc/cron.
d/cron.
allow.
JASS.
20050715145906[NOTE]RemovingaSolarisSecurityToolkit-createdfile.
rm-f/etc/cron.
d/cron.
allow[.
.
.
]66SolarisSecurityToolkit4.
2管理指南2005年7月注–SolarisSecurityToolkit软件记录了您对某个特定异常文件的备份、保留和强制选择;当该文件再次成为某个撤消运行操作的异常时,您无需对该文件做出选择.
以下是一个显示了异常和处理异常选择的实例.
代码示例4-4撤消异常的输出范例[.
.
.
]undo.
driver:UndoingFinishScript:enable-process-accounting.
fin[NOTE]UndoingoperationCOPY.
[WARN]Checksumofcurrentfiledoesnotmatchthesavedvalue.
[WARN]filename=/var/spool/cron/crontabs/adm[WARN]current=db27341e3e1f0f27d371d2e13e6f47ce[WARN]saved=a7f95face84325cddc23ec66d59374b0Selectyourcourseofaction:1.
Backup-Savethecurrentfile,BEFORErestoringoriginal.
2.
Keep-Keepthecurrentfile,makingNOchanges.
3.
Force-Ignoremanualchanges,andOVERWRITEcurrentfile.
NOTE:ThefollowingadditionaloptionsareappliedtothisandALLsubsequentfiles:4.
ALWAYSBackup.
5.
ALWAYSKeep.
6.
ALWAYSForce.
Enter1,2,3,4,5,or6:第4章取消系统更改67在本实例中,如果选择第1项,则会显示以下输出.
代码示例4-5在撤消过程中选择备份选项的输出范例Enter1,2,3,4,5,or6:1[WARN]Creatingbackupcopiesofsomefilesmaycauseunintendedeffects.
[WARN]Thisisparticularlytrueof/etc/hostname.
[interface]filesaswellascrontabfilesin/var/spool/cron/crontabs.
[NOTE]BACKUPspecified,creatingbackupcopyof/var/spool/cron/crontabs/adm.
[NOTE]Filetobebackedupisfromanundooperation.
[NOTE]Copying/var/spool/cron/crontabs/admto/var/spool/cron/crontabs/adm.
BACKUP.
JASS.
20050715151817cp-p/var/spool/cron/crontabs.
JASS/adm.
JASS.
20050715151719/var/spool/cron/crontabs/admrm-f/var/spool/cron/crontabs.
JASS/adm.
JASS.
20050715151719[NOTE]UndoingoperationCOPY.
cp-p/var/spool/cron/crontabs.
JASS/root.
JASS.
20050715151717/var/spool/cron/crontabs/rootrm-f/var/spool/cron/crontabs.
JASS/root.
JASS.
20050715151717[NOTE]UndoingoperationMAKEDIRECTORY.
rmdir/var/spool/cron/crontabs.
JASS[NOTE]UndoingoperationSYMBOLICLINK.
rm-f/etc/rc3.
d/S22acct[NOTE]UndoingoperationSYMBOLICLINK.
rm-f/etc/rc0.
d/K22acct68SolarisSecurityToolkit4.
2管理指南2005年7月如果选择第4项,则会显示以下输出.
代码示例4-6在撤消过程中选择备份选项的输出范例Enter1,2,3,4,5,or6:4[NOTE]AlwaysdoBACKUPselected.
OverridingJASS_UNDO_TYPEwithBACKUP.
[WARN]Creatingbackupcopiesofsomefilesmaycauseunintendedeffects.
[WARN]Thisisparticularlytrueof/etc/hostname.
[interface]filesaswellascrontabfilesin/var/spool/cron/crontabs.
[NOTE]BACKUPspecified,creatingbackupcopyof/var/spool/cron/crontabs/adm.
[NOTE]Filetobebackedupisfromanundooperation.
[NOTE]Copying/var/spool/cron/crontabs/admto/var/spool/cron/crontabs/adm.
BACKUP.
JASS.
20050715152126cp-p/var/spool/cron/crontabs.
JASS/adm.
JASS.
20050715151953/var/spool/cron/crontabs/admrm-f/var/spool/cron/crontabs.
JASS/adm.
JASS.
20050715151953[NOTE]UndoingoperationCOPY.
[WARN]Checksumofcurrentfiledoesnotmatchthesavedvalue.
[WARN]filename=/var/spool/cron/crontabs/root[WARN]current=741af21a62ea7a9e7abe6ba04855aa76[WARN]saved=bcf180f45c65ceff3bf61012cb2b4982[WARN]Creatingbackupcopiesofsomefilesmaycauseunintendedeffects.
[WARN]Thisisparticularlytrueof/etc/hostname.
[interface]filesaswellascrontabfilesin/var/spool/cron/crontabs.
[NOTE]BACKUPspecified,creatingbackupcopyof/var/spool/cron/crontabs/root.
[NOTE]Filetobebackedupisfromanundooperation.
[NOTE]Copying/var/spool/cron/crontabs/rootto/var/spool/cron/crontabs/root.
BACKUP.
JASS.
20050715152127cp-p/var/spool/cron/crontabs.
JASS/root.
JASS.
20050715151951/var/spool/cron/crontabs/rootrm-f/var/spool/cron/crontabs.
JASS/root.
JASS.
20050715151951[NOTE]UndoingoperationMAKEDIRECTORY.
rmdir/var/spool/cron/crontabs.
JASS[NOTE]UndoingoperationSYMBOLICLINK.
rm-f/etc/rc3.
d/S22acct[NOTE]UndoingoperationSYMBOLICLINK.
rm-f/etc/rc0.
d/K22acct第4章取消系统更改69在SolarisSecurityToolkit完成了选定的撤消操作后,您应该检查标记为执行加强安全性操作之后更改过的文件,并对系统进行必要的修改.
在手动检查完这些更改之前,请勿重新引导系统,原因是这样可能会使系统处于不一致的状态.
注–在实例中,以新的文件名保存修改过的文件:/etc/.
login.
BACKUP.
JASS.
20050715151817.
撤消运行操作完成之后,将该文件与/etc/.
login相比较以确定是否需要进一步进行统一.
6.
在继续之前解决异常情况.
7.
解决完异常情况后,请重新引导系统.
要使对SolarisOS配置所做的修改生效,重新引导系统是必要的.
注意–SolarisSecurityToolkit在JumpStart模式下运行时,会设置root密码.
如果稍后执行了撤消操作,则root密码会恢复到先前无密码的设置.
这意味着完全没有密码,任何人都可以登录到超级用户帐户.
在执行撤消操作之后,请记住使用passwd(1)命令重置root密码.
在系统处于这种状态时,SolarisSecurityToolkit4.
2软件还会显示一条警告消息.
70SolarisSecurityToolkit4.
2管理指南2005年7月71第5章配置和管理JumpStart服务器本章提供了配置和管理JumpStart服务器以使用SolarisSecurityToolkit软件的信息.
JumpStart技术是Sun基于网络的SolarisOS安装机制,能够在安装过程中运行SolarisSecurityToolkit软件.
SolarisSecurityToolkit的JumpStart模式基于JumpStart技术,且对于SolarisOS2.
1以后的产品都是可用的.
JumpStart技术可帮助您使SolarisOS和系统软件安装完全自动化,实现系统的正确性和标准化,以进行复杂地管理.
它提供了一种方法,可满足快速安装和部署系统的要求.
在系统安全领域使用JumpStart技术的优点是很明显的.
通过将JumpStart技术与SolarisSecurityToolkit软件结合使用,可以在SolarisOS自动安装过程中保护系统安全.
此做法有助于确保在系统安装时已使系统安全标准化并进行了处理.
JumpStartEnterpriseToolkit(JET)软件可帮助进行基于JumpStart的安装并包含支持使用SolarisSecurityToolkit加强系统安全性的模块,要获取该软件,请访问SunSoftwareDownload,网址为:http://www.
sun.
com/download/有关JumpStart技术的更多信息,请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
本章包含以下主题:第72页"配置JumpStart服务器和环境"第74页"使用JumpStart配置文件模板"第75页"添加和删除客户机"72SolarisSecurityToolkit4.
2管理指南2005年7月配置JumpStart服务器和环境为在JumpStart环境中进行使用,请将/opt/SUNWjass中的SolarisSecurityToolkit源代码(用于pkg下载)安装到JumpStart服务器的基目录下.
默认目录是JumpStart服务器上的/jumpstart.
完成该任务后,JASS_HOME_DIR成为Jumpstart服务器上的基目录.
本节假设读者熟悉JumpStart技术并已经有一个可用的JumpStart运行环境.
将SolarisSecurityToolkit软件集成到JumpStart体系结构中只需要几个步骤.
配置JumpStart模式1.
将SolarisSecurityToolkit源代码安装到JumpStart服务器的根目录下.
可以将SolarisSecurityToolkit安装到JASS_REPOSITORY,在此处为/jumpstart,如以下实例所示:SolarisSecurityToolkit软件通常安装在JumpStart服务器上的SI_CONFIG_DIR目录中,通常也会是JASS_HOME_DIR.
2.
如果对Solaris2.
5.
1OSsysidcfg文件做了修改,则也要对JASS_HOME_DIR/Sysidcfg/Solaris_2.
5.
1目录中的文件做相应修改.
如果使用的是Solaris2.
5.
1OS,则不能直接使用JASS_HOME_DIR/Sysidcfg/Solaris_2.
5.
1中的sysidcfg文件,因为Solaris的该版本仅支持SI_CONFIG_DIR中的而不是独立子目录中的sysidcfg文件.
为解决Solaris2.
5.
1OS的这种限制,SolarisSecurityToolkit软件具有了SI_CONFIG_DIR/sysidcfg,它链接到JASS_HOME_DIR/Sysidcfg/Solaris_2.
5.
1/sysidcfg文件.
3.
使用以下命令将JASS_HOME_DIR/Drivers/user.
init.
SAMPLE复制为JASS_HOME_DIR/Drivers/user.
init.
#pwd/opt/SUNWjass#pkgadd-R/jumpstart-d.
SUNWjass#pwd/jumpstart/opt/SUNWjass/Drivers#cpuser.
init.
SAMPLEuser.
init第5章配置和管理JumpStart服务器734.
如果您希望在安装JumpStart的过程中,将SolarisSecurityToolkit软件包安装到目标系统,则必须将软件包置于在user.
init文件中定义的JASS_PACKAGE_MOUNT目录下.
例如:5.
如果在使用多宿主的JumpStart服务器时遇到问题,请修改JASS_PACKAGE_MOUNT和JASS_PATCH_MOUNT中的两个条目,以将路径纠正为JASS_HOME_DIR/Patches和JASS_HOME_DIR/Packages目录.
6.
如果要在SI_CONFIG_DIR子目录(例如,SI_CONFIG_DIR/path/to/JASS)中安装SolarisSecurityToolkit软件,请向user.
init文件中添加以下内容:7.
选择或创建一个SolarisSecurityToolkit驱动程序(例如,默认的secure.
driver).
如果要使用hardening.
driver和config.
driver中列出的所有脚本,请向rules文件中添加Drivers/secure.
driver路径.
如果仅使用所选脚本,请复制这些文件,然后修改其副本.
有关复制和修改驱动程序的指导,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》的第4章中的"CustomizingDrivers".
注意–请勿修改SolarisSecurityToolkit软件中附带的原始脚本.
为允许SolarisSecurityToolkit软件新版本有效的迁移,请单独保存原始文件和定制的文件.
8.
完成驱动程序后,在rules文件中创建适当的条目.
该条目与以下内容相似:要成功地将SolarisSecurityToolkit软件集成到现有的JumpStart环境中,可能还需要做另一项修改.
9.
如果使用SolarisSecurityToolkit软件提供的sysidcfg文件以使JumpStart客户机安装自动化,请检查它们的适用性.
如果在解析sysidcfg文件时JumpStart服务器遇到问题,则会忽略整个文件的内容.
#cp/路径/到/SUNWjass.
pkgJASS_HOME_DIR/Packagesif[-z"${JASS_HOME_DIR}"];thenif["${JASS_STANDALONE}"=0];thenJASS_HOME_DIR="${SI_CONFIG_DIR}/path/to/JASS"fifiexportJASS_HOME_DIRhostnameimbulu-Profiles/core.
profileDrivers/secure-abc.
driver74SolarisSecurityToolkit4.
2管理指南2005年7月完成本节所有的配置步骤之后,可以在客户机上使用JumpStart技术安装SolarisOS,并可在安装过程中成功地加强或者最小化OS的安全性.
使用JumpStart配置文件模板JumpStart配置文件模板是只能在JumpStart模式中使用的文件.
在SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》中介绍了配置文件中必需的和可选的内容.
可使用JumpStart配置文件模板作为范例,在此基础上针对您的站点要求进行修改.
检查配置文件以确定需要进行哪些更改(如果有),以应用于您的环境.
复制配置文件,然后在您的环境中修改其副本.
不要更改原始文件,因为更新SolarisSecurityToolkit软件时可能会覆盖定制的内容.
以下是SolarisSecurityToolkit软件中包含的JumpStart配置文件.
core.
profileend-user.
profiledeveloper.
profileentire-distribution.
profileoem.
profileminimal-SunFire_Domain*.
profile以下几小节介绍这些配置文件.
core.
profile该JumpStart配置文件安装最小的SolarisOS群集(SUNWCreq).
除了指定包含根分区与交换分区的磁盘分区外,没有做任何其他的配置修改.
end-user.
profile该JumpStart配置文件安装EndUserSolarisOS群集(SUNWCuser)和使进程统计正常运行所需的两个SolarisOS软件包.
另外,将磁盘分区定义为仅包含根分区和交换分区.
第5章配置和管理JumpStart服务器75developer.
profile该JumpStart配置文件安装DeveloperSolarisOS群集(SUNWCprog)和使进程统计正常运行所需的两个SolarisOS软件包.
与在core.
profile中定义的一样,除了SolarisOS群集之外唯一需要定义的配置是为了使磁盘分区包含根分区和交换分区.
entire-distribution.
profile该JumpStart配置文件安装EntireDistributionSolarisOS群集(SUNWCall).
和其他配置文件一样,将磁盘分区定义为包含根分区和交换分区.
oem.
profile该JumpStart配置文件安装OEMSolarisOS群集(SUNWCXall).
本群集是EntireDistribution群集的父群集,它安装OEM提供的软件.
minimal-SunFire_Domain*.
profile注–仅在运行SolarisOS版本8和9的系统中使用这些配置文件.
以下所有配置文件均基于SunBluePrintsOnLine文章"MinimizingDomainsforSunFireV1280,12K,and15KSystems".
以下JumpStart配置文件与该文章提及的相同.
minimal-SunFire_Domain-Apps-Solaris8.
profileminimal-SunFire_Domain-Apps-Solaris9.
profileminimal-SunFire_Domain-NoX-Solaris8.
profileminimal-SunFire_Domain-NoX-Solaris9.
profileminimal-SunFire_Domain-X-Solaris8.
profileminimal-SunFire_Domain-X-Solaris9.
profile添加和删除客户机add-client和rm-client脚本用于配置服务器,这样服务器可以使用JumpStart软件来执行基于网络的客户机安装.
这两个脚本位于JASS_HOME_DIR/bin目录下.
JumpStart模式由插入到JumpStart服务器上rules文件中的SolarisSecurityToolkit驱动程序控制.
76SolarisSecurityToolkit4.
2管理指南2005年7月如果没有为使用JumpStart模式而配置环境,请参见第72页"配置JumpStart服务器和环境".
对于基于SPARC的系统,add-client命令将安装JumpStart客户机和SolarisSecurityToolkit所需的配置信息.
该命令从JumpStart服务器执行.
对于x86/x64系统(需要动态主机配置协议(DHCP)客户机),您需要使用Solaris(安装)介质附带的add_install_client脚本.
add-client脚本为简化从JumpStart服务器添加客户机的过程,请使用包含在SolarisSecurityToolkit软件中的该脚本.
以下段落介绍了这些命令和选项,但没有介绍底层的JumpStart技术.
有关JumpStart技术的信息,请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
add-client脚本是add_install_client命令的外壳,它接受以下参数.
add-client命令摘要:表5-1介绍了add-client命令的有效输入.
#add-client-c客户机-i服务器-m客户机类-o客户机OS-ssysidcfg表5-1JumpStartadd-client命令选项描述-c客户机JumpStart客户机的可解析的主机名.
-h|-显示使用信息.
使用时不能带有任何其他选项.
忽略所有其他选项.
-i服务器用于该JumpStart客户机的JumpStart服务器接口的IP地址或可解析的主机名.
如果没有指定值,则会显示本地主机上可用接口的列表.
-m客户机类JumpStart客户机的计算机类型.
该值与uname-m命令的输出格式相同.
-o客户机OS可以在JASS_HOME_DIR/OS目录下获得的将要安装在客户机上的SolarisOS的版本.
如果没有指定值,则会显示JASS_HOME_DIR/OS目录中可用的SolarisOS版本的列表.
-ssysidcfg备用目录的可选路径名,此目录包含一个用于系统识别和配置的sysidcfg文件.
默认情况下,该值被设置为JASS_HOME_DIR/Sysidcfg/Solaris版本/目录,其中Solaris版本是从您使用的必要参数-o中提取的.
如果要指定一个可选的路径名,请使用到JASS_HOME_DIR目录的相对路径名.
仅指定到sysidcfg文件的路径.
-v本程序的版本信息.
忽略所有其他选项.
第5章配置和管理JumpStart服务器77要使用默认值添加名为eng1的JumpStart客户机,您可以执行以下操作:要使用Solaris9OS(12/03)和-ssysidcfg选项,将名为eng1的JumpStart客户机添加到名为jumpserve1的JumpStart服务器,您可以执行以下操作:rm-client脚本该脚本包含在SolarisSecurityToolkit软件中,可简化从JumpStart服务器中删除客户机的操作.
请使用包含在SolarisSecurityToolkit软件中的该脚本.
以下段落介绍了这些命令和选项,但没有介绍底层的JumpStart技术.
有关JumpStart技术的信息,请参阅《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
与add-client相似,rm-client脚本是rm_install_client命令的外壳:用法实例:rm-client[-c]客户机其中,客户机是JumpStart客户机的可解析的主机名.
表5-2介绍了rm-client命令的有效输入.
#/opt/SUNWjass/bin/add-client-ceng1-msun4uSelectingdefaultoperatingsystem,Solaris版本.
Selectingdefaultsysteminterface,IP地址.
cleaninguppreexistinginstallclient"eng1"removingeng1frombootparamsupdating/etc/bootparams#/opt/SUNWjass/bin/add-client-ceng1-ijumpserve1-msun4u-oSolaris_9_2003-12-sHosts/alphacleaninguppreexistinginstallclient"eng1"removingeng1frombootparamsupdating/etc/bootparams表5-2JumpStartrm-client命令选项描述-c客户机JumpStart客户机的可解析的主机名.
-h|-显示使用信息.
使用时不能带有任何其他选项.
忽略所有其他选项.
-v本程序的版本信息.
忽略所有其他选项.
78SolarisSecurityToolkit4.
2管理指南2005年7月要删除一台名为eng1的JumpStart客户机,请使用以下rm-client命令:#.
/rm-client-ceng1removingeng1frombootparams79第6章审计系统安全性本章介绍如何使用SolarisSecurityToolkit软件审计(验证)系统的安全性.
可在加强安全性后使用本章的信息和过程维护已建立的安全性配置文件.
对于经过部署的系统,在加强安全性之前需要使用本章中的信息对安全性进行评估.
注–本章和本书中使用术语审计来定义SolarisSecurityToolkit软件通过与预定义的安全性配置文件做比较以自动验证安全性状态的过程.
在本出版物中使用该术语并不能保证在使用审计选项后系统是完全安全的.
本章包含以下主题:第79页"维护安全性"第80页"执行加强操作之前检查安全性"第80页"定制安全性审计"第81页"审计安全性的准备工作"第82页"使用选项和控制审计输出"第89页"进行安全性审计"维护安全性维护安全性是一个进行中的过程,必须要定期检查及访问.
维护系统安全性需要警惕性,因为任何系统默认的安全性配置会随着时间的逝去而愈加趋向公开.
(有关维护安全性的更多信息,请参见第29页"维护系统安全")通过使用指定的安全性配置文件确定其兼容级别,SolarisSecurityToolkit提供了一种自动审计系统安全性状态的方法.
注–本方法仅能用于使用jass-execute-a命令的独立模式下,而不能在JumpStart安装过程中使用.
80SolarisSecurityToolkit4.
2管理指南2005年7月定期审计系统的安全性状态,既可以通过手动方式也可以通过自动方式(例如,通过cron作业或rc脚本).
例如,在加强一个全新安装系统的安全性之后,请在五天后执行SolarisSecurityToolkit软件审计命令(jass-execute-a驱动程序名称)以确定系统安全性是否已更改(与安全性配置文件所定义的状态不同).
审计安全性的频繁程度取决于环境的安全策略与紧急程度.
有些用户每小时、每天或者每月进行一次审计运行操作.
有些用户每小时运行一次最小扫描(仅检查有限数量),每天运行一次完整扫描(进行全部检查).
除了例行的其他审计之外,在每次重新引导系统之后,都必须检查系统的安全性状态.
审计所有重要组件以维护已部署系统的安全性状态.
如果不定期审计安全性状态,则由于平均信息量或者修改会不知不觉或恶意地更改所需的安全性状态,导致配置随之变化.
如果不进行定期检查,则不会发现这些更改并采取相应的纠正措施.
这将导致系统的安全性降低,更容易受攻击.
除了定期审计之外,在系统升级、修补程序安装与其他的重要系统配置发生更改后也需要进行审计.
执行加强操作之前检查安全性在某些情况下,您可能会发现在加强已部署系统的安全性之前检查其安全性状态是有用的.
例如,如果接管之前由他人管理的已部署系统,则应检测系统以了解其状态,如果必要的话可以使它们与其他系统所使用的相同安全性配置文件相兼容.
定制安全性审计审计选项为评估系统状态提供了一种高度灵活与可扩展的机制.
像加强安全性脚本一样,也可以定制audit脚本的操作.
例如,可以定制环境变量、定制框架与助手功能、添加新的检查和为审计框架添加功能.
大部分用户会发现标准的或产品专用的audit脚本可以作为自己定制audit脚本的模板.
对于这种情形,可以通过驱动程序、finish脚本、环境变量与文件模板定制audit脚本.
只需很少的工作即可完成这些定制更改,且无需修改代码.
进行审计时,SolarisSecurityToolkit软件可自动了解加强安全性运行操作中所做的任何更改.
有些用户需要创建全新所有权的或站点专用的驱动程序和脚本.
使用模板和范例作为编写新驱动程序和脚本代码的准则.
请注意,使用审计选项时SolarisSecurityToolkit软件无法自动了解站点专用的驱动程序、finish脚本、变量与功能.
例如,如果添加了一个名为abcc-nj-secure.
driver的站点专用驱动程序,且该驱动程序包含站点专用第6章审计系统安全性81的finish脚本abcc-nj-install-foo.
fin,则需要创建一个站点专用的audit脚本abcc-nj-install-foo.
aud.
同样地,如果仅启动audit脚本,则应当创建与之匹配的finish脚本.
有时候,需要添加SolarisSecurityToolkit软件未提供的检查或功能.
对于这种情形,请向audit脚本中添加检查或者新的功能.
(您或许会在相应的finish脚本中做相关更改.
)在通过user.
run文件添加和修改代码时需要格外慎重以避免引入错误及故障.
要定制或创建新的驱动程序、脚本、变量和功能,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
例如,可能需要要添加一个SolarisSecurityToolkit软件没有安装的修补程序.
则既可以扩展标准的或者产品专用的模板,也可以创建自己的模板.
如果您要创建自己的模板,请首先创建一个finish脚本来添加修补程序,然后创建相应的audit脚本来检查修补程序的安装.
如果您要使用现有的finish(.
fin)和audit(.
aud)脚本作为自己的模板,则必须将这两个脚本复制到新建的且名称唯一的文件中.
审计安全性的准备工作为使用本章的指导和准则,您需要一个安全性配置文件.
有关开发与实现安全性配置文件的信息,请参见第2章.
许多安全性配置文件包含在SolarisSecurityToolkit附带的驱动程序内.
正如本书前面所述,默认的安全性配置文件和由其进行的更改很可能并不适用于您的系统.
通常情况下,所实现的安全性配置文件是用于安全性的"high-water"标记.
这表示它们能够禁用不需要的服务并启用被secure.
driver禁用的可选安全性功能.
许多SolarisSecurityToolkit软件用户发现标准的和产品专用的安全性配置文件适用于他们的环境.
如果您遇到这种情形,请确定与安全性状态最接近的安全性配置文件,并将其用于评估和加强系统的安全性.
为您的环境检查并定制安全性配置文件或者开发新的文件.
《SolarisSecurityToolkit4.
2ReferenceManual》提供了定制安全性配置文件的技巧和准则.
此方法提供了为您的组织定制的安全性状态,并且可以将安全性评估过程中返回的故障错误减至最少.
例如,如果需要启用Telnet,则可以定制安全性配置文件,使其在安全性评估过程中不会将Telnet视为安全漏洞.
这样,一个使用Telnet和Kerbero(用于验证和加密)的站点不会将使用Telnet视为安全漏洞.
82SolarisSecurityToolkit4.
2管理指南2005年7月使用选项和控制审计输出本节介绍了执行审计运行操作的可用选项和控制输出的选项.
本节包括以下内容:第82页"命令行选项"第85页"标题与消息输出"第88页"主机名、脚本名称和时间戳输出"命令行选项以下的命令行摘要显示了如何使用安全性配置文件审计系统的安全性:当执行SolarisSecurityToolkit软件审计命令时,可以使用表6-1中所列的选项.
有关jass-execute-a命令可用选项的详细信息,请参见以下几节:第82页"显示帮助选项"第83页"电子邮件通知选项"第84页"输出文件选项"第84页"抑制显示输出选项"第84页"详细选项"显示帮助选项-h选项显示jass-execute帮助消息,提供了可用选项的概述.
#jass-execute-a驱动程序[-V[0-4]][-q|-o输出文件][-m电子邮件地址]表6-1将命令行选项与审计命令结合使用选项描述-a驱动程序确定系统与其安全性配置文件是否兼容.
-m电子邮件地址为内部支持指定电子邮件地址.
-o输出文件为SolarisSecurityToolkit运行的输出指定一个文件名.
-q指定静默模式.
运行该命令时,不显示消息.
输出结果被保存在JASS_REPOSITORY/中.
-V详细级别指定审计运行操作的详细级别(0-4).
第6章审计系统安全性83-h选项产生的输出与以下内容相似:电子邮件通知选项-m电子邮件地址选项提供了一种机制,通过该机制,SolarisSecurityToolkit软件的审计运行操作完成后可使用电子邮件将输出自动发送.
使用其他选项除了可在系统上生成日志外,还可生成电子邮件报告.
使用电子邮件选项调用sunfire_15k_sc-config.
driver的SolarisSecurityToolkit运行类似于以下内容:代码示例6-1-h选项输出范例#.
/jass-execute-hToapplythisToolkittoasystem,usingthesyntax:jass-execute[-rroot_directory-pos_version][-q|-ooutput_file][-me-mail_address][-V[3|4]][-d]driverToundoapreviousapplicationoftheToolkitfromasystem:jass-execute-u[-b|-f|-k][-q|-ooutput_file][-me-mail_address][-V[3|4]]Toauditasystemagainstapre-definedprofile:jass-execute-adriver[-V[0-4]][-q|-ooutput_file][-me-mail_address]TodisplaythehistoryofToolkitapplicationsonasystem:jass-execute-HTodisplaythelastapplicationoftheToolkitonasystem:jass-execute-lTodisplaythishelpmessage:jass-execute-hjass-execute-Todisplayversioninformationforthisprogram:jass-execute-v#.
/jass-execute-mroot-asunfire_15k_sc-config.
driver[.
.
.
]84SolarisSecurityToolkit4.
2管理指南2005年7月输出文件选项-o输出文件选项将jass-execute运行的控制台输出重新定向到一个单独的文件(输出文件).
此选项不影响JASS_REPOSITORY目录内的日志.
此选项对于在较慢的终端连接上运行特别有帮助,因为SolarisSecurityToolkit运行会产生大量输出.
此选项可与-d、-u或-a选项一起使用.
-o选项产生的输出类似于以下内容:抑制显示输出选项-q选项禁止SolarisSecurityToolkit在执行加强安全性运行操作时输出到标准输入/输出(stdio)流.
此选项不影响JASS_REPOSITORY目录内的日志.
与-o选项类似,此选项特别有助于通过cron作业或较慢的网络连接来运行SolarisSecurityToolkit软件.
此选项可与-d、-u或-a选项一起使用.
-q选项产生的输出类似于以下内容:详细选项-V选项指定了审计运行操作的详细级别.
此选项仅可用于审计.
详细级别为显示审计运行操作结果提供了高度灵活的方式.
例如,如果要审计100台计算机,您需要将每台计算机的输出限制到单独一行,以便容易确定哪些计算机通过审计而哪些计算机没有通过审计.
然后对于没有通过审计的计算机,可能需要进行一个能够提供扩展输出的审计以将注意力集中到有问题的区域.
代码示例6-2-o选项输出范例#.
/jass-execute-ojass-output.
txt-asecure.
driver[NOTE]Executingdriver,secure.
driver[NOTE]Recordingoutputtojass-output.
txt#代码示例6-3-q选项输出范例#.
/jass-execute-q-asecure.
driver[NOTE]Executingdriver,secure.
driver第6章审计系统安全性85-V选项控制五个详细级别(0到4).
每个递增的级别都提供了附加细节,可用它来更加完整地了解哪些检查通过而哪些检查没有通过.
表6-2介绍了详细级别.
注–jass-execute-V命令默认的详细级别为3.
有关审计冗余级别的完整描述,请参阅jass-execute手册页或《SolarisSecurityToolkit4.
2ReferenceManual》中第7章的"JASS_VERBOSITY".
标题与消息输出可以配置SolarisSecurityToolkit审计选项以报告或者忽略标题和消息.
JASS_LOG_BANNER变量不能用于详细级别0-2.
这些输出选项适用于详细级别3和4.
例如,您可能要从输出中忽略掉通过的消息(JASS_LOG_SUCCESS变量)以便报告并且仅将注意力集中到没有通过的消息(JASS_LOG_FAILURE变量)上.
表6-3列出了能够通过日志变量控制的标题和消息.
(有关日志变量的详细信息,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》中第7章的"JASS_LOG_BANNER".
有关冗余级别的更多信息,请参阅jass-execute手册页或《SolarisSecurityToolkit4.
2ReferenceManual》中第7章的"JASS_VERBOSITY".
)如果日志变量设置为0,则不会产生这种类型消息的任何输出.
相反,如果日志变量设置为1,那么会显示出消息.
每个变量默认的操作是显示输出.
表6-3介绍了日志变量.
表6-2审计详细级别级别输出0单独行,表明通过或者没有通过审计.
1对于每个脚本,用单独一行表明通过还是没有通过审计,在所有脚本行的下面有一个重要的总分数行.
2对于每个脚本,提供了所有检查的结果.
3提供完整输出的多行,包括标题与标题消息.
这是默认级别.
4多行(所有级别3中提供的数据)加上logDebug日志功能产生的所有项.
本级别用于调试.
86SolarisSecurityToolkit4.
2管理指南2005年7月仅当需要查看特定消息时使用这些选项是非常有用的.
通过设置这些选项,能够最小化输出,并仍然将注意力集中到您认为重要的地方.
例如,除了JASS_LOG_FAILURE(保留其默认值1)之外,将所有日志变量设置为0,则审计只会报告由logFailure功能产生的错误.
表6-3在审计输出中显示标题和消息日志变量日志前缀描述JASS_LOG_BANNER所有标题输出此参数控制标题消息的显示.
这些消息周围通常都是由等号(=)或者破折号(-)组成的分隔符.
JASS_LOG_ERROR[ERR]此参数控制错误消息的显示.
如果设置为0,则不会产生任何错误消息.
JASS_LOG_FAILURE[FAIL]此参数控制失败消息的显示.
如果设置为0,则不会产生任何失败消息.
JASS_LOG_NOTICE[NOTE]此参数控制通知消息的显示.
如果设置为0,则不会产生任何通知消息.
JASS_LOG_SUCCESS[PASS]此参数控制成功或者通过状态消息的显示.
如果设置为0,则不会产生任何成功消息.
JASS_LOG_SUMMARY[SUMMARY]此参数控制摘要消息的显示.
如果设置为0,则不会产生任何摘要消息.
JASS_LOG_WARNING[WARN]此参数控制警告消息的显示.
如果设置为0,则不会产生任何警告消息.
代码示例6-4仅报告审计失败的输出范例#JASS_LOG_FAILURE=1#exportJASS_LOG_FAILURE#JASS_LOG_BANNER=0#JASS_LOG_ERROR=0#JASS_LOG_NOTICE=0#JASS_LOG_SUCCESS=0#JASS_LOG_SUMMARY=0#JASS_LOG_WARNING=0#exportJASS_LOG_BANNERJASS_LOG_ERROR#exportJASS_LOG_NOTICEJASS_LOG_SUCCESS#exportJASS_LOG_WARNING#bin/jass-execute-aabc.
driver-V2update-at-deny[FAIL]Useradmisnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Userzz999999isnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Usergdmisnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Userlpisnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Usernobody4isnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Userrootisnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Usersmmspisnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Usersysisnotlistedin/etc/cron.
d/at.
deny.
第6章审计系统安全性87update-at-deny[FAIL]Useruucpisnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]Userwebservdisnotlistedin/etc/cron.
d/at.
deny.
update-at-deny[FAIL]ScriptTotal:10Errorsupdate-inetd-conf[FAIL]Servicesvc:/network/telnet:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/ftp:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/finger:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/login:rloginwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/shell:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/login:ekloginwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/login:kloginwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/shell:kshellwasenabled.
update-inetd-conf[FAIL]Servicesvc:/application/font/stfsloader:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/security/ktkt_warn:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/rpc/smserver:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/rpc/rstat:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/rpc/rusers:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/nfs/rquota:defaultwasenabled.
update-inetd-conf[FAIL]Servicesvc:/network/rpc/gss:defaultwasenabled.
update-inetd-conf[FAIL]Service100235isenabledin/etc/inet/inetd.
conf.
update-inetd-conf[FAIL]Service100083isenabledin/etc/inet/inetd.
conf.
update-inetd-conf[FAIL]Service100068isenabledin/etc/inet/inetd.
conf.
update-inetd-conf[FAIL]ScriptTotal:18Errorsabc.
driver[FAIL]DriverTotal:28Errorsabc.
driver[FAIL]GrandTotal:28Errors#代码示例6-4仅报告审计失败的输出范例(续)88SolarisSecurityToolkit4.
2管理指南2005年7月主机名、脚本名称和时间戳输出您可以将SolarisSecurityToolkit审计选项配置为包含主机名、脚本名称和详细级别0到2的时间戳信息.
例如,如果要审计很多计算机,则您也许希望按照主机名、脚本名称或时间戳对输出进行排序.
表6-4列出了这些变量.
通过配置SolarisSecurityToolkit软件来附加主机、脚本和时间戳信息,可以将单个系统或者一组系统中的许多运行操作结合起来并按照关键数据对它们进行排序.
可以使用此信息查找跨越几个系统的或者是在配置过程中有症状的问题.
例如,以这种方式使用信息,管理员会能够辨别使用了给定进程的每个系统版本是否总是具有同样的故障检查.
通过将JASS_DISPLAY_TIMESTAMP参数设置为1以及将JASS_DISPLAY_SCRIPTNAME值设置为0,会生成与以下内容类似的输出.
表6-4显示主机名、脚本名称和时间戳审计输出变量名变量描述JASS_DISPLAY_HOSTNAME将此参数设置为1会使SolarisSecurityToolkit软件将每个日志条目附加在系统的主机名之前.
此信息基于JASS_HOSTNAME参数.
默认情况下,该参数为空,因此Toolkit不会显示此信息.
JASS_DISPLAY_SCRIPTNAME默认情况下,此参数值设置为1,因此SolarisSecurityToolkit软件会将每个日志附加在audit脚本名称之前.
将该参数设定为其他任何值都会使Toolkit不显示此信息.
JASS_DISPLAY_TIMESTAMP将该参数设置为1使SolarisSecurityToolkit软件将每个日志附加在与审计运行操作相关的时间戳之前.
此信息基于JASS_TIMESTAMP参数.
默认情况下,该参数为空,因此该软件不会显示此信息.
代码示例6-5审计日志条目的输出范例#JASS_DISPLAY_TIMESTAMP=1#JASS_DISPLAY_SCRIPTNAME=0#exportJASS_DISPLAY_TIMESTAMPJASS_DISPLAY_SCRIPTNAME#bin/jass-execute-aabc.
driver-V220050716132908[FAIL]Useradmisnotlistedin/etc/cron.
d/at.
deny.
20050716132908[PASS]Userbinislistedin/etc/cron.
d/at.
deny.
20050716132908[FAIL]Userzz999999isnotlistedin/etc/cron.
d/at.
deny.
.
.
.
.
.
.
.
.
.
20050716132908[FAIL]ScriptTotal:18Errors20050716132908[FAIL]DriverTotal:28Errors20050716132908[FAIL]GrandTotal:28Errors20050716132908[SUMMARY]ResultsSummaryforAUDITrunofdan.
driver20050716132908[SUMMARY]Theruncompletedwithatotalof2scriptsrun.
第6章审计系统安全性89进行安全性审计在系统上定期进行安全性评估可提供一个基准,以判断安全性与所执行的安全性配置文件的匹配接近程度.
安全性评估最通常的情形是在加强一个新安装的系统的安全性之后,作为一项安全性维护任务进行.
安全评估选项可使您简化执行相同加强安全性驱动程序(用于加强系统安全性),而现在可使用-a选项与加强安全性过程中执行的安全性配置文件相比较以检查当前的状态.
该设计消除了复杂性并提供了灵活性.
例如,当升级安全性配置文件时,后续的安全性评估会使用更新的安全性配置文件.
在另外的可能情形中,可能应该对经过部署的系统安全性负责.
在加强它们的安全性之前,需要进行安全性评估.
在这种情形中,需要定义自己的安全性配置文件,定制一个SolarisSecurityToolkit安全性配置文件模板或者按原样使用其中一个安全性配置文件模板.
进行安全性审计在进行审计之前,需要定义或者选择一个安全性配置文件.
有关详细信息,请参阅第81页"审计安全性的准备工作".
注意–如果要对已部署但尚未加强安全性的系统进行安全性评估,不需要先请加强安全性,请首先对计算机进行备份并重新引导以验证计算机处于一个已知、工作且一致的配置下.
进行安全性评估之前,预备的重新引导过程中所遇的任何错误与警告都应得到更正并进行记录.
1.
选择要使用的安全性配置文件(加强安全性驱动程序):如果之前加强了系统安全,请使用同样的安全性配置文件.
例如,secure.
driver.
如果您还没有加强系统安全性,请使用一个标准的安全性配置文件或者自己的文件.
20050716132908[SUMMARY]TherewereFailuresin2Scripts20050716132908[SUMMARY]TherewereErrorsin0Scripts20050716132908[SUMMARY]TherewereWarningsin0Scripts20050716132908[SUMMARY]TherewasaNotein1Script20050716132908[SUMMARY]FailureScriptslistedin:/var/opt/SUNWjass/run/20050716132908/jass-script-failures.
txt20050716132908[SUMMARY]NotesScriptslistedin:/var/opt/SUNWjass/run/20050716132908/jass-script-notes.
txt#代码示例6-5审计日志条目的输出范例(续)90SolarisSecurityToolkit4.
2管理指南2005年7月例如,secure.
driver或者abccorp-secure.
driver.
对于标准的和产品特定的可用驱动程序,有关它们完整的和最新的列表和信息,请参阅security_drivers手册页或《SolarisSecurityToolkit4.
2ReferenceManual》中的第4章.
2.
确定所需的命令行选项和控制输出的方式.
请参见第82页"使用选项和控制审计输出".
3.
输入jass-execute-a命令、安全性配置文件名称和所需的选项.
以下是一个使用abc-secure.
driver的审计运行操作范例.
代码示例6-6审计运行操作的输出范例#.
/jass-execute-aabc-secure.
driver[NOTE]Executingdriver,abc-secure.
driver[.
.
.
]abc-secure.
driver:Auditscript:enable-rfc1948.
aud#RFC1948SequenceNumberGeneration##RationaleforVerificationCheck:##Thepurposeofthisscriptistoverifythatthesystemis#configuredandisinfactusingRFC1948foritsTCPsequence#numbergenerationalgorithm(unique-per-connectionID).
Thisis#configuredbysettingthe'TCP_STRONG_ISS'parameterto'2'in#the/etc/default/inetinitfile.
##DeterminationofCompliance:#[.
.
.
][PASS]TCP_STRONG_ISSissetto'2'in/etc/default/inetinit.
[PASS]Systemisrunningwithtcp_strong_iss=2.
#Thefollowingisthevulnerabilitytotalforthisauditscript.
[PASS]AuditCheckTotal:0Error(s)#Thefollowingisthevulnerabilitytotalforthisdriverprofile.
第6章审计系统安全性91当审计运行操作启动后,SolarisSecurityToolkit软件从JASS_HOME_DIR/Audit目录中访问文件.
虽然在JASS_HOME_DIR/Audit和JASS_HOME_DIR/Finish目录下的文件共享同样的基本文件名,但它们有不同的文件名后缀.
按照指向文件(这些文件包含运行过程中在每个警报级别生成的所有消息)的指针,通过将后缀从.
fin更改为.
aud,driver.
run脚本将JASS_SCRIPTS变量定义的finish脚本自动转换为audit脚本.
审计运行操作启动并初始化了SolarisSecurityToolkit软件的状态.
运行中所访问的每个驱动程序对所有文件模板与audit脚本的状态进行评估.
每个检查会产生一个成功或者失败的结果,分别由攻击值0或者非0来代表.
在大多数情况下,失败由数字1代表.
每个运行脚本都根据脚本中包含的每次检查的攻击值的总和来产生总的安全性分数.
由每个驱动程序引起的安全漏洞值总和会在每一个驱动程序评估完成时显示.
运行结束时会显示重要的所有分数总和.
安全性评估选项提供了一个在评估运行操作启动后对系统状态的概述.
SolarisSecurityToolkit软件通过检查配置文件来检查已存储的系统状态,并通过检查进程表信息、设备驱动程序信息等来检查正在运行的系统状态.
SolarisSecurityToolkit软件检查每个文件及服务的存在性,并且检查与服务相关的软件是否已经安装、配置、启用和运行.
此方法为系统当前状态生成了一个准确的快照.
[PASS]DriverTotal:0Error(s)abc-secure.
driver:Driverfinished.
#Thefollowingisthevulnerabilitygrandtotalforthisrun.
[PASS]GrandTotal:0Error(s)代码示例6-6审计运行操作的输出范例(续)92SolarisSecurityToolkit4.
2管理指南2005年7月93第7章保护系统安全本章介绍如何将前面章节提供的信息和专门技术应用到现实的环境中,以安装新的Solaris8或Solaris9OS并保护其安全.
本章举例说明如何用Solaris8OS的CheckPointFirewall-1NG来部署SolarisSecurityToolkit软件.
本章的信息可用作保护新系统和应用程序安全的指南和案例.
SunBluePrint书籍和联机文章可为最小化系统和加强许多Sun系统的安全性提供指导.
有关最新的产品专用的书籍和文章,请参阅以下Web站点:http://www.
sun.
com/blueprints本章包含以下主题:第93页"规划与准备"第95页"创建安全性配置文件"第95页"安装软件"第98页"配置JumpStart服务器和客户机"第103页"定制加强安全性配置"第107页"安装客户机"第108页"质量保证测试"规划与准备要按照该案例研究中所述有效地部署最小化的和安全的系统,规划和准备工作是很重要的.
基本的网络体系结构、策略以及过程必须适当.
另外,必须对系统的支持与维护进行定义与协调.
有关规划与准备的更多信息,请参见第2章.
本章中讲述的案例记录了系统管理员(SA)为防火墙系统的SolarisOS映像实现最小化系统和加强安全性所需执行的过程与任务.
在本案例中,系统管理员的任务是创建一种自动并可伸缩的解决方案,用于为服务提供商(xSP)构建和部署CheckPointFirewall-1NG系统,以便为其客户提供防火墙服务.
对于本案例,xSP的要求和注意事项如下:94SolarisSecurityToolkit4.
2管理指南2005年7月因为xSP计划部署许多这种系统,因而创建与部署每个系统的时间是非常关键的,而且需要改进以提高效率.
需要使用与每个系统内部以太网的接口相连的专用管理网络来安装系统.
网络仅可以由xSP员工使用,订户不能使用.
所有其他接口都位于独立的物理网络接口上,并且会被过滤掉.
网络管理的安全性对于经过部署的防火墙系统的整体安全性是至关重要的.
基于这些要求,系统管理员决定使用JumpStart技术与SolarisSecurityToolkit软件以使OS映像的安装、最小化系统与加强安全性都实现自动化.
假设与限制本章假设SolarisSecurityToolkit软件已经运行并使用JumpStart技术进行安装.
第3章提供了有关安装该软件的指导和规则.
本章还假设正在为最小化和加强某个特定应用程序的安全性而开发定制的配置.
SolarisSecurityToolkit软件没有任何专门用于该程序的驱动程序或JumpStart配置文件.
因此,需要为此应用程序创建定制的驱动程序和配置文件.
要完成此任务,可复制现有的驱动程序和配置文件,然后针对该应用程序对它们进行修改.
此案例中,假设系统管理员(SA)具有以下熟练水平:拥有足够的知识与经验进行OS与应用程序的配置.
了解如何对配置进行测试和微调.
了解如何从已经安装的客户机系统中构建一个JumpStart环境.
请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
熟悉OS最小化技术.
请参阅《EnterpriseSecurity:SolarisOperatingEnvironmentSecurityJournal,SolarisOperatingEnvironmentVersions2.
5.
1,2.
6,7,and8》.
熟悉SolarisSecurityToolkit软件基础,且可随时使用最小化系统和加强安全性两种技术和准则来创建定制的配置.
请参见第1章.
系统环境案例实例基于以下硬件与软件环境:CheckPointFirewall-1NGSolaris8OSJumpStart技术SolarisOS群集(SUNWCreq)SolarisSecurityToolkit软件基于SPARC技术的平台第7章保护系统安全95至少两个以太网接口安全性要求本案例中,已确定高级别要求和软件包,但是还需要确定所有软件包的特定组件和服务.
另外,需要确定管理系统所需的SolarisOS功能.
以下列表提供了软件组件使用方法的详细信息:用于远程管理的SecureShell用于下载远程文件的FTP客户机用于复制文件的scp和sftp命令在此列表中,可以开发安全性配置文件.
有关开发安全性配置文件和使用配置文件模板的详细信息,请参见第26页"开发和执行SolarisSecurityToolkit配置文件".
创建安全性配置文件安全性配置文件定义了在加强和最小化系统安全性配置时SolarisSecurityToolkit软件所做的安全性修改.
任何包含在SolarisSecurityToolkit软件中的标准安全性配置文件或者驱动程序都不能满足最小化CheckPointFirewall-1NG系统的要求.
因而,必须创建一个定制的安全性配置文件以实现必需的系统修改.
对于本案例,本章中的几节介绍了创建安全性配置文件的过程.
首先,创建基于现有驱动程序的新的驱动程序文件.
然后修改新的驱动程序以满足之前所述的安全性要求.
最小化系统在第95页"安装软件"中有讲述,而加强安全性修改在第103页"定制加强安全性配置"中有讲述.
安装软件本节演示了安装软件的过程.
对于范例案例,提供了关于异常情况或者特定案例的所有指导.
有关安装软件的一般性指导,请参见第3章.
注–可将以下指导作为模板用来处理相关情况.
本节包含以下任务:第96页"下载和安装安全性软件"96SolarisSecurityToolkit4.
2管理指南2005年7月第96页"安装修补程序"第97页"指定和安装OS群集"下载和安装安全性软件在JumpStart服务器上,下载并安装SolarisSecurityToolkit及附加安全性软件(包括修补程序),如下所示.
下载和安装安全性软件1.
下载SolarisSecurityToolkit软件及附加安全性软件.
请参见第35页"下载安全性软件".
2.
安装已下载的SolarisSecurityToolkit软件及附加安全性软件.
请参见第42页"安装和执行软件".
注意–目前先不要执行SolarisSecurityToolkit软件.
首先按照以下几节所述进行附加配置和定制.
安装修补程序OS修补程序可以解决安全性漏洞、可用性问题、性能问题或系统其他方面的问题.
安装新的OS时,以及在OS安装后的运行过程中,都要进行检查以确保安装了所需的修补程序.
SolarisSecurityToolkit软件提供了一种机制,以安装联机的SunSolve上可用的推荐的修补程序群集和安全性修补程序群集.
此OS专用的修补程序群集包含通常最需要的修补程序.
安装修补程序1.
至少,将推荐的修补程序群集和安全性修补程序群集下载到Patches目录下并解压缩.
如果加强安全性驱动程序中包含了install-recommended-patches.
fin脚本,则会自动安装修补程序群集.
第7章保护系统安全97对于CheckPointFirewall-1NG,还存在一个问题.
此应用程序需要推荐的修补程序群集和安全性修补程序群集中未包含的特定修补程序.
CheckPointFirewall-1NG需要以下修补程序:1084341084352.
要自动安装修补程序108434和108435,请从联机的SunSolve下载最新的版本并将它们放入Patches目录.
3.
用每个修补程序名称创建一个调用add_patch助手功能的全新finish脚本(例如,fw1-patch-install.
fin).
该finish脚本通过两个CheckPointFirewall-1NG所需修补程序ID号调用适当的助手功能.
例如:指定和安装OS群集为OS安装定义完磁盘布局后,下一个任务是指定需要安装哪一个SolarisOS群集.
选择SolarisOS可用的五个安装群集之一:SUNWCreq、SUNWCuser、SUNWCprog、SUNWCall和SUNWCXall.
指定和安装OS群集1.
指定要安装的OS群集.
由于本案例的目标是创建一个最小且专用的防火墙设备,因此请使用最小的可用SolarisOS群集,SUNWCreq,此软件包又称作Core.
因为本群集包含了数量相对较少的软件包,所以也可能需要其他的软件包.
这些所需的其他软件包必须包含在用SolarisOS群集定义的配置文件中.
基本的配置文件定义将以下内容添加到预先定义的配置文件中.
#!
/bin/sh#add_patch108434-10#add_patch108435-10clusterSUNWCreq98SolarisSecurityToolkit4.
2管理指南2005年7月SUNWCreq安装群集包含的软件包并非都是Sun防火墙服务器正常运行所需要的.
在具有了工作基准后,请删除这些额外的软件包.
请参阅SunBluePrintsOnLine文章"MinimizingtheSolarisOperatingEnvironmentforSecurity:UpdatedfortheSolaris9OperatingEnvironment".
2.
用定义好的安全性配置文件进行安装以确定是否存在软件包依赖性问题.
如果在安装过程中遇到一些软件包依赖性问题,则认为CheckPointFirewall-1NG需要以下SolarisOS软件包:SUNWter-终端信息SUNWadmc-系统管理核心库SUNWadmfw-系统和网络管理框架SUNWlibC和SUNWlibCx-CheckPointNG应用程序程序所需软件包配置文件中的软件包完整列表如下.
注–虽然对于本案例研究而言,此列表是完整的,然而要根据部署此配置的实际环境来添加或删除附加的软件包.
软件包的最终列表可能还需要修改,直到按第108页"质量保证测试"中所述从功能及安全性两方面对系统进行了验证.
若如此,请修改配置文件,重新安装系统然后重复该测试.
3.
基于之前两个步骤中的软件包依赖性,创建一个minimize-firewall.
fin脚本.
配置JumpStart服务器和客户机本节演示了如何配置JumpStart服务器和客户机,以使用一个定制的安全性配置文件进行最小化.
有关在JumpStart环境下使用SolarisSecurityToolkit软件的详细信息,请参见第5章.
本节包含以下任务:第99页"准备基础结构"第101页"验证和检查rules文件"clusterSUNWCreqpackageSUNWteraddpackageSUNWlibCaddpackageSUNWlibCxaddpackageSUNWadmcaddpackageSUNWadmfwadd第7章保护系统安全99准备基础结构执行以下任务以准备基础结构.
以下任务演示了为在客户机上使用现有驱动程序、配置文件和finish脚本而创建基准配置的过程.
确定基准后,验证其运转是否正常,然后为所选的应用程序定制基准.
准备基础结构1.
配置JumpStart服务器和环境.
有关详细的操作指导,请参阅第5章.
2.
使用add-client命令向JumpStart服务器中添加客户机.
3.
为客户机创建一个rules文件条目,指定适当的JumpStart配置文件和finish脚本.
例如:4.
通过复制SolarisSecurityToolkit软件提供的文件,创建名为xsp-minimal-firewall.
profile的配置文件和名为xsp-firewall-secure.
driver的驱动程序文件.
在成功完成下一步之前必须创建这些文件.
最初,这些文件可能是与SolarisSecurityToolkit软件一起发行的文件的副本.
注–请勿修改与SolarisSecurityToolkit软件一起发行的原始文件.
代码示例7-1在JumpStart服务器上添加一台客户机#pwd/jumpstart#bin/add-client–cjordan–oSolaris_8_2002-02–msun4u–snomex-jumpstartcleaninguppreexistinginstallclient"jordan"removingjordanfrombootparamsupdating/etc/bootparamshostnamejordan-Profiles/xsp-minimal-firewall.
profile\Drivers/xsp-firewall-secure.
driver100SolarisSecurityToolkit4.
2管理指南2005年7月以下实例显示了如何创建文件.
本实例以一个专用的Web服务器配置为基础,因为它是开发专用防火墙的很好的基准.
5.
创建配置文件和驱动程序文件后,请按照以下所示修改文件:a.
用xsp-firewall-hardening.
driver替换与hardening.
driver相关的xsp-firewall-secure.
driver.
b.
替换定义在JASS_SCRIPTS中的与minimize-firewall.
fin和您的finish脚本(例如,fw1-patch-install.
fin)相关的两个finish脚本.
修改的脚本应与以下显示相似:代码示例7-2创建一个配置文件#pwd/jumpstart/Drivers#cpinstall-Sun_ONE-WS.
driverxsp-firewall-secure.
driver#cphardening.
driverxsp-firewall-hardening.
driver[.
.
.
]#pwd/jumpstart/Profiles#cpminimal-Sun_ONE-WS-Solaris8-64bit.
profile\xsp-minimal-firewall.
profile代码示例7-3修改的脚本的输出范例DIR="'/bin/dirname$0'"exportDIR.
${DIR}/driver.
init.
${DIR}/config.
driverJASS_SCRIPTS="minimize-firewall.
finfw1-patch-install.
fin".
${DIR}/driver.
run.
${DIR}/xsp-firewall-hardening.
driver第7章保护系统安全1016.
使用以下命令检查rules文件条目以纠正错误.
这时,应该能够在客户机(本例中为jordan)上开始JumpStart安装.
使用JumpStart配置和创建的SolarisSecurityToolkit驱动程序、finish脚本与配置文件.
7.
如果在检查rules文件时遇到问题,请参见第101页"验证和检查rules文件".
8.
在客户机的ok提示符下,输入以下命令以使用JumpStart基础结构安装客户机.
如果不能构建客户机,请检查配置并对其进行修改直到它能正常运行.
注意,本节并未提到JumpStart配置的所有方面.
有关更多细节,请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
正确运行rules文件并验证所安装的修补程序是正确的之后,可以开始进行客户机系统基础级别的安装并最小化系统和加强安全性.
验证和检查rules文件当验证rules文件以纠正错误时,可能会遇到多种问题.
本节提到了一些最常见的问题.
代码示例7-4检查rules文件以纠正错误#pwd/jumpstart#.
/checkValidatingrules.
.
.
ValidatingprofileProfiles/end-user.
profile.
.
.
ValidatingprofileProfiles/xsp-minimal-firewall.
profile.
.
.
ValidatingprofileProfiles/test.
profile.
.
.
ValidatingprofileProfiles/entire-distribution.
profile.
.
.
ValidatingprofileProfiles/oem.
profile.
.
.
ThecustomJumpStartconfigurationisok.
ok>bootnet-install102SolarisSecurityToolkit4.
2管理指南2005年7月第一次运行rules文件会产生以下输出结果.
在本例中,不存在jordan的rules条目中指定的配置文件.
配置文件xsp-minimal-firewall.
profile没有在Profiles目录中出现.
典型地,此错误产生的原因是文件名拼写错误,忘记为配置文件指定正确的路径或者还没有创建配置文件.
修正错误并再次进行检查.
第二次运行操作会暴露两个其他问题.
第一个问题是在xsp-firewall-secure.
driver中调用的驱动程序.
xsp-firewall-secure.
driver没有调用xsp-firewall-hardening.
driver,而仍然调用hardening.
driver.
第二个问题是将JASS_SCRIPTS变量错误地设置为minimize-Sun_ONE-WS.
fin而不是minimize-firewall.
fin.
以下是错误的脚本.
代码示例7-5rules文件的输出范例#pwd/jumpstart#.
/checkValidatingrules.
.
.
ValidatingprofileProfiles/xsp-minimal-firewall.
profile.
.
.
Errorinfile"rules",line20hostnamejordan-Profiles/xsp-minimal-firewall.
profileDrivers/xsp-firewall-secure.
driverERROR:Profilemissing:Profiles/xsp-minimal-firewall.
profile代码示例7-6错误脚本范例#!
/bin/shDIR="`/bin/dirname$0`"exportDIR.
${DIR}/driver.
init.
${DIR}/config.
driverJASS_SCRIPTS="minimize-Sun_ONE-WS.
fin".
${DIR}/driver.
run.
${DIR}/hardening.
driver第7章保护系统安全103以下是一个正确脚本的实例.
定制加强安全性配置所建议防火墙的加强安全性配置可随时进行定制与调整.
初始脚本基于hardening.
driver.
这意味着系统进入了"屏蔽墙",也就是说系统的所有服务都被禁用.
由于Solaris8OS不包含SecureShell客户机,因此需要进行修改以允许对防火墙进行远程的基于网络的管理.
本案例中提到的防火墙,要求FTP服务必须保持启用而且必须安装SecureShell客户机以进行远程管理.
将这两项服务限制到仅用于私用管理网络,从而不启动对任何其他网络接口的监听.
有关限制这些服务的信息,请参阅SunBluePrintsOnLine中标题为"SolarisOperatingEnvironmentSecurity:UpdatedforSolaris9OperatingEnvironment"的文章.
除了将这两项服务置于启用状态外,也将RPC服务置于启用状态,以便能够使用SolsticeDiskSuiteGUI将SolsticeDiskSuite配置为进行磁盘镜像配置.
如果不准备使用SolsticeDiskSuiteGUI,则不需要RPC服务.
本例中,需要使用GUI因而要保持启用RPC服务.
请注意,SolsticeDiskSuite的安装与配置超出了本书的范围.
本客户机所需的最终修改是使用xSP的中央SYSLOG服务器手动定制syslog.
conf脚本.
该定义的syslog.
conf文件必须安装在防火墙系统中的每台计算机上.
这些修改需要更改许多SolarisSecurityToolkit配置选项.
在以下几节中详细介绍每个所需的修改.
第104页"启用FTP服务"第104页"安装SecureShell软件"第105页"启用RPC服务"第106页"定制syslog.
conf文件"代码示例7-7正确脚本范例#!
/bin/shDIR="`/bin/dirname$0`"exportDIR.
${DIR}/driver.
init.
${DIR}/config.
driverJASS_SCRIPTS="minimize-firewall.
fin".
${DIR}/driver.
run.
${DIR}/xsp-firewall-hardening.
driver104SolarisSecurityToolkit4.
2管理指南2005年7月启用FTP服务对于本案例中的防火墙,请保留FTP服务处于启用状态.
启用FTP服务1.
要保留FTP服务处于启用状态,请设置JASS_SVCS_DISABLE和JASS_SVCS_ENABLE变量以修改update-inetd-conf.
fin文件的默认操作.
要禁用除FTP之外所有标准的SolarisOS服务,对于本案例的最佳方法是将JASS_SVCS_ENABLE定义为ftp,而确保JASS_SVCS_DISABLE保留为从finish.
init脚本中获得的默认值.
请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
2.
要通过环境变量实现更改,请在调用xsp-firewall-hardening.
driver之前,向xsp-firewall-secure.
driver添加一条与以下相似的条目.
3.
通过防火墙软件实现FTP服务以确保它仅在xSP的管理网络上可用.
其中的另一项要求是FTP应该仅在xSP的管理网络上可用.
在Solaris8OS中,既可以通过在系统上使用TCP封装器,又可以通过防火墙软件本身来实现此要求.
在本案例中,是通过防火墙软件实现此要求的.
安装SecureShell软件注–这些指导仅适用于运行Solaris8OS的系统.
如果系统当前运行的是Solaris9或10OS,则可以使用SolarisOS附带的SecureShell软件并跳过本节中的OpenSSH安装.
Solaris8OS不包含SecureShell客户机,因此如果您的系统运行的是Solaris8OS,则需要安装SecureShell客户机以便进行远程管理.
可以配置SolarisSecurityToolkit软件以安装OpenSSH工具.
请使用列在config.
driver文件(由xsp-firewall-secure.
driver使用)中的install-openssh.
fin脚本.
JASS_SVCS_ENABLE="ftp"第7章保护系统安全105安装SecureShell1.
将默认的config.
driver复制到xsp-firewall-config.
driver.
2.
在文件的副本中,去掉install-openssh.
fin的注释条目.
3.
修改xsp-firewall-secure.
driver的条目使其原本调用config.
driver转而调用xsp-firewall-config.
driver.
4.
获得OpenSSH的最新版本.
与修补程序和OS版本一样,请使用OpenSSH的最新版本.
有关最新版本信息,请参阅OpenSSH网页:http://www.
openssh.
org5.
编译最新的OpenSSH软件包,进行命名并将它安装到Packages目录下.
有关本软件包的更多信息,请参阅SunBluePrintsOnLine中标题为"ConfiguringOpenSSHfortheSolarisOperatingEnvironment"的文章.
6.
更新install-openssh.
fin脚本以反映正确的OpenSSH软件包名称.
可能需要修改install-openssh.
fin脚本.
该脚本将OpenSSH软件包名称定义为与以下格式相似:其中,软件包名称后紧跟版本号(3.
5p1)、体系结构(sparc)、体系结构版本号(sun4u)、软件包编译所针对的操作系统(5.
8)和一个pkg后缀.
7.
通过防火墙软件实现SSH以确保它仅在xSP的管理网络上可用.
其中声明的另一项要求是SecureShell仅在xSP的管理网络上可用.
在Solaris8OS中,既可以通过系统使用TCP封装器,又可以通过防火墙软件本身来实现此要求.
在本案例中,是通过防火墙软件实现此要求的.
请注意也可以通过修改SecureShell服务器的配置来实现此项要求.
启用RPC服务将RPC服务置于启用状态,从而可以使用SolsticeDiskSuite做磁盘镜像,这需要RPC服务.
因为在SolarisSecurityToolkit运行过程中可使用一个特定finish脚本disable-rpc.
fin禁用RPC服务,所以此修改是相对简单的.
注–系统的防火墙配置应该明确拒绝远程访问系统RPC服务.
OBSDssh-3.
5p1-sparc-sun4u-5.
8.
pkg106SolarisSecurityToolkit4.
2管理指南2005年7月启用RPC为xsp-firewall-hardening.
driver中的disable-rpc.
fin的条目加注释.
通过为驱动程序中的脚本加注释符而不是直接删除它们来最终禁用这些脚本.
在为JASS_SCRIPTS中定义的条目添加注释符时要小心,因为它只接受特定的注释值的组合.
以下为包含在driver.
funcsscript中的注释,说明了SolarisSecurityToolkit软件可作为注释而接受的定义在JASS_SCRIPTS中的注释符.
定制syslog.
conf文件本客户机所需的最终修改是使用xSP的中央SYSLOG服务器手动定制的syslog.
conf脚本.
该定义的syslog.
conf文件必须安装在防火墙系统中的每台计算机上.
定制syslog.
conf文件1.
复制xSP的标准syslog.
conf文件,将它重命名为syslog.
conf.
jordan,再将其放到Files/etc目录中.
SolarisSecurityToolkit软件支持几种不同的复制文件模式.
对于此配置最适当的选项是将系统主机名作为后缀附加到文件,以便只将syslog.
conf文件复制到jordan,因为它有唯一的防火墙专用修改.
在本例中,客户机叫作jordan,因而Files/etc中使用的实际文件名是syslog.
conf.
jordan.
注意,请勿为JASS_FILES定义添加此后缀,这点是非常重要的.
有关后缀的更多信息,请参阅《SolarisSecurityToolkit4.
2ReferenceManual》.
2.
如果xSP标准的syslog.
conf文件不可用,则按照如下所示创建一个定制文件syslog.
conf.
a.
复制包含在SolarisSecurityToolkit中的syslog.
conf文件,然后将它重新命名为syslog.
conf.
jordan,再将其放到Files/etc目录中.
b.
修改syslog.
conf.
jordan以使它符合xSP有关SYSLOG的标准.
#Veryrudimentarycommenthandler.
Thiscodewillonlyrecognize#commentswhereasingle'#'isplacedbeforethefilename#(separatedbywhitespaceornot).
Itthenwillonlyskipthe#verynextargument.
第7章保护系统安全1073.
验证/etc/syslog.
conf文件已列在xsp-firewall-hardening.
driver的JASS_FILES定义中.
默认情况下,xsp-firewall-hardening.
driver中的JASS_FILE定义会显示为如下.
这时,所有需要的修改已完成.
OS的安装、最小化和加强安全性操作已为特定的应用程序进行了定制并完全自动化.
唯一没有完全自动化的过程是防火墙软件和SolsticeDiskSuite的配置及安装.
虽然可以使用JumpStart技术进行这些配置,但已超出了本书的范围.
请参阅SunBluePrints书籍《JumpStartTechnology:EffectiveUseintheSolarisOperatingEnvironment》.
安装客户机对驱动程序做完所有修改后,请按本节所述安装客户机.
安装客户机1.
对驱动程序进行所有要求的修改后,请使用JumpStart基础结构安装客户机.
在客户机中的ok提示符下使用以下命令.
代码示例7-8修改的xsp-firewall-hardening.
driver输出范例JASS_FILES="/etc/dt/config/Xaccess/etc/init.
d/inetsvc/etc/init.
d/nddconfig/etc/init.
d/set-tmp-permissions/etc/issue/etc/motd/etc/notrouter/etc/rc2.
d/S00set-tmp-permissions/etc/rc2.
d/S07set-tmp-permissions/etc/rc2.
d/S70nddconfig/etc/syslog.
conf"ok>bootnet-install108SolarisSecurityToolkit4.
2管理指南2005年7月2.
如果出现错误,请修正它们并重新安装客户机的OS.
质量保证测试保护系统安全过程的最终任务涉及验证系统提供的应用程序和服务是否正常运行.
同时,此任务还验证安全性配置文件是否成功地实现了所需的修改.
非常重要的一点是,重新引导已加强安全性并最小化的平台后要全面完成此任务,以确保可以检测到并能够迅速纠正出现的任何异常和问题.
本过程分为两个任务:验证配置文件安装和验证应用程序与服务的功能.
验证配置文件安装要验证SolarisSecurityToolkit软件是否正确且没有任何错误地安装了安全性配置文件,请按照以下步骤进行检查与评估.
1.
检查安装日志文件.
此文件安装在JASS_REPOSITORY/jass-install-log.
txt中.
注–此日志文件可以作为参考以准确理解SolarisSecurityToolkit软件对系统所做的工作.
对于在系统上运行的每个操作,都会根据该运行操作的起始时间在目录中保存一个新的日志文件.
请勿直接修改这些文件和JASS_REPOSITORY目录中的其他文件.
2.
使用审计选项评估系统的安全性配置.
有关审计选项的详细信息,请参见第6章.
本案例中,使用安装了SolarisSecurityToolkit软件的客户机目录中的以下命令.
代码示例7-9评估安全性配置#.
/jass-execute-axsp-firewall-secure.
driver[NOTE]Executingdriver,xsp-firewall-secure.
driverxsp-firewall-secure.
driver:Driverstarted.
SolarisSecurityToolkitVersion:4.
2.
0[.
.
.
]第7章保护系统安全109如果在对SolarisSecurityToolkit运行操作验证时遇到任何不一致,请记下它们.
运行操作结尾处的摘要会报告所发现的不一致总数.
运行操作的全部输出位于JASS_REPOSITORY目录中.
验证应用程序和服务的功能应用程序和服务的验证过程包括一个明确的测试和一个验收规划.
此规划用于使用系统中各种各样的组件或者应用程序以确定它们可用且运行良好.
如果这样的规划不可用,则要根据系统的使用方式采取合理的方法对系统进行测试.
目的是确保加强安全性过程决不会影响应用程序或服务执行其功能.
1.
如果在加强系统安全性之后,发现了应用程序或者服务的故障,请使用第2章中所述的技术确定问题.
例如,使用truss命令.
此命令通常用于确定应用程序出现问题的故障点.
一旦了解后,即可找到问题并跟踪返回到SolarisSecurityToolkit软件所做的更改.
注–根据许多部署过SolarisSecurityToolkit软件人员的共同经验,使用本书中的方法可以避免大多数问题.
2.
以类似的方式测试CheckPointFirewall-1NG软件,并将跟踪问题返回到SolarisSecurityToolkit软件所做的修改然后纠正这些问题.
3.
如果软件包的最终列表需要修改,则修改配置文件,重新安装系统再重复测试.
110SolarisSecurityToolkit4.
2管理指南2005年7月111词汇表本列表定义了SolarisSecurityToolkit中涉及的单词缩写和首字母缩写词.
Aab2AnswerBook2ABIApplicationBinaryInterface(应用程序二进制接口)ARPAddressResolutionProtocol(地址解析协议)ASPPPAsynchronousPoint-to-PointProtocol(异步点对点协议)BBARTBasicAuditingandReportingTool(基本审计和报告工具)BINDBerkeleyInternetNameDomain(BerkeleyInternet名称域)BSDBerkeleySoftwareDistribution(Berkeley软件分发)BSMBasicSecurityModel(基本安全模型)(Solaris)CCDcompactdisc(紧凑型光盘)112SolarisSecurityToolkit4.
2管理指南2005年7月CD-ROMcompactdisc–ead-onlymemory(紧凑型光盘-只读存储器)CDECommonDesktopEnvironment(公用桌面环境)cp(1)复制文件命令cron(1M)时钟守护进程命令DDHCPDynamicHostConfigurationProtocol(动态主机配置协议)DMIDesktopManagementInterface(桌面管理界面)DMTFDistributedManagementTaskForce(分布式管理任务组)DNSDomainNameSystem(域名系统)EEEPROMelectronicallyerasableprogrammableread-onlymemory(加电可擦写的可编程只读存储器)FFACEFramedAccessCommandEnvironment(框架访问命令环境)FMRIFaultManagementResourceIdentifier(故障管理资源标识符)FTPFileTransferProtocol(文件传输协议)GGIDgroupidentifier(组标识)GUIgraphicaluserinterface(图形用户界面)词汇表113HHSFSHighSierraFileSystem(HighSierra文件系统)HTTPHyperTextTransferProtocol(超文本传输协议)IIDidentifier(标识符)IETFInternetEngineeringTaskForce(Internet工程任务组)INETDInternetservicedaemon(Internet服务守护进程)IPInternetProtocol(Internet协议)IPFInternetProtocolFilter(Internet协议过滤器)ISAinstructionsetarchitecture(指令集体系结构)JJASSJumpStartArchitectureandSecurityScripts(JumpStart体系结构和安全脚本),现在是SolarisSecurityToolkitKKDCKerberosKeyDistribution(Kerberos密钥分发)LLDAPLightweightDirectoryAccessProtocol(轻量目录访问协议)lp(1)行式打印机命令(提交打印请求)114SolarisSecurityToolkit4.
2管理指南2005年7月MMAN管理网络(SunFire高端系统内部I1网络)MD5message-digest5algorithm(message-digest5算法)MIPMobileInternetProtocol(移动Internet协议)MSPmidframeserviceprocessor(中型服务处理器)mv(1)移动文件命令NNFSNetworkFileSystem(网络文件系统)NGNextGeneration(下一代)NGZnon-globalzone(非全局区域)NIS,NIS+NetworkInformationServices(网络信息服务)NPnopassword(无密码)NSCDnameservicecachedaemon(名称服务高速缓存守护进程)OOEMOriginalEquipmentManufacturer(原始设备制造商)OSOperatingSystem(操作系统)PPAMPluggableAuthenticationModule(可插拔验证模块)PDFPortableDocumentFormat(可移植文档格式)PerlPracticalExtractionandReportLanguage(实用提取和报告语言)词汇表115PICLPlatformInformationandControlLibrary(平台信息和控制库)PPPPoint-to-PointProtocol(点对点协议)PROMPoint-to-PointProtocol(可编程只读存储器)QQAqualityassurance(质量保证)RRBACrole-basedaccesscontrol(基于角色的存取控制)rc运行控制(文件或脚本)rlogin(1)远程登录命令RFCRemoteFunctionCall(远程功能调用)RPCRemoteProcedureCall(远程过程调用)rsh(1)远程shell命令SSAsystemadministrator(系统管理员)SC系统控制器(SunFire高端系统和中型系统)scp(1)安全复制命令(远程文件复制程序)SCCSSourceCodeControlSystem(源代码控制系统)SLPServiceLocationProtocol(服务定位协议)SMASystemManagementAgent(系统管理代理)SMCSolarisManagementConsole(Solaris管理控制台)SMFServiceManagementFacility(服务管理工具)SMSSystemManagementServices(系统管理服务)116SolarisSecurityToolkit4.
2管理指南2005年7月SNMPSimpleNetworkManagementProtocol(简单网络管理协议)SPserviceprovider(服务提供商)SPARCScalableProcessorArchitecture(可伸缩的处理器体系结构)SPCSunSoftPrintClient(SunSoft打印客户机)SSH安全Shell(Solaris9和10OS)SVMSolarisVolumeManager(Solaris卷管理器)TTCPTransmissionControlProtocol(传输控制协议)tftp(1)trivialfiletransferprogram(琐碎文件传输程序)ttltime-to-live(存在时间)UUDPUserDiagramProtocol(用户图表协议)UFSUnixFileSystem(Unix文件系统)UIDuseridentifier(用户标识)UUCPUNIX-to-UNIXCopy(UNIX对UNIX复制)VVOLDVolumeManagementdaemon(VolumeManagement守护进程)WWBEMWeb-basedEnterpriseManagement(基于Web的企业管理)117索引符号/usr/bin/ldd命令,19Aadd_install_client命令,76add_to_manifest功能,59add-client脚本,3,76案例,93安全,维护,29,79安全策略标准,15查看,17开发,17安全漏洞策略,29分析,16扫描,16值,定义的,91安全配置,评估,28安全性要求,15安全性配置文件创建,案例,95模板,81默认,29嵌套或分层,26验证,55验证安装,案例,108安全性评估配置,54执行,89安全性软件,下载,35安全性状态查看,80审计,80安全性,监视,29安装安装前任务,27备份,27标准化,71规划,31加强系统,32客户机,案例,107日志文件,28软件,26软件,案例,95使SolarisOS自动化,11新系统,案例,93修补程序,10验证,27之后进行审计,89准则,2自动化,2,71自动化修补程序,10安装前任务,27118SolarisSecurityToolkit4.
2管理指南2005年7月B-b选项,撤消,61backup_file助手功能,59BSM,39版本控制,11报告,电子邮件通知,62保护经过部署的系统的安全,16保护系统安全,方法论,15保留选项,62备份安装前,27撤消运行前的要求,63审计,89备份软件,清点,18备份文件默认操作,58被利用的系统,16编译器,安装警告,40编译器,限制,40标准,安全策略,17标准,跨平台强制执行,26不能构建客户机,案例,101部署系统,71部署最小化和安全的系统,93不一致的状态,62CCheckPointFirewall-1NG,93clients从JumpStart服务器删除,77从JumpStart服务器添加,76core.
profile,74cp命令,59cron作业审计运行,80使用抑制显示输出选项,62测试功能,28测试和验收计划,28测试,在非生产系统上,37查看日志文件,28差异,发现,54超时,程序,23撤消保留选项,62备份选项,61不可用,58撤消运行,63电子邮件选项,62记录并恢复更改,57交互式运行,60命令行选项,52强制选项,61使用所需信息,57手动撤消更改,59输出选项,62限制,58选项,61选择运行,输出范例,64抑制显示输出选项,62运行,列表,64创建安全性配置文件,案例,95存储的状态,91错误解析sysidcfg文件时,JumpStart模式,73破坏内容,57,58系统崩,57系统崩溃,58消息或警告,27错误修正,修补程序,37重新引导,保护系统安全,16D-d驱动程序选项限制,49DeveloperSolarisOS群集,SUNWCprog,75developer.
profile,75DNS服务,22documentation目录,4driver.
init文件概述,5dtexec进程,25索引119电子邮件通知选项,50调试服务,24定期审计,80定制安全性审计,80策略和要求,12SolarisSecurityToolkit,12syslog.
conf文件,106准则,12独立模式,32使用,44执行,45端口,确定使用情况,25对审计输出进行排序,88对使用的审计,15多宿主的JumpStart服务器,73EEndUserSolarisOS群集,SUNWCuser,74end-user.
profile,74EntireDistributionSolarisOS群集,SUNWCall,75entire-distribution.
profile,75二进制,验证,41F-f选项,撤消,61files目录,8finish脚本撤消功能,59新建,58Finish目录,9finish.
init文件驱动程序流程,5FixModesFixModes.
tar.
Z文件,38软件,下载,38FTP服务,启用,案例,104默认配置,17返回值,21范例,配置文件,74方法论,保护系统安全,15访问权限,保护,38访问网络,保护,39风险和益处,考虑,15服务标识,16根据需要确定,24清点,18RPC,103退出,挂起,或退出,22限制,103要求,16最近使用的,确定,24服务框架,22服务要求,确定,18G跟踪更改,57更改控制策略,27更改原始文件,13更强的身份验证,17工具,可选的,41功能性测试,28添加,81问题,16修补程序,37共享库,19故障,29故障,应用程序,28故障检查,88故障排除,16撤消运行,60系统修改,54关键环境变量,26关键组件,1管理软件,清点,18管理协议,策略实例,17120SolarisSecurityToolkit4.
2管理指南2005年7月规划阶段,15规划与准备,案例,93规划,安装,31H后门访问,二进制文件,40环境变量导入,7环境,配置,32恢复更改,57JJASS,1JASS_DISPLAY_HOSTNAME变量,88JASS_DISPLAY_SCRIPTNAME变量,88JASS_DISPLAY_TIMESTAMP变量,88JASS_HOME_DIR环境变量,定义,36JASS_LOG_BANNER环境变量,85,86JASS_LOG_ERROR环境变量,86JASS_LOG_FAILURE环境变量,86JASS_LOG_SUCCESS环境变量,86JASS_LOG_WARNING环境变量,86JASS_REPOSITORY撤消运行,57检查内容,60修改内容,57jass-check-sum程序,3jass-check-sum命令,59jass-execute-a命令,90jass-execute-a命令选项,82jass-execute命令选项,44jass-execute-u命令,60jass-manifest.
txt文件,57jass-undo-log.
txt文件,64基本安全模块(BSM),39基础结构,15基础结构组件,18基础结构,准备,案例,99记录结果,22JumpStart服务器多宿主的,73配置与管理,71配置,案例,98JumpStart技术,33,71JumpStart技术,受支持的OS版本,71JumpStart客户机安装客户机,案例,107不能构建,案例,101添加,案例,99文件,存储,8JumpStart模式安装,sysidcfg目录,11解析sysidcfg文件时出现错误,73配置,33,72使用所选脚本,73使用所有脚本,73修改sysidcfg,72JumpStart配置文件,74模板,74目录,10JumpStart体系结构和安全脚本(JASS),1JumpStart体系结构,集成SolarisSecurityToolkit,72基于主机的访问控制,16集中的syslog系统信息库,29加密,17加密软件,39加强运行撤消列表,64恢复更改,63执行SolarisSecurityToolkit,42假设与限制,案例,94鉴别服务,22更强,17强,39检查failed,88添加,81检查安全性状态,80索引121监视安全,29监视软件,清点,18脚本列表,5命名,13修改,警告,73较慢的网络连接,使用抑制显示输出,62结构,软件,3结果,记录,22进程标识符,21确定哪些正在使用文件和端口,25警告消息在系统引导或应用程序启动时显示,27执行SolarisSecurityToolkit软件,38经过部署的系统安装软件,26保护安全,16K-k选项,撤消,62Kerberos,17kill命令,23可操作的或管理功能,清点,18库,共享,19快速加强系统,33框架,服务,22框架,自定义SolarisSecurityToolkit,59扩展,17LLDAP,22ldd命令,24librpcsvc.
so.
1条目,24lsof程序,25lsof程序,获得,25历史记录选项,50列出打开的文件的程序,25M-m选项撤消,62审计,83make-jass-pkg程序,3man目录,5MD5二进制文件,40MD5软件md5.
tar.
Z文件,41下载,40密码策略实例,17passwd(1)命令,18命令行选项撤消,52,61电子邮件通知,50help,48jass-execute命令,43历史记录,50驱动程序,49root,52审计,46,82审计,帮助,82输出文件,51抑制显示输出,51最近执行,50命名标准安装,9定制文件,13SolarisOS,9命名服务,22命名文件,标准,13模板,配置文件,74默认安全性配置文件,29配置,FTP和Telnet,17模式,32目录finish脚本,9JumpStart配置文件,10结构,4列表,4man,5122SolarisSecurityToolkit4.
2管理指南2005年7月OS,9启动,7驱动程序,5软件包,10sysidcfg,11审计脚本,4文件,8修补程序,10运行,57Nnetstat命令,24NFS应用程序依赖于,24NIS,22O-o选项,撤消,62-o选项,审计,84OEMSolarisOS群集,SUNWCXall,75oem.
profile,75OpenSSH编译,40创建及配置,40软件,下载,39OS目录,9OS群集,指定和安装,案例,97OS映像,9Ppfiles命令,25pkgadd命令,36pkill命令,23pldd命令,20ps命令,23配置安全性评估,54JumpStart服务器,71JumpStart服务器,案例,98JumpStart模式,72检查准则,54监视和维护,29脚本,10配置环境,31评估,案例,108审计,80审计报告,88信息,驱动程序,5正在运行的和存储的之间的差异,27准则,2自定义,案例,94,103自动化,2配置文件规划和准备,15JumpStart,10,74JumpStart配置文件,10检测,91目录,10确定是否正在使用,21修改,74主要,5屏蔽墙,103评估系统,80平台最小化,21破坏内容,文件,57,58Q-q选项,撤消,62-q选项,审计,84启动目录,7嵌套或分层安全性配置文件,26强身份验证,39强制选项,61清单文件,58清单文件项处理多个,65情形,保护系统安全,93驱动程序索引123命名,13目录,5配置信息,5驱动程序控制流程,6驱动程序目录,5驱动程序选项,49驱动程序,JumpStart服务器,73权限对象,默认,38权限管理,16权限,保护,38确定保留为启用状态的OS服务,53确定动态加载的应用程序,20Rrc脚本,审计运行,80RecommendedandSecurityPatchClusters存储,10下载,37reverse-jass-manifest.
txt文件,58rm_install_client命令,77rm-client脚本,3,77root的选项,52目录,36RPC端口映射器,22服务,103rpcinfo命令,22,23rules文件JumpStart服务器,73,75检查,案例,101rusers服务,验证,23rusers命令,23日志操作,57考虑,15日志文件安装,28查看,28入侵检测,16软件安装,脚本,10软件包目录,10添加非pkg格式的软件包,59软件包名称,案例,105软件包目录,10软件包,添加非pkg格式的软件包,59软件组件,3SSCCS,11scp命令,37SecureShell安装,案例,105产品要求,35创建及配置,40软件,下载,39商业版本,编译,40secure.
driver,执行,45SI_CONFIG_DIR,在子目录中安装软件,73SIGHUP信号,23SNMP,24SolarisFingerprintDatabaseCompanion,41SolarisFingerprintDatabaseSidekick,41SolarisOS服务,检查,53命名标准,9群集,SUNWCreq,74软件包格式,36修正,37映像,9SolarisSecurityToolkit软件,下载,36为JumpStart模式安装,73Solaris指纹数据库,41SolsticeDiskSuite,95SunSolveOnLineWeb站点,37SUNWjass目录,36SUNWjass-n.
n.
pkg,36sysidcfg124SolarisSecurityToolkit4.
2管理指南2005年7月目录,11文件,73文件范例,11文件,版本限制,72文件,为JumpStart模式做修改,72syslog存储库,29消息,日志,29删除客户机,从JumpStart服务器,77设计,SolarisSecurityToolkit软件,1审计案例,108安全性评估,89备份,警告,89标题,85电子邮件选项,83定制,80过程,91仅报告失败,86控制输出,82命令,82排序输出,88配置报告,88日志项,范例,88输出选项,84显示结果,84消息,85选项,82抑制显示输出选项,84周期性,80主机名、脚本名称和时间戳信息,88自动化,79最小扫描,80审计,限制,1审计,已定义,79审计策略,29审计脚本定制,81目录,4所有权,80相匹配的驱动程序,58审计系统,79审计选项,46生命周期,维护安全性,55使系统安装标准化,71手动查看,安全,29手动更改,在撤消过程中保留,62守护程序,禁用,39收集信息,正在运行的进程,19输出禁用,51排序审计,88审计运行范例,90最小化,86输出选项撤消,62审计,84文件,51数据完整性,16数字指纹,40私用管理网络,103sun4u,40所有权的驱动程序和脚本,80TTCP封装器,105Telnet,启用,81truss命令,20,29ttsession进程,25特洛伊,定义,40提取修补程序,10体系结构,SolarisSecurityToolkit软件,4添加JumpStart客户机,案例,99添加客户机,从JumpStart服务器,76停运时间,16通知,在撤消过程中产生,62脱机,保护系统安全,16Uuncompress命令,36undo-log.
txt文件,58索引125user.
init文件,5user.
init.
SAMPLE,用途,13user.
run.
SAMPLE,用途,13W完整性二进制文件,检查,40可执行文件,验证,41软件,下载,41数据,16文件系统,16完整性管理解决方案,11维护安全,29,79维护版本控制,11维护窗口,16稳定性,37文件不一致,62JumpStart客户机,存储,8检查手动更改,60列出并检查更改,59命名标准,13目录,8配置文件,74破坏内容,57,58确定使用情况,25修改,13文件范例,sysidcfg,11文件名,36文件系统完整性,16文件系统对象获得信息,19文件校验和,59问题,28X系统安全漏洞,29调用,21二进制,验证,41配置,监视和维护,29损坏,57,58稳定性,验证,27要求,案例,94引导,消息,27状态,19系统日志syslog.
conf文件,自定义,106下载安全性软件,35显示帮助选项,48显示帮助选项,审计,82限制编译器,40限制服务,103相关资源,xviii详细级别,84消息,审计,85校验和,59性能SolarisOS修补程序,37修补程序,37安装,10安装后重新加强系统,32创建子目录,10覆盖配置文件,29命名目录,10目录,10README文件,37提取,10添加未安装的修补程序,81移动文件,37修改代码,12配置文件,74修改,跟踪,57修改,验证,53需要的软件,35选项备份,撤消,61撤消命令,61电子邮件通知,50电子邮件,撤消,62126SolarisSecurityToolkit4.
2管理指南2005年7月电子邮件,审计,83help,48jass-execute命令,43历史记录,50驱动程序,49root,52审计,46,82审计,帮助,82输出文件,51抑制显示输出,51抑制显示输出选项,撤消,62抑制显示输出,审计,84最近执行,50Y验证安全性配置文件安装,28功能,多次重新引导,16系统稳定性,27应用程序和服务功能,28验证,在安装之前,27验证安全性配置文件,55,79验证过程,22要求安全性,17撤消加强运行,58服务,16服务,确定,18收集,21应用程序,16异常行为,22移动修补程序文件,37依赖性确定,25未识别的,16以太网接口,案例,95抑制显示输出选项,51应用程序标识,16清点,18确定动态加载的,20确定是否使用RPC端口映射器,22验证,案例,108要求,16应用程序安全性,16应用程序启动,消息,27应用修补程序,29用户交互式服务,禁用,39用户交互式会话,保护,39用途,SolarisSecurityToolkit软件,1预防措施,15源代码控制系统(SCCS),11元服务,22运行目录,57Z在独立模式下执行软件,45责任,15站点专用的驱动程序,匹配审计脚本,80指定并安装OS群集,案例,97质量保证(QA)测试,54执行SolarisSecurityToolkit,42注释标记(#),23注释处理,106助手功能,59自定义配置,案例,94自动审计,79最近执行选项,50最小化,Solaris操作系统,18最小化输出,86

GigsGigsCloud 春节优惠2022 指定云服务器VPS主机85折循环优惠码

GigsGigsCloud商家在之前介绍的还是比较多的,因为之前我一直有几台机器在使用,只是最近几年网站都陆续转型删除掉不少的网站和闲置域名,包括今年也都减少网站开始转型自媒体方向。GigsGigsCloud 商家产品还是比较有特色的,有提供香港、新加坡等亚洲机房的云服务器、VPS和独立服务器等。第一、新春优惠活动优惠码:CNY2022-15OFF截止到正月初二,我们可以使用上述优惠码在购买指定G...

90IDC-香港云主机,美国服务器,日本KVM高性能云主机,创建高性能CLOUD只需60秒即可开通使用!

官方网站:点击访问90IDC官方网站优惠码:云八五折优惠劵:90IDCHK85,仅适用于香港CLOUD主机含特惠型。活动方案:年付特惠服务器:CPU均为Intel Xeon两颗,纯CN2永不混线,让您的网站更快一步。香港大浦CN2測速網址: http://194.105.63.191美国三网CN2測速網址: http://154.7.13.95香港购买地址:https://www.90idc.ne...

野草云99元/月 ,香港独立服务器 E3-1230v2 16G 30M 299元/月 香港云服务器 4核 8G

野草云月末准备了一些促销,主推独立服务器,也有部分云服务器,价格比较有性价比,佣金是10%循环,如果有时间请帮我们推推,感谢!公司名:LucidaCloud Limited官方网站:https://www.yecaoyun.com/香港独立服务器:CPU型号内存硬盘带宽价格购买地址E3-1230v216G240GB SSD或1TB 企盘30M299元/月点击购买E5-265016G240GB SS...

端口映射器为你推荐
空间文章问问你知道我的空间有几篇文章啊?波音737起飞爆胎飞机会爆胎的吗?人人视频总部基地落户重庆渝洽会上的西部国际总部基地是做什么的?重庆网站制作重庆网站制作,哪家专业,价格最优?flashfxp注册码谁知道 FlashFXP.rar的注册码?购物车什么叫淘宝购物车腾讯官方电话腾讯公司电话多少徐州商标徐州松木家具前十名香盛圆排第几网络u盘有没有网络U盘 5G的 就像真的U盘一样的?就像下载到真U盘一样的 到自己电脑直接复制就可以拉的啊如何发帖子怎么发帖啊
台湾服务器租用 上海vps greengeeks 联通c套餐 idc评测网 国外php空间 工信部icp备案号 徐正曦 共享主机 泉州移动 国外免费asp空间 阿里云官方网站 中国电信测速网站 服务器防火墙 免备案cdn加速 黑科云 netvigator 重庆联通服务器托管 google搜索打不开 沈阳idc 更多