返回总目录   CU网友原创,转载请注明出处ChinaUnix.net及作者

 

返回总目录

 

8     安全加固手册-- 47

8.2             系统安全值设置... 47

8.2.1       查看目前系统值: 47

8.2.2       系统安全级别 推荐设置为40- 47

8.2.3       建议设置口令复杂度策略-- 47

8.2.4       密码长度-- 47

8.2.5       设置帐户最大尝试登陆次数-- 47

8.2.6       设置密码有效期-- 47

8.2.7       限制安全设备登陆-- 47

8.2.8       设置超时策略-- 47

8.2.9       限制设备sessions 47

8.2.10     用户登录信息是否显示在屏幕上-- 47

8.2.11     改变虚拟设备的自动配置值-- 47

8.2.12     改变远程登陆值-- 47

8.2.13     创建系统认证参数值-- 47

8.3             用户、组配置... 47

8.3.1       显示所有用户和组的profile 47

8.3.2       检查每个重要的组的profile,保证是由管理人员赋予的-- 47

8.3.3       检查系统内的用户,保证是都由管理人员赋予的,并且他们的设置与他们的需要的功能一致-- 47

8.3.4       系统安装时,已经预定义了许多用户的profile,这些用户的profile的密码可以从用户的profile名判断    47

8.3.5       使用以下命令取得用户和组的profile: 47

8.3.5.1        GROUP (Group Profile) 47

8.3.5.2        PWDEXPITV (密码过期周期) 47

8.3.5.3        CURLIB (当前库) 47

8.3.5.4        LMTCPB (限制权限) 47

8.3.5.5        SPCAUT (特殊权限) 47

8.3.5.6        INLPGM (初始程序) 47

8.3.5.7        INLMENU (初始菜单) 47

8.3.5.8        LMTDEVSSN (限制设备session) 47

8.3.5.9        STATUS (用户profile的状态) 47

8.3.5.10      取得一个系统全用户的列表,并且作如下检查: 47

8.3.5.11      确认是否存在未经授权的用户从他们的菜单可以访问重要的进程或执行重要的操作-- 47

8.3.6       列出所有采用QSECOFR授权的程序-- 47

8.3.7       确认采用以下安全和密码策略: 47

8.3.8       使用以下命令取得授权用户列表-- 47

