生命在于学习——Linux安全加固以及基线检查

news2024/9/25 15:28:15

在这里插入图片描述

一、账号管理

1、口令锁定策略

基线检查:

查看文件more /etc/pam.d/password-auth

判定条件:是否存在以下内容

auth required pam_tally2.so deny=5 onerr=fail unlock_time=300 even_deny_root=5 root_unlock_time=600

安全加固:
(1)执行备份
(2)修改策略,编辑文件,增加以上内容。
ps:如果要对root用户生效,请在内容后继续添加:

even_deny_root=5 root_unlocak_time=600

查询被锁定的账号:

pam_tally2 -u

手动解锁某个被锁定账号:

pam_tally2 -u 用户名 -r

2、口令生存期

基线检查:

查看文件more /etc/login.defs

判定条件:检查参数值是否满足要求

PASS_MAX_DAYS用户密码最长使用天数不大于90
PASS_WARN_AGE用户密码到期提前提醒天数为7

安全加固:
(1)执行备份
(2)修改策略,编辑文件,增加以下内容,如果存在则修改。

PASS_MAX_DAYS 90
PASS_WARN_AGE 7

执行命令:修改已有用户的口令生存期和过期告警天数

chage -M 9 -W 7 username

3、口令复杂度

基线检查:执行命令查看是否有返回结果

grep -E "^minlen|/^minclass" /etc/security/pwquality.conf

判定条件:

有返回结果等于或大于,则合规。minlen=8,minclass=3

安全加固:
(1)执行备份
(2)执行命令:

authconfig --passminlen=8 --passminclass=3 --update
至少包含数字、小写字母、大写字母、特殊字母三项,且长度大于等于8。

4、检查密码重用是否受限制

基线检查:查看文件

cat /etc/pam.d/system-auth
找到password sufficient pam_unix.so这行

判定条件:

检查末尾是否有remember参数,有参数且值大于等于5合规

安全加固:

(1)备份
(2)执行命令,编辑文件:
vim /etc/pam.d/system-auth
找到password sufficient pam_unix.so这行
末尾添加remember参数且值等于5

它表示禁止使用最近用过的五个密码(使用过的密码会保存在/etc/security/opasswd下面)。

5、检查是否存在除root之外UID为0的用户

基线检查:执行命令查看返回值

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

判定条件:

返回值包括root以外的条目,则低于安全要求

安全加固:

(1)备份
(2)执行命令
userdel -r username删除返回值除root外的用户
usermod -u uid username为他们分配新的UID

6、禁止存在空密码的账号

基线检查:执行命令

awk -F:'($2 == ""){print $1}' /etc/shadow

判定条件:

执行命令后没有返回值合规

安全加固:

为账户设置满足密码复杂度的密码:
passwd username

二、服务管理

1、禁止SSH空密码用户登录

基线检查:执行命令

more /etc/ssh/sshd_config

判定条件:

查看PermitEmptyPasswords的值是no则合规。

安全加固:

1、备份
2、将其值改为no
3、systemctl restart sshd

2、SSH多次登录失败后锁定用户

基线检查:执行命令

more /etc/pam.d/sshd

判定条件:

查看是否存在
auth required pam_tally2.so deny=5 unlock_time=300
deny小于等于5,unlock_time大于等于300则合规

安全加固:

1、备份
2、编辑/etc/pam.d/sshd,将上述内容添加。
备注:如果要对root用户也限制,继续添加:
even_deny_root=5 root_unlock_time=1200

3、限制root用户远程登录

基线检查:执行命令

more /etc/ssh/sshd_config
查看PermitRootLogin参数的值

判定条件:

PermitRootLogin参数值为no且该行没有被注释则合规。

安全加固:

1、备份
2、编辑/etc/ssh/sshd_config找到PermitRootLogin将其后面的yes改为no,并删除前面的#
3、systemctl restart sshd

4、检查SSH使用的端口

基线检查:执行命令

more /etc/ssh/sshd_config
查看port的值

判定条件:

Port参数值不是默认值(22)且该行没有被注释则合规

安全加固:

1、编辑/etc/ssh/sshd_config找到port将其后方的22改为其他端口号,然后删除#注释。
2、执行命令:semanage port -a -t ssh_port_t tcp 修改后的端口号
	将修改后的端口添加到SELinux开放给ssh使用的端口
3、执行命令:firewall-cmd --zone=public --add-port=ssh 端口号/tcp --permanent
	防火墙放行刚修改的ssh端口
4、执行命令:systemctl restart sshd; systemctl restart firewalld
	重启ssh和防火墙。

5、设置登录超时自动注销

基线检查:执行命令

more /etc/profile 查看是否有export TMOUT=180

判定条件:

存在export TMOUT且他的值小于等于180则合规

安全加固:

1、备份
2、编辑/etc/profile在该文件末尾添加export TMOUT=180或者将原来的值改为180。

三、权限管理

1、检查默认umask的值

基线检查:执行命令

more /etc/profile 查看该文件末尾是否设置umask值

判定条件:

文件末尾存在umask 027则合规

安全加固:

1、备份
2、编辑/etc/profile 在文件末尾添加umask 027。
3、source /etc/profile

2、检查重要目录和文件的权限设置

基线检查:执行命令

ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/hosts.allow /etc/hosts.allow /etc/services /etc/ssh/sshd_config查看文件权限。

判定条件:符合以下条件

/etc/passwd文件的权限<=644
/etc/shadow文件的权限<=600
/etc/group文件的权限<=644
/etc/gshadow文件的权限<=600
/etc/hosts.deny文件的权限<=644
/etc/hosts.allow文件的权限<=644
/etc/services文件的权限<=644
/etc/ssh/sshd_config文件的权限<=600
以上条件同时满足则合规,否则不合规。

安全加固:

对不符合要求的文件使用chmod命令修改权限。

3、限制可以su为root的用户

基线检查:执行命令

more /etc/pam.d/su 找到auth required pam_wheel.so use_uid查看该行是否存在且是否被注释

判定条件:

auth required pam_wheel.so use_uid存在且没有被注释则合规

安全加固:

1、备份
2、编辑/etc/pam.d/su找到该值,删除前面的#使其生效,如果不存在则添加该值。
3、将需要su为root的用户使用命令:usermod -G wheel username 加入 wheel 组,该用户即可su为root用户。如果需要将某个用户移出wheel组,可使用命令:gpasswd -d username wheel

四、日志管理

1、检查rsyslog服务启用状况以及对登录事件的记录

基线检查:执行命令

more /etc/rsyslog.conf查看authpriv的值

判定条件:

authpriv的值为authpriv.*  /var/log/secure则合规
注:/var/log/secure为可变项

安全加固:

1、备份:cp - p /etc/rsyslog.conf /etc/rsyslog.conf. bak
2、执行命令:systemctl enable rsyslog 添加开机自启动
、执行命令:systemctl start rsyslog 启动服务
4、执行命令:vi/etc/rsyslog.conf 查看authpriv值 将其设置为 authpriv.*/var/log/secure
将 authpirv 的任何级别的信息记录到 /var/log/secure 文件中
5、执行命令:systemctl restart rsyslog

2、检查是否启用记录定时任务行为日志功能

基线检查:执行命令

more /etc/rsyslog.conf查看cron的值

判定条件:

corn值为cron.*则合规

安全加固:

1、执行备份:cp -p /etc/rsyslog.conf /etc/rsyslog.conf_bak
2、执行命令:vi /etc/rsyslog.conf 查看 cron 的值,将其设置为
cron.* /var/log/cron
#即将 cron 的任何级别的信息记录到 Nvar/log/cron 文件中
3、执行命令:systemctl restart rsyslog 重启 rsyslog 使配置生效

3、查看SSH LogLevel设置是否为INFO

基线检查:执行命令

more /etc/ssh/sshd_config找到LogLevel

判定条件:

LogLevel的级别是INFO且未被注释则合规

安全加固:

1、执行命令:vi /etc/ssh/sshd_config 找到 LogLevel 将其设置为 INFO,如果
该行被注释,还应删掉该行前方的#
2、执行命令:Systemctl restart sshd 重启ssh服务使其生效

4、是否将/var/log/messages文件设置为只可追加

