一 检查系统中是否存在UID与root帐户相同的帐户

注意:如相同将具备与root同等权限,请尽快修改或删除其他帐户
理论依据:
任何UID为0的帐户都具有系统上的超级用户特权,只有root账号的uid才能为0

检查步骤
执行以下命令查看系统中uid为0的账号

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

合规标准
除root外无其他uid为0的账号则合规,否则不合规。

加固方案1、执行备份#cp –p /etc/passwd /etc/passwd.bak#cp –p /etc/shadow /etc/shadow.bak#cp –p /etc/group /etc/group.bak2、删除除root外其他uid为0的账号【删除之前应确保账号未被其他业务使用】#userdel username

二 检查是否存在未禁止登录的系统默认帐户,长期不使用的测试帐户或过期帐户

vi /etc/passwd   //检查是否存在admin用户,没有存在admin用户则创建用户。

创建admin普通用户

[root@localhost /]# useradd wang
[root@localhost /]# passwd wang
Changing password for user wang.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully

禁止其他不适用的用户
描述:请手动检查。发现系统中存在未禁止登录的系统默认帐户,一般有如下账户,daemon|bin|sys|sync|games|man|lp|mail|news|uucp|proxy|www-data|backup|list|irc|gnats|nobody|libuuid|speech-dispatcher|rpc|netdump|xfs,由于系统默认帐户权限通常较高,一般不允许使用默认系统帐户进行登录。如果有,最好禁止登录。

原因解析:管理员应该定期的去检查/etc/passwd文件,查看主机上的启动用户,对于系统中已经不存在的用户,应及时将清理.对于在系统上创建的专门的执行用户,该用户一般只是作用户的执行者,无需登录Linux,比如ftp,apache,nginx等,这些用户是设置为禁止登录操作系统,这样作的目的是防止这类用户账号被作为入侵服务器的跳板.

建议:使用管理员权限修改/etc/passwd文件,修改以下(daemon|bin|sys|sync|games|man|lp|mail|news|uucp|proxy|www-data|backup|list|irc|gnats|nobody|libuuid|speech-dispatcher|rpc|netdump|xfs)帐户的登录时使用的shell为“/sbin/nologin”,及每行最后面,如果不需要禁止这里面的账户,或者禁止其他账户,根据需求修改。

三 检查是否允许root帐户直接ssh远程登录

注意:不要立刻使用下面的命令,一定要先创建一个普通用户,通过普通用户远程登录后,切换到root用户再进行修改。

cat /etc/passwd   //查看可登录的用户

编辑/etc/ssh/sshd_config文件,修改或者修改 PermitRootLogin no;然后重启sshd服务 执行

systemctl restart sshd.service
或者
service sshd restart

四 检查设置登录超时锁定时间

以管理员权限执行,vi /etc/profile,添加 export TMOUT=480(单位:秒,可根据具体情况设定超时退出时间,要求不小于300秒),注销用户,再用该用户登录激活该功能
保存退出,使用命令 source /etc/profile 立即生效

五 检查是否用户的最小权限是否符合规定

etc/passwd /etc/group /etc/shadow的所在组和其他组权限(后六位)应该分别为r–r--,r–r--,------

命令如下:

#执行下面三个命令
chmod 644 /etc/passwd
chmod 644 /etc/group
chmod 600 /etc/shadow

六 检查是否设置密码过期时间;检查是否设置密码过期前警告天数;

描述:请手动检查。如果系统中未设置密码过期时间,或密码的过期时间太长,会导致用户长期不修改密码则会提高密码暴露风险。建议密码生存周期不超过90天。

编辑  vi /etc/login.defs文件,添加或者修改PASS_MAX_DAYS的值为90,及PASS_MAX_DAYS=90。

PASS_MAX_DAYS 90   #最近一次密码更新时间+90天 ,即密码过期日期PASS_WARN_AGE 7  #密码过期前7天,用户登录时会提示修改密码

七 检查是否设置了密码更改最小间隔周期

