whict_feng2013
作者whict_feng2013·2012-05-23 15:48
软件开发工程师·日出科技

AIX 7.1安全配置

字数 23956阅读 11124评论 4赞 3
1.1.1.1      用户管理 1.1.1.1.1  用户认证

执行以下命令:

chsec -f /etc/security/user -s default -a admin=false

chsec -f /etc/security/user -s default -a rlogin=true

chsec -f /etc/security/user -s default -a sugroups=ALL

chsec -f /etc/security/user -s default -a histsize=2

chsec -f /etc/security/user -s default -a minage=0

chsec -f /etc/security/user -s default -a maxage=0

chsec -f /etc/security/user -s default -a minalpha=2

chsec -f /etc/security/user -s default -a minother=1

chsec -f /etc/security/user -s default -a minlen=8

chsec -f /etc/security/user -s default -a mindiff=1

chsec -f /etc/security/user -s default -a maxrepeats=4

chsec -f /etc/security/user -s default -a pwdwarntime=7

chsec -f /etc/security/user -s default -a histexpire=4

检查/etc/security/user文件中default字段的策略是否符合以上配置。

检查/etc/security/passwd文件中的标志条目上不存在“flags = NOCHECK”属性。

【补充说明】

1)       对于应用用户,原则上要求接受default字段的策略,不应该用单个用户的特定设置覆盖/etc/security/user文件中的缺省设置。

2)       如果/etc/security/passwd存在NOCHECK 标志,则新密码将不需要遵循/etc/security/user文件中为密码组合建立的规则。

 

执行以下命令:

chsec -f /etc/security/login.cfg -s default -a herald="严禁非授权访问,在本设备上的所有活动都会被记录。nnlogin:"

【检查方法】

执行以下命令:

lssec -f /etc/security/login.cfg -s default -a herald

返回以下结果:

default herald="严禁非授权访问,在本设备上的所有活动都会被记录。nnlogin:"

执行以下命令:

chsec -f /etc/security/user -s default -a loginretries=6

【检查方法】

执行以下命令:

lssec -f /etc/security/user -s default -a loginretries

显示以下信息:

default loginretries=6

root用户PATH环境变量不应包含“.

【配置方法】

分别编辑/etc/profile/.profile /etc/environment文件,在PATH变量配置所在行删除“.” 。

【检查方法】

检查以上文件中PATH变量不包含“.”。

root用户登录,执行echo $PATH检查输出不包含“.”。

【补充说明】

    缺省系统范围的PATH值在/etc/profile/etc/environment文件中指定,每个用户通常在自己的$HOME/.profile文件中都有一个PATH值。用户PATH值由系统范围的PATH值和用户自己的PATH值共同决定。

1.1.1.1.2  超级用户帐户安全

执行以下命令:

chuser admin=true rlogin=false login=true su=true loginretries=0 maxage=26 root

【检查方法】

检查/etc/security/user文件中以上root用户字段策略是否符合以上配置。

【补充说明】

rlogin=false参数可同时限制root用户不能远程登录图形界面。

 

 

1.1.1.1.3  非交互式帐户

执行以下命令:

chuser account_locked=true lp

chuser account_locked=true lpd

chuser account_locked=true uucp

chuser account_locked=true nuucp

chuser account_locked=true guest

chuser account_locked=true daemon

chuser account_locked=true bin

chuser account_locked=true sys

chuser account_locked=true adm

chuser account_locked=true nobody

【检查方法】

    检查/etc/security/user文件中以上各个用户字段策略是否包含“account_locked = true

1.1.1.2      服务器安全 1.1.1.2.1  登录警告

用户登录时,系统应向用户显示禁止非授权访问的警告信息,存放登录警告信息的配置文件应设置为444权限。

设置本地控制台字符登录的警告信息。

执行以下脚本:

echo "**********************************************************"  > /etc/motd

echo "*                                                        *" >> /etc/motd

echo "*  Welcome to <`hostname`>!                              *" >> /etc/motd

echo "*                                                        *" >> /etc/motd

echo "* ATTENTION:This is the <生产服务器>,please quit if      *" >> /etc/motd

echo "* maintaining this system is not your duty,thank you!    *" >> /etc/motd

echo "*                                                        *" >> /etc/motd

