Linux操作系统安全配置基线1(共5篇)

2020-02-11 14:39:07下载本文作者:会员上传
简介:写写帮文库小编为你整理了这篇《Linux操作系统安全配置基线1(共5篇)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Linux操作系统安全配置基线1(共5篇)》。

第1篇:Linux操作系统安全配置基线1

一、目的规定深圳电力公司信息部所维护管理的LINUX操作系统的虚拟主机和物理主机应当遵循的操作系统安全性设置标准,本文档旨在知道系统管理人员或安全检查人员进行LINUX操作系统的安全合规性检查和配置。

二、适用范围

本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

三、适用系统版本

LINUX系列服务器(包含CentOS5以上版本、RHEL5以上版本系统)

四、基线列表

检查类别

检查对象

账号

密码策略

/etc/login.defs

检查

内容

PASS_MAX_DAYS //密码失效天数

PASS_MIN_DAYS

PASS_MIN_LEN //密码最小长度

PASS_WARN_AGE //密码失效前多少天提醒修改密码

检查结果和操作处理

cat /etc/login.defs|grep PASS

查看PASS_MAX_DAYS,PASS_MIN_LEN,PASS_WARN_AGE值

检查标准值

PASS_MAX_DAYS 180

PASS_MIN_DAYS 0

PASS_MIN_LEN 8

PASS_WARN_AGE 7

修正操作

vim /etc/login.defs

修改各项值为标准值,修改完成后:wq保存。

说明

不允许存在简单密码,密码设置符合策略,密码长度至少为6,密码失效天数为90天,提前7天提醒用户修改密码。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == “"){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

操作超时值TMOUT

/etc/profile

/etc/csh.login /etc/csh.cshrc /etc/bashrc

检查

内容

检查各项登录初始化的文件是否含有TMOUT值,并检查是否为600

检查结果和操作处理

grep TMOUT /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

TMOUT=600

修正操作

1、如设置值不等于600,则修改相应的文件设置值为6002、若检查输出为空,则echo “TMOUT=600” >> /etc/profile

当用户10分钟无操作时自动锁定退出账户,防止为退出造成安全问题。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

用户登陆方案

sudo权限

/etc/sudoers

用户所属组

id $user

检查

内容

查看wheel组有无sudo 无密码登陆权限 /etc/sudoers

查看用户是否属wheel组 #id $user

检查结果和操作处理

grep wheel /etc/sudoers 查看wheel组相关的设置

id + 用户名 查看所属组

检查标准值

/etc/sudoers 记录:

%wheel ALL=(ALL)NOPASSWD: ALL

id + 用户名 : groups=10(wheel)

修正操作

删除或注释wheel组其他行

添加 %wheel ALL=(ALL)NOPASSWD: ALL 记录行

把用户添加进入wheel组: usermod-G wheel 用户名

说明

非管理员用非root登陆,需要root权限时,最后sudo-i到root进行操作。

方便记录所有的命令操作。并在不需要root权限时不登陆root增强安全性。

用户操作历史相关记录

/etc/profile

文件中是否含有初始化脚本

检查

内容

脚本内容:

STTIMEFORMAT=%F %T

history

USER_IP=`who-u am i 2>/dev/null| awk {print $NF}|sed-e s/[()]//g`

USER_LOGIN=`who-u am i 2>/dev/null |awk {print $1}`

if [ `echo $USER_IP | sed-e s/[()]//g |grep ”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$“|wc-l `-eq 0 ]

then

USER_IP=`hostname`

fi

if [!-d /tmp/ComHis ]

then

mkdir /tmp/ComHis

chmod 777 /tmp/ComHis

fi

if [!-d /tmp/ComHis /${USER_LOGIN} ]

then

mkdir /tmp/ComHis/${USER_LOGIN}

chmod 300 /tmp/ComHis/${USER_LOGIN}

fi

export HISTSIZE=4096

DT=`date ”+%Y-%m-%d_%H:%M:%S“`

export HISTFILE=”/tmp/ComHis/${USER_LOGIN}/${USER_IP}_ComHis.$DT“

