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