中国外汇交易中心
工程运行部
修订记录
版本号 | 作者 | 操作 | 日期 | 审核人 | 审核日期 | 说明 |
V1.0 | 顾勇 | |||||
V1.1 | 胡希秀 | 增加 | 2011-10-08 | |||
V1.2 | 韩啸 | 增加 | 2011-11-1 | |||
V1.3 | 胡希秀 | 修改 | 2011-12-15 | 根据实际情况调整 | ||
V1.4 | 胡希秀 | 修改 | 2012-01-13 | 增加iFix IV075内容 | ||
V1.5 | 胡希秀 | 修改 | 2012-05-10 | 根据实际情况调整 | ||
V1.6 | 胡希秀 | 修改 | 2012-05-25 | 增加itmsupt用户和组 | ||
修订记录 2
安全要求核对表 4
1. 适用环境 6
2. 安装选项 6
3. 软件安装清单 7
3.1. 系统自带 7
3.2. 扩展 7
4. 用户和组 9
4.1. 组 9
4.2. 用户 9
5. 存储和文件系统 10
5.1. rootvg的配置 10
5.2. vg的缺省配置参数 10
5.3. rootvg中的文件系统 10
6. 系统补丁 12
6.1. iFix IV075 12
6.2. eFix IZ96883 12
7. 系统环境设置 12
7.1. Shell 12
7.2. 内核 13
7.3. limit配置 13
7.4. root用户 14
7.4.1. 主目录 14
7.4.2. profile文件 14
7.5. NTP 15
6.5 sysdump 15
6.6 存储相关参数 15
8. 系统安全设置 17
8.1. 登录控制策略(/etc/security/login.cfg) 17
8.2. 禁用和清理帐户 17
8.3. 用户设置(/etc/security/user) 17
8.4. 主机信任安全 18
8.5. SSH安装和配置 18
8.6. 网络安全参数 19
8.7. 资源控制( /etc/security/limits) 19
8.8. 主机日志审计(生产环境) 19
8.9. 停止以下服务 19
8.10. 更改SNMP服务community name 20
8.11. 数据库账号管理 21
8.12. 网络参数 21
安全要求核对表
参照的安全规范DSS位置 | 安全规范版本 | 编号 | 安全检查项 | 是否符合(符合/部分符合/不符合) | 说明 |
$/安全制度与规定/系统安全配置规范/操作系统安全配置规范/通用安全要求.doc | 1.4 | Com01 | 用户管理 | 符合 | |
Com02 | 密码管理 | 符合 | |||
Com03 | 系统管理 | 符合 | |||
Com04 | 审计和日志管理 | 符合 | |||
Com05 | 备份管理 | 符合 | |||
$/安全制度与规定/系统安全配置规范/操作系统安全配置规范/UNIX/AIX.doc | 1.5 | 01 | root账户安全 | 符合 | |
02 | 登录控制策略 | 符合 | |||
03 | 密码策略 | 符合 | |||
04 | 用户管理 | 符合 | |||
05 | 确保PATH环境变量中不包含当前目录“.”和默认目录“ ~ ”(基本) | 符合 | |||
06 | 确保关闭rlogin、rsh、rexec服务(基本) | 符合 | |||
07 | 修改部分可执行文件的权限(基本) | 符合 | |||
08 | 设置/etc/rc.d/init.d/目录下文件权限(基本) | 符合 | AIX未使用该目录 | ||
09 | 修改系统文件权限(基本) | 不符合 | 暂时未变动 | ||
10 | 管理cron和at运行的后台作业(基本) | 不符合 | 暂时未变动 | ||
11 | 修改Crontab文件属性(基本) | 不符合 | 暂时未变动 | ||
12 | 如无必要,不安装/删除桌面环境软件包(基本) | 符合 | |||
13 | 桌面环境安全(基本) | 符合 | |||
14 | 系统资源配额管理(建议) | 符合 | |||
15 | 根据系统应用关闭不必要的服务(基本) | 不符合 | 暂时未变动 | ||
16 | 加固系统TCP/IP配置;(基本) | 符合 | |||
17 | 能文件传输的用户(建议); | 不符合 | 暂时未变动 | ||
18 | 修改网络配置文件权限(基本) | 不符合 | 暂时未变动 |
操作系统:AIX
操作系统位数:位
以AIX 6.1为例,操作系统版本需遵循最新的《版本规划》,具体配置可根据实际情况调整并作记录。
2.安装选项
使用缺省值
3.软件安装清单
3.1.系统自带
bundle | server |
app-dev | |
perf-tools | |
CDE | |
语言 | IBM-eucCN Chinese (Simplified EUC) [zh_CN] |
HA | bos.data |
bos.clvm.enh | |
rsct.basic.hacmp | |
rsct.basic.rte | |
rsct.basic.sp | |
rsct.compat.basic.hacmp | |
rsct.compat.basic.rte | |
rsct.compat.basic.sp | |
rsct.compat.clients.hacmp | |
rsct.compat.clients.rte | |
rsct.compat.clients.sp | |
SMB | bos.cifs_fs.rte |
软件名 | 模块 | 版本 | 来源 |
ssh for AIX 6.1 | openssl | 0.9.8.1800 | 安装盘扩展盘 |
openssh | 5.8.0.6102 | 安装盘扩展盘 | |
ssh for AIX 5.3 | openssl | 0.9.8.1101 | 安装盘扩展盘 |
openssh | 5.2.0.5301 | 安装盘扩展盘 | |
sudo | sudo.1.7.5.0.bff.gz | 1.7.5.0 | http://www.gratisoft.us/sudo/download.html |
lsof | lsof.base lsof.license lsof.man.en_US | 4.8.2.0 | 安装盘扩展盘 |
4.1.组
根据配置数据“服务器用户和组”,创建以下几类组:
1.操作人员组: support
2.系统管理和维护组: duty,rtbridge,itmsupt
mkgroup -'A' id='2011' rtbridge
mkgroup -'A' id='2004' itmsupt
3.数据库和中间件组:oracle,oper,dba,db2grp1,
mkgroup -'A' id='3001' oracle
mkgroup -'A' id='3002' oper
mkgroup -'A' id='3003' dba
4.2.用户
根据配置数据“服务器用户和组”,创建以下几类用户
1.“场务值班”用户: support
2.“系统组”用户:rtbridge,个人用户
举例:
mkuser -a pgrp= rtbridge groups=rtbridge home=/home/rtbridge shell=/usr/bin/ksh id=2011 rtbridge
3.“数据库和中间件”用户:
4.“应用”用户:
5.“监控、备份等管理系统的帐户”: itmsupt
mkuser -a pgrp=itmsupt groups= itmsupt home=/home/itmsupt id=2004 itmsupt
6.
5.存储和文件系统
5.1.rootvg的配置
rootvg中应包含两块pv
rootvg中的逻辑卷,如存储设备不能提供底层镜像,都应配置成MIRROR方式
5.2.vg的缺省配置参数
如果业务系统没有特殊要求,使用如下配置:
参数 | 值 |
VG 类型 | Original Volume |
PP SIZE | 自动 |
AUTO ON | Yes(非HACMP中的vg) |
LV Mirror | Yes |
lv name | Type | Size | Mount point | Owner | Mod | 说明 |
/dev/hd4 | jfs2 | 5G | / | |||
/dev/hd1 | jfs2 | 5G | /home | |||
/dev/hd9var | jfs2 | 5G | /var | |||
/dev/hd2 | jfs2 | 10G | /usr | |||
/dev/hd3 | jfs2 | 5G | /tmp | |||
/dev/hd10opt | jfs2 | 5G | /opt | |||
/dev/fsroot | jfs2 | 2G | /.root | root:system | 700 | root的根目录 |
/dev/fsinstall | jfs2 | 10G | /install | root:system | 777 | 放置安装软件和备份 |
/dev/fsibmitm | jfs2 | 1G | /opt/IBM/ITM | Tivoli需要的文件系统 |
6.系统补丁
6.1.iFix IV075
AIX 5300-12-03(仅针对该版本,AIX 5300-12-04已修复)存在一个bug,会导致javacore dump无法正常生成,修复该问题需要打iFix IV075。请到以下网址下载该iFix,并按以下步骤安装该补丁:
ftp://public.dhe.ibm.com/aix/efixes/iv075/
1.预览安装,
emgr -p -e IV075s05.epkg.Z
2.预览安装通过后,安装ifix
emgr -X -e IV075s05.epkg.Z
3.检查是否安装成功
emgr -l
4.重做bosboot
bosboot -ad hdisk0
bosboot -ad hdisk1
5.重启系统
shutdown -Fr
// 检查
instfix -i |grep 75
instfix -iak IV075
6.2.eFix IZ96883
AIX 5300-12-03、6100-03-08、6100-04-08、6100-05-04、6100-06-04上存在一个bug,导致系统产生Defect警告,修复该问题需要打eFix IZ96883。
// 检查
instfix -i |grep 96883
instfix -iak IZ96883
7.系统环境设置
8.
8.1.Shell
主文化习俗 | ISO08859-1 English (United States) [en_US] |
主安装语言 | ISO08859-1 English (United States) [en_US] |
主键盘选择 | ISO08859-1 English (United States)Keyboard. [en_US] |
PS1 提示符 | 在/etc/profile中添加 export PS1=`whoami`@`hostname`:'$PWD''>' |
系统缺省编辑器 | 在/etc/profile中添加 export EDITOR=vi |
历史命令查询 | 在/etc/profile中添加 export EXTENDED_HISTORY=ON (配置后可以实现 history –t/fc –t 查询历史命令的执行时间) |
用户自动注销时间 | 在/etc/profile中添加 export TMOUT=900 |
时区及时间 | smitty chtz DAYLIGHT SAVINGS TIME? 设为no; 设置时区为BEIST-8, smitty date设置当前时间 |
Page Space | Page Space值设置为内存容量的2倍; 如果Page Space值大于等于8G,设置为8G。 |
每用户最大进程数 | chdev –l sys0 –a maxuproc=2048 |
AIO | smitty chaio将defined改为available snitty posixaio 将defined改为available |
root、应用用户和数据库用户:
# vi /etc/security/limits
data=-1
stack=-1
8.4.root用户
8.4.1.主目录
修改root用户主目录为/.root,步骤如下:
在/目录下:
mkdir .root
chmod 700 .root
chuser home=/.root root
8.4.2.profile文件
增加如下行,注意:PATH环境变量中不包含当前目录“.”和默认目录“ ~ ”
export PATH=$PATH:$HOME/bin:.
#如果使用HACMP,添加如下行
(HACMP 5.3)
alias hastat=/usr/es/sbin/cluster/clstat
alias viha='vi /tmp/hacmp.out'
alias tlha='tail -f /tmp/hacmp.out'
(HACMP 6.1)
alias hastat=/usr/es/sbin/cluster/clstat
alias viha='vi /var/hacmp/log/hacmp.out'
alias tlha='tail -f /var/hacmp/log/hacmp.out'
#如果使用Oracle RAC,添加如下行。空白参数需要根据Oracle安装情况确定。
export ORACLE_BASE=
export CRS_HOME=
export crsbin=$CRS_HOME/bin
alias crsstat="$crsbin/crs_stat"
#如果使用GPFS,添加如下行
export GPFS_HOME=/usr/lpp/mmfs
export gpfsbin=$GPFS_HOME/bin
alias startgpfs=$gpfsbin/mmstartup
alias stopgpfs=$gpfsbin/mmshutdown
alias gpfsstat=$gpfsbin/mmgetstate
# 如下都需要添加
if [ -s "$MAIL" ] # This is at Shell startup. In normal
then echo "$MAILMSG" # operation, the Shell checks
fi # periodically. |
编辑/etc/ntp.conf,内容如下:
broadcastclient
server server driftfile /etc/ntp.drift tracefile /etc/ntp.trace 然后执行ntpdate -d #smitty xntpdStart Using the xntpd SubsystemBOTH,回车 #lssrc –ls xntpd 8.6.sysdump sysdumpdev -l primary /dev/hd6 secondary /dev/sysdumpnull copy directory /var/adm/ras forced copy flag TRUE always allow dump TRUE dump compression ON 否则执行sysdumpdev –K,开启dump 8.7.存储相关参数 如果连接的是IBM DS4000系列存储, #rmdev -dl dar[n] -R #rmdev -dl dac[n] #lsdev -C | grep fscsi #chdev -l fscsi[n] -a fc_err_recov=fast_fail #lsattr -El fscsi1 #cfgmgr -v #lsdev -C | grep dar #chdev -l dar[n]-a switch_retries=2 #lsattr -El dar[n] #lsdev -C|grep hdisk #chdev -l hdisk[n] -a rw_timeout=10 -a reassign_to=30 (本地硬盘不修改参数) 如果连接的是HDS 大存储,安装hdlm软件 # chdev -l fscsin -a fc_err_recov=fast_fail 配合存储管理员配置mapping #cfgmgr –v 在服务器上扫描硬盘,修改硬盘参数 #cfgmgr -l fcsn # chdev -l hdiskn -a queue_depth=8 -a rw_timeout=60 Root用户登录所有使用GPFS的主机: #/usr/DynamicLinkManager/bin/dlmodmset -r on (所有gfps相关节点) 如果连接的是NETAPP存储,安装驱动: 查看LUN的命令: /usr/bin/sanlun lun show 9.系统安全设置 9.1.登录控制策略(/etc/security/login.cfg) 在/etc/security/login.cfg的default节中设置如下参数 (applies to ttys) (applies to ttys) (applies to ttys) 检查办法: cat /etc/security/login.cfg|egrep -p "logindisable|logininterval|loginreenable|logindelay|sak_enable" 9.2.禁用和清理帐户 禁用帐户:daemon, bin, sys, adm, lp, uucp chuser "account_locked=true" daemon chuser "account_locked=true" bin chuser "account_locked=true" sys chuser "account_locked=true" adm chuser "account_locked=true" lp chuser "account_locked=true" uucp 检查办法:lsuser -f -a account_locked daemon,bin,sys,adm,lp,uucp 清理过期帐户: rmuser –p rm –f /home/ 9.3.用户设置(/etc/security/user) Root histsize=1 (不可重复使用的旧密码数量) minlen = 8 (密码最小长度) minalpha = 4 (密码最少字符数) minother = 1 (密码最少非字符数) maxrepeats = 3 (密码中单个字符的最多重复次数) maxexpired = 4(对root无效) loginretries = 3 (设定连续的失败登录次数)( 不能登录后,需要将/etc/security/lastlog的 unsuccessful_login_count设置0) 注:需要时再改回022。在安装数据库等基础软件前,该参数最好改为022,避免干扰基础软件的安装。 cat /etc/security/user|egrep -p "root:|default:" cat /etc/security/user|egrep -p "root:"|egrep "maxage|histsize|minlen|minalpha|minother|maxrepeats|maxexpired|loginretries|umask" cat /etc/security/user|grep -p "default:"|egrep "maxage|histsize|minlen|minalpha|minother|maxrepeats|maxexpired|loginretries|umask" 9.4.主机信任安全 一般禁止使用/$HOME/.rhosts、/$HOME/.netrc、/etc/hosts.equiv等文件。 若必须使用,检查系统中所有的/$HOME/.rhosts、/$HOME/.netrc、/etc/hosts.equiv等文件, 确保不存在不必要的信任主机和用户关系。 若必须用到.rhosts文件,须将.rhosts文件放置在root的根目录下,其访问权限设为600,并且所有者是root:system。 chown root:system /.root/.rhosts chmod 600 /.root/.rhosts 9.5.SSH安装和配置 安装openssl和openssh,版本参见3.2节”扩展”。 编辑/etc/ssh/sshd_config: IgnoreRhosts yes (禁止ssh使用.rhosts文件) PermitRootLogin no (禁止root用户直接登录) 注意:本币交易系统使用gpfs,mq和oracle rac等,PermitRootLogin配置影响软件正常运行。 重启sshd使配置生效: stopsrc -s sshd startsrc -s sshd 9.6. 对AIX系统中的TCP SYN保护机制进行设定: no -p -o clean_partial_conns=1 9.8. 9.9.资源控制( /etc/security/limits) cat /etc/security/limits|grep -p default: |egrep "fsize|core|cpu|data|rss|stack|nofiles" 9.10. 9.11.主机日志审计(生产环境) 主机SYSLOG日志收集,通过配置服务器上的SYSLOG服务,将日志发送至日志审计系统中。所需配置的主机为本外币生产环境中的服务器,操作系统包括:AIX、Linux、Solaris和Windows。 AIX配置方法:(200.31.6.209为logbase协议型探针的IP地址) 编辑/etc/hosts,200.31.6.209 logbase //设定logbase指向200.31.6.209 编辑/etc/syslog.conf文件,增加 *.info [TAB] @ logbase 刷新syslogd服务:[root@server /] refresh -s syslogd 9.12. 9.13.停止以下服务 (暂时不实施,影响查看ha状态) 在telnet 项前加#,再运行 refresh -s inetd chrctcp -d sendmail lssrc -s sendmail 1,检查当前cluster的community name # /usr/es/sbin/cluster/utilities/cl_community_name 停止snmp服务: # stopsrc -s snmpd # stopsrc -s aixmibd # stopsrc -s snmpmibd # stopsrc -s hostmibd # stopsrc -s clinfoES 2. 检查当前snmp version # ls -l /usr/sbin/snmpd 1) snmpdv1 <== snmp v1 2) snmpdv3ne <== snmp v3 non-encrypted 3. modify his snmp.conf file to add the new community name 1) snmp v1 # vi /etc/snmpd.conf community public to community 2) snmp v3 non-encrypted vi /etc/snmpdv3.conf // 修改所有5个public为cfets stopsrc -s snmpd startsrc -s snmpd 4 修改默认community name chssys -s snmpmibd -a "-c cfets" chssys -s hostmibd -a "-c cfets" chssys -s aixmibd -a "-c cfets" chssys -s clinfoES -a "-c cfets" 5 检查ODM # odmget SRCsubsys | grep -p aixmibd # odmget SRCsubsys | grep -p snmpmibd # odmget SRCsubsys | grep -p hostmibd # odmget SRCsubsys | grep -p clinfoES # startsrc -s snmpd # startsrc -s aixmibd # startsrc -s snmpmibd # startsrc -s hostmibd # startsrc -s clinfoES 6 检查新的community name是否生效 lssrc -Ss aixmibd lssrc -Ss snmpmibd lssrc -Ss hostmibd lssrc -Ss clinfoES # ps -ef | grep clinfo 9.15.数据库账号管理 建议实现对操作系统和数据库系统用户的权限分离,设置专门的管理员对数据库系统进行管理,DB2数据库存在多人共享一个账号; (非root用户直接su到DB用户,chuser su=false dbname) lsuser -a su 9.16.网络参数 设置arp表的清空时间: /usr/sbin/no -p -o arpt_killc=20 防止网络地址掩码的泄漏: /usr/sbin/no -p -o icmpaddressmask=0 防止Smurf攻击: /usr/sbin/no -p -o directed_broadcast=0 防止源路由攻击: /usr/sbin/no -p -o ip6srcrouteforward=0 /usr/sbin/no -p -o ipsrcrouteforward=0 /usr/sbin/no -p -o ipsrcroutesend=0 防止IP重定向: /usr/sbin/no -p -o ipignoreredirects=1 /usr/sbin/no -p -o ipsendredirects=0 检查办法: no -a|egrep "arpt_killc|icmpaddressmask|directed_broadcast|ip6srcrouteforward|ipsrcrouteforward|ipsrcroutesend|ipignoreredirects|ipsendredirects" 9.17.
说明:These port restrictions mostly on attached serial terminals, not on pseudo-terminals used by network logins.logindisable = 4 在此终端连续4次试图登录失败后,禁止其登录 logininterval =60 在60秒内进行了指定的无效尝试后,禁用终端 loginreenable = 30 在自动禁用终端5分钟后重新启用该终端 logindelay = 5 在两次出现登录提示之间的以秒为单位的时间间隔(applies to ptys and ttys) sak_enable=false (applies to ptys and ttys)
检查办法:和default maxage=24 (密码最大可用周数) Root umask = 077
9.7.网络安全参数
检查办法:Default节 fsize = -1 core = 2097151 cpu = -1 data = 262144 rss = 65536 stack = 65536 nofiles = 2000 root data=-1 stack=-1 数据库用户 data=-1 stack=-1 应用用户 data=-1 stack=-1
9.14.更改SNMP服务community namerpc.statd服务 /usr/sbin/rmnfs -B Daytime /etc/inetd.conf Time /etc/inetd.conf Snmp服务 Smitty snmpd或/usr/sbin/chrctcp -S -d snmpd rlogin、rsh、rexec /etc/inetd.conf ftp服务 /etc/inetd.conf telnet服务 vi /etc/inetd.conf sendmail stopsrc -s sendmail