编辑#vi /etc/login.defs文件,并修改或添加PASS_WARN_DAYS=7,表示至少7天修改一次密码,如果需要频繁修改密,则注释掉或删掉这行,又或者设置为0。

八 检查是否设置密码在设定时不能使用前几次密码的次数限制

相关文件

  1. Debian / Ubuntu:所在文件 #/etc/pam.d/common-password,
    2.CentOS / RedHat / Fedora 所在文件 #/etc/pam.d/system-auth
  2. suse 所在文件 /etc/pam.d/passwd或者/etc/pam.d/common-password(最新版在这个下面) 编辑对应文件,在 password sufficient pam_unix.so 所在行最后面添加remember=5 表示不能重复前5次的密码。

注意

在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
在相应行的后面添加 remember=5,而不是添加一行!

九 检查记录历史命令条数是否设置

编辑文件/etc/profile,修改或添加HISTSIZE=30,表示30条历史命令

十 检查是否设置ssh远程登录密码最大重试次数

编辑/etc/pam.d/sshd文件,在"#%PAM-1.0"下面添加或者修改 auth required pam_tally2.so deny=5 unlock_time=1800,及表示最大重试次数5次,失败锁定帐户时间30分钟(1800秒)

编辑

vi /etc/pam.d/sshd
或者
vi /etc/pam.d/sssd-shadowutils

在"#%PAM-1.0"下面添加或者修改

auth required pam_tally2.so deny=5 unlock_time=1800

重启sshd服务

systemctl restart sshd

十一 检查是否绑定允许访问主机的IP段

编辑/etc/hosts.allow,添加或修改为"sshd:+允许的IP+:allow"实现允许某个ip段使用ssh连接访问。

sshd:xxx:xxx:xxx:xxx:allow

重启配置

systemctl restart sshd
或
service sshd restart:

十二 (目前禁止设置)检查是否配置禁止所有ip段访问主机

描述:请手动检查。在/etc/hosts.deny文件中,相当于黑明单功能,建议可以设置禁止所有ip访问,然后配合hosts.allow设置可以允许访问主机的段
建议:编辑 #vi /etc/hosts.deny,添加或修改sshd:All

十三 检查是否禁止root帐户登录vsftp(无ftp服务可忽略配置)

描述:
请手动检查。如果当前设置中允许root帐户登录FTP服务器。该设置不符合基线要求,请及时修改设置。

编辑/etc/vsftpd.ftpusers,添加root,以禁止root帐户登录FTP。

十四 检查是否禁止匿名登录vsftp(无ftp服务可忽略配置)

描述:
请手动检查。如果允许用户匿名登录FTP,该配置时不安全的,可能会使ftp服务器遭受匿名攻击,建议禁止。

编辑#vi /etc/vsftpd/vsftpd.conf 或者 /etc/vsftpd.conf(根据具体选项选择),添加或者修改anonymous_enable NO。

十五 开启日志功能

命令

service rsyslog start

十六 检查是否设置审计日志保存时间

建议
检查审计日志默认保存时间是否符合规范,建议保存一年内的日志。则编辑/etc/logrotate.conf,如果日志轮转周期设置为weekly(默认)则建议修改rotate值为53,表示53周一年,同理若周期为daily则建议rotate设置为365,表示365天一年,若周期为monthly则建议设置为12,表示12个月一年。

编辑

vim /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly# keep 4 weeks worth of backlogs
rotate 53