8.4             库安全(Libraries... 47

8.4.1       取得系统所有库的列表-- 47

8.4.2       选择一个重要产品的的库,列出所选择库的内容(对象) 47

8.4.3       列出重要产品库中对象的授权-- 47

8.4.4       检查访问重要库的管理和授权过程-- 47

8.5             对象安全(Objects... 47

8.5.1       取得当权对象访问授权列表-- 47

8.5.2       保证只有授权用户或组可以访问敏感对象-- 47

8.5.3       查敏感对象管理和授权的过程-- 47

8.6             系统工具安全... 47

8.7             系统命令安全... 47

8.8             系统日志... 47

 

 

8安全加固手册

8.2系统安全值设置

8.2.1查看目前系统值:

WRKSYSVAL  一个一个顺序在终端上显示

或者DSPSYSVAL SYSVAL (system value)

 

8.2.2系统安全级别 推荐设置为40

QSECURITY 40

10 没有用户认证,没有资源保护

20 用户使用密码认证,没有资源保护

30 用户认证和默认的资源保护

40 30相似,但是控制了特权指令和设备的接口

(在客户端被认为具有高的风险的时候应用安全级别40。他会限制对对象,其他工作的数据和系统内部程序的直接访问)

50 增强型的安全访问控制,达到真正的C2级安全控制

 

8.2.3建议设置口令复杂度策略

QPWDVLDPGM   *NONE 无密码检测

 

8.2.4密码长度

最小密码长度

QPWDMINLEN 6

 

最大密码长度

QPWDMAXLEN 10

 

8.2.5设置帐户最大尝试登陆次数

QMAXSIGN      3(默认值)

 

达到最大尝试次数措施

QMAXSGNACN  3(默认值)

1 禁用终端

2 禁用用户配置文件

3 全部

(注:建议根据自己的情况选择,禁用终端后,可能会给别人的造成误解,怀疑设备损坏。管理员要十分清楚该参数的含义)

 

8.2.6设置密码有效期

QPWDEXPITV 30-90

*NOMAX 不限

1-366

 

QPWDRQDDIF 1

0 可以和以前的历史记录中的32个密码一样

1 必须和以前的历史记录中的32个密码不同

 

8.2.7限制安全设备登陆

QLMTSECOFR 1

0 允许所有*ALLOBJ授权的用户在任意显示终端登陆,有*SERVICE授权的用户可以使用*CHANGE公开认证手段登陆到任意显示终端

1 不允许有*ALLOBJ *SERVICE的用户登陆到任显示终端上(主控制台除外),除非他们有特别的授权允许访问

 

8.2.8设置超时策略

QINACTITV 无活动的任务超时

*NONE:无超时

5-300 超时最大允许时间(分钟)

推荐15

 

非授权用户在某个时间段无操作,系统将会根据该参数值决定是否断开当前的session

认证用户通过再次登陆,可以继续以前session所保留的屏幕。当设置中断连接任务(*DSCJOB值去中断任意交互式登陆。

 

8.2.9限制设备sessions

QLMTDEVSSN

0 不限制一个终端的特定用户ID的在同一时刻的使用数

1 限制同一时刻只能有一个特定用户登录到这台工作站

 

8.2.10用户登录信息是否显示在屏幕上

QDSPSGNINF

0 在用户登录时,登陆信息不显示

1 以下信息会被显示

最后登陆时间

从上次登陆以来的失败登陆

密码7天或之内密码将要过期的警告

 

8.2.11改变虚拟设备的自动配置值

QAUTOVRT值控制系统自动配置虚拟设备会话(比如5250telnet)的数量

QAUTOVRT值建议设置为*nomax

 

8.2.12改变远程登陆值

QRMTSIGN值控制是否当工作站支持显示终端或工作站支持功能,允许用户略过在远端系统的登陆提示。(pass-through类似于unixrlogin功能)

可能值如下:

FRCSIGNON: 所有系统的pass through sessions必须通过正常的登录(sign-on)过程

SAMEPRF: 仅允许远端系统profile名与本地系统一致的用户进行不通过登录(sign-on)过程的pass through sessions

VERIFY: 如果 QSECURITY 设置为10,没有通过正常的登录(sign-on)过程的pass through sessions允许所有的pass through请求并且不检查密码。 QSECURITY 设置为30的时候必须进行登录。

REJECT: 不允许系统支持pass through sessions

 

8.2.13创建系统认证参数值

检查系统值报告里面的QCRTAUT参数,并且确认已经改变默认的值*CHANGE *USE或更少权限。

检查产品数据库和产品源代码被放在一个有合适的访问权限的库里维护。或者使用可视认证组件命令(Display Object Authority command )并且检查每一个重要的产品数据库和源代码的公共认证访问 PUBAUT 访问参数设置为*EXCLUDE并且都设置了合适的访问控制。

 

8.3用户、组配置

8.3.1显示所有用户和组的profile

DSPAUTUSR SEQ (*GRPPRF)

wrkusrprf *all

 

8.3.2检查每个重要的组的profile,保证是由管理人员赋予的

 

8.3.3检查系统内的用户,保证是都由管理人员赋予的,并且他们的设置与他们的需要的功能一致

 

8.3.4系统安装时,已经预定义了许多用户的profile,这些用户的profile的密码可以从用户的profile名判断

QSRVBASQSRV推荐在每次时候后改变。任何商业软件厂商安装时用的密码也应该更改。

8.3.5使用以下命令取得用户和组的profile:

取得文件:

输入 [DSPUSRPRF],按(PF4),选择输出文件和文件名,将此文件传输到PCXCOMM到一个大型机(where Office Services will copy the file/s to audits cc 0820 G drive)。

DSPUSRPRF USRPRF(profile name) TYPE(*BASIC)

每个profile检查以下设置:

8.3.5.1          GROUP (Group Profile)

检查每个组里面的用户是否应具有此权限

 

8.3.5.2          PWDEXPITV (密码过期周期)

*SYSVAL:系统默认值为 QPWDEXPITV

如果已经设置为一个数字,则表示此用户已经设置密码过期周期。

 

8.3.5.3          CURLIB (当前库)

检查用户是否指定了合适的库(library)。并且保证库足够的安全

 

8.3.5.4          LMTCPB (限制权限)

指定是否用户可以更改初始程序,初始菜单,当前库和attention-key-handling程序值。

*NO:用户可以使用CHGPRF命令改变自己用户profile里面的所有值。

*PARTIAL:初始化程序和当前库值不能改变。初始菜单可以改变(使用CHGPRF)并且可以在菜单命令行处输入命令。

*YES:初始程序,初始菜单和当前库不能改变。菜单命令行处可以运行部分命令。

推荐值:产品用户设置为*YES

 

8.3.5.5          SPCAUT (特殊权限)

*ALLOBJ      - 几乎所有对象允许无限访问

*SECADM     - 允许管理用户profile

*SAVSYS      - 保存和恢复系统和数据

*JOBCTL      - 允许操作工作队列和子系统

*SERVICE      - 允许一些没有控制的功能

*SPLCTL              - 允许控制池(spool)功能

*USRCLS       - 授予用户对他所在的级别(class)特别的授权

*NONE          - 没有特别的授权  

 

检查是否每个用户级别特别的授权是否适当。

一般来说,用户和程序不应该有任何特殊授权。

默认SECADM, QSECOFR, SYSOPR具有*SAVSYS*JOBCTL特殊授权。

推荐设置*PUBLIC默认设置为*EXCLUDE

 

8.3.5.6          INLPGM (初始程序)

*NONE:没有初始程序,用户直接进入命令行。

初始程序,除了注销(sign-off)之外不会提供程序的退出手段。

如果在初始菜单参数中指定了具体菜单名的话,菜单将会被显示。

保证没有菜单/子菜单中没有退出选项到命令行级。

 

8.3.5.7          INLMENU (初始菜单)

*SIGNOFF:当初始程序结束会从系统中注销用户

菜单安全限制一个用户的权力,并且限制这个用户使用一个安全的环境变量。

初始菜单在初始程序结束后显示。确保用户被设置了菜单,并且菜单的选项适合用户的工作运行。

菜单安全的好处是它容易去执行,会降低安全管理的开销;并且会改善使用界面。

推荐设置:当访问库和对象的时候限制权限。

 

8.3.5.8          LMTDEVSSN (限制设备session)

*SYSVAL:如果用户被限制在一个终端session的时候选择此系统值

*NO:不限制访问一个用户id访问设备的session

*YES:限制一个用户id访问一个终端的session.

推荐值: *YES 或者 *SYSVAL and QLMTDEVSSN - 设置为选项(limit number of device sessions to one).

 

8.3.5.9          STATUS (用户profile的状态)

设置用户profile是否使用。

*ENABLED:   使用

*DISABLED:  不使用

推荐值: 无用的和暂不使用的用户profile应设置为*DISABLE以防止未经授权的访问

注意系统用户profilesQSYS, QSECOFR, 等,必须设置为*ENABLE.

 

8.3.5.10    取得一个系统全用户的列表,并且作如下检查:

a.确认所有的用户和组被单独赋予权限

b.确认是否所有的用户授权均基于部门间已有的管理授权机制

c.确认所有的用户均处在雇佣状态。

 

8.3.5.11    确认是否存在未经授权的用户从他们的菜单可以访问重要的进程或执行重要的操作

 

8.3.6                 列出所有采用QSECOFR授权的程序

DSPPGMADP USRPRF(QSECOFR)  [optional  OUTPUT(*PRINT) to print]

执行此命令可能会消耗大量系统资源。

确认安全管理员知道这些程序,以及是否应在添加新的用户考虑是否应对他们设置授权。

推荐设置:安全管理员应监控QSECOFR授权赋予权限的程序。

 

8.3.7                 确认采用以下安全和密码策略:

a.安全的赋予和分发密码

b.选择密码标准

c.在雇员离职后更改密码或删除用户(可以从前面的登陆日期得到报告)

d.定期更改密码

e.培训用户密码保密的必要性和在不用时注销工作站

f.当发现违反安全规定时候的处置措施

 

8.3.8                 使用以下命令取得授权用户列表

DSPAUTUSR

列表包括用户profile,上次更改密码日期和用户profile说明。

可以从上次更改密码日期判断是否在一个合理的周期内更改密码。

 

8.4                         库安全(Libraries

8.4.5                 取得系统所有库的列表

DSPOBJD OBJ(QSYS/*ALL) OBJTYPE(*LIB) OUTPUT(*PRINT)

判断产品对象production objects被从开发对象development objects中分割在单独的库里

 

8.4.6                 选择一个重要产品的,列出所选择库的内容(对象)

DSPLIB (Library Name)  

确认产品库中只有产品的对象.

 

8.4.7                 列出重要产品库中对象的授权

DSPOBJAUT OBJ(QSYS/library name) OBJTYPE(*LIB)

确认仅有授权的用户和组可以访问。开发用户应该没有产品库的访问权限。并且检查库的所有者是否恰当。

 

8.4.8                 检查访问重要库的管理和授权过程

推荐:强烈推荐使用库的安全分级,它将会使对象和库的变得容易并且有效。

 

8.5                         对象安全Objects

8.5.5                 取得当权对象访问授权列表

选择产品多项中的敏感对象(数据文件或源代码)并且打印他们的指定的对象授权:

DSPOBJAUT OBJ(library/file) OBJTYPE(*FILE) (for files), and

DSPOBJAUT OBJ(library/program) OBJTYPE (*PGM) (for programs).

 

8.5.6                 保证只有授权用户或组可以访问敏感对象

 

8.5.7                 查敏感对象管理和授权的过程

 

8.6                         系统工具安全

系统中提供了以下功能强大的工具

SST        System Service Tools

DST              Dedicates Service Tools

DFU              Data File Utility

SEU        Source Entry Utility

SDA              Screen Design Aid

PDM              Programming Development Manager

QUERY   Query Language

确定谁有以上工具的访问权限:

DSPOBJAUT OBJ(QSYS/STRDFU) OBJTYPE (*CMD).

DSPOBJAUT OBJ(QSYS/STRSEU) OBJTYPE (*CMD).

DSPOBJAUT OBJ(QSYS/STRSDA) OBJTYPE (*CMD).

DSPOBJAUT OBJ(QSYS/STRPDM) OBJTYPE (*CMD).

DSPOBJAUT OBJ(QSYS/STRQRY) OBJTYPE (*CMD).

只有授权的程序员才可访问以上工具。

推荐设置:*PUBLIC访问应该设置为*EXCLUDE而不是*USE

 

8.7                         系统命令安全

系统中有以下功能比较强的系统命令:

CRTUSRPRF         Create User Profile

CHGUSRPRF Change User Profile

DLTUSRPRF         Delete User Profile

RSTUSRPRF         Restore User Profile

CHGDSTPWD       Change Dedicated Service Tool Password

RSTAUT        Restore Authority

STRSST        System Service Tools

CRTAUTHLR  Create Authority Holder

DLTAUTHLR  Delete Authority Holder

SAVSYS         Save the System

CHGSYSLIBL Change System Library

CHGSYSVAL  Change System Value

 

限制只有安全管理员 (QSECADM)和安全长官(QSECOFR) 可以访问。应该拒绝PUBLIC访问。一个用户当他拥有*ALLOBJ授权的时候,应该不能使用以上命令。

限制为仅允许服务工程师(OSRV)

限制为仅允许安全长官 (QSECOFR)

更改DST密码需要 DST安全密码(DST security password

限制为*SAVSYS所有者。

*PUBLIC应设置为*EXCLUDE

 

检查以上重要安全相关的命令的对象授权

DSPOBJAUT OBJ(QSYS/cmd) OBJTYPE(*CMD)

保证仅有授权的用户可以使用这些命令。

推荐设置:Public授权应设置为*EXCLUDE

 

8.8                         系统日志

A.        取得系统日志,并检查访问用户的初始化、注销等信息,一般来说应该是系统管理员或安全长官

一般不看全部的系统日志(太大)。

使用以下命令查看历史纪录中显示的消息

DSPLOG LOG(QHST) PERIOD (start-time start-date) (end-time end-date) MSGID (message-identifier) OUTPUT(*PRINT){of OUTPUT(*)}

DSPLOG  F4获得更多的参数列表

安全信息大部分在CPF2201CPF2299的范围内。如果需要查看所有的信息就需要输入信息号CPF2200。例如CPF2234表示错误的密码,CPF2240对象授权未通过。

 

B.        列出QHST中的显示对象认证"Display Object Authority"列表

DSPOBJAUT  OBJ(QHST) OBJTYPE(*MSGQ) OUTPUT(*LIST)

检查是否只有安全长官具有访问QHST对象,PUBLIC应设置为*EXCLUDE

 

C.        如果未使用系统日志,检查审核日志(QAUDJRN)是否运行

安全长官可以使用收集特定安全相关事件的审计信息监视安全。可以使用以下命令:

1)        创建日志接收器

CRTJRNRCV  JRNRCV(user-lib/user-name1) AUT(*EXCLUDE)

2)        创建分类

CRTJRN  JRN(QSYS/QAUDJRN)  JRNRCV  (user-lib/user-name1) AUT(*EXCLUDE)

3)        更改系统值

CHGSYSVAL  QAUDLVL  VALUES ('AUTFAIL *SECURITY *PGMFAIL ...'

QAUDLVL值控制安全相关的事件记录到这个日志里。

推荐QAUDLVL作如下设置:

AUTFAIL - 记录所有认证失败;

SECURITY - 记录安全相关行为,如对象授权,用户profile,系统值

PGMFAIL (security level 40) - 每个对象域创建一个认证失败的策略,锁定指令或程序认证失败   

 

D.       保证安全长官在日志中发现的访问违规行为通知用户所在部门的负责人,并且听取用户所在部门负责人对此的解释。

 

E.        在用户部门调整或人员变动之后取得新的用户授权的说明,最少6个月一次检查系统授权。