22 、系统安全

新的服务器到手,部署服务器初始化。

1、配置ip地址 网关dns解析(static)内网和外网。

2、安装源,外网(在线即可),内网(只能用源码包编译安装)。

3、磁盘分区,lvm raid。

4、系统权限配置和安全加固。

系统安全

1、保护数据安全,客户信息,财务信息。

2、互联网,网络业务服务,必须要通过工信部的资质审核。

3、保护品牌形象。信息安全—绝对红线

应用:

1、不需要或者不想登录的用户设置为nologin。

usermod -s nologin 用户 管理员权限

[root@localhost opt]# usermod -s nologin lm
[root@localhost opt]# cat /etc/passwd
lm:x:1020:1020::/home/lm:nologin

2、锁定用户

usermod -L 用户

[root@localhost opt]# usermod -L lk[root@localhost opt]# passwd -S lk
lk LK 2024-05-30 0 99999 7 -1 (密码已被锁定。)

usermod -U 用户

[root@localhost opt]# usermod -U lk
[root@localhost opt]# passwd -S lk
lk PS 2024-05-30 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

passwd -l 用户

[root@localhost opt]# passwd -l lk
锁定用户 lk 的密码 。
passwd: 操作成功
[root@localhost opt]# passwd -S lk
lk LK 2024-05-30 0 99999 7 -1 (密码已被锁定。)

passwd -u 用户

[root@localhost opt]# passwd -u lk
解锁用户 lk 的密码。
passwd: 操作成功
[root@localhost opt]# passwd -S lk
lk PS 2024-05-30 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

3、删除无用账号

userdel -r 用户名(同时删除家目录)

[root@localhost ~]# userdel -r lm

4、锁定重要的文件

passwd shadow fstab ifcfg-ens33

lsattr 文件,查看文件锁定状态

[root@localhost ~]# lsattr /etc/passwd
---------------- /etc/passwd

没有状态 lsattr 查看文件的状态

锁定文件:

chattr +i 文件,锁定文件,管理员只读模式

[root@localhost ~]# lsattr /etc/passwd
----i----------- /etc/passwd

chattr -i 文件,解锁文件

[root@localhost ~]# chattr -i /etc/passwd
[root@localhost ~]# lsattr /etc/passwd
---------------- /etc/passwd

二、密码安全控制

1、新建用户

vim /etc/login.defs

vim /etc/login.defs(已有用户不受影响)

在这里插入图片描述

2、已有用户

chage - M 30 用户名(更改用户有效期)

ly4:$6$0N3SiHo/$GumXFIMx2y7thq0L36kHHJF893dJAE.eEB0.Zu/RMcW10HSERLpmPvRP43c1swmudd7EsFF/efXIJcrW8IQYc.:19873:0:99999:7:::
liy:!!:19873:0:30:7:::          ##更改有效期

如何强制用户在下一次登录时候修改密码

chage -d 0 用户名 (重新进需要普通用户切换,输入两次密码,才能改密码)

[ly1@localhost ~]$ su - liy
密码:
su: 鉴定故障
[ly1@localhost ~]$ su - liy
密码:
您需要立即更改密码(root 强制)
为 liy 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
无效的密码: 这个密码和原来的相同
新的 密码:
无效的密码: 这个密码和原来的相同
新的 密码:
无效的密码: 密码与原来的太相似
su: 已经超出服务重试的最多次数

三、限制

1、修改历史记录

history -c ##临时清除命令,重启之后又有

vim /etc/profile

修改历史记录,修改HISTSIZE=1000

source /etc/profile ##刷新配置文件

2、设置登录的超时时间:

vim /etc/profile

最后一行TMOUT=10,无操作10秒之后退出登录。

工作中TMOUN=600

四、如何对用户切换进行限制:

su 切换用户

su 用户名 不会更改环境变量,用的还是之前用户的shell,不完全切换。

su - 用户名 使用用户自己的环境。

如果在root用户下,su相当于刷新,如果是普通用户就是切换回root。

[root@localhost ~]# hostnamectl set-hostname chenqian  ##更改主机名
[root@localhost ~]# su                                   刷新
[root@chenqian ~]# #

限制用户使用su这个命令?

PAM安全认证:linux系统身份认证的架构,提供了一种标准的身份认证的接口,允许管理员可以自定义认证的方式和方法。

PAM认证是一个可插式的默认。

PAM的认证类型:

认证模块:验证用户的省份,基于密码的认证方式。

授权模块:控制用户对系统资源的访问,文件权限,进程的权限。

账户管理模块:管理用户账户信息,密码过期策略,账户锁定策略。

会话管理模块:管理用户会话,注销用户等。

cd /etc/pam.d/

在这里插入图片描述

passwd dn 三次机会