基线检查:执行命令

lsattr /var/log/messages查看该文件属性第六位是否为a

判定条件:

第六位为a则合规。

安全加固:

执行命令:lsattr /var/log/messages 查看该文件属性第六位是否为a
不为a则执行命令:chattr +a /Nar/log/messages 将该文件的属性修改
为只可追加

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/838783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyBatis的输入映射和输出映射

文章目录 前言案例总结resultMap的使用 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; MyBatis的输入映射和输出映射是将Java对象和数据库表的列进行映射&#xff0c;实现数据的自动转换。 输入映射&#xff08;Parameter Mapping&#xff09;&#x…

从小白到大神之路之学习运维第74天-------Docker网络模型详解

第四阶段 时 间&#xff1a;2023年8月4日 参加人&#xff1a;全班人员 内 容&#xff1a; Docker网络模型详解 目录 一、环境配置 &#xff08;一&#xff09;安装docker-ce&#xff08;Linux安装Docker&#xff09; 二、Docker网络基础 &#xff08;一&#xff09;端…

Linux 创建子进程

文章目录 前言一、进程&#xff0c;线程&#xff0c;程序 区分二、创建子进程三、创建多个进程1. 获取进程号2. 循环创建多个进程 四、进程工具。1. ps 查看当前进程.2. kill 进程终止. 总结 前言 在计算机科学中&#xff0c;进程&#xff08;Process&#xff09;、线程&#…

8.5day06 框架基础--反射+注解

文章目录 反射获取类的各种信息获取类的字节码文件 注解元注解 复习redis两道算法题 摆烂了&#xff0c;不想学啦&#xff01;&#xff01;&#xff01; 反射 反射主要用来做框架; 学习内容 获取类的各种信息 第一步 加载类&#xff0c;获取类的字节码文件 第二步 获取类的…

抖音seo矩阵系统源码搭建开发详解

抖音SEO矩阵系统是一个用于提高抖音视频在搜索引擎排名的工具。如果你想开发自己的抖音SEO矩阵系统&#xff0c;以下是详细的步骤&#xff1a; 开发步骤详解&#xff1a; 确定你需要的功能和算法 抖音SEO矩阵系统包含很多功能&#xff0c;比如关键词研究、内容优化、链接建设、…

【ASP.NET MVC】使用动软(一)(9)

一、解决的问题 前文为解决数据库操作设计的 TestMysql 类&#xff0c;仅简单地封装了一个Query函数&#xff0c;代码如下&#xff1a; public class TestMysql{public static string SqlserverConnectStr "server127.0.0.1;charsetutf8;user idroot;persistsecurityin…

PLC4X踩坑记录

plc4x引起的oom 使用Jprofiler查看dump文件 由上可以看出有大量的NioEventLoop对象没有释放 PlcConnection#close 设备断连重连后导致的oom&#xff0c;看源码close方法主要是channel通道关闭。 修改NettyChannelFactory源码 plc4x设计思想是一个设备一个连接&#xff0c;…

剑指OfferII-58.左旋转字符串

剑指OfferII-58.左旋转字符串 目录 剑指OfferII-58.左旋转字符串题目描述解法一&#xff1a;字符数组解法二&#xff1a;原地反转 题目描述 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。 请定义一个函数实现字符串左旋转操作的功能。 比如&#xff0c…

性能测试浅谈

早期的性能测试更关注后端服务的处理能力。 一个用户去访问一个页面的请求过程&#xff0c;如上图。 数据传输时间 当你从浏览器输入网址&#xff0c;敲下回车&#xff0c;开始... 真实的用户场景请不要忽视数据传输时间&#xff0c;想想你给远方的朋友写信&#xff0c;信件…

visio,word添加缺少字体,仿宋_GB2312、楷体_GB2312、方正小标宋简体等字体下载

一. 内容简介 visio,word添加缺少字体,仿宋_GB2312、楷体_GB2312、方正小标宋简体等字体下载 二. 软件环境 2.1 visio 三.主要流程 3.1 下载字体 http://www.downza.cn/ 微软官方给的链接好多字体没有&#xff0c;其他好多字体网站&#xff0c;就是给你看个样式&#xff…

