8.3.2 检查每个重要的组的profile,保证是由管理人员赋予的
8.3.3 检查系统内的用户,保证是都由管理人员赋予的,并且他们的设置与他们的需要的功能一致
8.3.4 系统安装时,已经预定义了许多用户的profile,这些用户的profile的密码可以从用户的profile名判断
8.3.5.8 LMTDEVSSN
(限制设备session)
8.3.5.10 取得一个系统全用户的列表,并且作如下检查:
8.3.5.11 确认是否存在未经授权的用户从他们的菜单可以访问重要的进程或执行重要的操作
8.4.2 选择一个重要产品的的库,列出所选择库的内容(对象)
WRKSYSVAL 一个一个顺序在终端上显示
或者DSPSYSVAL SYSVAL (system value)
QSELUPARITY 40
10 没有用户认证,没有资源保护
20 用户使用密码认证,没有资源保护
30 用户认证和默认的资源保护
40 跟30相似,但是控制了特权指令和设备的接口
(在客户端被认为具有高的风险的时候应用安全级别40。他会限制对对象,其他工作的数据和系统内部程序的直接访问)
50 增强型的安全访问控制,达到真正的C2级安全控制
QPWDVLDPGM *NONE 无密码检测
最小密码长度
QPWDMINLEN 6
最大密码长度
QPWDMAXLEN 10
QMAXSIGN 3(默认值)
达到最大尝试次数措施
QMAXSGNACN 3(默认值)
1 禁用终端
2 禁用用户配置文件
3 全部
(注:建议根据自己的情况选择,禁用终端后,可能会给别人的造成误解,怀疑设备损坏。管理员要十分清楚该参数的含义)
QPWDEXPITV 30-90
*NOMAX 不限
1-366 天
QPWDRQDDIF 1
0 可以和以前的历史记录中的32个密码一样
1 必须和以前的历史记录中的32个密码不同
QLMTSECOFR 1
0 允许所有有*ALLOBJ授权的用户在任意显示终端登陆,有*SERVICE授权的用户可以使用*CHANGE公开认证手段登陆到任意显示终端
1 不允许有*ALLOBJ 或 *SERVICE的用户登陆到任一显示终端上(主控制台除外),除非他们有特别的授权允许访问
QINACTITV 无活动的任务超时
*NONE:无超时
5-300 超时最大允许时间(分钟)
推荐15
非授权用户在某个时间段无操作,系统将会根据该参数值决定是否断开当前的session。
认证用户通过再次登陆,可以继续以前session所保留的屏幕。当设置中断连接任务(*DSCJOB)值去中断任意交互式登陆。
QLMTDEVSSN
0 不限制一个终端的特定用户ID的在同一时刻的使用数
1 限制同一时刻只能有一个特定用户登录到这台工作站
QDSPSGNINF
0 在用户登录时,登陆信息不显示
1 以下信息会被显示
最后登陆时间
从上次登陆以来的失败登陆
密码7天或之内密码将要过期的警告
QAUTOVRT值控制系统自动配置虚拟设备会话(比如5250telnet)的数量
QAUTOVRT值建议设置为*nomax
QRMTSIGN值控制是否当工作站支持显示终端或工作站支持功能,允许用户略过在远端系统的登陆提示。(pass-through类似于unix的rlogin功能)
可能值如下:
FRCSIGNON: 所有系统的pass through sessions必须通过正常的登录(sign-on)过程
SAMEPRF: 仅允许远端系统profile名与本地系统一致的用户进行不通过登录(sign-on)过程的pass through sessions
VERIFY: 如果 QSELUPARITY 设置为10,没有通过正常的登录(sign-on)过程的pass through sessions允许所有的pass through请求并且不检查密码。 QSELUPARITY 设置为30的时候必须进行登录。
REJECT: 不允许系统支持pass through sessions
检查系统值报告里面的QCRTAUT参数,并且确认已经改变默认的值*CHANGE为 *USE或更少权限。
检查产品数据库和产品源代码被放在一个有合适的访问权限的库里维护。或者使用可视认证组件命令(Display Object Authority command )并且检查每一个重要的产品数据库和源代码的公共认证访问 (PUBAUT) 访问参数设置为*EXCLUDE并且都设置了合适的访问控制。
DSPAUTUSR SEQ (*GRPPRF)
wrkusrprf *all
QSRVBAS和QSRV推荐在每次时候后改变。任何商业软件厂商安装时用的密码也应该更改。
取得文件:
输入 [DSPUSRPRF],按(PF4),选择输出文件和文件名,将此文件传输到PC或XCOMM到一个大型机(where Office Services will copy the file/s to audits cc
DSPUSRPRF USRPRF(profile name) TYPE(*BASIC)
每个profile检查以下设置:
检查每个组里面的用户是否应具有此权限
*SYSVAL:系统默认值为 QPWDEXPITV
如果已经设置为一个数字,则表示此用户已经设置密码过期周期。
检查用户是否指定了合适的库(library)。并且保证库足够的安全
指定是否用户可以更改初始程序,初始菜单,当前库和attention-key-handling程序值。
*NO:用户可以使用CHGPRF命令改变自己用户profile里面的所有值。
*PARTIAL:初始化程序和当前库值不能改变。初始菜单可以改变(使用CHGPRF)并且可以在菜单命令行处输入命令。
*YES:初始程序,初始菜单和当前库不能改变。菜单命令行处可以运行部分命令。
推荐值:产品用户设置为*YES
*ALLOBJ - 几乎所有对象允许无限访问
*SECADM - 允许管理用户profile
*SAVSYS - 保存和恢复系统和数据
*JOBCTL - 允许操作工作队列和子系统
*SERVICE - 允许一些没有控制的功能
*SPLCTL - 允许控制池(spool)功能
*USRCLS - 授予用户对他所在的级别(class)特别的授权
*NONE - 没有特别的授权
检查是否每个用户级别特别的授权是否适当。
一般来说,用户和程序不应该有任何特殊授权。
默认SECADM, QSECOFR, 和SYSOPR具有*SAVSYS和*JOBCTL特殊授权。
推荐设置*PUBLIC默认设置为*EXCLUDE。
*NONE:没有初始程序,用户直接进入命令行。
初始程序,除了注销(sign-off)之外不会提供程序的退出手段。
如果在初始菜单参数中指定了具体菜单名的话,菜单将会被显示。
保证没有菜单/子菜单中没有退出选项到命令行级。
*SIGNOFF:当初始程序结束会从系统中注销用户
菜单安全限制一个用户的权力,并且限制这个用户使用一个安全的环境变量。
初始菜单在初始程序结束后显示。确保用户被设置了菜单,并且菜单的选项适合用户的工作运行。
菜单安全的好处是它容易去执行,会降低安全管理的开销;并且会改善使用界面。
推荐设置:当访问库和对象的时候限制权限。
*SYSVAL:如果用户被限制在一个终端session的时候选择此系统值
*NO:不限制访问一个用户id访问设备的session
*YES:限制一个用户id访问一个终端的session.
推荐值: *YES 或者 *SYSVAL and QLMTDEVSSN - 设置为选项一(limit number of device sessions to one).
设置用户profile是否使用。
*ENABLED: 使用
*DISABLED: 不使用
推荐值: 无用的和暂不使用的用户profile应设置为*DISABLE以防止未经授权的访问
注意系统用户profiles如QSYS, QSECOFR, 等,必须设置为*ENABLE.
a.确认所有的用户和组被单独赋予权限
b.确认是否所有的用户授权均基于部门间已有的管理授权机制
c.确认所有的用户均处在雇佣状态。
DSPPGMADP USRPRF(QSECOFR) [optional OUTPUT(*PRINT) to print]
执行此命令可能会消耗大量系统资源。
确认安全管理员知道这些程序,以及是否应在添加新的用户考虑是否应对他们设置授权。
推荐设置:安全管理员应监控QSECOFR授权赋予权限的程序。
a.安全的赋予和分发密码
b.选择密码标准
c.在雇员离职后更改密码或删除用户(可以从前面的登陆日期得到报告)
d.定期更改密码
e.培训用户密码保密的必要性和在不用时注销工作站
f.当发现违反安全规定时候的处置措施
DSPAUTUSR
列表包括用户profile,上次更改密码日期和用户profile说明。
可以从上次更改密码日期判断是否在一个合理的周期内更改密码。
DSPOBJD OBJ(QSYS/*ALL) OBJTYPE(*LIB) OUTPUT(*PRINT)
判断产品对象production objects被从开发对象development objects中分割在单独的库里
DSPLIB (Library Name)
确认产品库中只有产品的对象.
DSPOBJAUT OBJ(QSYS/library name) OBJTYPE(*LIB)
确认仅有授权的用户和组可以访问。开发用户应该没有产品库的访问权限。并且检查库的所有者是否恰当。
推荐:强烈推荐使用库的安全分级,它将会使对象和库的变得容易并且有效。
选择产品多项中的敏感对象(数据文件或源代码)并且打印他们的指定的对象授权:
DSPOBJAUT OBJ(library/file) OBJTYPE(*FILE) (for files), and
DSPOBJAUT OBJ(library/program) OBJTYPE (*PGM) (for programs).
系统中提供了以下功能强大的工具
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。
系统中有以下功能比较强的系统命令:
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。
A. 取得系统日志,并检查访问用户的的初始化、注销等信息,一般来说应该是系统管理员或安全长官
一般不看全部的系统日志(太大)。
使用以下命令查看历史纪录中显示的消息
DSPLOG LOG(QHST) PERIOD (start-time start-date) (end-time end-date) MSGID (message-identifier) OUTPUT(*PRINT){of OUTPUT(*)}
DSPLOG 按F4获得更多的参数列表
安全信息大部分在CPF2201到CPF2299的范围内。如果需要查看所有的信息就需要输入信息号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 *SELUPARITY *PGMFAIL ...'
QAUDLVL值控制安全相关的事件记录到这个日志里。
推荐QAUDLVL作如下设置:
AUTFAIL - 记录所有认证失败;
SELUPARITY - 记录安全相关行为,如对象授权,用户profile,系统值
PGMFAIL (security level 40) - 每个对象域创建一个认证失败的策略,锁定指令或程序认证失败
D. 保证安全长官在日志中发现的访问违规行为通知用户所在部门的负责人,并且听取用户所在部门负责人对此的解释。
E. 在用户部门调整或人员变动之后取得新的用户授权的说明,最少6个月一次检查系统授权。