chmod 600 /tmp/ComHis/${USER_LOGIN}/*dl* 2>/dev/null

export PATH=$PATH:/usr/sbin

检查结果和操作处理

cat /etc/profile

查看最后是否含有此脚本

检查标准值

含有此脚本内容

修正操作

vi /etc/profile

把脚本内容输入到文件最后,保存退出。

下次用户登陆时生效。

说明

每次用户登陆做完操作退出时,系统会记录本次登陆的时间和本次登陆所执行的命令,存放到/tmp/ComHis/登录名/ 目录夹下

做为历史记录提供查询。

用户权限

/etc/passwd

检查内容

检查/etc/passwd第三列(uid)为0的行

检查结果和操作处理

awk-F:($3 == 0){ print $1 } /etc/passwd

查看返回是否含除”root”以外的条目

检查标准值

除root外无其他输出记录

修正操作

1、查询账号归属,若无人认领则删除用户:usedel 用户名

2、修改用户所属组: usermod-g 组名 用户名

说明

UID(即用户组)为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0

root用户环境变量

$PATH

检查

内容

检测$PATH环境变量中是否包含 “:” , ”::” , ”.” , ”:.” 内容

检测$PATH

检查结果和操作处理

echo $PATH | egrep(^|:)(.|:|$)

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)-ls

检查标准值

echo $PATH | egrep(^|:)(.|:|$)

无输出

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)–ls

无输出

修正操作

1、若环境变量中含有父目录,则去除父目录,重新定义新环境变量。vi /etc/profile 加入去除掉父目录的PATH内容$newpath

PATH=$newpath2、确认环境变量中子目录组权限为777的目录归属组。修改:

chmod 755 目录

说明

确保 root 用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777 的目录

文件属性

/etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

中umask值

检查

内容

检查各项登录初始化的文件是否含有umask值,并检查是否为077

检查结果和操作处理

grep umask /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

输出 umask=077

修正操作

修改对应文umask=077

sed s/umask 022/umask 077/g /etc/csh.login

sed s/umask 022/umask 077/g /etc/csh.cshrc

sed s/umask 022/umask 077/g /etc/bashrc

sed s/umask 022/umask 077/g /etc/profile

说明

umask是计算登陆系统之后创建文件或者目录的默认权限的参数。因此特别重要。

umask值是默认的022,如果是默认的,则低于安全要求

/etc/rc.d/init.d/*

/etc/passwd

/etc/shadow

/etc/group

/etc/security/*

/etc/services

/etc/rc*.d

文件属性

检查

内容

文件属性

检查结果和操作处理

ls-l /etc/rc.d/init.d/*

ls-l /etc/passwd

ls-l /etc/shadow

ls-l /etc/group

ls-l /etc/security/*

ls-l /etc/services

ls-l /etc/rc*.d

检查标准值

ls-l /etc/rc.d/init.d/-rwxr-xr-x 755权限 root:root

ls-l /etc/passwd-rw-r--r--644权限 root:root

ls-l /etc/shadow-r--------400权限 root:root

ls-l /etc/group-rw-r--r--644权限 root:root

ls-l /etc/security

除/etc/security/console.apps/system-config-services(-rwxr-xr-x)/etc/security/namespace.init(-rwxr-xr-x)/etc/security/time.conf(-rw-------)外,其余权限基本都为-rw-r--r--644权限 root:root

ls-l /etc/services-rw-r--r--644权限 root:root

ls-l /etc/rc*.d 一般为755权限

修正操作

对于重要的目录,建议执行如下类似操作:

chmod-R 750 /etc/rc.d/init.d/*

说明

紧缩的文件属性设置有利于安全

黏贴位

检查

内容

检查文件系统中具有黏贴位的文件。

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART(-perm-04000-o-perm-02000)-type f-xdev-print;done

检查标准值

输出结果一般为下

/sbin/netreport

/sbin/unix_chkpwd

/sbin/mount.nfs4

/sbin/pam_timestamp_check

/sbin/umount.nfs

/sbin/mount.nfs

/sbin/umount.nfs4

/usr/sbin/userhelper

/usr/sbin/lockdev

/usr/sbin/ccreds_validate

/usr/sbin/sendmail.sendmail

/usr/sbin/usernetctl

/usr/libexec/openssh/ssh-keysign

/usr/libexec/utempter/utempter

/usr/bin/crontab

/usr/bin/passwd

/usr/bin/rsh

/usr/bin/rcp

/usr/bin/sudoedit

/usr/bin/newgrp

/usr/bin/locate

/usr/bin/rlogin

/usr/bin/ssh-agent

/usr/bin/sudo

/usr/bin/Xorg

/usr/bin/wall

/usr/bin/gpasswd

/usr/bin/at

/usr/bin/chsh

/usr/bin/chfn

/usr/bin/lockfile

/usr/bin/write

/usr/bin/staprun

/usr/bin/chage

/usr/kerberos/bin/ksu

/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper

/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper

/usr/lib/nspluginwrapper/plugin-config

/usr/lib64/vte/gnome-pty-helper

/usr/lib64/nspluginwrapper/plugin-config

/bin/ping6

/bin/mount

修正操作

对于陌生的输出结果目录确认归属人。沟通后修改:

chmod u-s file

chmod g-s file

说明

SUID作用:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。

GID作用:让本来没有相应权限的组用户运行这个程序时,可以访问这个组没有权限访问的资源。

经常性对比suid/sgid 文件列表,以便能够及时发现可疑的后门程序

任何人具有写权限的目录

检查

内容

检查文件系统中所有人都有写权限的目录

检查结果和操作处理

for PART in `awk $3 ~ /ext/{ print $2 } /etc/fstab`;do find $PART-xdev-type d(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该目录权限为755

chmod 755 目录

说明

紧缩目录权限

任何人具有写权限的文件

检查

内容

检查文件系统中所有人都有写权限的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-xdev-type f(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该文件权限为755

chmod 755 文件

说明

紧缩文件权限

查找没有属主的文件

检查

内容

检查文件系统中没有属主的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-nouser-o-nogroup-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改拥有者为root:root

chown root:root 文件

修改权限为700 : chmod 700 文件

说明

发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有主人的文件存在。如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。

异常隐含文件

检查

内容

查找隐藏文件

检查结果和操作处理

find /-name ”..*“-print

find /-name ”...*“-print |cat –v

find /-name ”.*“-print

检查标准值

无输出或输出常见文件

修正操作

询问文件归属,若没人认领,则删除该文件

rm-rf 文件

说明

在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在LINUX下,一个常用的技术就是用一些特殊的名,如:“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录.确认安全后删除。

日志审计

日志事件

syslog.conf

检查

内容

/etc/syslog.conf 是否包含authpriv、mail、cron 日志记录

检查结果和操作处理

cat /etc/syslog.conf查看相关记录

检查标准值

authpriv.* /var/log/secure

mail.* /var/log/maillog

cron.* /var/log/cron

authpriv.* /var/log/messages

或者有相关记录,并未注释

修正操作

vi /etc/syslog.conf,添加相关记录并保存

说明

若未对所有登录事件都记录,则低于安全要求

系统信息文件

/etc/security/limits.conf

查看相关记录

检查

内容

/etc/security/limits.conf中含有soft core、hard core的项

检查结果和操作处理

cat /etc/security/limits.conf |grep “soft core”|” hard core”

检查标准值

* soft core 0

* hard core 0

修正操作

在配置文件中添加或修改以上两项

说明

通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。

core dump 中可能包括系统信息,易被入侵者利用,建议关闭

第2篇:Linux操作系统安全配置基线2

一、目的规定深圳电力公司信息部所维护管理的LINUX操作系统的虚拟主机和物理主机应当遵循的操作系统安全性设置标准,本文档旨在知道系统管理人员或安全检查人员进行LINUX操作系统的安全合规性检查和配置。

二、适用范围

本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

三、适用系统版本

LINUX系列服务器(包含CentOS5以上版本、RHEL5以上版本系统)

四、基线列表

检查类别

检查对象

账号

密码策略

/etc/login.defs

检查

内容

PASS_MAX_DAYS //密码失效天数

PASS_MIN_DAYS

PASS_MIN_LEN //密码最小长度

PASS_WARN_AGE //密码失效前多少天提醒修改密码

检查结果和操作处理

cat /etc/login.defs|grep PASS

查看PASS_MAX_DAYS,PASS_MIN_LEN,PASS_WARN_AGE值

检查标准值

PASS_MAX_DAYS 180

PASS_MIN_DAYS 0

PASS_MIN_LEN 8

PASS_WARN_AGE 7

修正操作

vim /etc/login.defs

修改各项值为标准值,修改完成后:wq保存。

说明

不允许存在简单密码,密码设置符合策略,密码长度至少为6,密码失效天数为90天,提前7天提醒用户修改密码。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

操作超时值TMOUT

/etc/profile

/etc/csh.login /etc/csh.cshrc /etc/bashrc

检查

内容

检查各项登录初始化的文件是否含有TMOUT值,并检查是否为600

检查结果和操作处理

grep TMOUT /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

TMOUT=600

修正操作

1、如设置值不等于600,则修改相应的文件设置值为6002、若检查输出为空,则echo “TMOUT=600” >> /etc/profile

当用户10分钟无操作时自动锁定退出账户,防止为退出造成安全问题。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

用户登陆方案

sudo权限

/etc/sudoers

用户所属组

id $user

检查

内容

查看wheel组有无sudo 无密码登陆权限 /etc/sudoers

查看用户是否属wheel组 #id $user

检查结果和操作处理

grep wheel /etc/sudoers 查看wheel组相关的设置

id + 用户名 查看所属组

检查标准值

/etc/sudoers 记录:

%wheel ALL=(ALL)NOPASSWD: ALL

id + 用户名 : groups=10(wheel)

修正操作

删除或注释wheel组其他行

添加 %wheel ALL=(ALL)NOPASSWD: ALL 记录行

把用户添加进入wheel组: usermod-G wheel 用户名

说明

非管理员用非root登陆,需要root权限时,最后sudo-i到root进行操作。

方便记录所有的命令操作。并在不需要root权限时不登陆root增强安全性。

用户操作历史相关记录

/etc/profile

文件中是否含有初始化脚本

检查

内容

脚本内容:

STTIMEFORMAT=%F %T

history

USER_IP=`who-u am i 2>/dev/null| awk {print $NF}|sed-e s/[()]//g`

USER_LOGIN=`who-u am i 2>/dev/null |awk {print $1}`

if [ `echo $USER_IP | sed-e s/[()]//g |grep ”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$“|wc-l `-eq 0 ]

then

USER_IP=`hostname`

fi

if [!-d /tmp/ComHis ]

then

mkdir /tmp/ComHis

chmod 777 /tmp/ComHis

fi

if [!-d /tmp/ComHis /${USER_LOGIN} ]

then

mkdir /tmp/ComHis/${USER_LOGIN}

chmod 300 /tmp/ComHis/${USER_LOGIN}

fi

export HISTSIZE=4096

DT=`date ”+%Y-%m-%d_%H:%M:%S“`

export HISTFILE=”/tmp/ComHis/${USER_LOGIN}/${USER_IP}_ComHis.$DT“

chmod 600 /tmp/ComHis/${USER_LOGIN}/*dl* 2>/dev/null

export PATH=$PATH:/usr/sbin

检查结果和操作处理

cat /etc/profile

查看最后是否含有此脚本

检查标准值

含有此脚本内容

修正操作

vi /etc/profile

把脚本内容输入到文件最后,保存退出。

下次用户登陆时生效。

说明

每次用户登陆做完操作退出时,系统会记录本次登陆的时间和本次登陆所执行的命令,存放到/tmp/ComHis/登录名/ 目录夹下

做为历史记录提供查询。

用户权限

/etc/passwd

检查内容

检查/etc/passwd第三列(uid)为0的行

检查结果和操作处理

awk-F:($3 == 0){ print $1 } /etc/passwd

查看返回是否含除”root”以外的条目

检查标准值

除root外无其他输出记录

修正操作

1、查询账号归属,若无人认领则删除用户:usedel 用户名

2、修改用户所属组: usermod-g 组名 用户名

说明

UID(即用户组)为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0

root用户环境变量

$PATH

检查

内容

检测$PATH环境变量中是否包含 “:” , ”::” , ”.” , ”:.” 内容

检测$PATH

检查结果和操作处理

echo $PATH | egrep(^|:)(.|:|$)

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)-ls

检查标准值

echo $PATH | egrep(^|:)(.|:|$)

无输出

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)–ls

无输出

修正操作

1、若环境变量中含有父目录,则去除父目录,重新定义新环境变量。vi /etc/profile 加入去除掉父目录的PATH内容$newpath

PATH=$newpath2、确认环境变量中子目录组权限为777的目录归属组。修改:

chmod 755 目录

说明

确保 root 用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777 的目录

文件属性

/etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

中umask值

检查

内容

检查各项登录初始化的文件是否含有umask值,并检查是否为077

检查结果和操作处理

grep umask /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

输出 umask=077

修正操作

修改对应文umask=077

sed s/umask 022/umask 077/g /etc/csh.login

sed s/umask 022/umask 077/g /etc/csh.cshrc

sed s/umask 022/umask 077/g /etc/bashrc

sed s/umask 022/umask 077/g /etc/profile

说明

umask是计算登陆系统之后创建文件或者目录的默认权限的参数。因此特别重要。

umask值是默认的022,如果是默认的,则低于安全要求

/etc/rc.d/init.d/*

/etc/passwd

/etc/shadow

/etc/group

/etc/security/*

/etc/services

/etc/rc*.d

文件属性

检查

内容

文件属性

检查结果和操作处理

ls-l /etc/rc.d/init.d/*

ls-l /etc/passwd

ls-l /etc/shadow

ls-l /etc/group

ls-l /etc/security/*

ls-l /etc/services

ls-l /etc/rc*.d

检查标准值

ls-l /etc/rc.d/init.d/-rwxr-xr-x 755权限 root:root

ls-l /etc/passwd-rw-r--r--644权限 root:root

ls-l /etc/shadow-r--------400权限 root:root

ls-l /etc/group-rw-r--r--644权限 root:root

ls-l /etc/security

除/etc/security/console.apps/system-config-services(-rwxr-xr-x)/etc/security/namespace.init(-rwxr-xr-x)/etc/security/time.conf(-rw-------)外,其余权限基本都为-rw-r--r--644权限 root:root

ls-l /etc/services-rw-r--r--644权限 root:root

ls-l /etc/rc*.d 一般为755权限

修正操作

对于重要的目录,建议执行如下类似操作:

chmod-R 750 /etc/rc.d/init.d/*

说明

紧缩的文件属性设置有利于安全

黏贴位

检查

内容

检查文件系统中具有黏贴位的文件。

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART(-perm-04000-o-perm-02000)-type f-xdev-print;done

检查标准值

输出结果一般为下

/sbin/netreport

/sbin/unix_chkpwd

/sbin/mount.nfs4

/sbin/pam_timestamp_check

/sbin/umount.nfs

/sbin/mount.nfs

/sbin/umount.nfs4

/usr/sbin/userhelper

/usr/sbin/lockdev

/usr/sbin/ccreds_validate

/usr/sbin/sendmail.sendmail

/usr/sbin/usernetctl

/usr/libexec/openssh/ssh-keysign

/usr/libexec/utempter/utempter

/usr/bin/crontab

/usr/bin/passwd

/usr/bin/rsh

/usr/bin/rcp

/usr/bin/sudoedit

/usr/bin/newgrp

/usr/bin/locate

/usr/bin/rlogin

/usr/bin/ssh-agent

/usr/bin/sudo

/usr/bin/Xorg

/usr/bin/wall

/usr/bin/gpasswd

/usr/bin/at

/usr/bin/chsh

/usr/bin/chfn

/usr/bin/lockfile

/usr/bin/write

/usr/bin/staprun

/usr/bin/chage

/usr/kerberos/bin/ksu

/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper

/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper

/usr/lib/nspluginwrapper/plugin-config

/usr/lib64/vte/gnome-pty-helper

/usr/lib64/nspluginwrapper/plugin-config

/bin/ping6

/bin/mount

修正操作

对于陌生的输出结果目录确认归属人。沟通后修改:

chmod u-s file

chmod g-s file

说明

SUID作用:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。

GID作用:让本来没有相应权限的组用户运行这个程序时,可以访问这个组没有权限访问的资源。

经常性对比suid/sgid 文件列表,以便能够及时发现可疑的后门程序

任何人具有写权限的目录

检查

内容

检查文件系统中所有人都有写权限的目录

检查结果和操作处理

for PART in `awk $3 ~ /ext/{ print $2 } /etc/fstab`;do find $PART-xdev-type d(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该目录权限为755

chmod 755 目录

说明

紧缩目录权限

任何人具有写权限的文件

检查

内容

检查文件系统中所有人都有写权限的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-xdev-type f(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该文件权限为755

chmod 755 文件

说明

紧缩文件权限

查找没有属主的文件

检查

内容

检查文件系统中没有属主的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-nouser-o-nogroup-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改拥有者为root:root

chown root:root 文件

修改权限为700 : chmod 700 文件

说明

发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有主人的文件存在。如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。

异常隐含文件

检查

内容

查找隐藏文件

检查结果和操作处理

find /-name ”..*“-print

find /-name ”...*“-print |cat –v

find /-name ”.*“-print

检查标准值

无输出或输出常见文件

修正操作

询问文件归属,若没人认领,则删除该文件

rm-rf 文件

说明

在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在LINUX下,一个常用的技术就是用一些特殊的名,如:“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录.确认安全后删除。

日志审计

日志事件

syslog.conf

检查

内容

/etc/syslog.conf 是否包含authpriv、mail、cron 日志记录

检查结果和操作处理

cat /etc/syslog.conf查看相关记录

检查标准值

authpriv.* /var/log/secure

mail.* /var/log/maillog

cron.* /var/log/cron

authpriv.* /var/log/messages

或者有相关记录,并未注释

修正操作

vi /etc/syslog.conf,添加相关记录并保存

说明

若未对所有登录事件都记录,则低于安全要求

系统信息文件

/etc/security/limits.conf

查看相关记录

检查

内容

/etc/security/limits.conf中含有soft core、hard core的项

检查结果和操作处理

cat /etc/security/limits.conf |grep “soft core”|” hard core”

检查标准值

* soft core 0

* hard core 0

修正操作

在配置文件中添加或修改以上两项

说明

通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。

core dump 中可能包括系统信息,易被入侵者利用,建议关闭

第3篇:Linux操作系统安全配置基线3

一、目的规定深圳电力公司信息部所维护管理的LINUX操作系统的虚拟主机和物理主机应当遵循的操作系统安全性设置标准,本文档旨在知道系统管理人员或安全检查人员进行LINUX操作系统的安全合规性检查和配置。

二、适用范围

本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

三、适用系统版本

LINUX系列服务器(包含CentOS5以上版本、RHEL5以上版本系统)

四、基线列表

检查类别

检查对象

账号

密码策略

/etc/login.defs

检查

内容

PASS_MAX_DAYS //密码失效天数

PASS_MIN_DAYS

PASS_MIN_LEN //密码最小长度

PASS_WARN_AGE //密码失效前多少天提醒修改密码

检查结果和操作处理

cat /etc/login.defs|grep PASS

查看PASS_MAX_DAYS,PASS_MIN_LEN,PASS_WARN_AGE值

检查标准值

PASS_MAX_DAYS 180

PASS_MIN_DAYS 0

PASS_MIN_LEN 8

PASS_WARN_AGE 7

修正操作

vim /etc/login.defs

修改各项值为标准值,修改完成后:wq保存。

说明

不允许存在简单密码,密码设置符合策略,密码长度至少为6,密码失效天数为90天,提前7天提醒用户修改密码。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

操作超时值TMOUT

/etc/profile

/etc/csh.login /etc/csh.cshrc /etc/bashrc

检查

内容

检查各项登录初始化的文件是否含有TMOUT值,并检查是否为600

检查结果和操作处理

grep TMOUT /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

TMOUT=600

修正操作

1、如设置值不等于600,则修改相应的文件设置值为6002、若检查输出为空,则echo “TMOUT=600” >> /etc/profile

当用户10分钟无操作时自动锁定退出账户,防止为退出造成安全问题。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

用户登陆方案

sudo权限

/etc/sudoers

用户所属组

id $user

检查

内容

查看wheel组有无sudo 无密码登陆权限 /etc/sudoers

查看用户是否属wheel组 #id $user

检查结果和操作处理

grep wheel /etc/sudoers 查看wheel组相关的设置

id + 用户名 查看所属组

检查标准值

/etc/sudoers 记录:

%wheel ALL=(ALL)NOPASSWD: ALL

id + 用户名 : groups=10(wheel)

修正操作

删除或注释wheel组其他行

添加 %wheel ALL=(ALL)NOPASSWD: ALL 记录行

把用户添加进入wheel组: usermod-G wheel 用户名

说明

非管理员用非root登陆,需要root权限时,最后sudo-i到root进行操作。

方便记录所有的命令操作。并在不需要root权限时不登陆root增强安全性。

用户操作历史相关记录

/etc/profile

文件中是否含有初始化脚本

检查

内容

脚本内容:

STTIMEFORMAT=%F %T

history

USER_IP=`who-u am i 2>/dev/null| awk {print $NF}|sed-e s/[()]//g`

USER_LOGIN=`who-u am i 2>/dev/null |awk {print $1}`

if [ `echo $USER_IP | sed-e s/[()]//g |grep ”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$“|wc-l `-eq 0 ]

then

USER_IP=`hostname`

fi

if [!-d /tmp/ComHis ]

then

mkdir /tmp/ComHis

chmod 777 /tmp/ComHis

fi

if [!-d /tmp/ComHis /${USER_LOGIN} ]

then

mkdir /tmp/ComHis/${USER_LOGIN}

chmod 300 /tmp/ComHis/${USER_LOGIN}

fi

export HISTSIZE=4096

DT=`date ”+%Y-%m-%d_%H:%M:%S“`

export HISTFILE=”/tmp/ComHis/${USER_LOGIN}/${USER_IP}_ComHis.$DT“

chmod 600 /tmp/ComHis/${USER_LOGIN}/*dl* 2>/dev/null

export PATH=$PATH:/usr/sbin

检查结果和操作处理

cat /etc/profile

查看最后是否含有此脚本

检查标准值

含有此脚本内容

修正操作

vi /etc/profile

把脚本内容输入到文件最后,保存退出。

下次用户登陆时生效。

说明

每次用户登陆做完操作退出时,系统会记录本次登陆的时间和本次登陆所执行的命令,存放到/tmp/ComHis/登录名/ 目录夹下

做为历史记录提供查询。

用户权限

/etc/passwd

检查内容

检查/etc/passwd第三列(uid)为0的行

检查结果和操作处理

awk-F:($3 == 0){ print $1 } /etc/passwd

查看返回是否含除”root”以外的条目

检查标准值

除root外无其他输出记录

修正操作

1、查询账号归属,若无人认领则删除用户:usedel 用户名

2、修改用户所属组: usermod-g 组名 用户名

说明

UID(即用户组)为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0

root用户环境变量

$PATH

检查

内容

检测$PATH环境变量中是否包含 “:” , ”::” , ”.” , ”:.” 内容

检测$PATH

检查结果和操作处理

echo $PATH | egrep(^|:)(.|:|$)

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)-ls

检查标准值

echo $PATH | egrep(^|:)(.|:|$)

无输出

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)–ls

无输出

修正操作

1、若环境变量中含有父目录,则去除父目录,重新定义新环境变量。vi /etc/profile 加入去除掉父目录的PATH内容$newpath

PATH=$newpath2、确认环境变量中子目录组权限为777的目录归属组。修改:

chmod 755 目录

说明

确保 root 用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777 的目录

文件属性

/etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

中umask值

检查

内容

检查各项登录初始化的文件是否含有umask值,并检查是否为077

检查结果和操作处理

grep umask /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

输出 umask=077

修正操作

修改对应文umask=077

sed s/umask 022/umask 077/g /etc/csh.login

sed s/umask 022/umask 077/g /etc/csh.cshrc

sed s/umask 022/umask 077/g /etc/bashrc

sed s/umask 022/umask 077/g /etc/profile

说明

umask是计算登陆系统之后创建文件或者目录的默认权限的参数。因此特别重要。

umask值是默认的022,如果是默认的,则低于安全要求

/etc/rc.d/init.d/*

/etc/passwd

/etc/shadow

/etc/group

/etc/security/*

/etc/services

/etc/rc*.d

文件属性

检查

内容

文件属性

检查结果和操作处理

ls-l /etc/rc.d/init.d/*

ls-l /etc/passwd

ls-l /etc/shadow

ls-l /etc/group

ls-l /etc/security/*

ls-l /etc/services

ls-l /etc/rc*.d

检查标准值

ls-l /etc/rc.d/init.d/-rwxr-xr-x 755权限 root:root

ls-l /etc/passwd-rw-r--r--644权限 root:root

ls-l /etc/shadow-r--------400权限 root:root

ls-l /etc/group-rw-r--r--644权限 root:root

ls-l /etc/security

除/etc/security/console.apps/system-config-services(-rwxr-xr-x)/etc/security/namespace.init(-rwxr-xr-x)/etc/security/time.conf(-rw-------)外,其余权限基本都为-rw-r--r--644权限 root:root

ls-l /etc/services-rw-r--r--644权限 root:root

ls-l /etc/rc*.d 一般为755权限

修正操作

对于重要的目录,建议执行如下类似操作:

chmod-R 750 /etc/rc.d/init.d/*

说明

紧缩的文件属性设置有利于安全

黏贴位

检查

内容

检查文件系统中具有黏贴位的文件。

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART(-perm-04000-o-perm-02000)-type f-xdev-print;done

检查标准值

输出结果一般为下

/sbin/netreport

/sbin/unix_chkpwd

/sbin/mount.nfs4

/sbin/pam_timestamp_check

/sbin/umount.nfs

/sbin/mount.nfs

/sbin/umount.nfs4

/usr/sbin/userhelper

/usr/sbin/lockdev

/usr/sbin/ccreds_validate

/usr/sbin/sendmail.sendmail

/usr/sbin/usernetctl

/usr/libexec/openssh/ssh-keysign

/usr/libexec/utempter/utempter

/usr/bin/crontab

/usr/bin/passwd

/usr/bin/rsh

/usr/bin/rcp

/usr/bin/sudoedit

/usr/bin/newgrp

/usr/bin/locate

/usr/bin/rlogin

/usr/bin/ssh-agent

/usr/bin/sudo

/usr/bin/Xorg

/usr/bin/wall

/usr/bin/gpasswd

/usr/bin/at

/usr/bin/chsh

/usr/bin/chfn

/usr/bin/lockfile

/usr/bin/write

/usr/bin/staprun

/usr/bin/chage

/usr/kerberos/bin/ksu

/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper

/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper

/usr/lib/nspluginwrapper/plugin-config

/usr/lib64/vte/gnome-pty-helper

/usr/lib64/nspluginwrapper/plugin-config

/bin/ping6

/bin/mount

修正操作

对于陌生的输出结果目录确认归属人。沟通后修改:

chmod u-s file

chmod g-s file

说明

SUID作用:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。

GID作用:让本来没有相应权限的组用户运行这个程序时,可以访问这个组没有权限访问的资源。

经常性对比suid/sgid 文件列表,以便能够及时发现可疑的后门程序

任何人具有写权限的目录

检查

内容

检查文件系统中所有人都有写权限的目录

检查结果和操作处理

for PART in `awk $3 ~ /ext/{ print $2 } /etc/fstab`;do find $PART-xdev-type d(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该目录权限为755

chmod 755 目录

说明

紧缩目录权限

任何人具有写权限的文件

检查

内容

检查文件系统中所有人都有写权限的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-xdev-type f(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该文件权限为755

chmod 755 文件

说明

紧缩文件权限

查找没有属主的文件

检查

内容

检查文件系统中没有属主的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-nouser-o-nogroup-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改拥有者为root:root

chown root:root 文件

修改权限为700 : chmod 700 文件

说明

发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有主人的文件存在。如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。

异常隐含文件

检查

内容

查找隐藏文件

检查结果和操作处理

find /-name ”..*“-print

find /-name ”...*“-print |cat –v

find /-name ”.*“-print

检查标准值

无输出或输出常见文件

修正操作

询问文件归属,若没人认领,则删除该文件

rm-rf 文件

说明

在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在LINUX下,一个常用的技术就是用一些特殊的名,如:“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录.确认安全后删除。

日志审计

日志事件

syslog.conf

检查

内容

/etc/syslog.conf 是否包含authpriv、mail、cron 日志记录

检查结果和操作处理

cat /etc/syslog.conf查看相关记录

检查标准值

authpriv.* /var/log/secure

mail.* /var/log/maillog

cron.* /var/log/cron

authpriv.* /var/log/messages

或者有相关记录,并未注释

修正操作

vi /etc/syslog.conf,添加相关记录并保存

说明

若未对所有登录事件都记录,则低于安全要求

系统信息文件

/etc/security/limits.conf

查看相关记录

检查

内容

/etc/security/limits.conf中含有soft core、hard core的项

检查结果和操作处理

cat /etc/security/limits.conf |grep “soft core”|” hard core”

检查标准值

* soft core 0

* hard core 0

修正操作

在配置文件中添加或修改以上两项

说明

通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。

core dump 中可能包括系统信息,易被入侵者利用,建议关闭

第4篇:Linux操作系统安全配置基线4

一、目的规定深圳电力公司信息部所维护管理的LINUX操作系统的虚拟主机和物理主机应当遵循的操作系统安全性设置标准,本文档旨在知道系统管理人员或安全检查人员进行LINUX操作系统的安全合规性检查和配置。

二、适用范围

本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

三、适用系统版本

LINUX系列服务器(包含CentOS5以上版本、RHEL5以上版本系统)

四、基线列表

检查类别

检查对象

账号

密码策略

/etc/login.defs

检查

内容

PASS_MAX_DAYS //密码失效天数

PASS_MIN_DAYS

PASS_MIN_LEN //密码最小长度

PASS_WARN_AGE //密码失效前多少天提醒修改密码

检查结果和操作处理

cat /etc/login.defs|grep PASS

查看PASS_MAX_DAYS,PASS_MIN_LEN,PASS_WARN_AGE值

检查标准值

PASS_MAX_DAYS 180

PASS_MIN_DAYS 0

PASS_MIN_LEN 8

PASS_WARN_AGE 7

修正操作

vim /etc/login.defs

修改各项值为标准值,修改完成后:wq保存。

说明

不允许存在简单密码,密码设置符合策略,密码长度至少为6,密码失效天数为90天,提前7天提醒用户修改密码。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

操作超时值TMOUT

/etc/profile

/etc/csh.login /etc/csh.cshrc /etc/bashrc

检查

内容

检查各项登录初始化的文件是否含有TMOUT值,并检查是否为600

检查结果和操作处理

grep TMOUT /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

TMOUT=600

修正操作

1、如设置值不等于600,则修改相应的文件设置值为6002、若检查输出为空,则echo “TMOUT=600” >> /etc/profile

当用户10分钟无操作时自动锁定退出账户,防止为退出造成安全问题。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

用户登陆方案

sudo权限

/etc/sudoers

用户所属组

id $user

检查

内容

查看wheel组有无sudo 无密码登陆权限 /etc/sudoers

查看用户是否属wheel组 #id $user

检查结果和操作处理

grep wheel /etc/sudoers 查看wheel组相关的设置

id + 用户名 查看所属组

检查标准值

/etc/sudoers 记录:

%wheel ALL=(ALL)NOPASSWD: ALL

id + 用户名 : groups=10(wheel)

修正操作

删除或注释wheel组其他行

添加 %wheel ALL=(ALL)NOPASSWD: ALL 记录行

把用户添加进入wheel组: usermod-G wheel 用户名

说明

非管理员用非root登陆,需要root权限时,最后sudo-i到root进行操作。

方便记录所有的命令操作。并在不需要root权限时不登陆root增强安全性。

用户操作历史相关记录

/etc/profile

文件中是否含有初始化脚本

检查

内容

脚本内容:

STTIMEFORMAT=%F %T

history

USER_IP=`who-u am i 2>/dev/null| awk {print $NF}|sed-e s/[()]//g`

USER_LOGIN=`who-u am i 2>/dev/null |awk {print $1}`

if [ `echo $USER_IP | sed-e s/[()]//g |grep ”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$“|wc-l `-eq 0 ]

then

USER_IP=`hostname`

fi

if [!-d /tmp/ComHis ]

then

mkdir /tmp/ComHis

chmod 777 /tmp/ComHis

fi

if [!-d /tmp/ComHis /${USER_LOGIN} ]

then

mkdir /tmp/ComHis/${USER_LOGIN}

chmod 300 /tmp/ComHis/${USER_LOGIN}

fi

export HISTSIZE=4096

DT=`date ”+%Y-%m-%d_%H:%M:%S“`

export HISTFILE=”/tmp/ComHis/${USER_LOGIN}/${USER_IP}_ComHis.$DT“

chmod 600 /tmp/ComHis/${USER_LOGIN}/*dl* 2>/dev/null

export PATH=$PATH:/usr/sbin

检查结果和操作处理

cat /etc/profile

查看最后是否含有此脚本

检查标准值

含有此脚本内容

修正操作

vi /etc/profile

把脚本内容输入到文件最后,保存退出。

下次用户登陆时生效。

说明

每次用户登陆做完操作退出时,系统会记录本次登陆的时间和本次登陆所执行的命令,存放到/tmp/ComHis/登录名/ 目录夹下

做为历史记录提供查询。

用户权限

/etc/passwd

检查内容

检查/etc/passwd第三列(uid)为0的行

检查结果和操作处理

awk-F:($3 == 0){ print $1 } /etc/passwd

查看返回是否含除”root”以外的条目

检查标准值

除root外无其他输出记录

修正操作

1、查询账号归属,若无人认领则删除用户:usedel 用户名

2、修改用户所属组: usermod-g 组名 用户名

说明

UID(即用户组)为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0

root用户环境变量

$PATH

检查

内容

检测$PATH环境变量中是否包含 “:” , ”::” , ”.” , ”:.” 内容

检测$PATH

检查结果和操作处理

echo $PATH | egrep(^|:)(.|:|$)

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)-ls

检查标准值

echo $PATH | egrep(^|:)(.|:|$)

无输出

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)–ls

无输出

修正操作

1、若环境变量中含有父目录,则去除父目录,重新定义新环境变量。vi /etc/profile 加入去除掉父目录的PATH内容$newpath

PATH=$newpath2、确认环境变量中子目录组权限为777的目录归属组。修改:

chmod 755 目录

说明

确保 root 用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777 的目录

文件属性

/etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

中umask值

检查

内容

检查各项登录初始化的文件是否含有umask值,并检查是否为077

检查结果和操作处理

grep umask /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

输出 umask=077

修正操作

修改对应文umask=077

sed s/umask 022/umask 077/g /etc/csh.login

sed s/umask 022/umask 077/g /etc/csh.cshrc

sed s/umask 022/umask 077/g /etc/bashrc

sed s/umask 022/umask 077/g /etc/profile

说明

umask是计算登陆系统之后创建文件或者目录的默认权限的参数。因此特别重要。

umask值是默认的022,如果是默认的,则低于安全要求

/etc/rc.d/init.d/*

/etc/passwd

/etc/shadow

/etc/group

/etc/security/*

/etc/services

/etc/rc*.d

文件属性

检查

内容

文件属性

检查结果和操作处理

ls-l /etc/rc.d/init.d/*

ls-l /etc/passwd

ls-l /etc/shadow

ls-l /etc/group

ls-l /etc/security/*

ls-l /etc/services

ls-l /etc/rc*.d

检查标准值

ls-l /etc/rc.d/init.d/-rwxr-xr-x 755权限 root:root

ls-l /etc/passwd-rw-r--r--644权限 root:root

ls-l /etc/shadow-r--------400权限 root:root

ls-l /etc/group-rw-r--r--644权限 root:root

ls-l /etc/security

除/etc/security/console.apps/system-config-services(-rwxr-xr-x)/etc/security/namespace.init(-rwxr-xr-x)/etc/security/time.conf(-rw-------)外,其余权限基本都为-rw-r--r--644权限 root:root

ls-l /etc/services-rw-r--r--644权限 root:root

ls-l /etc/rc*.d 一般为755权限

修正操作

对于重要的目录,建议执行如下类似操作:

chmod-R 750 /etc/rc.d/init.d/*

说明

紧缩的文件属性设置有利于安全

黏贴位

检查

内容

检查文件系统中具有黏贴位的文件。

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART(-perm-04000-o-perm-02000)-type f-xdev-print;done

检查标准值

输出结果一般为下

/sbin/netreport

/sbin/unix_chkpwd

/sbin/mount.nfs4

/sbin/pam_timestamp_check

/sbin/umount.nfs

/sbin/mount.nfs

/sbin/umount.nfs4

/usr/sbin/userhelper

/usr/sbin/lockdev

/usr/sbin/ccreds_validate

/usr/sbin/sendmail.sendmail

/usr/sbin/usernetctl

/usr/libexec/openssh/ssh-keysign

/usr/libexec/utempter/utempter

/usr/bin/crontab

/usr/bin/passwd

/usr/bin/rsh

/usr/bin/rcp

/usr/bin/sudoedit

/usr/bin/newgrp

/usr/bin/locate

/usr/bin/rlogin

/usr/bin/ssh-agent

/usr/bin/sudo

/usr/bin/Xorg

/usr/bin/wall

/usr/bin/gpasswd

/usr/bin/at

/usr/bin/chsh

/usr/bin/chfn

/usr/bin/lockfile

/usr/bin/write

/usr/bin/staprun

/usr/bin/chage

/usr/kerberos/bin/ksu

/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper

/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper

/usr/lib/nspluginwrapper/plugin-config

/usr/lib64/vte/gnome-pty-helper

/usr/lib64/nspluginwrapper/plugin-config

/bin/ping6

/bin/mount

修正操作

对于陌生的输出结果目录确认归属人。沟通后修改:

chmod u-s file

chmod g-s file

说明

SUID作用:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。

GID作用:让本来没有相应权限的组用户运行这个程序时,可以访问这个组没有权限访问的资源。

经常性对比suid/sgid 文件列表,以便能够及时发现可疑的后门程序

任何人具有写权限的目录

检查

内容

检查文件系统中所有人都有写权限的目录

检查结果和操作处理

for PART in `awk $3 ~ /ext/{ print $2 } /etc/fstab`;do find $PART-xdev-type d(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该目录权限为755

chmod 755 目录

说明

紧缩目录权限

任何人具有写权限的文件

检查

内容

检查文件系统中所有人都有写权限的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-xdev-type f(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该文件权限为755

chmod 755 文件

说明

紧缩文件权限

查找没有属主的文件

检查

内容

检查文件系统中没有属主的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-nouser-o-nogroup-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改拥有者为root:root

chown root:root 文件

修改权限为700 : chmod 700 文件

说明

发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有主人的文件存在。如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。

异常隐含文件

检查

内容

查找隐藏文件

检查结果和操作处理

find /-name ”..*“-print

find /-name ”...*“-print |cat –v

find /-name ”.*“-print

检查标准值

无输出或输出常见文件

修正操作

询问文件归属,若没人认领,则删除该文件

rm-rf 文件

说明

在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在LINUX下,一个常用的技术就是用一些特殊的名,如:“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录.确认安全后删除。

日志审计

日志事件

syslog.conf

检查

内容

/etc/syslog.conf 是否包含authpriv、mail、cron 日志记录

检查结果和操作处理

cat /etc/syslog.conf查看相关记录

检查标准值

authpriv.* /var/log/secure

mail.* /var/log/maillog

cron.* /var/log/cron

authpriv.* /var/log/messages

或者有相关记录,并未注释

修正操作

vi /etc/syslog.conf,添加相关记录并保存

说明

若未对所有登录事件都记录,则低于安全要求

系统信息文件

/etc/security/limits.conf

查看相关记录

检查

内容

/etc/security/limits.conf中含有soft core、hard core的项

检查结果和操作处理

cat /etc/security/limits.conf |grep “soft core”|” hard core”

检查标准值

* soft core 0

* hard core 0

修正操作

在配置文件中添加或修改以上两项

说明

通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。

core dump 中可能包括系统信息,易被入侵者利用,建议关闭

第5篇:Linux操作系统安全配置基线5

一、目的规定深圳电力公司信息部所维护管理的LINUX操作系统的虚拟主机和物理主机应当遵循的操作系统安全性设置标准,本文档旨在知道系统管理人员或安全检查人员进行LINUX操作系统的安全合规性检查和配置。

二、适用范围

本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

三、适用系统版本

LINUX系列服务器(包含CentOS5以上版本、RHEL5以上版本系统)

四、基线列表

检查类别

检查对象

账号

密码策略

/etc/login.defs

检查

内容

PASS_MAX_DAYS //密码失效天数

PASS_MIN_DAYS

PASS_MIN_LEN //密码最小长度

PASS_WARN_AGE //密码失效前多少天提醒修改密码

检查结果和操作处理

cat /etc/login.defs|grep PASS

查看PASS_MAX_DAYS,PASS_MIN_LEN,PASS_WARN_AGE值

检查标准值

PASS_MAX_DAYS 180

PASS_MIN_DAYS 0

PASS_MIN_LEN 8

PASS_WARN_AGE 7

修正操作

vim /etc/login.defs

修改各项值为标准值,修改完成后:wq保存。

说明

不允许存在简单密码,密码设置符合策略,密码长度至少为6,密码失效天数为90天,提前7天提醒用户修改密码。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

操作超时值TMOUT

/etc/profile

/etc/csh.login /etc/csh.cshrc /etc/bashrc

检查

内容

检查各项登录初始化的文件是否含有TMOUT值,并检查是否为600

检查结果和操作处理

grep TMOUT /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

TMOUT=600

修正操作

1、如设置值不等于600,则修改相应的文件设置值为6002、若检查输出为空,则echo “TMOUT=600” >> /etc/profile

当用户10分钟无操作时自动锁定退出账户,防止为退出造成安全问题。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

用户登陆方案

sudo权限

/etc/sudoers

用户所属组

id $user

检查

内容

查看wheel组有无sudo 无密码登陆权限 /etc/sudoers

查看用户是否属wheel组 #id $user

检查结果和操作处理

grep wheel /etc/sudoers 查看wheel组相关的设置

id + 用户名 查看所属组

检查标准值

/etc/sudoers 记录:

%wheel ALL=(ALL)NOPASSWD: ALL

id + 用户名 : groups=10(wheel)

修正操作

删除或注释wheel组其他行

添加 %wheel ALL=(ALL)NOPASSWD: ALL 记录行

把用户添加进入wheel组: usermod-G wheel 用户名

说明

非管理员用非root登陆,需要root权限时,最后sudo-i到root进行操作。

方便记录所有的命令操作。并在不需要root权限时不登陆root增强安全性。

用户操作历史相关记录

/etc/profile

文件中是否含有初始化脚本

检查

内容

脚本内容:

STTIMEFORMAT=%F %T

history

USER_IP=`who-u am i 2>/dev/null| awk {print $NF}|sed-e s/[()]//g`

USER_LOGIN=`who-u am i 2>/dev/null |awk {print $1}`

if [ `echo $USER_IP | sed-e s/[()]//g |grep ”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$“|wc-l `-eq 0 ]

then

USER_IP=`hostname`

fi

if [!-d /tmp/ComHis ]

then

mkdir /tmp/ComHis

chmod 777 /tmp/ComHis

fi

if [!-d /tmp/ComHis /${USER_LOGIN} ]

then

mkdir /tmp/ComHis/${USER_LOGIN}

chmod 300 /tmp/ComHis/${USER_LOGIN}

fi

export HISTSIZE=4096

DT=`date ”+%Y-%m-%d_%H:%M:%S“`

export HISTFILE=”/tmp/ComHis/${USER_LOGIN}/${USER_IP}_ComHis.$DT“

chmod 600 /tmp/ComHis/${USER_LOGIN}/*dl* 2>/dev/null

export PATH=$PATH:/usr/sbin

检查结果和操作处理

cat /etc/profile

查看最后是否含有此脚本

检查标准值

含有此脚本内容

修正操作

vi /etc/profile

把脚本内容输入到文件最后,保存退出。

下次用户登陆时生效。

说明

每次用户登陆做完操作退出时,系统会记录本次登陆的时间和本次登陆所执行的命令,存放到/tmp/ComHis/登录名/ 目录夹下

做为历史记录提供查询。

用户权限

/etc/passwd

检查内容

检查/etc/passwd第三列(uid)为0的行

检查结果和操作处理

awk-F:($3 == 0){ print $1 } /etc/passwd

查看返回是否含除”root”以外的条目

检查标准值

除root外无其他输出记录

修正操作

1、查询账号归属,若无人认领则删除用户:usedel 用户名

2、修改用户所属组: usermod-g 组名 用户名

说明

UID(即用户组)为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0

root用户环境变量

$PATH

检查

内容

检测$PATH环境变量中是否包含 “:” , ”::” , ”.” , ”:.” 内容

检测$PATH

检查结果和操作处理

echo $PATH | egrep(^|:)(.|:|$)

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)-ls

检查标准值

echo $PATH | egrep(^|:)(.|:|$)

无输出

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)–ls

无输出

修正操作

1、若环境变量中含有父目录,则去除父目录,重新定义新环境变量。vi /etc/profile 加入去除掉父目录的PATH内容$newpath

PATH=$newpath2、确认环境变量中子目录组权限为777的目录归属组。修改:

chmod 755 目录

说明

确保 root 用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777 的目录

文件属性

/etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

中umask值

检查

内容

检查各项登录初始化的文件是否含有umask值,并检查是否为077

检查结果和操作处理

grep umask /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

输出 umask=077

修正操作

修改对应文umask=077

sed s/umask 022/umask 077/g /etc/csh.login

sed s/umask 022/umask 077/g /etc/csh.cshrc

sed s/umask 022/umask 077/g /etc/bashrc

sed s/umask 022/umask 077/g /etc/profile

说明

umask是计算登陆系统之后创建文件或者目录的默认权限的参数。因此特别重要。

umask值是默认的022,如果是默认的,则低于安全要求

/etc/rc.d/init.d/*

/etc/passwd

/etc/shadow

/etc/group

/etc/security/*

/etc/services

/etc/rc*.d

文件属性

检查

内容

文件属性

检查结果和操作处理

ls-l /etc/rc.d/init.d/*

ls-l /etc/passwd

ls-l /etc/shadow

ls-l /etc/group

ls-l /etc/security/*

ls-l /etc/services

ls-l /etc/rc*.d

检查标准值

ls-l /etc/rc.d/init.d/-rwxr-xr-x 755权限 root:root

ls-l /etc/passwd-rw-r--r--644权限 root:root

ls-l /etc/shadow-r--------400权限 root:root

ls-l /etc/group-rw-r--r--644权限 root:root

ls-l /etc/security

除/etc/security/console.apps/system-config-services(-rwxr-xr-x)/etc/security/namespace.init(-rwxr-xr-x)/etc/security/time.conf(-rw-------)外,其余权限基本都为-rw-r--r--644权限 root:root

ls-l /etc/services-rw-r--r--644权限 root:root

ls-l /etc/rc*.d 一般为755权限

修正操作

对于重要的目录,建议执行如下类似操作:

chmod-R 750 /etc/rc.d/init.d/*

说明

紧缩的文件属性设置有利于安全

黏贴位

检查

内容

检查文件系统中具有黏贴位的文件。

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART(-perm-04000-o-perm-02000)-type f-xdev-print;done

检查标准值

输出结果一般为下

/sbin/netreport

/sbin/unix_chkpwd

/sbin/mount.nfs4

/sbin/pam_timestamp_check

/sbin/umount.nfs

/sbin/mount.nfs

/sbin/umount.nfs4

/usr/sbin/userhelper

/usr/sbin/lockdev

/usr/sbin/ccreds_validate

/usr/sbin/sendmail.sendmail

/usr/sbin/usernetctl

/usr/libexec/openssh/ssh-keysign

/usr/libexec/utempter/utempter

/usr/bin/crontab

/usr/bin/passwd

/usr/bin/rsh

/usr/bin/rcp

/usr/bin/sudoedit

/usr/bin/newgrp

/usr/bin/locate

/usr/bin/rlogin

/usr/bin/ssh-agent

/usr/bin/sudo

/usr/bin/Xorg

/usr/bin/wall

/usr/bin/gpasswd

/usr/bin/at

/usr/bin/chsh

/usr/bin/chfn

/usr/bin/lockfile

/usr/bin/write

/usr/bin/staprun

/usr/bin/chage

/usr/kerberos/bin/ksu

/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper

/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper

/usr/lib/nspluginwrapper/plugin-config

/usr/lib64/vte/gnome-pty-helper

/usr/lib64/nspluginwrapper/plugin-config

/bin/ping6

/bin/mount

修正操作

对于陌生的输出结果目录确认归属人。沟通后修改:

chmod u-s file

chmod g-s file

说明

SUID作用:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。

GID作用:让本来没有相应权限的组用户运行这个程序时,可以访问这个组没有权限访问的资源。

经常性对比suid/sgid 文件列表,以便能够及时发现可疑的后门程序

任何人具有写权限的目录

检查

内容

检查文件系统中所有人都有写权限的目录

检查结果和操作处理

for PART in `awk $3 ~ /ext/{ print $2 } /etc/fstab`;do find $PART-xdev-type d(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该目录权限为755

chmod 755 目录

说明

紧缩目录权限

任何人具有写权限的文件

检查

内容

检查文件系统中所有人都有写权限的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-xdev-type f(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该文件权限为755

chmod 755 文件

说明

紧缩文件权限

查找没有属主的文件

检查

内容

检查文件系统中没有属主的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-nouser-o-nogroup-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改拥有者为root:root

chown root:root 文件

修改权限为700 : chmod 700 文件

说明

发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有主人的文件存在。如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。

异常隐含文件

检查

内容

查找隐藏文件

检查结果和操作处理

find /-name ”..*“-print

find /-name ”...*“-print |cat –v

find /-name ”.*“-print

检查标准值

无输出或输出常见文件

修正操作

询问文件归属,若没人认领,则删除该文件

rm-rf 文件

说明

在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在LINUX下,一个常用的技术就是用一些特殊的名,如:“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录.确认安全后删除。

日志审计

日志事件

syslog.conf

检查

内容

/etc/syslog.conf 是否包含authpriv、mail、cron 日志记录

检查结果和操作处理

cat /etc/syslog.conf查看相关记录

检查标准值

authpriv.* /var/log/secure

mail.* /var/log/maillog

cron.* /var/log/cron

authpriv.* /var/log/messages

或者有相关记录,并未注释

修正操作

vi /etc/syslog.conf,添加相关记录并保存

说明

若未对所有登录事件都记录,则低于安全要求

系统信息文件

/etc/security/limits.conf

查看相关记录

检查

内容

/etc/security/limits.conf中含有soft core、hard core的项

检查结果和操作处理

cat /etc/security/limits.conf |grep “soft core”|” hard core”

检查标准值

* soft core 0

* hard core 0

修正操作

在配置文件中添加或修改以上两项

说明

通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。

core dump 中可能包括系统信息,易被入侵者利用,建议关闭

一、目的规定深圳电力公司信息部所维护管理的LINUX操作系统的虚拟主机和物理主机应当遵循的操作系统安全性设置标准,本文档旨在知道系统管理人员或安全检查人员进行LINUX操作系统的安全合规性检查和配置。

二、适用范围

本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

三、适用系统版本

LINUX系列服务器(包含CentOS5以上版本、RHEL5以上版本系统)

四、基线列表

检查类别

检查对象

账号

密码策略

/etc/login.defs

检查

内容

PASS_MAX_DAYS //密码失效天数

PASS_MIN_DAYS

PASS_MIN_LEN //密码最小长度

PASS_WARN_AGE //密码失效前多少天提醒修改密码

检查结果和操作处理

cat /etc/login.defs|grep PASS

查看PASS_MAX_DAYS,PASS_MIN_LEN,PASS_WARN_AGE值

检查标准值

PASS_MAX_DAYS 180

PASS_MIN_DAYS 0

PASS_MIN_LEN 8

PASS_WARN_AGE 7

修正操作

vim /etc/login.defs

修改各项值为标准值,修改完成后:wq保存。

说明

不允许存在简单密码,密码设置符合策略,密码长度至少为6,密码失效天数为90天,提前7天提醒用户修改密码。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

操作超时值TMOUT

/etc/profile

/etc/csh.login /etc/csh.cshrc /etc/bashrc

检查

内容

检查各项登录初始化的文件是否含有TMOUT值,并检查是否为600

检查结果和操作处理

grep TMOUT /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

TMOUT=600

修正操作

1、如设置值不等于600,则修改相应的文件设置值为6002、若检查输出为空,则echo “TMOUT=600” >> /etc/profile

当用户10分钟无操作时自动锁定退出账户,防止为退出造成安全问题。

是否存在空口令

/etc/shadow

检查

内容

检查/etc/shadow文件中每行第二列有没有为空的行

检查结果和操作处理

awk-F:($2 == ”“){ print $1 } /etc/shadow

输出密码为空的用户

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则删除该密码为空的用户

说明

不允许密码为空的用户存在。

用户登陆方案

sudo权限

/etc/sudoers

用户所属组

id $user

检查

内容

查看wheel组有无sudo 无密码登陆权限 /etc/sudoers

查看用户是否属wheel组 #id $user

检查结果和操作处理

grep wheel /etc/sudoers 查看wheel组相关的设置

id + 用户名 查看所属组

检查标准值

/etc/sudoers 记录:

%wheel ALL=(ALL)NOPASSWD: ALL

id + 用户名 : groups=10(wheel)

修正操作

删除或注释wheel组其他行

添加 %wheel ALL=(ALL)NOPASSWD: ALL 记录行

把用户添加进入wheel组: usermod-G wheel 用户名

说明

非管理员用非root登陆,需要root权限时,最后sudo-i到root进行操作。

方便记录所有的命令操作。并在不需要root权限时不登陆root增强安全性。

用户操作历史相关记录

/etc/profile

文件中是否含有初始化脚本

检查

内容

脚本内容:

STTIMEFORMAT=%F %T

history

USER_IP=`who-u am i 2>/dev/null| awk {print $NF}|sed-e s/[()]//g`

USER_LOGIN=`who-u am i 2>/dev/null |awk {print $1}`

if [ `echo $USER_IP | sed-e s/[()]//g |grep ”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$“|wc-l `-eq 0 ]

then

USER_IP=`hostname`

fi

if [!-d /tmp/ComHis ]

then

mkdir /tmp/ComHis

chmod 777 /tmp/ComHis

fi

if [!-d /tmp/ComHis /${USER_LOGIN} ]

then

mkdir /tmp/ComHis/${USER_LOGIN}

chmod 300 /tmp/ComHis/${USER_LOGIN}

fi

export HISTSIZE=4096

DT=`date ”+%Y-%m-%d_%H:%M:%S“`

export HISTFILE=”/tmp/ComHis/${USER_LOGIN}/${USER_IP}_ComHis.$DT“

chmod 600 /tmp/ComHis/${USER_LOGIN}/*dl* 2>/dev/null

export PATH=$PATH:/usr/sbin

检查结果和操作处理

cat /etc/profile

查看最后是否含有此脚本

检查标准值

含有此脚本内容

修正操作

vi /etc/profile

把脚本内容输入到文件最后,保存退出。

下次用户登陆时生效。

说明

每次用户登陆做完操作退出时,系统会记录本次登陆的时间和本次登陆所执行的命令,存放到/tmp/ComHis/登录名/ 目录夹下

做为历史记录提供查询。

用户权限

/etc/passwd

检查内容

检查/etc/passwd第三列(uid)为0的行

检查结果和操作处理

awk-F:($3 == 0){ print $1 } /etc/passwd

查看返回是否含除”root”以外的条目

检查标准值

除root外无其他输出记录

修正操作

1、查询账号归属,若无人认领则删除用户:usedel 用户名

2、修改用户所属组: usermod-g 组名 用户名

说明

UID(即用户组)为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0

root用户环境变量

$PATH

检查

内容

检测$PATH环境变量中是否包含 “:” , ”::” , ”.” , ”:.” 内容

检测$PATH

检查结果和操作处理

echo $PATH | egrep(^|:)(.|:|$)

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)-ls

检查标准值

echo $PATH | egrep(^|:)(.|:|$)

无输出

find `echo $PATH | tr : `-type d(-perm-002-o-perm-020)–ls

无输出

修正操作

1、若环境变量中含有父目录,则去除父目录,重新定义新环境变量。vi /etc/profile 加入去除掉父目录的PATH内容$newpath

PATH=$newpath2、确认环境变量中子目录组权限为777的目录归属组。修改:

chmod 755 目录

说明

确保 root 用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777 的目录

文件属性

/etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

中umask值

检查

内容

检查各项登录初始化的文件是否含有umask值,并检查是否为077

检查结果和操作处理

grep umask /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc

检查标准值

输出 umask=077

修正操作

修改对应文umask=077

sed s/umask 022/umask 077/g /etc/csh.login

sed s/umask 022/umask 077/g /etc/csh.cshrc

sed s/umask 022/umask 077/g /etc/bashrc

sed s/umask 022/umask 077/g /etc/profile

说明

umask是计算登陆系统之后创建文件或者目录的默认权限的参数。因此特别重要。

umask值是默认的022,如果是默认的,则低于安全要求

/etc/rc.d/init.d/*

/etc/passwd

/etc/shadow

/etc/group

/etc/security/*

/etc/services

/etc/rc*.d

文件属性

检查

内容

文件属性

检查结果和操作处理

ls-l /etc/rc.d/init.d/*

ls-l /etc/passwd

ls-l /etc/shadow

ls-l /etc/group

ls-l /etc/security/*

ls-l /etc/services

ls-l /etc/rc*.d

检查标准值

ls-l /etc/rc.d/init.d/-rwxr-xr-x 755权限 root:root

ls-l /etc/passwd-rw-r--r--644权限 root:root

ls-l /etc/shadow-r--------400权限 root:root

ls-l /etc/group-rw-r--r--644权限 root:root

ls-l /etc/security

除/etc/security/console.apps/system-config-services(-rwxr-xr-x)/etc/security/namespace.init(-rwxr-xr-x)/etc/security/time.conf(-rw-------)外,其余权限基本都为-rw-r--r--644权限 root:root

ls-l /etc/services-rw-r--r--644权限 root:root

ls-l /etc/rc*.d 一般为755权限

修正操作

对于重要的目录,建议执行如下类似操作:

chmod-R 750 /etc/rc.d/init.d/*

说明

紧缩的文件属性设置有利于安全

黏贴位

检查

内容

检查文件系统中具有黏贴位的文件。

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART(-perm-04000-o-perm-02000)-type f-xdev-print;done

检查标准值

输出结果一般为下

/sbin/netreport

/sbin/unix_chkpwd

/sbin/mount.nfs4

/sbin/pam_timestamp_check

/sbin/umount.nfs

/sbin/mount.nfs

/sbin/umount.nfs4

/usr/sbin/userhelper

/usr/sbin/lockdev

/usr/sbin/ccreds_validate

/usr/sbin/sendmail.sendmail

/usr/sbin/usernetctl

/usr/libexec/openssh/ssh-keysign

/usr/libexec/utempter/utempter

/usr/bin/crontab

/usr/bin/passwd

/usr/bin/rsh

/usr/bin/rcp

/usr/bin/sudoedit

/usr/bin/newgrp

/usr/bin/locate

/usr/bin/rlogin

/usr/bin/ssh-agent

/usr/bin/sudo

/usr/bin/Xorg

/usr/bin/wall

/usr/bin/gpasswd

/usr/bin/at

/usr/bin/chsh

/usr/bin/chfn

/usr/bin/lockfile

/usr/bin/write

/usr/bin/staprun

/usr/bin/chage

/usr/kerberos/bin/ksu

/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper

/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper

/usr/lib/nspluginwrapper/plugin-config

/usr/lib64/vte/gnome-pty-helper

/usr/lib64/nspluginwrapper/plugin-config

/bin/ping6

/bin/mount

修正操作

对于陌生的输出结果目录确认归属人。沟通后修改:

chmod u-s file

chmod g-s file

说明

SUID作用:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。

GID作用:让本来没有相应权限的组用户运行这个程序时,可以访问这个组没有权限访问的资源。

经常性对比suid/sgid 文件列表,以便能够及时发现可疑的后门程序

任何人具有写权限的目录

检查

内容

检查文件系统中所有人都有写权限的目录

检查结果和操作处理

for PART in `awk $3 ~ /ext/{ print $2 } /etc/fstab`;do find $PART-xdev-type d(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该目录权限为755

chmod 755 目录

说明

紧缩目录权限

任何人具有写权限的文件

检查

内容

检查文件系统中所有人都有写权限的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-xdev-type f(-perm-0002-a!-perm-1000)-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改该文件权限为755

chmod 755 文件

说明

紧缩文件权限

查找没有属主的文件

检查

内容

检查文件系统中没有属主的文件

检查结果和操作处理

for PART in `grep-v ^# /etc/fstab | awk($6!= ”0“){print $2 }`;do find $PART-nouser-o-nogroup-print;done

检查标准值

无输出

修正操作

询问账号归属,若没人认领,则修改拥有者为root:root

chown root:root 文件

修改权限为700 : chmod 700 文件

说明

发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有主人的文件存在。如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。

异常隐含文件

检查

内容

查找隐藏文件

检查结果和操作处理

find /-name ”..*“-print

find /-name ”...*“-print |cat –v

find /-name ”.*"-print

检查标准值

无输出或输出常见文件

修正操作

询问文件归属,若没人认领,则删除该文件

rm-rf 文件

说明

在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在LINUX下,一个常用的技术就是用一些特殊的名,如:“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录.确认安全后删除。

日志审计

日志事件

syslog.conf

检查

内容

/etc/syslog.conf 是否包含authpriv、mail、cron 日志记录

检查结果和操作处理

cat /etc/syslog.conf查看相关记录

检查标准值

authpriv.* /var/log/secure

mail.* /var/log/maillog

cron.* /var/log/cron

authpriv.* /var/log/messages

或者有相关记录,并未注释

修正操作

vi /etc/syslog.conf,添加相关记录并保存

说明

若未对所有登录事件都记录,则低于安全要求

系统信息文件

/etc/security/limits.conf

查看相关记录

检查

内容

/etc/security/limits.conf中含有soft core、hard core的项

检查结果和操作处理

cat /etc/security/limits.conf |grep “soft core”|” hard core”

检查标准值

* soft core 0

* hard core 0

修正操作

在配置文件中添加或修改以上两项

说明

通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。

core dump 中可能包括系统信息,易被入侵者利用,建议关闭

推荐理由

该文章为Linux基础技术知识,对Linux从业者、爱好者、在读学生学习Linux有所帮助。

下载Linux操作系统安全配置基线1(共5篇)word格式文档
下载Linux操作系统安全配置基线1(共5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    操作系统安全 复习资料

    第三章 windows server 2003 用户账号安全一、密码安全设置原则1.不可让账号与密码相同2.不可使用自己的姓名3.不可使用英文词组4.不可使用特定意义的日期5.不可使用简单的密码二......

    操作系统安全实验报告

    云终端:安全访地问来自不可靠系统的敏感应用程序 摘要: 目前的电脑和基于web的应用程序提供安全不足的信息访问,因为任何漏洞在一个大的客户端软件堆栈都可以威胁机密性和完......

    操作系统安全设置文档

    操作系统安全设置 作者 班级摘要:本文主要从***几个方面阐述了个人计算机的安全设置,通过这些设置,可以提高个人操作系统的安全性。 关键词:Abstract: Keywords:正文: 1. 我的操......

    操作系统安全保障措施

    操作系统安全保障措施 系统安全防护能力 一.文件访问控制 1. 所有办公终端的命名应符合公司计算机命名规范。 2. 所有的办公终端应加入公司的域管理模式,正确是使用公司的各项......

    Windows操作系统安全(一)(大全)

    一、实验项目名称Windows操作系统安全(一)二、实验目的通过实验掌握Windows账户与密码的安全设置、文件系统的保护和加密、安全策略与安全模板的使用、审核和日志的启用、本机......

    静脉药物配置操作规范

    静脉药物配置操作规范 1、静脉药物配置前查看药物说明书,了解药物药理作用、配伍禁忌、配置有无特殊要求(溶媒要求、是否避光等) 2、仔细核对输液标签、输液卡上的姓名、年龄、......

    洗煤厂浮选系统安全操作规范(精选)

    洗煤厂浮选系统安全操作防范措施洗煤厂浮游选煤工艺是依靠煤和矸石表面润湿性的差异进行分选的一种方法,其工艺过程可分为三个阶段:即浮选入料的预处理—浮游分选—排出产品。......

    青霉素皮试配置及操作

    青霉素皮试技能操作考试要求 仪表 :着装整洁,仪表符合要求。 自我介绍 老师好,我是护士××,今天我要考试的项目是“青霉素皮试”,我要考试的病人是A02-1床的患者张丽,女,35岁,以宫......