JMeter(二十四)、使用吞吐量控制器实现不同的用户操纵不同的业务

一、需求 需求&#xff1a;博客系统&#xff0c;模拟用户真实行为&#xff0c;80%的用户阅读文章&#xff0c;20%的用户创建文章&#xff0c;创建文章的用户随机的删除或者修改文章。 二、脚本实现 80%的用户查看文章 20%用户创建文章 根据post_id是否能整除2&#xff0c;决…

在线课堂,视频点播,springboo+vue

springbootvue三端&#xff08;管理后台&#xff0c;教师端&#xff0c;用户端&#xff09;端可提供源码&#xff0c;可远程安装&#xff0c;需要的加微信&#xff1a; 体验地址&#xff1a;http://edu.dgrxs.com/ 用户端&#xff1a; 管理端&#xff1a; 教师端&#xff1a;

IDEA中怎么使用git下载项目到本地,通过URL克隆项目(giteegithub)

点击 新建>来自版本控制的项目 点击后会弹出这样一个窗口 通过URL拉取项目代码 打开你要下载的项目仓库 克隆>复制 gitee github也是一样的 返回IDEA 将刚刚复制的URL粘贴进去选择合适的位置点击克隆 下载完成

三星进军机器人市场?特斯拉首款人形机器人“擎天柱”明年上市

根据报道&#xff0c;三星电子正在积极研究进军机器人市场的战略。此战略由三星电子的Device eXperience&#xff08;DX&#xff09;部门的专业企划小组制定。据可靠消息透露&#xff0c;该企划小组已着手制定相关计划&#xff0c;以推动公司在机器人市场的发展。 根据外媒报道…

危大工程智慧工地源码,微服务+Java+Spring Cloud +UniApp +MySql 物联网、人工智能、视频AI分析

一套智慧工地管理平台源码&#xff0c;PC端移动APP端可视货数据管理端源码 智慧工地可视化系统利用物联网、人工智能、云计算、大数据、移动互联网等新一代信息技术&#xff0c;通过工地中台、三维建模服务、视频AI分析服务等技术支撑&#xff0c;实现智慧工地高精度动态仿真&a…

【docker】docker私有仓库

目录 一、说明二、私有仓库搭建三、上传镜像到私有仓库四、从私有仓库拉取镜像 一、说明 1.docker官方的docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库&#xff0c;可以从上面拉取镜像到本地&#xff0c;也可以把自己的镜像推送上去 2.若服务器无法访问互联…

牵着她——表白不成功算我输(Python实现)

目录 1 牵着她的手一直走下去 2 一首小情诗送给甜甜的她 3 历史总结的哲学想法 4 表白不成功算我输&#xff08;Python代码&#xff09; 1 牵着她的手一直走下去 今天牵着她的手&#xff0c;她很贴心。一起并肩赏樱花&#x1f338;。骑着快车&#xff0c;清风抚摸着我俩的…

消息队列项目(2)

我们使用 SQLite 来进行对 Exchange, Queue, Binding 的硬盘保存 对 Message 就保存在硬盘的文本中 SQLite 封装 这里是在 application.yaml 中来引进对 SQLite 的封装 spring:datasource:url: jdbc:sqlite:./data/meta.dbusername:password:driver-class-name: org.sqlite.…

MySQL索引3——Explain关键字和索引优化(SQL提示、索引失效、索引使用规则)

目录 Explain关键字 索引性能分析 Id ——select的查询序列号 Select_type——select查询的类型 Table——表名称 Type——select的连接类型 Possible_key ——显示可能应用在这张表的索引 Key——实际用到的索引 Key_len——实际索引使用到的字节数 Ref ——索引命…

安捷伦54642D混合信号示波器

安捷伦54642D混合信号示波器 附加功能: 带宽:500兆赫&#xff08;131---4587---6435&#xff09; 通道:2个模拟和16个数字 采样速率:2Gs/s 记录长度:8分钟 获得专利的高清显示系统 灵活触发&#xff0c;包括CAN、I2C、LIN、SPI和USB 接口总线上的深层存储器传输 强大、灵活的触…