系统加固实施
2022-05-25 14:14:42 10 举报
AI智能生成
系统加固摘要
作者其他创作
大纲/内容
日志审计配置
检查Cron任务授权
标准:1、不允许非授权用户使用
检查:
执行:ls -l /etc/cron.deny;
/etc/at.deny 查看cron.deny、 at.deny文件的授权情况
执行:ls -l /etc/cron.deny;
/etc/at.deny 查看cron.deny、 at.deny文件的授权情况
实施:
Vi /etc/rsyslog.conf
# Log cron stuff
cron.*
cron.*
Vi /etc/rsyslog.conf
# Log cron stuff
cron.*
cron.*
检查是否对syslog登录事件记录
标准:查看是否有#authpriv.* /var/log/secure
检查:cat 、etc/rsyslog.conf
实施:1、#cat /etc/rsyslog.conf 查看是否有
authpriv.* /var/log/secure
authpriv.* /var/log/secure
检查系统日志读写权限
标准:系统日志文件由 syslog 创立并且不可被其它用户修改;
其它的系统日志文件不是全局可写
其它的系统日志文件不是全局可写
检查:ls –l 查看下列日志文件权限
/var/log/messages 、/var/log/secure 、 /var/log/maillog 、
/var/log/cron、 /var/log/spooler、/var/log/boot/log
/var/log/messages 、/var/log/secure 、 /var/log/maillog 、
/var/log/cron、 /var/log/spooler、/var/log/boot/log
实施:chmod 修改权限
检查是否对rsyslog.conf配置审核
标准:设置了kern.warning;*.err;authpriv.none\t@loghost
*.info;mail.none;authpriv.none;cron.none\t@loghost
*.emerg\t@loghost
local7.*\t@loghost
*.info;mail.none;authpriv.none;cron.none\t@loghost
*.emerg\t@loghost
local7.*\t@loghost
检查:查看more /etc/rsyslog.conf
实施:
系统文件管理
检查是否对登录超时时间配置
标准:搜索HISTFILESIZE字段或TMOUT
检查:cat /etc/bashrc 查看是否有对应配置;
实施:1、针对所有用户
vim /etc/profile
export TMOUT=900
source /etc/profile立即生效
vim /etc/profile
export TMOUT=900
source /etc/profile立即生效
检查磁盘状态
标准:磁盘未使用控件有余量
检查:执行:df -h,检查当前系统文件配置情况
实施:df -lh
检查系统core dump状态
标准:查看是否为0
检查:ulimit -c 查看是否为0
实施:vim /etc/security/limits.conf
* soft core 0
* hard core 0
* soft core 0
* hard core 0
检查系统补丁
标准:系统版本最新
检查:uname -a
实施:yum -y upgrade
网络通信配置
检查是否对基本网络服务进行配置
标准:未启用不必要的基本网络服务
检查:执行:ls -l /etc/xinetd.d more * |grep disable /etc/xinetd.d/*
检查/etc/xinetd.d目录中的包含的基本的网络服务的配置文件
检查/etc/xinetd.d目录中的包含的基本的网络服务的配置文件
实施:more * |grep disable 中*为/etc/xinetd.d下的文件,
disable=yes说明服务关闭
disable=no说明服务启动
disable=yes说明服务关闭
disable=no说明服务启动
检查是否开启NFS服务
标准:未开启
检查
实施:systemctl start nfs 起用NFS
systemctl stop nfs 停用NFS
systemctl stop nfs 停用NFS
用户账号配置
检查是否存在无用账号
标准:无类似uucp nuucp lpd guest printq账号
检查:1、检查 /etc/passwd文件属性设置是否为 644:ls -l /etc/passwd,
2、查看是否存在可能无用的账号:more /etc/passwd,
无用账号类似:uucp nuucp lpd guest printq,系统用户uid(第三列)是1-999,
普通用户是1000以上
2、查看是否存在可能无用的账号:more /etc/passwd,
无用账号类似:uucp nuucp lpd guest printq,系统用户uid(第三列)是1-999,
普通用户是1000以上
实施:重新赋予用户权限或删除账户,
执行:
$ chmod 644 /etc/passwd
执行:
$ chmod 644 /etc/passwd
检查是否存在无用用户组
标准:无多余用户组
检查:查看用户组文件权限 ls -l /etc/group
实施:
检查是否指定用户组成员使用su命令
标准:只wheel组的成员可以使用su命令成为root用户,
可以把其他用户添加到wheel组
可以把其他用户添加到wheel组
检查:vi /etc/pam.d/su
实施:编辑su文件(vi /etc/pam.d/su),在开头添加下面内容:
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so group=wheel
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so group=wheel
检查是否配置加密协议
标准:ssh服务正在运行
检查:查看SSH 服务状态:# ps -elf|grep ssh
检查方法
查看SSH 服务状态:# ps -elf|grep ssh
查看telnet 服务状态:# ps -elf|grep telnet
检查方法
查看SSH 服务状态:# ps -elf|grep ssh
查看telnet 服务状态:# ps -elf|grep telnet
实施:配置“/etc/ssh/ssh_config”文件
参考:https://blog.51cto.com/u_137783/1968756
参考:https://blog.51cto.com/u_137783/1968756
检查用户缺省访问权限
标准:权限设置符合实际需要;
不应有的访问允许权限被屏蔽掉;
不应有的访问允许权限被屏蔽掉;
检查:cat /etc/login.defs 查看是否有umask 027 内容
实施:1、设置默认权限:
vi /etc/login.defs 在末尾增加umask 027,将缺省访问权限设置为750
修改文件或目录的权限,操作举例如下:
#chmod 444 dir ; #修改目录dir 的权限为所有人都为只读。根据实际情况设置权限;
2、umask 的默认设置一般为022,这 给新创建的文件默认权限755(777-022=755),
这会给文件所有者读、写权限,但只给组成员和其它用户读权限。
vi /etc/login.defs 在末尾增加umask 027,将缺省访问权限设置为750
修改文件或目录的权限,操作举例如下:
#chmod 444 dir ; #修改目录dir 的权限为所有人都为只读。根据实际情况设置权限;
2、umask 的默认设置一般为022,这 给新创建的文件默认权限755(777-022=755),
这会给文件所有者读、写权限,但只给组成员和其它用户读权限。
检查是否存在除root之外UID为0的用户
标准:返回值包括“root”以外的条目,则低于安全要求
检查:执行:awk -F":" '{if($3==0){print $1}}' /etc/passwd
实施:vim /etc/passwd 保证仅root用户UID为0
检查是否配置环境变量
标准:返回值包含以上条件,则低于安全要求
非必要不包含777目录
非必要不包含777目录
检查:1、执行:echo $PATH | egrep '(^|:)(\.|:|$)',检查是否包含父目录
2、确保root用户的系统路径中不包含父目录
执行:find `echo $PATH | tr ':' ' '` -type d \( -perm -002 -o -perm -020 \) -ls,
检查是否包含组目录权限为777的目录
2、确保root用户的系统路径中不包含父目录
执行:find `echo $PATH | tr ':' ' '` -type d \( -perm -002 -o -perm -020 \) -ls,
检查是否包含组目录权限为777的目录
实施:修改权限
检查是否对用户的umask进行配置
标准:若是默认值的低于要求
检查:more /etc/profile more /etc/csh.login
more /etc/csh.cshrc more /etc/bashrc检查是否包含umask值
more /etc/csh.cshrc more /etc/bashrc检查是否包含umask值
实施:设置用户的默认umask 077
检查是否对重要目录和文件的权限进行设置
标准:只有root可以读、写和执行这个目录下的脚本
检查:执行以下命令检查目录和文件的权限设置情况:
ls -l /etc/
# chmod -R 750 /etc/rc.d/init.d/*
ls -l /etc/
# chmod -R 750 /etc/rc.d/init.d/*
实施:1、根据安全需要,配置某些关键目录其所需的最小权限;
重点要求password 配置文件、shadow 文件、group 文件权限。
2、/etc/passwd 所有用户都可读,root 用户可写 –rw-r—r—
配置命令:chmod 644 /etc/passwd
/etc/shadow 只有root 可读 –r--------
配置命令:chmod 600 /etc/shadow;
/etc/group 必须所有用户都可读,root 用户可写 –rw-r—r—
配置命令:chmod 644 /etc/group;
重点要求password 配置文件、shadow 文件、group 文件权限。
2、/etc/passwd 所有用户都可读,root 用户可写 –rw-r—r—
配置命令:chmod 644 /etc/passwd
/etc/shadow 只有root 可读 –r--------
配置命令:chmod 600 /etc/shadow;
/etc/group 必须所有用户都可读,root 用户可写 –rw-r—r—
配置命令:chmod 644 /etc/group;
检查是否存在未授权的suid/sgid文件
标准:若存在未授权的文件,则低于安全要求
检查:用下面的命令查找系统中所有的SUID和SGID程序,执行:
echo "for PART in \`grep -v ^# /etc/fstab | awk '(\$6 != \"0\") {print \"/./\"\$2 }'\`; do" >.sasbap_tmp
echo "find \$PART \( -perm -04000 -o -perm -02000 \) -type f -xdev -print" >>.sasbap_tmp
echo "done" >>.sasbap_tmp
sh .sasbap_tmp
rm -rf .sasbap_tmp
echo "for PART in \`grep -v ^# /etc/fstab | awk '(\$6 != \"0\") {print \"/./\"\$2 }'\`; do" >.sasbap_tmp
echo "find \$PART \( -perm -04000 -o -perm -02000 \) -type f -xdev -print" >>.sasbap_tmp
echo "done" >>.sasbap_tmp
sh .sasbap_tmp
rm -rf .sasbap_tmp
实施:
检查是否存在异常隐含文件
标准:不存在隐含文件
检查:用“find”程序可以查找到这些隐含文件。例如:
# find / -name ".. *" -print
# find / -name "...*" -print | cat -v
同时也要注意象“.xx”和“.mail”这样的文件名的。(这些文件名看起来都很象正常的文件名)
# find / -name ".. *" -print
# find / -name "...*" -print | cat -v
同时也要注意象“.xx”和“.mail”这样的文件名的。(这些文件名看起来都很象正常的文件名)
实施:删除类似文件
0 条评论
下一页