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

内核参数的配置文件。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅谈安科瑞ASJ10-LD1A智能漏电继电器的设计与应用-安科瑞 蒋静

一 产品简介 功能 ASJ10-LD1A安科瑞智能电力继电器 剩余电流保护可与低压断路器或低压接触器等组成组合式的剩余电流动作保护器,主要适用于交流50Hz,额定电压为400V及以下的TT或TN系统配电线路,防止接地故障电流引起的设备和电气火灾事故&a…

数字水印 | 盲水印嵌入:量化索引机制 QIM

目录 1 什么是量化索引调制?1.1 为什么使用 QIM?1.2 QIM 的算法思想1.3 什么是量化操作?1.4 论文中对 QIM 的介绍 2 盲水印论文中的实际应用2.1 均匀量化器2.2 对论文的分析 😇说明:本文中的载体信息 原始信息…

VS远程调试步骤

1、背景 生产环境是没有开发环境的,,那生产环境上运行的程序,出了问题,如何远程调试它? 可以借助VS的远程调试。 2、步骤 1)将E:\VS2019\install\Common7\IDE\Remote Debugger目录整体拷贝到生产环境机器…

vs2019 c++20 规范的 STL 库的智能指针 shared、unique 、weak 、auto 及 make_** 函数的源码注释汇总,和几个结论

智能指针的源码都在 《memory》 头文件中。因为头文件太长,再者本次整理是基于以前的零散的模板分析。故相当于抽取了该头文件中关于智能指针的源码进行分析,注释。 (1 探讨一)当独占指针指向数组时,其默认的删除器是…

微服务-Nacos-安装-集成SpringBoot

微服务-SpringCloud-ALibaba-Nacos Nacos 是阿里巴巴推出的 SpringCloud的组件 官网:什么是 Nacos 主要是为了解决微服务的架构中 服务治理的问题服务治理就是进行服务的自动化管理,其核心是服务的注册与发现。 服务注册:服务实例将自身服务信息注册…

【vue】vue2项目将npm包管理器修改为yarn包管理器

【vue】vue2项目将npm包管理器修改为yarn包管理器 1.删除node_modules文件夹、package-lock.json文件 2.全局安装yarn npm install -g yarn3.安装项目依赖 yarn install如果执行yarn install 报类似以下这种版本不兼容错误,执行 yarn config set ignore-engines …

[SWPUCTF 2023 秋季新生赛]Junk Code

方法一:手动去除 将所有E9修改为90即可 方法二:花指令去除脚本 start_addr 0x0000000140001454 end_addr 0x00000001400015C7 print(start_addr) print(end_addr) for i in range(start_addr,end_addr):if get_wide_byte(i) 0xE9:patch_byte(i,0x9…

【激光雕刻机上位机的成品软件】核心功能 - 参考wecreat

Software | WeCreat MakeIt! https://wecreat.com/pages/software 体验软件如上,自行下载体验。 价格5W,本人为 wecreat 创立之初上位机软件开发的核心员工,详细内容私信我。 由于该公司快3个月未给我竞业补偿了,对我不仁那我…

华为昇腾310 ATC模型转换、CPP推理案例使用

参考: https://cnloong.blog.csdn.net/article/details/139293689 https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetQuickStart/cpp https://developer.huawei.com/consumer/cn/forum/topic/0203148227811150357 官方图像分类案例下载: …

数据结构与算法笔记:基础篇 - 链表(上):如何实LRU缓存淘汰算法

概述 本章聊聊 “链表” 这个数据结构。学习链表有什么作用? 我们先来讨论一个经典的链表应用场景,那就是 LRU 缓存淘汰算法。 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中有着非常广泛地应用,比如场景的 CPU 缓…

字符串-将str1编辑成str2所需最小代价(hard)

一、题目描述 二、解题思路 该题目使用动态规划的思想来解决问题 刚开始我还在想,删除添加的操作可以等价为替换操作,如果替换操作的Cost大于删除添加组合操作的Cost之和就需要把 rcdcic。 但是在动态规划中,如果对三种不同的操作方式进行…

C++ 的 Tag Dispatching(标签派发) 惯用法

目录 1.概述 2.标准库中的例子 3.使用自己的 Tag Dispatching 3.1.使用 type traits 技术 3.2.使用 Type_2_Type 技术 4.Tag Dispatching的使用场景 5.总结 1.概述 一般重载函数的设计是根据不同的参数决定具体做什么事情,编译器会根据参数匹配的原则确定正确…

域内攻击--->基于资源的约束委派(RBCD)

不同于约束和非约束委派,基于资源的约束性委派可以就难的多了!! 前方高能 ,准备上车!! 目录 1.基于资源的约束性委派(RBCD) 2.谁能设置RBCD 3.机器入域账号的普及 4.域树的搭建 5.配置RBCD 6.通过域创…

【前端部署——vercel】部署next.js使用了prisma的项目

部署流程参考 https://blog.csdn.net/qq_51116518/article/details/137042682 问题 PrismaClientInitializationError: Prisma has detected that this project was built on Vercel, which caches dependencies. This leads to an outdated Prisma Client because Prisma’s …

kali系统baopoWiFi密码

kali系统baopoWiFi密码,仅供学习 取决强大的密码字典,如果别人密码设置的足够安全,也无法破解成功,并不是100%破解 一、准备一个无线网卡,需要免驱动,最好知道频率2.4HGZ还是5.0GHZ 二、插上USB接口,vmware模拟器选择连接虚拟机 三、输入命…

Java Spring Boot 从必应爬取图片

获取图片主要就是通过必应图片页面控制台的元素,确认图片和标题在哪个类中(浏览器 F12) 引入依赖 这里需要引入两个依赖 jsoup 和 hutool maven依赖网站地址:Maven Repository: Search/Browse/Explore (mvnrepository.com) 挑选…

Java如何读取resources目录下的文件路径(九种代码示例教程)

本文摘要:Java如何读取resources目录下的文件路径 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。公粽号:洲与AI。 &#x1f91…

翻译《The Old New Thing》- What a drag: Dragging a Uniform Resource Locator (URL)

What a drag: Dragging a Uniform Resource Locator (URL) - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20080312-00/?p23133 Raymond Chen 2008年03月12日 麻烦的拖拽:拖拽统一资源定位符(URL) 简要 …

HALCON-从入门到入门-图像格式的互相转换

1.废话 上次说到了图片的读取和写入到本地,这次说一下图片的格式相关。 位图和矢量图 photoshop处理出来的图片肯定叫做图片,那么coreDraw处理出来的图片是不是也叫图片。 之间就有区分,一种叫做位图,一种叫做矢量图 位图和矢…

STM32作业实现(四)光敏传感器

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…