AIX 系统安全设置规范 | 干货总结
一、前言
二、物理安全管理规范
三、网络安全管理规范
四、用户安全管理规范
五、系统安全管理规范
一、前言
本文针对 AIX 系统安全设置的诸多方面进行介绍和讲解,需要首先说明的是,任何一种操作系统的安全设置,都不会是固定的,往往会根据用户管理需求、环境需求、业务系统需求(例如应用对端口或服务的要求)、审计稽核需求或其它方面的需求来确定操作系统安全设置的策略, 从厂商纯技术的角度,他们也会有推荐用户的相应的 Security Check List 之类的文章,或者类似ITCS 104 的规范,所以,安全的设置,就要从技术层面和非技术层面,全面而综合的进行考虑和设置。
另外,AIX 系统安全的设置,将会涉及到很多系统级文件的修改和定制,强烈建议在修改之前,对所修改的文件做好备份,并对备份结果进行验证,可以利用本地磁盘、磁带或 FTP 到其他机器等多种备份方式,确保备份可用,甚至可以在修改之前对系统做一个 mksysb 的全备份。下面对需要专项备份的重点的文件进行了归纳:
/.profile
/etc/environment
/etc/inetd.conf
/etc/inittab -- use chitab or rmitab to modify
/etc/motd
/etc/netsvc.conf
/etc/profile
/etc/rc.nfs
/etc/rc.tcpip
/etc/securetcpip
/etc/security/login.cfg
/etc/security/sysck.cfg
/etc/security/user
1.1 系统安全的主要威胁
1 、人为错误
敲错键盘、敲错命令参数(尤其是 rm 、chown、chmod 等命令)、所在非工作目录等人为错误将给系统带来致命的威胁,作为系统管理员,必须谨慎小心避免此类问题,同时在做任何修改和定制操作之前要对系统做好相应的备份,制定好应急策略和方案。
2、非法用户
非法用户通过非法途径进入系统,将同样会给系统安全带来致命的破坏,如何禁止非法用户进入系统,如何构建一个安全可靠的系统平台,将在本章进行详细的论述。
3 、好奇心
若缺乏对系统安全的认识,同时对某项操作、某项修改或某个文件的内容具有好奇心,在没有经过允许、确认或验证的基础上进行该项操作,将有可能给系统安全带来威胁甚至造成致命的破坏。对于系统管理员而言,应该具有很强的安全意识以及风险防范意识。
1.2 维护系统安全的目的
计算机安全的目的通常可以通过以下术语来定义:
机密性 确保只有授权用户可以访问系统并使用系统资源;
完整性 确保只有被授权(可以针对该项内容进行操作)的人,通过验证并确认采用正确可靠的方式,才能够对系统进行修改或定制;
可用性 实现安全的目的要以系统对合法的用户及应用保持可用为准则,不要因为安全的设定而影响了应用的运行及合法用户本身的使用。
运行不同应用的不同系统,其安全设定是不同的,我们必须对每一项安全设定规范进行全面和详细的了解及掌握, 并能够针对系统的应用本身作出安全的定制。
1.3 系统安全设定法则
系统安全的设定通常遵循以下法则:
最小权限 赋予最小的(但要满足使用和应用需求)的权限和权力;
最少访问 赋予最少的访问权限(正常情况下,应只有经过授权许可的系统管理员拥有系统的管理权限) ;
安全程度 管理使用及应用运行将决定安全规范设定的程度;
法律流程 法律的责任同样也是系统安全的设定法则之一,系统的安全规范不仅仅是从系统本身进行考虑,流程的管理以及法律的意识更为重要。
二、物理安全管理规范
物理安全体现在机房管理和机房环境与两个方面, 我们在这里仅提出对机房环境和设备安装要求的基本要求:
电源 核心生产系统的机器必须使用两路电源供电。
温度 25摄氏度±3
相对湿度 50%±10%
三、网络安全管理规范
说明:本部分网络安全仅仅涉及 AIX 操作系统层面网络安全的设定规范,对于网络设备及线路本身的安全设定与防范不做具体说明。
3.1 网络连接限制
禁止从办公及开发网段登录到生产网段。禁止一台服务器跨越办公网段和生产网段,如果由于应用系统的要求,确实需要一台服务器跨越办公网和生产网,需要通过领导审批,并用防火墙隔离,仅放开应用所需的端口。
3.2 网络服务设置
AIX 操作系统安装好以后,默认情况下将启用很多网络服务 (这些服务可能会造成安全的隐患) ,如果你不准备使用这些服务,为了安全的目的,一定要将这些服务禁用。
注意:为了安全定制,在对相关配置文件进行修改之前,强烈建议备份所有要修改的文件,尤其是p /etc/inetd.conf,/etc/inittab,/etc/rc.tcpip 等文件。
1、/etc/inittab
AIX操作系统安装好以后,默认情况下将启动以下内容:
A. poibe 打印机I/O后端
B. nfs 网络文件系统
C. writesrv 写注释到ttys
D. httpdlite 用于docsearch命令的web服务器
我们可以使用 rmitab 来删除不必要启动的 Service ,例如,可以通过下面的命令来删除 writeserv 服务:具体请参考下表
# rmitab writesrv
注意:修改inittab务必谨慎小心,在修改之前一定要做好备份(甚至可以将该文件ftp到另外的地方) , 修改之后, 建议重新启动系统来验证修改的结果。
2 、inetd.conf
平时系统必须关闭不必要的网络服务(包括 ftp、telnet、rlogin、rsh 等) 。在 inetd.conf 中,根据情况,保留 dtspc,godm(安装配置了 hacmp 就会有godm 进程) ,或 nbu(VERITAS 备份软件后台进程)相关的网络服务,如有其他要求再打开相关服务。具体请参考表
3、rc.nfs
由于我们将禁用 nfs service ,所以 rc.nfs 文件也不需要修改定制了。
4 、rc.tcpip 下禁止以下 TCP/IP 服务
1)sendmail
2)snmpd
3)hostmidbd
4)snmpmidb
5)aixmidb
5 、.rhosts
除安装 HACMP V5.1 以前版本(不含 HACMP5.1)的机器,平时不允许设置可信任机器,即不允许设置/.rhosts、$HOME/.rhosts、/etc/hosts.equiv;HACMP V5.1 以前版本的机器设置的可信任机器也必须严格限制在群集机器中。
6 、FTP 服务
如果必须使用 FTP 服务时, 系统必须安装 IY04477 (AIX5.2 以后不需要单独安装 IY04477) ,并且
(1) 在/etc/inetd.conf 文件中增加 ftp –d –l –u077。
(2) 在/etc/syslog.conf 文件中增加 daemon.debug /tmp/ftplog
(3) /tmp/ftplog 文件保留 3 年备查,如该文件增长过快需要定期清理,清理时需要先倒入磁带备份。
3.3 网络选项设置
为了达到更高的(操作系统层面)网络安全级别,需要使用命令 no 来调整
相应的网络参数,详见表
补充说明:/usr/sbin/no –o extendednetstats=0 在 SMP 系 统 上 , 如 果 extendednetstats=1 会导致性能下降。
四、用户安全管理规范
4.1 用户控制
1、除必要的系统缺省用户外,生产系统中只允许设立如下用户:
(1)系统管理员使用的普通用户
(2)系统管理员使用的管理员用户
(3)数据库系统安装时必须的用户
(4)应用程序用户
2、禁用没有必要的用户帐户和系统帐户
禁用不必要的用户帐户和系统帐户,比如 daemon,bin,sys,adm,lp , uucp,不推荐删除帐户,因为这也将删除帐户信息,比如用户标识和用户名,它们也许仍与系统备份中的数据相关联。如果使用先前删除了的用户标识创建一个用户,并且在系统上恢复了系统备份,新建用户可能拥有对恢复了的系统的意外的访问权。
4.2 删除不必要的默认用户帐号
补充说明: Analyze your system to determine which IDs are indeed not needed. There might also be additional user and group IDs that you might not need. Before your system goes into production, perform a thorough evaluation of available IDs.Remove the accounts for lpd, guest, uucp, and nuucp from your system using: Remove the accounts for lpd, guest, uucp, and nuucp from your system using:
# rmuser -p <user>
3、禁止 root 用户在远程登录,只允许 root 用户在 console 登录
4、在生产系统中为该系统的责任管理员另外设置和 root 用户同权限(UID=0,GID=0)的管理员账号,作为平时系统管理用。该管理员账号必须通过 SSH 进行远程登录,不允许使用传统的 Telnet 进行远程登录。
5、生产系统中的 DBA 帐户不允许远程登录,必须通过普通用户 SU 到 DBA 帐户或由管理员帐户直接 SU 到 DBA 帐户。
6、普通用户 SU 到超级用户帐号和 DBA 帐号的时候必须使用带全路径的 su 命令,即 /usr/bin/su。
7 、更改登录屏幕的欢迎消息
为防止在登录屏幕上显示某些信息,请编辑 /etc/security/login.cfg 文件中的 herald 参数。
缺省的 herald 包含随登录提示一起显示的欢迎消息。
要直接编辑文件,请打开/etc/security/login.cfg 文件并更新 herald 参数如下:
注: 要使得该系统更安全, 请将 logindisable 和 logindelay 变量的值设置为大于0(# > 0) 。
8 、更改公共桌面环境的登录屏幕
在缺省情况下,CDE 登录屏幕也显示主机名和操作系统版本,要防止显示此信息,请编辑 /usr/dt/config/$LANG/Xresources 文件,其中 $LANG 指的是安装在您的机器上的本地语言。
A 、检查本地语言环境的方法:
# echo $LANG
B 、编辑 /usr/dt/config/$LANG/Xresources 文件
# vi / usr/dt/config/$LANG/Xresources
找到此行进行编辑修改,记得去掉该行开头的两个叹号并修改黑体部分
******************************************************************
* Dtlogin*greeting.labelString: Welcome to % %LocalHost% *
*******************************************************************
在我们的示例中,假定 $LANG 设置为 en_US,编辑好后,将该文件复制到 /etc/dt/config/en_US 目录中.
C、重新启动 CDE
# ps –ef |grep dt 检查当前系统所有 DT 相关进程
# kill -9 <PID> 将所有 DT 相关进程杀死
# rc.dt 重新启动 CDE
这个时候重新登录 CDE,可以看到修改已经生效。
9 、隐藏输入的用户名
AIX5.2 之前版本的操作系统中,在 AIX 的登录界面中,输入的用户名都是可见的,而且在提示输入用户口令的显示信息中也会将对应的用户名列示出来。而在一些对安全性要求极高的场合中, 显示出用户的名称会被认为系统存在安全漏洞。在 AIX5.2 的版本中,新增加的功能可以使系统管理员选择在用户登录时不显示相应的用户名。 该项设置可以被配置为系统的缺省设置或者是只对指定端口生效的设置。
缺省的情况下,在没有更改系统的设置时,当一个用户以“test9”的用户名 telnet 远程登录至系统时,用户名“test9”将会被系统显示两次如下:
telnet (server1)
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2000.
login: test9
test9's Password:
在 AIX5.2 版本的操作系统中,对登录的用户名进行保护的相关属性保存在 /etc/security/login.cfg 文件中。 “pwdprompt” 属性定义了当用户进行登录时请求输入口令的提示信息的内容。 “usernameecho”属性则决定了在用户登录系统时和显示相关的提示信息时是否显示出用户名,该属性值为布尔值。如果 “usernameecho”属性的值被设置为“false” ,那么在用户登录系统时和显示相关的提示信息时,用户名都将不被显示。如果“usernameecho”属性的值被设置为“true” (系统的缺省值) ,那么相应的用户名信息将被正常显示。如果只是想对某一个特定的端口设置这些属性,则必须为指定的端口(如:/dev/lft0)创建一个新的标准,并且为指定的端口增加相应的属性设置。如果希望这些属性的设置对所有的端口都有效,则需要将这些属性的设置放在缺省的标准中。对特定端口的标准中的属性设置将会覆盖掉缺省标准中的属性的设置。
(1)下面的例子显示出,设置整个系统的口令输入提示内容为:Password。
# chsec -f /etc/security/login.cfg -s default -a pwdprompt="Password:"
在上面的命令执行后,当用户 telnet 远程登录至系统时,系统显示的提示信息内容如下:
telnet (server1)
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2000.
login: root
Password:
(2)在下面显示的例子中,口令输入的提示内容被设置回系统的缺省值, “usernameecho”属性值被设置为“false” 。从用户登录的显示结果可以看到,用户名被系统隐藏了。
# chsec -f /etc/security/login.cfg -s default -a pwdprompt=
# chsec -f /etc/security/login.cfg -s default -a usernameecho=false
在上面的命令执行后,当用户 telnet 远程登录至系统时,系统显示的提示信息内容如下:
telnet (server1)
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2000.
login:
*****'s Password:
...
当用户使用 passwd 命令更改用户的口令时,系统显示的提示信息内容如下:
$ passwd
Changing password for "*****"
*****'s Old password:
*****'s New password:
Enter the new password again:
(3) 下面的例子则说明了如何为特定的端口 (如: /dev/lft0) 设置 “usernameecho”
属性:
# chsec -f /etc/security/login.cfg -s /dev/lft0 -a usernameecho=false
4.3 环境变量
由于用户的 HOME 目录下的.profile 文件在用户登录时就被执行,若该文件对其他人是可写的,则系统的任何用户都能修改此文件,使其按自己的要求工作,这样可能使得其他用户具有该用户相同的权限。
绝不要把当前工作目录排在 PATH 路径表的前边,那样实际是招引特洛依木马。当系统管理员用 su 命令进入 root 时,他的 PATH 将会改变,就让 PATH 保持这样,以避免特洛依木马的侵入。
1 、设置点:
A、 在生产系统中,用户 profile 文件($HOME/.profile)的 PATH 环境变量设置不允许包含当前路径“. ” ;
B、 PATH 环境变量的设置必须先搜系统目录再搜索用户目录。
C、 root 所用的 PATH 环境变量与系统安全性关系重大。
D、 如果应用程序没有特殊需要,用户的 SHELL 设置成 Korn shell。
E、 设置超时自动退出变量 TMOUT 的值为 1800。
F、 用户权限掩码 UMASK 的设置使用系统默认的 027。
G、 在/etc/profile 或 /etc/environment 文件中设置 EDITOR=/usr/bin/vi
2. 用户环境的合法性检查
以下介绍进行用户环境合法性检查的三个命令:
pwdck 验证本机认证信息的合法性,检查/etc/passwd和 /etc/security/passwd的一致性,以及与/etc/security/login.cfg 和 /etc/security/user 的一致性;
usrck 验证用户定义的合法性,检查/etc/passwd、/etc/security/user、/etc/security/limits 和/etc/security/passwd中的用户信息,同时也检查/etc/group 和/etc/security/group,以保证数据的一致性。
grpck 验证组的合法性,检查/etc/group、/etc/security/group和 /etc/security/user 之间的数据一致性。
上述命令由 root 或 security 组的成员执行,用于在修改用户配置之后做清理工作。
3 、用户的.profile 文件
由于用户的HOME目录下的.profile文件在用户登录时就被执行.若该文件对其他人是可写的,则系统的任何用户都能修改此文件,使其按自己的要求工作。这样可能使得其他用户具有该用户相同的权限,这将有可能给系统带来致命的威胁。所以要确保自己的.profile 除自己外对他人都不可读写.,确保 HOME 目录对任何人不可写。
另外:
除了信任的用户外,不要运行其他用户的程序。
在自己的 PATH 中,将系统目录放在前面。
不要离开自己登录的终端。
用 CTRL D 或 exit 退出后,在断开与系统的联接前等待看到 login:提示.
4.4 安全性文件
1、存放用户属性和控制访问许可权的文件如下:
/etc/passwd 中包含合法用户(不含口令)
/etc/group 中包含合法组;
/etc/security 中包含普通用户无权访问的安全性文件;
/etc/security/passwd 中包含用户口令;
/etc/security/user 中包含用户属性、口令约束等;
/etc/security/limits 中包含用户使用资源限制;
/etc/security/environ 中包含用户环境设置;
/etc/security/login.cfg 中包含登录设置;
/etc/security/group 中包含组的属性。
2 、安全性日志
安全性日志是系统安全的重要保障, 有经验的系统管理员经常使用其做安全性检查。su 命令执行的结果存放在/var/adm/sulog 中;用户登录和退出登录的记录存放在/var/adm/wtmp 和/etc/utmp 中,可用 who 命令查看;非法和失败登录的记录存放在/etc/security/failedlogin 中,同样用 who 命令查看,未知的登录名记为 unknown。
4.5 用户口令设置规范
1 、口令管理
(1) 设置 root 口令的有效期,设置管理员用户的口令 1 个月过期,业务用户的口令更改视业务要求而定。系统管理员可以强制业务用户定期做口令修改。
(2) root 用户、管理员用户、DBA 用户的口令长度必须是 8 位,口令中必须含有至少 4 位字母和 1 位数字;普通用户的口令长度不少于 6位, 口令中必须含有至少 4 位字母和 1 位数字。 不要取用个人信息(如生日,名字,反向拼写的登录名,房间中可见的东西),普通的英语单词也不好(因为可用字典攻击法),口令中最好有一些非字母(如数字,标点符号,控制字符等)。
(3) 按照下面的范例要求设置默认口令策略,对于制度中要求和默认口令策略不同的用户单独修改其口令规则。
说明:建议“可以使用口令字典来限制系统管理员及其它用户使用常用字符作为口令” ,后面将谈到如何设置口令字典从而禁止系统管理员使用常用字符作为口令。
2 、保持口令的安全
不要将口令写在可能被其他人看到的纸上或记录在计算机文件中.
不要将口令存于终端功能键或 MODEM 的字符串存储器中
不要选取显而易见的信息作口令.
不要让系统管理员之外的人知道.
不要交替使用两个口令.
不要在不同系统上使用同一口令.
不要让人看见自己在输入口令.
4.6 使用口令字典来限制系统管理员使用常用字符作为口令的方法:
首先确认系统已经安装了 bos.data and bos.txt 这两个 filesets
确认方法: lslpp –l | grep bos.data
lslpp –l | grep bos.txt
A、编辑 /etc/security/user 文件
vi /etc/security/user
B、设置 dictionlist 参数
增加 dictionlist = /usr/share/dict/words
说明:对于 s words 文件的内容,可由系统管理员不断增加能够想到的常用的口令,或者常规口令字典,例如 chinamobile,chinaunix、loveunix 之类,从而不允许设置该文件中的字符串作为口令。
4、设置默认口令策略的范例:
补充说明:Setting User Password Options
4.7 运行定时作业的用户限制
如果系统管理员使用 cron 或 at 运行后台作业,就必须做如下内容:
确认只有 root 用户在 cron.allow 和 at.allow 文件里;
从目录 var/adm/cron 中删除 cron.deny 和 at.deny 文件;
确保 cron 和 at 作业的所有者是 root 并且只能由 root 可写。
注意:规定只有 root 用户可以设置定时作业,所有业务用户需要设置定时作业,需要提出申请,并由 root 用户进行设置,从而集中控制定时作业。
五、系统安全管理规范
本部分内容主要讨论在 AIX 系统上如何设定和定制系统的安全,以防止可能的安全方面的隐患。
1. 删除垃圾文件
很多程序运行完毕后,会在/tmp 目录下留下很多的垃圾文件。可以删除/tmp目录下的 a.out 文件、core 文件和 ed.hup 文件。
注意:在做文件删除的时候,一定要谨慎,确认所要删除的内容确实是可以删除的,尤其是使用通配符或者-R 参数的时候,有必要的话,在做文件清理的时候,甚至可以事先做系统 mksysb 的备份。
2. 删除无所有者的文件
在 AIX 系统上如果一个用户被删掉后,原来属于这个用户的文件将变成无所有者的文件。可以用下面命令来找出这些文件:
# find / -nouser –print
如果找出得文件还有用,可将它们指定到已存在的某些用户下。否则就删除这些文件。
3. 管理未授权的远程访问
某些程序使用.rhosts 文件访问远程系统。 但有时这种做法会被未授权的用户使用。为避免这种情况,可删除.rhosts 文件。
在 HACMP 环境下,.rhosts 文件是需要的。这时需要将.rhosts 文件的访问权限设为 600,并且是所有者是 root .system。
可用下面命令查找.rhosts 文件:
# find / -name .rhosts –print
4、保护无人照管终端
如果终端处于登录状态却无人照管,那么所有的系统都是脆弱的。当系统管理员让用超级权限启用的终端处于无人照管状态时,就会出现最严重的问题。通常, 任何时候用户离开他们的终端时都应该注销。让系统终端处于非安全状态会造成潜在的安全威胁。
如果您需要离开一会儿却不希望注销当前的 session, 这个时候可以使用 lock命令锁定当前的终端,如果您的界面是 AIX windows,请使用 xlock 命令。例如:
为了是一个终端处于口令保护的状态,输入:
# lock
Type the password or key: // ** 系统提示输入口令**//
Type the password or key again. // 系统提示再次输入口令**//
lock: Session for /dev/pts/0 on ibm520 will timeout in 15 minutes.
The current time is Sun Sep 4 21:24:17 BEIST 2005.
Type the password or key: // **要使用该终端必须输入刚刚设置的口令 **//
说明:输入 lock 命令后,系统会提示你输入口令并提示你再次输入口令进行确认 (该口令并非用户登录系统所使用的口令, 而是临时给当前终端所指定的锁定口令),设定锁定口令之后,系统会提示一个信息“session will timeout in 15 minutes.”,说明当前 session 将在 15 分钟内保持锁定状态,如果 15 分钟之内系统管理员或当前 session 的所有者还没有输入锁定口令继续使用该 session,该session 将会停止。
这里的 15 分钟是 lock 命令的默认值,我们也可以通过下面的命令设定 session 保持的时间间隔。
# lock -10 // ** 设定session保持的时间为10分钟内**//
5、强制自动注销
另一个要关注的有效安全性问题是用户长时间将他们的帐户置于无人照管状态造成的后果。这种情况使闯入者可以控制用户的终端,从而潜在地危及系统的安全。要预防这类潜在的安全威胁,您可在系统中启用自动注销功能。要这样做,请编辑 /etc/security/.profile 文件,为所有用户包含自动注销值,如下例所示:
TMOUT=600 ; TIMEOUT=600 ; export readonly TMOUT TIMEOUT
在本例中,数字 600 是以秒为单位,它等于 10 分钟。但是,该方法只在 shell 中生效。
当先前的操作允许您对所有用户强制执行自动注销策略时, 系统用户就能通过编辑他们各自的 .profile 文件来绕过一些限制。为了完全实现自动注销策略,必须采取权威的措施,即给用户提供适当的 .profile 文件,阻止对这些文件的写访问权。
1、补充说明: This action ensures that only root can change the INTERNAL FIELD SEPARATOR (IFS) environment variable, which is used by some programs suchas sed, awk, and cut, in the .profile files.
6. 监视可执行文件的属性
在监视某些可执行文件之前,需要了解这些文件是如何被使用的。尤其是要监视那些所有者是 root, 文件方式字中有 SUID 和 SGID 设置的文件。 保持系统文件安全的完整性。检查所有系统文件的存取许可,任何具有 SUID 许可的程序都是非法者想偷换的选择对象。要特别注意设备文件的存取许可。要审查用户目录中具有 SUID/SGID 许可的文件。
通过以下命令可以找出满足上面条件的所有文件:
# find / -perm -4000 -user 0 -print
# find / -perm -2000 -user 0 –print
保存上面命令的输出结果。定时运行这两条命令,并与保存的结果相比较,看是否有未知的文件出现,以杜绝可能的安全隐患。
7. 屏蔽 X 服务器的远程监视功能
一个很重要的安全问题是 X11 服务器的远程监视机制。 xwd 和 xwud 常被用于监视 X 服务器的活动状况,它能够捕捉到键盘的敲击结果,因此可能泄露密码或其它敏感信息。
为防止这种情况的出现,可以删除这些可执行程序或者将其执行权限定为root 可以执行。
xwd 和 xwud 可以在文件包 X11.apps.clients 中找到。
如果需要使用 xwd 和 xwud 命令,可以考虑使用 OpenSSH 或 MIT Magic Cookies。这些第三方厂家的软件可以有效的防止使用 xwd 和 xwud 命令时带来的风险。
8. 禁止其他非授权用户使用 xhost 命令
确保只有指定的用户可以使用 xhost 命令,或指定只能超级用户才能使用,方法是运行 chmod 命令修改/usr/bin/X11/xhost 的属性:
# chmod 744 /usr/bin/X11/xhost
确认在运行 xhost 命令时,指定 hostname,否则将允许所有的远程主机访问本机,这将带来潜在的危险性。
9、关键文件的权限
确认下列文件的权限的设置是否正确
-rw-rw-r-- root system /etc/filesystems
-rw-rw-r-- root system /etc/hosts
-rw------- root system /etc/inittab
-rw-r--r-- root system /etc/vfs
-rw-r--r-- root system /etc/security/failedlogin
-rw-rw---- root audit /etc/security/audit/hosts
10、配置 syslog
在/etc/syslog.conf 中增加以下行:
daemon.debug
daemon.info
如果有其他需要,还可对 syslog.conf 配置文件进行编辑
11、文件系统要求:
生产系统中文件系统的空间占用率不得高于 85%。检查命令:
du :报告在层次目录结构(当前工作目录或指定目录起)中各目录占用的磁盘块数,可用于检查用户对文件系统的使用情况,详细请参考 man du
例如: du /home/frank
du –k /home/frank
du –m /home/frank
du –a /home/frank
df: 报告整个文件系统当前的空间使用情况,可用于合理调整磁盘空间的使用和管理,详细请参考详细请参考 man df
例如: df –k
df –m
df –g
补充说明:对于 du 和 df 命令的使用,详见 man du 和 man df 。
12、镜像保护:
如果存储系统本身没有 RAID 保护, 生产系统中存放应用程序和生产数据的文件系统所在逻辑卷必须做操作系统级的镜像。
13、应用程序管理:
生产系统上不允许保留应用程序的源代码。
生产系统上不允许安装 C 语言的开发包。
14、权限设置要求:
属主是超级用户的程序(应用程序或 shell 脚本)不允许设置 SUID。
新上的应用程序必须设置独立的组和用户。
定期检查系统中所有文件的权限属主,尤其要注意属主是root又具有SUID或SGID 权限的可执行程序。
15、进程与性能监控
ps:
检查当前系统中正在运行的所有进程。对于用了大量 CPU 时间的进程,同时运行了许多进程的用户,运行了很长时间但用了很少 CPU 时间的用户进程应当深入检查。还可以查出运行了一个无限制循环的后台进程的用户,未注销户
例如: : # ps –ef
性能监控工具:nmon
16、验证以下文件的许可权设置正确与否:
-rw-rw-r-- root system /etc/filesystems
-rw-rw-r-- root system /etc/hosts
-rw------- root system /etc/inittab
17、给 rm 命令起别名
方法:
在用户主目录下的.kshrc 文件(如果没有,可用"touch .kshrc"生成)中加入 alias 命令,如:alias rm='rm -i'
在用户主目录下的/.profile 中加入: export ENV=$HOME/.kshrc
现在,用户登录后,输入 rm 后回车,就等同于执行'rm -i'
维护系统的 ML 和 Specifical security fixes ,使之在应用软件需求允许的情况下,尽量保持最新或较新。
18、删除用户需要注意的
一个用户使用smitty ,将导致无法删除该用户的/home下的相关内容,要使用 find / -user user_name –print 来查看,然后将相关目录、文件删除。
19、删除不必要的 Fileset
AIX 操作系统默认安装的情况下,为了安全的目的,仍然有一些 fileset 可能需要考虑删除,删除之前要仔细确认并经过试验测试,必要的情况下可以先做一个 mksysb 的系统级备份。
在删除之前,检查确认所要删除的 fileset 的 dependencies 。
在AIX系统中, 对于有些daemon或者service来说, 如果安装了相应的fileset,就可以启动相应的 daemon 或者 service,例如:
bos.net.tcp.server
bos.net.nfs.server
bos.net.nis.server
除非有特殊应用,否则我们不推荐安装这些Filesets
删除 perl.rte
perl is an example of a fileset that provides many useful features.
However, the presence of such a powerful tool as perl may not be a good idea if security is important.
20、设备文件
系统管理员应该定期检查设备文件的权限, 不安全的权限设置可能会导致直接的硬件访问,乃至直接对内和数据结构的获取,默认情况下,常规的设备文件权限如下表所示:
点击阅读原文,可下载该资料
相关资料:
AIX UNIX 下 HACMP / PowerHA 高可用集群的配置与搭建
长按二维码关注公众号