Linux检查安全策略相关推荐

  1. Linux服务器安全策略配置

    Linux服务器安全策略配置 1.口令长度限制 2.登录失败锁定 3.设置tty登录超时自动退出 4.ssh安全性配置 5.禁止USB外设 6.配置恶意软件防范策略 1.口令长度限制 设定用户默认密码 ...

  2. Linux服务器安全策略实战

    课程介绍 安全是IT行业一个老生常谈的话题了,从近几年层出不穷的安全事件中折射出了很多安全问题,处理好信息安全问题已变得刻不容缓. 因此做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责 ...

  3. Linux服务器安全策略实战免费送给运维工程师

    课程介绍 安全是IT行业一个老生常谈的话题了,从近几年层出不穷的安全事件中折射出了很多安全问题,处理好信息安全问题已变得刻不容缓. 因此做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责 ...

  4. linux 对象管理器,Linux多安全策略和动态安全策略框架模块详细分析之函数实现机制中文件对象管理器分析(3)...

    3.决策的实施 当主体对客体进行访问时,客体管理器会收集主体和客体的SID,并根据此SID对在AVC中进行查找:如果找到,则根据相应的安全决策进行处理:反之客体管理器会将主体的SID.客体的SID以及 ...

  5. 运维工程师必备Linux常见安全策略与实践

    操作系统的安全问题是信息安全领域最重要和最基本的问题之一.随着近几年国内互联网技术和行业的迅猛发展,采用Linux网络操作系统作为服务器的用户也越来越多.Linux面临着前所未有的发展机遇,同时Lin ...

  6. Linux:检查当前运行级别的五种方法

    2019独角兽企业重金招聘Python工程师标准>>> 运行级就是Linux操作系统当前正在运行的功能级别.存在七个运行级别,编号从0到6.系统可以引导到任何给定的运行级别.运行级别 ...

  7. linux检查文件一致性,3.20 fsck(检查并修复Linux 文件系统)

    3.20 fsck(检查并修复Linux 文件系统) (1)频度等级:☆☆ (2)功能说明: 检查文件系统的一致性并且以交互方式修复文件系统.在出现系统故障之后,总是运行fsck 命令.矫正的动作也许 ...

  8. linux 检查权限,检查目录下 文件的权限-linux shell脚本,

    检查目录下 文件的权限-linux shell脚本, #!/bin/bash #History: #2019/07/23    Fsq #This Program will check Permiss ...

  9. linux检查邮件命令,Linux:mail的邮件收发及查看

    系统收到邮件都会保存在"/var/spool/mail/[linux用户名]"文件中. 在linux中输入mail,就进行了收件箱,并显示二十封邮件列表. 此时命令提示符为&quo ...

最新文章

  1. nginx rewrite和根据url参数location
  2. 页面置换算法简单对比----《operating system concepts》《操作系统原理》
  3. 安卓AS_git 进行更新远程分支
  4. MS SQL入门基础:查看表
  5. 转: MATLAB: cat函数使用
  6. mysql中的day(0_MySQL代码执行0-day漏洞 可本地提权
  7. Fortran95学习笔记
  8. YDOOK:Maxwell 电磁场仿真 最新版的 Maxwell 软件 使用什么软件进行电磁场仿真
  9. 正逆运动学解(三维)
  10. 《大数据之路:阿里巴巴大数据实践》-第2篇 数据模型篇 -第10章 维度设计
  11. jdk8 lambda
  12. 计算机视觉论文-2021-07-20
  13. JavaEE中的网络基础知识和网络通信基础
  14. mysql group by 配置_关于mysql group by 的设置
  15. uni-app 连接逍遥模拟器 安卓模拟器 不显示 找不到 端口映射
  16. MySQL 错误【四】Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp
  17. 自媒体文章一文多发的几种方式
  18. mp2 解码器kjmp输出32bit
  19. xlwt/xlrd库的区别
  20. 如何判断一家公司靠不靠谱

热门文章

  1. Android 开源项目2017总结
  2. appium+python自动化测试~~~~~~~问题记录
  3. 【企业微信】借助官方api获取人员私密(手机号,地址)信息
  4. 面向程序员的数据挖掘指南(三)
  5. 在线教育与知识付费系统,有何区别?
  6. php将数组转为字符串的方法
  7. MySQL 服务正在启动 MySQL 服务无法启动解决途径
  8. 【软件安装教程】【360清理大师】(在windows系统里的应用商店有自带的)
  9. Nvidia Xavier Nx平台SPI接口调试记录
  10. Qt/C++常规知识点