Linux 安全基线
1. 账号管理
1.1. 共享账户检查
配置名称 |
账号分配检查,避免共享账号存在 |
配置要求 |
1、系统需按照实际用户分配账号; 2、避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享。 |
操作指南 |
参考配置操作:cat /etc/passwd查看当前所有用户的情况; |
检查方法 |
命令cat /etc/passwd查看当前所有用户的信息,与管理员确认是否有共享账号情况存在。 |
配置方法 |
如需建立用户,参考如下: useradd username #创建账号 passwd username #设置密码 |
适用版本 |
暂时未发现不适用版本 |
1.2. 多余账户锁定策略
配置名称 |
多余账户锁定策略 |
配置要求 |
应锁定与设备运行、维护等工作无关的账号。 |
操作指南 |
参考配置操作,查看锁定用户: # cat /etc/password,查看哪些账户的shell域中为nologin; |
检查方法 |
人工检查: cat /etc/password后查看多余账户的shell域为nologin为符合; BVS基线检查: 多余账户处于锁定状态为符合。 |
配置方法 |
1、一般情况下,需要锁定的用户:lp,nuucp,hpdb,www,demon 2、针对需要锁定的用户:可以修改/etc/password文件,将需要锁定的用户的shell域设为 nologin; 或通过#passwd –l username锁定账户; |
适用版本 |
暂时未发现不适用版本 |
1.3. 口令复杂度策略
配置名称 |
操作系统口令复杂度策略 |
配置要求 |
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号。 |
操作指南 |
1、参考配置操作 cat /etc/pam.d/system-auth,找到password模块接口的配 置部分,找到类似如下的配置行: password requisite /lib/security/$ISA/pam_cracklib.so minlen =6 2、补充操作说明 参数说明如下: 1、retry=N,确定用户创建密码时允许重试的次数; 2、minlen=N,确定密码最小长度要求,事实上,在默认配置下,此参数代表密码最小长度为N-1; 3、dcredit=N,当N小于0时,代表新密码中数字字符数量不得少于(-N)个。 4、ucredit=N,当N小于0时,代表则新密码中大写字符数量不得少于(-N)个; 5、lcredit=N,当N小于0时,代表则新密码中小写字符数量不得少于(-N)个; 6、ocredit=N,当N小于0时,代表则新密码中特殊字符数量不得少于(-N)个; |
检查方法 |
cat /etc/pam.d/system-auth,参考操作指南检查对应参数 口令的最小长度至少12位 口令最少应包含的字符数量 口令中最少应包含的字母字符数量 口令中最少应包含的非字母数字字符数量 通过以上4子项的输出综合判断该项是否满足。 |
配置方法 |
vi /etc/pam.d/system-auth,找到password模块接口的配置部分,按照配置要求内容修改对应属性。 |
适用版本 |
暂时未发现不适用版本 |
1.4. 口令最长生存期策略
配置名称 |
口令最长生存期策略 |
配置要求 |
要求操作系统的账户口令的最长生存期不长于90天 |
操作指南 |
cat /etc/login.defs文件中指定配置项,其中: PASS_MAX_DAYS配置项决定密码最长使用期限; PASS_MIN_DAYS配置项决定密码最短使用期限; PASS_WARN_AGE配置项决定密码到期提醒时间。 |
检查方法 |
PASS_MAX_DAYS值小于等于90为符合; |
配置方法 |
vi /etc/login.defs文件,修改PASS_MAX_DAYS值为小于等于90 |
适用版本 |
暂时未发现不适用版本 |
2. 访问控制
2.1. Root账号远程登录限制
配置名称 |
Root账号远程登录限制 |
配置要求 |
1、限制具备超级管理员权限的用户远程登录。 2、远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到 超级管理员权限账号后执行相应操作。 |
操作指南 |
使用root账户远程尝试登陆 |
检查方法 |
1、root远程登录不成功,提示“Not on system console”; 2、普通用户可以登录成功,而且可以切换到root用户; |
配置方法 |
修改/etc/ssh/sshd_config文件,将PermitRootLogin yes改为PermitRootLogin no,重启sshd服务。 |
适用版本 |
暂时未发现不适用版本 |
2.2. 关键目录权限控制
配置名称 |
关键目录权限控制 |
配置要求 |
1、根据安全需要,配置某些关键目录其所需的最小权限; 2、补充操作说明: 重点要求password配置文件、shadow文件、group文件权限。 当前主流版本的linux系统在默认情况下即对重要文件做了必要的权限设置,在日常管理和操作过程 中应避免修改此类文件权限,除此以外,应定期对权限进行检查及复核,确保权限设置正确。 |
操作指南 |
查看关键目录的用户对应权限参考命令 ls -l /etc/passwd ls -l /etc/shadow ls -l /etc/group |
检查方法 |
与管理员确认已有权限为最小权限。 |
配置方法 |
参考配置操作: 通过chmod命令对目录的权限进行实际设置。 补充操作说明: /etc/passwd 所有用户都可读,root用户可写 –rw-r—r— 配置命令:chmod 644 /etc/passwd /etc/shadow 只有root可读 –r-------- 配置命令:chmod 400 /etc/shadow; /etc/group 必须所有用户都可读,root用户可写 –rw-r—r— 配置命令:chmod 644 /etc/group; 如果是有写权限,就需移去组及其它用户对/etc的写权限(特殊情况除外) 执行命令chmod -R go-w,o-r /etc |
适用版本 |
暂时未发现不适用版本 |
2.3. 用户缺省权限控制
配置名称 |
用户缺省权限控制 |
配置要求 |
控制用户缺省访问权限,当在创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限, 防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。 |
操作指南 |
查看/etc/profile里全局用户的umask值。 |
检查方法 |
查看全局默认设置umask值为027或更小权限为符合(如有特许权限需求,可根据实际情况判断); 查看具体用户的umask,本着最小权限的原则。 |
配置方法 |
参考配置操作: 修改/etc/profile文件,例如要将默认umask值设置为027,那么可以在文件中增加一行“umask 027”。 |
适用版本 |
暂时未发现不适用版本 |
2.4. 登录终端的超时锁定
配置名称 |
登录终端的超时锁定 |
配置要求 |
应根据安全策略设置登录终端的操作超时锁定。 |
操作指南 |
查看具体/etc/profile里是否配置TMOUT值 |
检查方法 |
查看具体/etc/profile里是否配置TMOUT值 |
配置方法 |
参考配置操作: 修改/etc/profile文件,可以在文件中增加一行“export TMOUT=540”(时间可选) |
适用版本 |
暂时未发现不适用版本 |
3. 安全审计
3.1. 安全日志完备性要求
配置名称 |
安全日志完备性要求 |
配置要求 |
系统应配置完备日志记录,记录对与系统相关的安全事件 |
操作指南 |
1、# cat /etc/syslog.conf查看是否有对应配置 2、# cat /var/log/secure查看是否有对应配置 |
检查方法 |
1、cat /etc/syslog.conf确认是否存在相应配置; (例如:authpriv.* /var/log/secure) 2、查看/var/log/secure,应记录有需要的设备相关的安全事件。 |
配置方法 |
参考配置操作: 修改配置文件vi /etc/syslog.conf添加下面一行: authpriv.* /var/log/secure (中间的分隔符是tab) 补充操作说明: //将authpirv设备的任何级别的信息记录到/var/log/secure文件中,这主要是一些和权限使用相关的信息。 |
适用版本 |
暂时未发现不适用版本 |
3.2. 统一远程日志服务器配置
配置名称 |
安全日志完备性要求 |
配置要求 |
当前系统应配置远程日志功能,将需要重点关注的日志内容传输到日志服务器进行备份。 |
操作指南 |
# cat /etc/syslog.conf查看是否有对应配置 |
检查方法 |
检查是否配置远程日志服务 |
配置方法 |
参考配置操作: 修改配置文件vi /etc/syslog.conf,加上这一行: *.* @192.168.0.1(*.*和@之间为用tab分隔) 重新启动syslog服务,执行下列命令: services syslogd restart 补充操作说明: 可以将"*.*"替换为你实际需要的日志信息。比如:kern.* / mail.* 等等;可以将此处192.168.0.1替换为实际的IP或域名 |
适用版本 |
暂时未发现不适用版本 |
3.3. 设置history时间戳
配置名称 |
设置history时间戳 |
配置要求 |
设置history时间戳,方便审计 |
操作指南 |
# cat /etc/profile查看是否有对应配置 |
检查方法 |
检查是否为日志配置时间戳 |
配置方法 |
参考配置操作: 修改配置文件vi /etc/profile,配置如下: HISTFILESIZE=2000 #设置保存历史命令的文件大小 HISTSIZE=2000 #保存历史命令条数 HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`:"(#记录每条历史命令的执行时间和执行者) export HISTTIMEFORMAT source /etc/profile执行使变更生效 补充操作说明: 可以使用“echo”命令快速配置: echo 'export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:'whoami': " ' >> /etc/profile && source /etc/profile |
适用版本 |
暂时未发现不适用版本 |
4. 入侵防范
4.1. 关闭非必要的系统服务
配置名称 |
关闭非必要的系统服务 |
配置要求 |
根据每台机器的不同角色,关闭不需要的系统服务。操作指南中的服务项提供参考,根据服务器的角色和应用情况对 启动项进行修改。如无特殊需要,应关闭Sendmail、Telnet、Bind等服务。 |
操作指南 |
执行命令 chkconfig –list或service -–status-all查看哪些服务开放。 |
检查方法 |
与管理员确定非必要服务 |
配置方法 |
1、参考配置操作 使用如下方式禁用不必要的服务 service <服务名> stop chkconfig --level 35 off 2、参考说明 Linux/Unix系统服务中,部分服务存在较高安全风险,应当禁用,包括: “lpd”,此服务为行式打印机后台程序,用于假脱机打印工作的UNIX后台程序,此服务通常情况下不用,建议禁用; “telnet”,此服务采用明文传输数据,登陆信息容易被窃取,建议用ssh代替; “routed”,此服务为路由守候进程,使用动态RIP路由选择协议,建议禁用; “sendmail”,此服务为邮件服务守护进程,非邮件服务器应将其关闭; “Bluetooth”,此服务为蓝牙服务,如果不需要蓝牙服务时应关闭; “identd”,此服务为AUTH服务,在提供用户信息方面与finger类似,一般情况下该服务不是必须的,建议关闭; “xfs”,此服务为Linux中X Window的字体服务,关于该服务历史上出现过信息泄露和拒绝服务等漏洞,应以减少系统风险; R服务(“rlogin”、“rwho”、“rsh”、“rexec”),R服务设计上存在严重的安全缺陷, 仅适用于封闭环境中信任主机之间便捷访问,其他场合下均必须禁用; 基于inetd/xinetd的服务(daytime、chargen、echo等),此类服务建议禁用。 |
适用版本 |
暂时未发现不适用版本 |
4.2. 禁止Control-Alt-Delete键盘关闭命令
配置名称 |
禁止Control-Alt-Delete键盘关闭命令 |
配置要求 |
应禁止使用Control-Alt-Delete组合键重启服务器,防止误操作 |
操作指南 |
1、redhat系统使用cat /etc/inittab,查看配置 2、ubantu 系统使用 cat /etc/init/control-alt-delete.conf查看配置 |
检查方法 |
查看是否有做相关配置 |
配置方法 |
参考配置操作 1、redhat系统在“/etc/inittab” 文件中注释掉下面这行(使用#): ca::ctrlaltdel:/sbin/shutdown -t3 -r now 改为: #ca::ctrlaltdel:/sbin/shutdown -t3 -r now 为了使此改动生效,输入下面这个命令: /sbin/init q或telinit q执行生效 2、ubantu系统“/etc/init/control-alt-delete.conf”用#分别注释: #start on control-alt-delete #exec shutdown -r now "Control-Alt-Delete pressed" |
适用版本 |
暂时未发现不适用版本 |
转载于:https://www.cnblogs.com/ScriptKid-Lu/p/10278085.html
Linux 安全基线相关推荐
- 什么是 Linux 安全基线?
一.什么是基线? 即安全基线配置,诸如操作系统.中间件和数据库的一个整体配置,这个版本中各项配置都符合安全方面的标准. 比如在系统安装后需要按安全基线标准,将新机器中各项配置调整到一个安全.高效.合理 ...
- linux服务器基线配置
linux服务器基线配置 账号 1 为不同用户创建不同账号: #useradd username #创建账号 #passwd username #设置密码 #chmod 750 directory # ...
- linux 安全基线加固
现在大多数企业都是使用linux作为服务器,不仅是linux是开源系统,更是因为linux比windows更安全.但是由于管理员的安全意识不全或者疏忽,导致linux的敏感端口和服务没有正确的配置,可 ...
- linux安全基线检查,CentOS Linux 7安全基线检查
系统-CentOS Linux 7安全基线检查: 检查项目 : 设置密码失效时间 加固建议: 在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如 P ...
- linux安全基线检查内容
一:共享账号检查 配置名称:用户账号分配检查,避免共享账号存在配置要求:1.系统需按照实际用户分配账号; 2.避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享.操作指南:参考配置操作: ...
- Linux安全基线配置全解析
来自:https://blog.csdn.net/chj_1224365967/article/details/114589867 现在大多数企业都是使用linux作为服务器,不仅是linux是开源系 ...
- 安全运维 | Linux系统基线检查
声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全.企业安全.国家安全. 1 查询系统信息 1 ...
- 【安全服务】windows/Linux安全基线检查|等保3.0安全技术测评指导
目录 Windows 一 身份鉴别 二 访问控制 三 安全审查 四 入侵防范 五.恶意代码防范 六.其他 Linux 一.身份鉴别 二.访问控制 三.安全审计 四.入侵防范 Windows 一 身份鉴 ...
- Linux安全基线加固之账号和口令
整理下以前的笔记.可能分类不准,也可能不太全,不过自己感觉实际中做完这些配置应该没多大问题!也希望有小伙伴能指出问题,共同学习! 1.检查是否存在除root之外UID为0的用户 awk -F: '($ ...
最新文章
- SpringBoot启动标识修改
- collection_check_boxes的应用
- [翻译]NUnit---Action Attributes(八)
- 局部敏感哈希-Locality Sensitive Hashing
- java探针之修改类字节码文件
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建11 - 空间滤波 - 自适应滤波器 - 自适应局部降噪、自适应中值滤波器
- sql server 关联_SQL Server中的关联规则挖掘
- 蓝桥杯——黑色星期五
- [转]linux权限补充:rwt rwT rws rwS 特殊权限
- 欧盟《一般数据保护法案》(GDPR)核心要点 本文更多的是站在企业角度来思考法案对物联网行业的影响以及应对措施,一来希望与同行企业可以就GDPR进行更多的互动讨论;二来也是希望传播国际法案对于安全和
- 3.5 数值分析: 例题及迭代法收敛的充分条件
- [LuoguP3503]「BZOJ2086」[POI2010] Blocks
- 网络口碑监控系统方案
- MySQL基于位置的恢复
- 安徽省软考报名时间成绩查询安徽省教育考试院安徽省人事考试网报名入口
- js中字符串截取函数及其方法
- 记可视化项目代码设计的心路历程以及理解
- C# 调用钉钉接口进行发送企业通知消息,适应于网页版
- 利用隧道感受IPV6
- 【原创】解决AD账户被莫名其妙的锁定问题
热门文章
- 寻找数组中的重复数字(java,可执行程序)
- 史上赚钱最快的十位商业奇才,他1年赚10亿美金!
- 全球超算500强榜单更新:美国Summit居首,中国上榜227台
- 机器学习和深度学习的区别 深度学习的完全取代机器学习吗
- djc加密数字货币_中国银行原副行长: quot;网络加密币quot;难以成为货币,央行数字货币只能是法定货币的数字化...
- Python---将一字符串转换为字典,并按词语出现的频率由高到低进行排列。
- 027-日期和时间组件
- linux 硬件抽象,Linux 内核硬件抽象
- 装了mysql但是服务里没有反应_Mysql安装后在服务里找不到和服务启动不起来的解决方法...
- k8s pod restartcount 改0_Prometheus+k8s之告警通知