echo "**********************************************************" >> /etc/motd

chown bin:bin /etc/motd

chmod 444 /etc/motd

【检查方法】

检查配置文件/etc/motd内容。

 

设置图形登录的警告信息

【条款属性】

配置类

【配置前提】

1)       root同等权限用户登录操作系统实施配置

2)       备份原配置文件

备份/etc/dt/config/*/Xresources文件,可采用以下脚本进行备份:

for file in /etc/dt/config/*/Xresources; do

cp -p $file $file.bak

done

【配置方法】

执行以下脚本:

for file in /usr/dt/config/*/Xresources; do

dir=`dirname $file | sed s/usr/etc/`

mkdir -p $dir

if [ ! -f $dir/Xresources ]; then

cp $file $dir/Xresources

fi

WARN="Authorized uses only. All activity may be monitored and reported."

echo "Dtlogin*greeting.labelString: $WARN" >>$dir/Xresources

echo "Dtlogin*greeting.persLabelString: $WARN" >>$dir/Xresources

done

chown root:sys /etc/dt/config/*/Xresources

chmod 444 /etc/dt/config/*/Xresources

【生效条件】

即时生效。

【检查方法】

检查/etc/dt/config/*/Xresources文件的Dtlogin*greeting.labelStringDtlogin*greeting.persLabelString字段设置值是否为"Authorized uses only. All activity may be monitored and reported."

【补充说明】

在缺省情况下公共桌面环境CDE登录屏幕也显示主机名和操作系统版本。要防止显示此信息,需编辑/usr/dt/config/$LANG/Xresources文件,其中$LANG指的是安装在您的机器上的本地语言。若$LANG设置为en_US,将该文件复制到/etc/dt/config/en_US/Xresources目录中。然后,打开/etc/dt/config/en_US/Xresources文件并编辑,以除去包含主机名和操作系统版本的欢迎信息。

 

 

设置ftp登录的警告信息

执行以下脚本:

echo "herald: /etc/ftpmotd" >> /etc/ftpaccess.ctl

cat << EOF > /etc/ftpmotd

严禁非授权访问,在本设备上的所有活动都会被记录。

EOF

chmod 444 /etc/ftpmotd

【检查方法】

检查/etc/ftpmotd/etc/ftpaccess.ctl文件是否配置警告信息。

1.1.1.2.2  退出系统和工作站锁定

应设置屏幕保护,屏保时间不应大于10分钟

【配置方法】

编辑/etc/profile文件,添加如下内容:

TMOUT=600

    或执行以下脚本:

        if [ ! "`grep -v '^#' /etc/profile |

grep TMOUT=600`" ]; then

cp /etc/profile /etc/profile.bak

echo "TMOUT=600" >> /etc/profile

fi

【检查方法】

检查/etc/profile文件是否设置的TMOUT参数

【补充说明】

1)       在配置中,数字600是以秒为单位,它等于10分钟。

2)       本配置方法只在shell中生效。

用来远程连接UNIX系统的桌面系统应设置屏幕保护,屏保触发时间不应大于5分钟

【配置方法】

执行以下脚本:

for file in /usr/dt/config/*/sys.resources; do

dir=`dirname $file | sed s/usr/etc/`

mkdir -p $dir

if [ ! -f $dir/sys.resources ]; then

cp $file $dir/sys.resources

fi

echo 'dtsession*saverTimeout: 5' >> $dir/sys.resources

echo 'dtsession*lockTimeout: 5' >> $dir/sys.resources

【检查方法】

检查/etc/dt/config/*/sys.resources文件的dtsession*saverTimeoutdtsession*lockTimeout字段设置值是否为5

1.1.1.2.3  远程服务器管理安全

【配置方法】

方法一:手工配置

1)       编辑/etc/ssh/sshd_config文件,修改以下参数并去掉行前注释“#”:

Protocol 2

X11Forwarding no

IgnoreRhosts yes

RhostsAuthentication no

RhostsRSAAuthentication no

HostbasedAuthentication no

KerberosAuthentication no

PermitRootLogin no

PermitEmptyPasswords no

PrintMotd yes

MaxAuthTries 6

PasswordAuthentication yes

ChallengeResponseAuthentication no

UsePrivilegeSeparation yes

IgnoreUserKnownHosts yes

PermitUserEnvironment no

ClientAliveCountMax 10

ClientAliveInterval 30

SyslogFacility AUTH

LogLevel INFO

2)       重启ssh服务使配置生效,执行以下命令:

stopsrc -s sshd

startsrc -s sshd

方法二:执行以下脚本进行配置

        cd /etc/ssh

cp sshd_config sshd_config.tmp

awk '/^#? *Protocol/ { print "Protocol 2"; next };

/^#? *X11Forwarding/

{ print "X11Forwarding no"; next };

/^#? *IgnoreRhosts/

{ print "IgnoreRhosts yes"; next };

/^#? *RhostsAuthentication/

{ print "RhostsAuthentication no"; next };

/^#? *RhostsRSAAuthentication/

{ print "RhostsRSAAuthentication no"; next };

/^#? *HostbasedAuthentication/

{ print "HostbasedAuthentication no"; next };

/^#? *KerberosAuthentication/

{ print "KerberosAuthentication no"; next };

/^#? *PermitRootLogin/

{ print "PermitRootLogin no"; next };

/^#? *PermitEmptyPasswords/

{ print "PermitEmptyPasswords no"; next };

/^#? *PrintMotd/

{ print "PrintMotd yes"; next };

/^#? *MaxAuthTries/

{ print "MaxAuthTries 6"; next };

/^#? *PasswordAuthentication/

{ print "PasswordAuthentication yes"; next };

/^#? *ChallengeResponseAuthentication/

{ print "ChallengeResponseAuthentication no"; next };

/^#? *UsePrivilegeSeparation/

{ print "UsePrivilegeSeparation yes"; next };

/^#? *IgnoreUserKnownHosts/

{ print "IgnoreUserKnownHosts yes"; next };

/^#? *PermitUserEnvironment/

{ print "PermitUserEnvironment no"; next };

/^#? *ClientAliveCountMax/

{ print "ClientAliveCountMax 10"; next };

/^#? *ClientAliveInterval/

{ print "ClientAliveInterval 30"; next };

/^#? *SyslogFacility/

{ print "SyslogFacility AUTH"; next };

/^#? *LogLevel/

{ print "LogLevel INFO"; next };

{print}' sshd_config.tmp > sshd_config

rm sshd_config.tmp

stopsrc -s sshd

startsrc -s sshd

【检查方法】

检查确认/etc/ssh/sshd_config文件中的设置与配置是否相符。

【补充说明】

1)       PasswordAuthenticationChallengeResponseAuthentication参数为开放平台安全技术规范检查工具需要。

2)       默认情况下,父 sshd 进程和子 sshd 进程都以特权用户身份运行。配置UsePrivilegeSeparation yes启用权限分离,将为每个用户连接生成一个附加进程,客户端和服务器之间的所有后续通信都与该非特权子 sshd 进程进行。如果在 Shell 命令执行期间发生缓冲区溢出攻击,因为控制处于非特权进程中,所以可抑制潜在的安全风险。

3)       X11Forwarding参数允许用户在远程主机上绕开文件权限限制(即X11用户授权数据库),获得本地X11显示,攻击者可利用此功能进行键盘监视的等活动。

4)       PermitUserEnvironment指定是否允许 sshd处理 ~/.ssh/environment 以及 ~/.ssh/authorized_keys 中的 environment= 选项。默认值是"no"。如果设为"yes"可能会导致用户有机会使用某些机制绕过访问控制,造成安全漏洞。

5)       IgnoreUserKnownHosts是否在 RhostsRSAAuthentication HostbasedAuthentication 过程中忽略用户的 ~/.ssh/known_hosts 文件。默认值是"no"。为了提高安全性,可以设为"yes"

1.1.1.3      系统网络通讯 1.1.1.3.1  非常用TCP/IP服务

应关闭一般不用的TCP/IP网络服务

 

禁用一般不使用的inet服务

【条款属性】

配置类

【配置前提】

1)       确认本系统不使用以下tcp服务和udp服务:

tcp服务包括kshell login klogin exec uucp finger rexd echo discard chargen daytime time instsrv imap2 pop3 wsmserver ttdbserver dtspc

udp服务包括comsat bootps tftp talk ntalk rquotad rstatd  rusersd rwalld sprayd pcnfsd echo discard chargen  daytime time cmsd

2)       root同等权限用户登录操作系统实施配置

3)       备份配置文件/etc/inetd.conf

【配置方法】

方法一:手工配置

1)       编辑/etc/inetd.conf文件,注释需禁用服务的相关行

2)       执行refresh -s inetd命令刷新inetd子系统

方法二:执行以下脚本进行配置

for SVC in kshell login klogin exec uucp finger rexd

echo discard chargen daytime time instsrv

imap2 pop3 wsmserver ttdbserver dtspc; do

echo "Disabling $SVC TCP"

chsubserver -d -v $SVC -p tcp

done

for SVC in comsat bootps tftp talk ntalk rquotad rstatd

rusersd rwalld sprayd pcnfsd echo discard

chargen  daytime time cmsd; do

echo "Disabling $SVC UDP"

chsubserver -d -v $SVC -p udp

done

refresh -s inetd

【撤销配置】

方法一:利用备份文件恢复

1)       恢复/etc/inetd.conf的备份文件;

2)       执行refresh -s inetd命令刷新inetd子系统

方法二:手工恢复

对于需要单独开启的tcp服务(如:finger)执行如下操作

chsubserver -a -v finger -p tcp

refresh -s inetd

对于需要单独开启的udp服务(如:talk)执行如下操作

chsubserver -a -v talk -p udp

refresh -s inetd

【检查方法】

执行lssrc -ls inetd命令检查状态为active的服务中无上述服务。

禁用DNS服务

【配置方法】

执行以下命令:

stopsrc -s named

chrctcp -d named

【撤销配置】

执行以下命令:

startsrc -s named

chrctcp -a named

【检查方法】

执行lssrc -s named命令,确认服务状态为inoperative

检查/etc/rc.tcpip文件,确认已注释“start /usr/sbin/named "$src_running"”行;

【补充说明】

无。

 

禁用lpd服务

【条款属性】

配置类

【配置前提】

1)       确认本系统不使用lpd服务

2)       root同等权限用户登录操作系统实施配置

3)       备份相关配置文件/etc/rc.tcpip

【配置方法】

    执行以下命令:

stopsrc -s lpd

chrctcp -d lpd

【撤销配置】

执行以下命令:

startsrc -s lpd

chrctcp -a lpd

【检查方法】

执行lssrc -s lpd命令,确认服务状态为inoperative

检查/etc/rc.tcpip文件,确认已注释“start /usr/sbin/lpd "$src_running"”行;

 

禁用rwhod服务

【配置方法】

执行以下命令:

stopsrc -s rwhod

chrctcp -d rwhod

【生效条件】

即时生效。

【撤销配置】

执行以下命令:

startsrc -s rwhod

chrctcp -a rwhod

【检查方法】

执行lssrc -s rwhod命令,确认服务状态为inoperative

检查/etc/rc.tcpip文件,确认已注释“start /usr/sbin/rwhod "$src_running"”行;

1.1.1.3.2  可信主机服务(Trusted Host

宜关闭可信主机服务,可在实际需要时启用可信主机服务

【配置方法】

禁用服务:

stopsrc -t shell

stopsrc -t login

启用服务:

startsrc -t shell

startsrc -t login

【检查方法】

通过分别执行下面命令检查shelllogin服务是关闭还是启用。当输出结果没有对应的服务时,表示该服务关闭。

    lssrc -t shell

    lssrc -t login 

【补充说明】

shell服务的服务进程为rshd,提供rshrcp服务;login服务的服务进程为rlogind,提供rlogin服务。

 

使用可信主机服务时,应指定具体的可信主机及其上的具体用户,宜通过用户主目录下的.rhosts文件进行配置。

【配置方法】

1)       编辑$HOME/.rhosts文件(如原来没有该文件,直接新建),添加被信任的主机及其上用户。格式如下,可通过多行记录来对多个目标主机进行授信。

HostName UserName

举例,对机器APPserver上的user1用户进行授信,则在$HOME/.rhosts文件上添加

APPserver user1

2)       确保$HOME/.rhosts文件的属性为600,如果不是,则参考下面命令修改。

chmod 600 $HOME/.rhosts

【撤销配置】

如果是要恢复原来指定的授信主机及其上用户,则恢复备份配置文件。如果是取消所有授信主机,则直接删掉$HOME/.rhosts

【检查方法】

检查$HOME/.rhosts文件中是否已指定具体的可信主机及其上的具体用户,并且此文件不包含仅有“+”的行。

1.1.1.3.3  NFS服务

宜关闭NFS服务,可在实际需要时启用NFS服务

【配置方法】

执行rmnfs -B命令

【撤销配置】

执行mknfs -B命令

【检查方法】

执行lssrc -g nfs命令,确认以下服务状态均为为inoperative

nfsdrpc.mountdbiodrpc.statdrpc.lockdnfsrgydgssd

执行lsitab rcnfs命令,确认无返回信息。

 

使用NFS服务时,应实施以下措施:不共享/usr/bin等系统目录;明确具体的NFS客户端;NFS客户端访问权限应是必需的最小权限,并且不允许以root用户权限访问

【配置前提】

1)       确认本系统使用NFSserverclient服务

2)       root同等权限用户登录操作系统实施配置

3)       备份配置文件/etc/exports/etc/xtab

【配置方法】

1)       配置自动导出

编辑/etc/exports文件,添加导出路径,指定读写权限参数如-rorw,并指定访问的客户端access=Client[:Client,...],例如:

Directory -ro,access=Client[:Client,...]:

执行命令:

exportfs -a

2)       配置手工导出

执行命令:

exportfs -o ro,access=Client[:Client,...] Directory

【撤销配置】

恢复配置文件。

【检查方法】

检查/etc/xtab文件,并执行df -g命令查看,检查是否存在/usr/bin等系统目录,是否已明确具体的NFS客户端,且没有包含root=Client[:Client]anon=0的配置。

【补充说明】

1)       /etc/exports列出服务器可导出路径。

2)       /etc/xtab列出当前导出路径。

1.1.1.3.4  FTP服务

宜关闭FTP服务,可在实际需要时启用FTP服务

【配置方法】

执行以下命令:

stopsrc -t ftp

chsubserver -d -v ftp -p tcp

refresh -s inetd

【撤销配置】

执行以下命令:

startsrc -t ftp

chsubserver -a -v ftp -p tcp

refresh -s inetd

【检查方法】

执行lssrc -t ftp命令,确认服务状态为inoperative

检查/etc/inetd.conf文件,确认已注释“ftp     stream  tcp     nowait  root    /usr/sbin/ftpd ftpd”行;

使用FTP服务时,应禁止匿名FTP访问

【配置前提】

1)       确认不使用$HOME/.netrc

2)       root同等权限用户登录操作系统实施配置

3)       执行以下脚本,将$HOME/.netrc备份到$HOME/.netrc.bak

for dir in `logins -ox |

awk -F: '($8 == "PS" && $1 != "root") { print $6 }'`

do

cp -p $dir/.netrc $dir/.netrc.bak 2>/dev/null

done

cp -p /.netrc /.netrc.bak 2>/dev/null

【配置方法】

执行以下脚本:

for dir in `logins -ox |

awk -F: '($8 == "PS" && $1 != "root") { print $6 }'`

do

rm -f $dir/.netrc

done

rm -f /.netrc

【撤销配置】

执行以下脚本:

for dir in `logins -ox |

awk -F: '($8 == "PS" && $1 != "root") { print $6 }'`

do

cp -p $dir/.netrc.bak $dir/.netrc 2>/dev/null

done

cp -p /tmp/.netrc.bak /.netrc 2>/dev/null

【检查方法】

执行以下脚本:

for dir in `logins -ox |

awk -F: '($8 == "PS" && $1 != "root") { print $6 }'`

do

ls $dir/.netrc >>/tmp/netrc-after.txt 2>/dev/null

done

ls /.netrc >>/tmp/netrc-after.txt 2>/dev/null

检查/tmp/ netrc-after.txt 内容为空。

检查anonymous用户是否可ftp登录。

【补充说明】

系统默认禁止匿名FTP访问,应定期搜索和移除用户的 ~/.netrc 文件。.netrc 文件包含 ftp 自动登录进程、rexec() 库例行程序、rexec 命令使用的登录、口令以及帐户信息。

 

 

使用FTP服务时,应指定所必需的具体FTP用户

【配置方法】

方法一:手工配置

执行vi /etc/ftpusers命令(添加)编辑ftpusers文件;

在文件中添加root用户以及可以禁止ftp的其它应用用户,每个用户名一行;

chown root:system /etc/ftpusers

chmod 600 /etc/ftpusers

方法二:执行以下脚本进行配置

if grep "^root$" /etc/ftpusers;

then :

else

echo "root" >> /etc/ftpusers

fi

chown root:system /etc/ftpusers

chmod 600 /etc/ftpusers

【撤销配置】

执行vi /etc/ftpusers命令(添加)编辑ftpusers文件;在文件中删除可实施ftp的用户。

【检查方法】

检查/etc/ftpusers文件,确认包含root用户。

使用FTP服务时,应开启FTP连接信息的日志记录

系统用户和FTP用户的umask变量应设置为022或者更严格

【配置方法】

执行以下命令:

chsubserver -c -v ftp -p tcp "ftpd -l -d -u022"

refresh -s inetd

【检查方法】

检查/etc/inetd.conf文件的ftp服务的参数配置是否含-l -d -u022

【补充说明】

1)       FTP会话的日志将记录到syslog中,系统必须通过设置能在建FTP会话的日志捕获到syslog制定的日志文件中,具体做法参考接下来的小节的内容。

2)       -u022”为FTP用户设置umask

syslog中捕获FTP会话的日志信息

【配置方法】

执行以下脚本:

if [ ! "`grep -v '^#' /etc/syslog.conf |

grep /var/adm/connlog`" ]; then

echo "daemon.debugtt/var/adm/connlog"

>>/etc/syslog.conf

fi

 

touch /var/adm/connlog

chown root:system /var/adm/connlog

chmod 600 /var/adm/connlog

refresh -s syslogd

【撤销配置】

1)       恢复/etc/syslog.conf备份文件

2)       执行以下命令重新配置syslog服务

refresh -s syslogd

【检查方法】

1)       检查/etc/syslog.conf文件,是否配置以下内容

daemon.debug        /var/adm/connlog

(注意:daemon.debug/var/adm/connlog间以TAB键分隔)

2)       执行lssrc -s syslogd命令,确认服务状态为active

1.1.1.3.5  邮件服务

可启用系统自带邮件服务,并且应只对系统内提供服务

【配置方法】

方法一:手工配置

1)       停止sendmail服务

2)       编辑/etc/rc.tcpip文件,注释“start /usr/lib/sendmail "$src_running" "-bd -q${qpi}”行

3)       执行crontab -e root添加“0 * * * * /usr/sbin/sendmail -q”内容

方法二:执行以下脚本进行配置

stopsrc -s sendmail

chrctcp -d sendmail

cd /var/spool/cron/crontabs

crontab -l > root.tmp

if [ `grep -c "sendmail -q" root.tmp` -eq 0 ]; then

echo "0 * * * * /usr/sbin/sendmail -q" >> root.tmp

crontab root.tmp

fi

rm -f root.tmp

【撤销配置】

startsrc -s sendmail

chrctcp -a sendmail

crontab -e root编辑root用户的crontab文件,删除"0 * * * * /usr/sbin/sendmail -q"

【检查方法】

执行lssrc -s sendmail命令,确认sendmail服务的状态为inoperative

检查/etc/rc.tcpip文件,确认已注释“start /usr/lib/sendmail "$src_running" "-bd -q${qpi}”行;

执行crontab -l root命令,确认有"0 * * * * /usr/sbin/sendmail -q"行。

【补充说明】

禁用sendmail服务可满足只对系统内提供服务。

1.1.1.3.6  X Windows服务

可启用X Windows服务,提供远程图形界面登录

 

禁用运行xhost命令的用户许可权

【配置方法】

执行以下命令:

chmod 744 /usr/bin/X11/xhost

【撤销配置】

    恢复文件权限。

【检查方法】

    执行ls -l /usr/bin/X11/xhost命令查看文件权限。

【补充说明】

确保适当的使用xhost命令的另一种方法是限制该命令仅能由具有root用户权限的用户执行。

阻止对远程X服务器进行非授权的监视

【配置方法】

执行以下命令:

chmod 744 /usr/bin/X11/xwd

chmod 744 /usr/bin/X11/xwud

【撤销配置】

恢复文件权限。

【检查方法】

执行ls -l /usr/bin/X11/xwdls -l /usr/bin/X11/xwud命令查看文件权限。

【补充说明】

xwdxwud命令可以用于监视X服务器活动,它们可以捕获击键,这会暴露密码和其他敏感数据。要解决这个问题,除去这些可执行文件,除非它们是必要的,或者作为备用,将对这些命令的访问权更改为只有root用户才能访问。

1.1.1.4      系统资源环境 1.1.1.4.1  批处理

应限制批处理作业脚本或者程序只能由必需的授权用户访问

对于所有由cronat使用的作业脚本或者程序,应取消同组成员(group)和非组成员(other)的写权限

需要使用cronat批处理时,应通过cron.allowat.allow文件来指定被授权使用cronat的具体用户

【配置方法】

方法一:手工配置

1)       执行vi /var/adm/cron/cron.allow命令(添加)编辑cron.allow文件,添加使用cron的用户名,每个用户名一行;

2)       执行vi /var/adm/cron/at.allow命令(添加)编辑at.allow文件,添加使用at的用户名,每个用户名一行;

3)       chown root:sys cron.allow at.allow

4)       chmod 400 cron.allow

5)       chmod 755 /var/spool/cron/crontabs /var/spool/cron/atjobs

方法二:执行以下脚本进行配置

    if grep "^root$" /var/adm/cron/cron.allow; then :

else

echo "root" >> /var/adm/cron/cron.allow

fi

if grep "^root$" /var/adm/cron/at.allow; then :

else

echo "root" >> /var/adm/cron/at.allow

fi

cd /var/adm/cron

chown root:sys cron.allow at.allow

chmod 400 cron.allow

chmod 755 /var/spool/cron/crontabs /var/spool/cron/atjobs

【检查方法】

检查/var/adm/cron/cron.allow文件

检查/var/adm/cron/at.allow文件

检查以上文件、目录权限。

1.1.1.5      文件系统及目录保护 1.1.1.5.1  系统文件和目录的保护

系统全局umask变量应设置为022

【配置方法】

执行以下命令:

chsec -f /etc/security/user -s default -a umask=022

【检查方法】

执行如下命令:

lssec -f /etc/security/user -s default -a umask

显示如下信息:

default umask=22

1.1.2        第二级 1.1.2.1      日志及监控审计

应对系统日志文件进行保护,防止同组用户或其它用户对日志文件有写权限。

日志文件应定期地存档并统一保存

【配置方法】

方法一:手工配置

1)       编辑/etc/syslog.conf文件,在文件末尾添加一行内容如下:

user.err        @logserverIP

(注意:user.err@logserverIP间以TAB键分隔,logserverIP为实际日志服务器的IP地址)

2)       执行以下命令重启syslog服务

stopsrc -s syslogd

startsrc -s syslogd

方法二:执行以下脚本进行配置

        if [ ! "`grep -v '^#' /etc/syslog.conf |

grep user.err`" ]; then

echo "user.errtt@logserverIP"

>>/etc/syslog.conf

fi

stopsrc -s syslogd

startsrc -s syslogd

【撤销配置】

1)       恢复/etc/syslog.conf备份文件

2)       执行以下命令重启syslog服务

stopsrc -s syslogd

startsrc -s syslogd

【检查方法】

1)       检查/etc/syslog.conf文件,是否配置包含有“user.error”级别的日志

user.err        @logserverIP

2)       执行lssrc -s syslogd命令,确认服务状态为active

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论4 条评论

ajggajgg工程师绿盟
2022-09-28 22:59
收藏
lihuilihui联盟成员技术经理重庆三峡银行股份有限公司
2015-09-11 16:58
非常好
bighead008bighead008其它19
2015-07-17 16:29
学习了
daoguo525daoguo525系统工程师世纪五岳(北京)科技有限公司
2013-02-28 12:13
非常好!谢谢分享!
Ctrl+Enter 发表

作者其他文章

X社区推广