1、失败 成功

2、失败

3、成功 失败

结束 失败次数过多 结束 结束

required:一票否决,只有成功才能通过认证,认证失败,也不会立刻结束,只有所有的要素验证完整才会最终返回结果。必要条件(个人理解为在规定范围内,允许多次认证,但是必须成功才能通过)

requisite:一票否决,只有成功才能通过,但是一旦失败,其他要素不再验证,立刻结束,必要条件。(个人理解只有一次认证,无论成功还是失败都结束)

sufficient:一票通过,成功之后就是满足条件,但是失败,也可忽略,成功了执行验证成功的结果,失败返回验证失败的结果,最终的结果。充分条件。(个人理解只有一次认证,无论成功还是失败都给结果)

optional,选项,反馈给用户的提示或者结果。

控制位,必须要满足充分和必要条件才能通过。

wheel

wheel组,这个在组文件当中没有,隐藏,特殊组。用来控制管理员的权限的一个过程。

wheel组专门用来为root服务。

具体来说,如果普通用户加入到了wheel组,就可以拥有管理员才能够执行的一些权限。

前面必须要加上sudo sudo之后就可以使用wheel组的特殊权限。

wheel组默认是空的,需要管理员账号手动添加。

配置sudo的规则,然后以sudo的方式,才能够运行特定的指令(管理员才能够执行的权限)

wheel的权限很大,配置的时候要以最小权限的原则进行配置。

谁在wheel组,才能进行切换。

vim /etc/pam.d/su
打开auth            required        pam_wheel.so use_uid[ly4@localhost ~]$ su - xy102
密码:
上一次登录:四 5月 30 20:17:53 CST 2024pts/0 上
我爱王心凌![xy102@localhost ~]$ su - ly1
密码:
su: 拒绝权限
[xy102@localhost ~]$ 登出
[ly4@localhost ~]$ su - ly1
密码:
上一次登录:五 5月 31 00:14:28 CST 2024pts/0 上
最后一次失败的登录:五 5月 31 00:16:40 CST 2024pts/0 上
最有一次成功登录后有 3 次失败的登录尝试。
[ly1@localhost ~]$ su - root
密码:
上一次登录:四 5月 30 23:49:12 CST 2024从 192.168.168.1pts/0 上

总结:打开wheel组,ly1,ly4,以及管理员root,可以互相切换;

wheel组用户可以切换到普通用户;

普通用户不能切换到wheel组用户;

#auth           required        pam_wheel.so use_uid    #关闭wheel

关闭wheel组权限用户之间可以相互切换

[root@localhost ~]# su - ly1
上一次登录:五 5月 31 00:27:13 CST 2024pts/0 上
[ly1@localhost ~]$ su - ly
密码:
上一次登录:五 5月 31 00:24:27 CST 2024pts/0 上
最后一次失败的登录:五 5月 31 00:27:49 CST 2024pts/0 上
最有一次成功登录后有 3 次失败的登录尝试。[ly@localhost ~]$ 
[ly@localhost ~]$ su - ly1
密码:
上一次登录:五 5月 31 00:28:08 CST 2024pts/0 上

su

sudo相当于给普通用户赋予管理员的权限(最小权限,管理员可以使用的命令)

vim /etc/sudoers注释107,111行在100行ly1     ALL=(root)      /usr/bin/passwd #用whereis [root@localhost ~]# passwd ly1
更改用户 ly1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# gpasswd -d ly1 wheel
正在将用户“ly1”从“wheel”组中删除
gpasswd:用户“ly1”不是“wheel”的成员
[root@localhost ~]# su - ly1
上一次登录:五 5月 31 01:51:07 CST 2024pts/0 上
[ly1@localhost ~]$ passwd ly1
passwd:只有根用户才能指定用户名。
[ly1@localhost ~]$ sudo passwd ly1
[sudo] ly1 的密码:
更改用户 ly1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# gpasswd -a ly4 wheel
正在将用户“ly4”加入到“wheel”组中
[root@localhost ~]# vim /etc/pam.d/su
[root@localhost ~]# su - ly4
上一次登录:五 5月 31 07:02:21 CST 2024pts/1 上
[ly4@localhost ~]$ passwd ly4
passwd:只有根用户才能指定用户名。
[ly4@localhost ~]$ sudo passwd ly4
[sudo] ly4 的密码:
ly4 不在 sudoers 文件中。此事将被报告。  #需要将用户加入sudoers,否则无权限

开关机安全控制

grub2-setpassword

[root@localhost ~]# grub2-setpassword
Enter password:                #设置密码
Confirm password:              #设置密码

简单密码扫描

1、关闭防火墙、安全机制

[root@localhost ~]# systemctl stop firewalld 
[root@localhost ~]# setenforce 0

