执行以下命令:
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.labelString和Dtlogin*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*saverTimeout和dtsession*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) PasswordAuthentication和ChallengeResponseAuthentication参数为开放平台安全技术规范检查工具需要。
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
【检查方法】
通过分别执行下面命令检查shell和login服务是关闭还是启用。当输出结果没有对应的服务时,表示该服务关闭。
lssrc -t shell
lssrc -t login
【补充说明】
shell服务的服务进程为rshd,提供rsh和rcp服务;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:
nfsd,rpc.mountd,biod,rpc.statd,rpc.lockd,nfsrgyd,gssd
执行lsitab rcnfs命令,确认无返回信息。
使用NFS服务时,应实施以下措施:不共享/usr/bin等系统目录;明确具体的NFS客户端;NFS客户端访问权限应是必需的最小权限,并且不允许以root用户权限访问
【配置前提】
1) 确认本系统使用NFS的server或client服务
2) 以root同等权限用户登录操作系统实施配置
3) 备份配置文件/etc/exports,/etc/xtab
【配置方法】
1) 配置自动导出
编辑/etc/exports文件,添加导出路径,指定读写权限参数如-ro,rw,并指定访问的客户端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/xwd、ls -l /usr/bin/X11/xwud命令查看文件权限。
【补充说明】
xwd和xwud命令可以用于监视X服务器活动,它们可以捕获击键,这会暴露密码和其他敏感数据。要解决这个问题,除去这些可执行文件,除非它们是必要的,或者作为备用,将对这些命令的访问权更改为只有root用户才能访问。
1.1.1.4 系统资源环境 1.1.1.4.1 批处理应限制批处理作业脚本或者程序只能由必需的授权用户访问
对于所有由cron、at使用的作业脚本或者程序,应取消同组成员(group)和非组成员(other)的写权限
需要使用cron、at批处理时,应通过cron.allow和at.allow文件来指定被授权使用cron、at的具体用户
【配置方法】
方法一:手工配置
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 条评论
2022-09-28 22:59
2015-09-11 16:58
2015-07-17 16:29
2013-02-28 12:13