Linux系统安全基线配置要求评估检测示例表

文章详细阐述了如何检查和配置系统用户权限,包括限制UID为0的非root用户、锁定和删除多余账户、设置密码复杂度和生存期、控制账户权限以及防火墙设置。此外,还涉及了远程登录限制、系统服务管理、SUID/SGID文件检查和SSH协议安全配置。同时,文章强调了审计服务的启用和日志保护的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下内容供参考使用:

配置项配置操作基线符合性判定依据
检查是否存在除root之外UID为0的用户参考配置操作:
cat /etc/passwd            ##查看当前所有用户的情况;
或者:
awk -F: '{ if($3 == 0 && $1 != "root") print $1 }' /etc/passwd      ##返回值应为空
UID为0的任何用户都拥有系统的最高权限,保证只有root用户的UID为0
检查多余账户

1、检查/etc/passwd文件,对不启用的用户登录配置为/sbin/nologin或以#号注释:
# cat /etc/passwd,查看哪些账户的shell域中为nologin
锁定用户:
修改/etc/passwd文件,将需要锁定的用户的shell域设为nologin;或通过#passwd –l username锁定账户;
2、检查是否已修改默认账户的默认密码,例如查看是否存在如:root/root,oracle/oracle等的用户
3、是否存在空密码用户,查看/etc/shadow文件,询问相应账户是否为过期、多余账户,查看/etc/passwd文件各用户第二字段是否不为空,/etc/shadow文件中密码字段是否不为空

more /etc/passwd
4、应及时删除或停用多余的、过期的账户,避免共享账户的存在,将无用账户删除,如games、news、ftp、lp、halt、shutdown等默认账户,其余自建账户需明确负责人

cd /home && ls
userdel -r 用户名

结合要求和实际业务情况判断符合要求,删除或锁定与系统运行、维护等工作无关的账户。
cat /etc/password,多余账户处于锁定状态为符合
用户权限分离参考配置操作:
useradd 新建账户
passwd  设置口令
chmod    修改用户主目录权限,确保只有该用户可以读写
1、判定条件
结合要求和实际业务情况判断符合要求,根据系统的要求,设定不同的账户和账户组,管理员用户、操作员用户和审计用户。
2、检测操作
不同的用户登录,检查用户主目录的权限
root用户远程登录限制参考配置操作:
1、新建用户,执行: #useradd 用户名, #passwd 密码
2、修改 sshd_Config 文件,执行 vi /etc/ssh/sshd_config,找到 PermitRootLogin,删除前面的#号并且修改为 no,重启 sshd 服务,执行# service sshd restart
查看配置: cat /etc/ssh/sshd_config, PermitRootLogin no
符合
密码复杂度1、检查/etc/pam.d/password-auth和/etc/pam.d/system-auth确认已包含支持pam_pwquality.so模块(默认选项)
2、 编辑/etc/security/pwquality.conf文件,包含如下配置:
minlen = 9
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1
1、最短密码长度8个字符,启用本机组策略中密码必须符合复杂性要求的策略。
2、即密码至少包含四种类别的字符中的三种
密码生存期对于采用静态口令认证技术的系统,账户口令的生存期不长于90 天,最短1天,提前15天提醒修改密码查看配置文件,输出结果匹配操作指南中参数值为符
密码重用编辑/etc/pam.d/password-auth和/etc/pam.d/system-auth文件,在password sufficient pam_unix.so 这行的末尾配置添加remember=5 不能重复使用最近5次(含5次)内已使用的口令
 帐户锁定编辑/etc/pam.d/password-auth和/etc/pam.d/system-auth文件,在# User changes will be destroyed the next time authconfig is run.这行下面增加
auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=600
对于采用静态口令认证技术的系统,应配置当用户连续认证失败次数超过 5 次(不含 5 次) 后,锁定该用户使用的账号,避免用户口令被暴力破解。
用户缺省权限控制1、cat /etc/bashrc  查看全局默认设置umask值
2、查看具体用户home目录下.bash_profile,具体用户的umask
$umask  #获取当前权限掩码
单独针对用户设置:可修改用户home目录下的.bash_profile脚本文件,例如,可增加一条语句:umask 027;对于权限要求较严格的场合,建议设置为077。
全局默认设置:默认通过全局脚本/etc/bashrc设置所有用户的默认umask值,修改脚本即可实现对用户默认umask值的全局性修改,通常建议将umask设置为027以上,对于权限要求较严格的场合,建议设置为077。       
查看全局默认设置umask值为027或更小权限为符合(如有特需权限需求,可根据实际情况判断);
检查重要文件属性设置查看关键目录的用户对应权限参考命令
ls -l /etc/passwd  /etc/shadow   /etc/group
参考配置操作:
通过chmod命令对目录的权限进行实际设置。
1、/etc/passwd 所有用户都可读,root用户可写 
配置命令:chmod 644 /etc/passwd
2、/etc/shadow 只有root可读 
配置命令:chmod 600 /etc/shadow;
3、/etc/group 必须所有用户都可读,root用户可写
配置命令:chmod 644 /etc/group;
4、个别特殊环境,对文件进行锁定
chattr +i /etc/passwd
chattr +i /etc/shadow
检查/etc/shadow、/etc/shadow、/etc/group、/etc/passwd文件属性
防火墙设置检查防火墙状态
ubuntu系统使用防火墙为ufw,查看防火墙命令为
ufw status;
cenotos7系统使用防火墙为firewalld,查看防火墙命令为systemctl status firewalld;
cenotos6系统使用防火墙为iptables,查看防火墙命令为service iptables status
systemctl status firewalld
检查是否限制远程登录IP范围1、编辑/etc/hosts.allow
增加一行 <service>: 允许访问的IP;举例如下:
all:192.168.4.44:allow #允许单个IP;
sshd:192.168.1.:allow #允许192.168.1的整个网段的PC通过SSH来访问本机
重启进程:
#/etc/init.d/xinetd restart 
2、编辑/etc/hosts.deny
增加一行 all:all
重启进程:
#/etc/init.d/xinetd restart
/etc/hosts.allow、/etc/hosts.deny已进行配置
关闭不必要的系统服务1、执行命令 #chkconfig --list,查看哪些服务开放。
检查方法:与管理员确认无用服务已关闭
使用如下方式禁用不必要的服务
#service <服务名> stop
#chkconfig --level 35 off
执行命令 #chkconfig --list,查看哪些服务开放。
检查方法:与管理员确认无用服务已关闭
查找未授权的SUID/SGID文件

用下面的命令查找系统中所有的SUID和SGID程序,执行:
find / -type f –perm /6000 2>/dev/null

//若只检查重要文件是否存在suid和sgid权限
find /usr/bin/chage /usr/bin/gpasswd /usr/bin/wall /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /usr/bin/write /usr/sbin/usernetctl /usr/sbin/traceroute /bin/mount /bin/umount /bin/ping /sbin/netreport -type f -perm /6000 2>/dev/null
可使用chmod 755 文件名 命令修改文件的权限。
建议经常性的对比suid/sgid文件列表,以便能够及时发现可疑的后门程序

/
远程登录超时设置执行命令
# grep "^TMOUT" /etc/bashrc
# grep "^TMOUT" /etc/profile
输出“TMOUT=600”为符合
输出“TMOUT=600”为符合
配置cron、at的安全性
SSH协议安全配置编辑/etc/ssh/sshd_config,增加如下配置内容(注释内容仅做参数解释,不需在配置文件体现):
LogLevel INFO             //记录登入登出日志
Protocol 2               //启用SSH v2
MaxAuthTries 5            //密码尝试失败最大次数为5
PermitEmptyPasswords no   //禁用SSH空密码用户登录
ClientAliveInterval 600   //10分钟空闲会话退出
ClientAliveCountMax 0     //空闲会话结束前不发送确认
查看配置文件符合以上参数设置
禁止Control-Alt-Delete键盘关闭命令

参考配置操作(centos7)

cp /usr/lib/systemd/system/ctrl-alt-del.target /usr/lib/systemd/system/ctrl-alt-del.target.bak   //备份配置文件
rm –rf /usr/lib/systemd/system/ctrl-alt-del.target //删除配置文件
init q (重新加载配置文件)

检查方法:查看是否存在以下文件
ll /usr/lib/systemd/system/ctrl-alt-del.target
系统安全审计查看审计服务并启动审计服务
ps -ef | grep auditd
查看审计服务并启动
审计日志的记录与保护1、配置远程日志存储服务器
vi /etc/rsyslog.conf
注:格式如下*.*后面跟tab建,端口小于1024时需要配置设置selinux
#*.* @@remote-host:514
*.* @xx.xx.xx.xx
services syslogd restart  或  systemctl restart rsyslog
查看审计服务并启动
安全日志完备性要求

1、# cat /etc/syslog.conf查看是否有对应配置
2、# cat /var/log/secure查看是否有对应配置修改配置文件
vi /etc/syslog.conf。
  配置如下类似语句:
  authpriv.*   /var/log/secure
  定义为需要保存的设备相关安全事件。
3、设置history时间戳

vi /etc/profile
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`:"
export HISTTIMEFORMAT
source /etc/profile

1、cat /etc/syslog.conf确认有对应配置;
2、查看/var/log/secure,应记录有需要的设备相关的安全事件
3、查看/etc/profile配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值