2、安装包拖入/opt、进行解压

[root@localhost opt]# tar -xf john-1.8.0.tar.gz

3、进入文件夹配置安装过程中需要的编译环境

[root@localhost opt]# cd john-1.8.0[root@localhost john-1.8.0]# yum -y install gcc gcc-c++ make

4、[root@localhost john-1.8.0]# cd src

5、编译使用环境

[root@localhost src]# make clean linux-x86-64

6、把/etc/shadow 复制到/opt/shadow.txt下

[root@localhost src]# cp /etc/shadow /opt/shadow.txt

7、切换到/etc/john-1.8.0/run 打开程序破解简单程序密码,破解的是shadow里面用户比较简单的密码,一般纯数字比较好破解。

[root@localhost run]# ./john /opt/shadow.txt[root@localhost run]# ./john /opt/shadow.txt
Loaded 3 password hashes with 3 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
123456           (ly)
123              (ly4)
123              (root)
3g 0:00:00:23 100% 2/3 0.1266g/s 371.3p/s 379.4c/s 379.4C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed

8、查看简单密码扫描情况./john --show /opt/shadow.txt

[root@localhost run]# ./john /opt/shadow.txt
Loaded 3 password hashes with 3 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
123456           (ly)
123              (ly4)
123              (root)
3g 0:00:00:23 100% 2/3 0.1266g/s 371.3p/s 379.4c/s 379.4C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed
[root@localhost run]# ./john -show /opt/shadow.txt
root:123::0:99999:7:::
ly:123456:19864:0:99999:7:::
ly4:123:19864:0:99999:7::19898:3 password hashes cracked, 0 left

最后总结:你会做那些系统加固

1、锁定重要文件。

2、修改history命令的历史记录。

3、禁止普通用户切换用户。

4、设置sudo权限,给普通用户。

5、设置grub菜单加密。

6、把一些默认的端口号,大家都知道的端口号改掉。

7、内核参数修改。

vim /etc/sysctl.conf

内核参数的配置文件。
e
//安装依赖环境
cd /opt/john-1.8.0/src
//工具解压在/opt目录下
make clean linux-x86-64
cp /etc/shadow /opt/shadow.txt
//复制密码文件到/opt下,
cd …/run
./john /opt/shadow.txt
//扫描密码
./john --show /opt/shadow.txt
//查看扫描情况

最后总结:你会做那些系统加固

1、锁定重要文件。

2、修改history命令的历史记录。

3、禁止普通用户切换用户。

4、设置sudo权限,给普通用户。

5、设置grub菜单加密。

6、把一些默认的端口号,大家都知道的端口号改掉。

7、内核参数修改。

vim /etc/sysctl.conf

内核参数的配置文件。

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

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

相关文章

Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:轨道交通监控系统

株洲中车时代电气股份有限公司(下称中车时代电气)是中国中车旗下股份制企业,其前身及母公司——中车株洲电力机车研究所有限公司创立于1959年。中车时代电气扎根株洲,走好两条钢轨,走出两条钢轨。中车时代电气秉承“双…

Sentinel与Nacos强强联合,构建微服务稳定性基石的重要实践

一、简介 Sentinel 作为一款强大的流量控制组件,能够对系统入口流量进行精准控制,有效防止服务因突发流量冲击引起服务雪崩,进而导致服务瘫痪,确保服务的稳定性和可靠性。 Nacos 作为配置管理和服务发现平台,实现了配置…

高斯混合模型聚类算法的实现

目录 1. 作者介绍2. 聚类简介2.1 K-Means聚类简介2.2 高斯混合聚类简介 3. 实验过程3.1 数据集介绍3.2 代码思路3.3 算法评价3.4 代码实现3.5 实验结果 4. 参考链接 1. 作者介绍 赵子仪,女,西安工程大学电子信息学院,2023级研究生 研究方向&…

深度网络学习笔记(一)——self-attention机制介绍和计算步骤

self-attention机制介绍及其计算步骤 前言一、介绍和意义二、 计算细节2.1 计算Attention Score2.2 计算value2.3 计算关联结果b2.4 统一计算 三、总结 前言 Transformer是一种非常常见且强大的深度学习网络架构,尤其擅长处理输出为可变长度向量序列的任务&#xf…

网络原理———TCP/IP—网络层IP协议

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 今天你敲代码了吗 目录 网络层IP协议4位版本号4位首部长度8位服务类型16位总长度16位标识 3位标志 13位片偏移8位生存时间8位协议16位首部校验和32位源IP地址 和 32位目的IP地址方案1:动态分配IP地址方案2:NAT机…

小白跟做江科大32单片机之旋转编码器计次

