Linux系统加固笔记

检查口令为空的账户

判断依据:存在则不符合

特殊的shell  a./bin/false:将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示信息b./sbib/nologin:nologin会礼貌的向用户发送一条消息,并且拒绝用户登录
检查方式:cat /etc/passwd  cat /etc/shadow查看密码lan'mu栏为空的账户
加固方式:删除密码为空的账户,或者为账户添加密码,userdel <usename>passwd <username>

在shadow文件中,*代表账户无法登录,是锁定状态,感叹号是密码为空 判断第七个字段是不是正常的,判断第二个字段是不是正常的

检查UID与Root相同的账户

 判断依据:存在则不符合若UID为0,那么说明有root权限检查方式:cat /etc/passwd 查看第二个数字为0的账户,就是第三个字段为0的账户加固方式:修改恶意账户的UID并删除恶意账户

我们要删除UID为0的恶意用户的时候,我们需要先编辑/etc/passwd文件,改为普通用户,然后删除,否则会删除不了的

检查是否启用core dump设置

检查依据:存在则符合
内存镜像:a.当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump,核心转储b.core dump是内存快照,除了内存信息以外,有些关键字的程序运行状态也会同时dump下来,例如寄存器信息,内存管理信息,其他处理器和操作系统状态和信息
检查方式:cat /etc/security/limits.conf查看solt core 0,hard core 0配置
加固方式:添加或者修改配置文件
如果缺少了solt core 0 或者hard core 0需要手动添加上去,如果被注释掉了,需要取消注释

检查历史命令条数设置

判断依据:建议值为200
检查方式:cat /etc/profile 查看histsize的值
加固方式:修改profile配置文件中的histsize值为200

如果历史命令太多,黑客登录操作系统可以知道我们做了什么,会有信息泄露

检查系统当前的umask值

判断依据:值022符合
umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的权限是“补码”,而chmod设置的是文件权限码
系统管理员必须要设置一个合理的umask值,确保你创建的文件具有所希望的缺省权限,防止其他用户对你的文件具有写权限
检查方式:通过命令umask输出当前umask的值
加固方式:通过umask命令修改值为022

umask 022 //如此设置即可

口令策略检查

判断依据:最小长度为8则符合
检查方式:cat /etc/login.defs查看PASS_MIN_LEN的值,login.defs是用户账号限制文件,但是里面的策略对root无效,检查/etc/pam.d/system-auth文件,设置密码策略,-l大写字母,-u小写字母,-d一个数字,-o特殊字符
加固方式:修改login.defs文件,修改最小密码长度,建议值为10

设置密码认证失败次数

判断依据:大于5为不符合
默认情况下pam.d/login以及pam.d/sshd文件中不含有认证失败的次数
检查方式:cat /etc/pam.d/sshd,cat /etc/pam.d/login查看auth,required pam_unlock.so deny =unlock_time=even_deny_root root_unlock_time=的值是否配置
加固方式:在pam.d/login文件中或者在pam.d/sshd文件中添加字段deny,建议值为5,若以上的值没有被配置,则在配置文件中追加该内容
vi /etc/pam.d/login
auth required pam_tally2.so deny=5

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

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

相关文章

23种设计模式-责任链(Chain of Responsibility)设计模式

责任链设计模式 &#x1f6a9;什么是责任链设计模式&#xff1f;&#x1f6a9;责任链设计模式的特点&#x1f6a9;责任链设计模式的结构&#x1f6a9;责任链设计模式的优缺点&#x1f6a9;责任链设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么是…

【宇宙回响】从Canvas到MySQL:飞机大战的全栈交响曲【附演示视频与源码】

🌟 这是星际大战系列的第三篇,感谢一路以来支持和关注这个项目的每一位朋友! 💡 文章力求严谨,但难免有疏漏之处,欢迎各位朋友指出,让我们一起在交流中进步。 🎁 项目代码、文档和相关资源都可以免费获取,希望能帮助到更多对游戏开发感兴趣的朋友。 💌 如果您有任…

MyBatis-Plus(Ⅵ)插件

目录 一、分页插件 1.添加配置类 2.在测试类测试 结果 二、xml实现分页的自定义 1.UserMapper中定义接口方法 2.创建UserMapper.xml文件 3.在测试类测试 结果 三、乐观锁 1.场景 2.乐观锁与悲观锁 3.模拟修改冲突 数据库中添加商品表 添加数据 添加实体类 添加map…

火山引擎云上实战: DeepSeek R1 大模型(全尺寸)

本文将介绍两种在火山引擎云上部署 DeepSeek-R1 全尺寸模型服务的方案&#xff0c;涵盖大模型推理服务的 Terraform 一键部署、容器化部署、资源弹性伸缩和模型可观测。 来源 | 火山引擎云基础 在 AI 大模型日新月异的当下&#xff0c;企业在使用大模型时往往面临着数据隐私保…

vue遗漏的知识点(动态组件.)

----动态组件&#xff08;vue2vue3通用&#xff09; <component :is"..."> 的作用 <component> 是 Vue 的内置组件&#xff0c;用于动态渲染其他组件。:is 属性 用于指定要渲染的组件。它的值可以是&#xff1a; 组件的名称&#xff08;字符串&#xf…

工作流引擎Flowable介绍及SpringBoot整合使用实例