原理部分按照下面这个链接理解即可y小白跟做江科大32单片机之对射式红外传感器计次-CSDN博客https://blog.csdn.net/weixin_58051657/article/details/139350487https://blog.csdn.net/weixin_58051657/article/details/139350487 实验过程 1.按照江科大老师给的电路图进行连接…

C语言(内存函数)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记,在这里撰写成文一…

springboot+vue+mybatis博物馆售票系统+PPT+论文+讲解+售后

如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统博物馆售票系统信息管理难度大,容错率低,…

sqoop操作

介绍 sqoop是隶属于Apache旗下的, 最早是属于cloudera公司的,是一个用户进行数据的导入导出的工具, 主要是将关系型的数据库(MySQL, oracle...)导入到hadoop生态圈(HDFS,HIVE,Hbase...) , 以及将hadoop生态圈数据导出到关系型数据库中 操作 将数据从mysql中导入到HDFS中 1.全量…

Pytest框架中的Setup和Teardown功能

在 pytest 测试框架中,setup 和 teardown是用于在每个测试函数之前和之后执行设置和清理的动作,而pytest 实际上并没有内置的 setup 和 teardown 函数,而是使用了一些装饰器或钩子函数来实现类似的功能。 学习目录 钩子函数(Hook…

SAP PP学习笔记14 - MTS(Make-to-Stock) 按库存生产(策略10),以及生产计划的概要

上面讲了SAP里面的基础知识,BOM,作业手顺(工艺路线),作业区(工作中心),MRP,MPS等概念,现在该到用的时候了。 SAP PP学习笔记07 - 简单BOM,派生BO…

STC8增强型单片机进阶开发--独立按键

知不足而奋进 望远山而前行 文章目录 目录 文章目录 前言 目标 内容 原理图 按键消抖 软件设计 要求 分析 实现单个按钮 实现多个按钮 使用位操作存储状态 总结 前言 本次学习旨在探索按键操作及按键消抖的原理和实现方法。通过学习原理图、按键消抖的三种方法以及软件设计的要…

如何选择D类音频放大器(数字功率放大器)

1 简介 多年来,音频内容一直在不断发展。从当地唱片店购买 12 英寸 LP 黑胶唱片的时代已经成为过去,现在我们通过流式传输几乎可即时播放云端的任何内容。虽然一些音频爱好者会为了获得新奇体验而重拾黑胶唱片,但今天绝大多数的音频都是以数…

JVM学习笔记(持续更新)

JDK、JRE、JVM区别? 类加载过程 装载 验证 准备 解析 初始化 类加载器分类 双亲委派模型 如何打破双亲委派模型? 自定义类加载器,集成ClassLoader类重写loadClass,如Tomcat JVM内存模型 JVM 需要使用计算机的内存,Java 程序…

【LeetCode 101】对称二叉树

1. 题目 2. 分析 这道题比较经典。我又一次做错了,这次是花了20min都没有做出来。 最开始我的思想就是,递归比较左根节点的左子树和右根节点的右子树是否对称即可,然后觉得能解决问题了,便动手coding。哪知道,又碰到了…

电源滤波器怎么选用

电源滤波器怎么选用 滤波器应用场景及作用第一步:第二步:第三步:第四步: 滤波器应用场景及作用 可以有效解决EMC测试无法通过、端口防护、滤除干扰、设备保护等问题 主要功能有: 1、降低主电源谐波; 2、保护驱动装置电力电子元件…

算法人生(18):从神经网络的“剪枝策略”看“怎么找回时间”

IT人的工作和生活难平衡这事,到底要怎么解决呢,让我们从神经网络的“剪枝策略”中找点灵感吧! 剪枝策略是指训练和优化深度神经网络时采取的一种技术,从名字就知道,它就像修剪树木一样,去除不必要的枝叶&a…

Vuex 是什么?VueX简介

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介Vuex 是什么核心概念1.State(状态)2. Getter(获取器)3. Mutation(突变)4. Action(动作)5. Module(模块) 原理解…

使用STS临时访问凭证通过客户端直连OSS对象存储服务器

目录 1、导论 2、客户端直传 3、创建RAM用户以及RAM角色 4、如何实现客户端直传 4.1、跨域访问 4.2、安全授权 5、代码示例 5.1、后端代码实例 5.2、客户端代码实例 1、导论 最近在做项目的过程中使用到了阿里云OSS来存储客户端上传的文件,方法是直接将客…

Keras深度学习框架实战(3):EfficientNet实现stanford dog分类

1、通过EfficientNet进行微调以实现图像分类概述 通过EfficientNet进行微调以实现图像分类,是一个使用EfficientNet作为预训练模型,并通过微调(fine-tuning)来适应特定图像分类任务的过程。一下是对相关重要术语的解释。 Effici…