Flowable简介 Flowable 是一个轻量级的业务流程管理&#xff08;BPM&#xff09;和工作流引擎&#xff0c;基于 Activiti 项目发展而来&#xff0c;专注于提供高性能、可扩展的工作流解决方案。它主要用于企业级应用中的流程自动化、任务管理和审批流等场景。 Flowable 的核心…

【uni-app】引用公共组件

目录 一、建立公共组件 1.1新建vue文件 1.2编写公共文件代码 1.3使用 注意事项 一、建立公共组件 1.1新建vue文件 在公共组件文件目录下新建所需要的功能文件 1.2编写公共文件代码 按需求写对应功能的代码 1.3使用 在需要使用的文件下引用公共组件 注意事项 想要使用s…

STL中vector模拟实现

vector各个接口函数 //构造函数 vector() vector(size_t n,const T& valT()) vector(int n,const T& val T()) //拷贝构造函数 vector(const vector<T>& v) //迭代器版本的 vector(inputiterator first, inputiterator end) //赋值运算符重载 vector<T&…

DML 数据操纵语言学习笔记

一、DML 核心概念体系 1.1 语言定位与边界 DML&#xff08;Data Manipulation Language&#xff09;作为 SQL 三大核心语言之一&#xff0c;专注于数据行级操作&#xff0c;区别于 DDL&#xff08;结构定义&#xff09;和 DCL&#xff08;权限控制&#xff09;。其核心指令包…

springboot的跨域是什么?遇到跨域问题如何解决?

在Spring Boot中&#xff0c;跨域是指当浏览器中的前端应用&#xff08;如运行在某个域名和端口下的前端页面&#xff09;请求后端接口时&#xff0c;如果后端接口所在的域名、端口或协议与前端应用不一致&#xff0c;浏览器会阻止这种跨域请求。这是由于浏览器的同源策略&…

啸叫抑制(AFS)从算法仿真到工程源码实现-第八节-系统搭建

一、概述 系统分为录音模块、数据处理模块、播音模块。录音模块和播音模块使用alsa库进行读写数据。各模块为独立进程处理&#xff0c;模块之间使用命名管道进行数据的传输。数据处理模块我们使用基于频域的自适应滤波去啸叫算法。 二、工程实现 2.1 系统流程图 2.2 录音模块…

HTML——什么是块级元素,什么是内联元素,有何区别

在 HTML 中&#xff0c;块级元素&#xff08;Block-level element&#xff09;和内联元素&#xff08;Inline element&#xff09;是两种不同类型元素&#xff0c;它们在页面布局和样式应用方面有不同的行为和特性。 块级元素&#xff08;Block-level element&#xff09; 块级…

01 设计模式和设计原则

类设计原则&#xff1a; 单一职责原则&#xff08;Single Responsibility Principle&#xff0c;SRP&#xff09;&#xff1a;实现类要职责单一开闭原则&#xff08;Open Close Principle&#xff0c;OCP&#xff09;&#xff1a;对扩展开放&#xff0c;对修改关闭里氏替换原则…

【踩坑日记】springboot 打包后实现类无法找到

试过了所有改什么目录 依赖 clean都以失败告终 最后将实现类的文件名从Impl改成impl宣布成功 记得使用idea自带的重构

项目-苍穹外卖(十五) WebSocket+语音播报功能实现(来订单+催单)

一、介绍 二、入门案例 配置类&#xff1a; package com.sky.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter;/…

【Spring篇】Spring的生命周期

一、Bean 生命周期的核心阶段 1. 实例化&#xff08;Instantiation&#xff09; • 触发时机&#xff1a;容器启动时&#xff08;单例 Bean&#xff09;或请求时&#xff08;原型 Bean&#xff09;。 • 实现方式&#xff1a; 通过反射&#xff08;Class.newInstance() 或构造…

Redis、Memcached应用场景对比

环境 Redis官方网站&#xff1a; Redis - The Real-time Data Platform Redis社区版本下载地址&#xff1a;Install Redis | Docs Memcached官方网站&#xff1a;memcached - a distributed memory object caching system Memcached下载地址&#xff1a;memcached - a dis…

kettle插件-mysql8数据库插件

场景&#xff1a;群里有小伙伴反馈kettle 7.x版本不能自动连接mysql8&#xff0c;安排&#xff01;&#xff01;&#xff01; 1、将mysql8的驱动包mysql-connector-java-8.0.20.jar丢到kettle的lib目录下&#xff0c;重启spoon。 2、配置数据库连接&#xff0c;提示驱动类不对…

【软件测试】:软件测试实战

1. ⾃动化实施步骤 1.1 编写web测试⽤例 1.2 ⾃动化测试脚本开发 common public class AutotestUtils {public static EdgeDriver driver;// 创建驱动对象public static EdgeDriver createDriver(){// 驱动对象已经创建好了 / 没有创建if( driver null){driver new EdgeDr…

深度学习入门1 基于Python的理论与实现

torch.unsqueeze()将一维数据变为二维数据&#xff0c;torch只能处理二维数据 tensor不能反向&#xff0c;variable可以反向。variable.data.numpy()转换为numpy 第3章 神经网络 实现softmax函数时的注意事项&#xff1a;为防止e的指数运算造成溢出 矩阵的第 0 维是列方向,第…