19.3、Unix Linux安全分析与防护
目录
- UNIX/Linux系统的安全分析与防护
- UNIX/Linux系统安全增强技术
- UNIX/Linux安全模块应用参考
- 国产操作系统安全分析与防护
UNIX/Linux系统的安全分析与防护
unix和linux操作系统分成三层,分别是硬件层,系统内核层以及应用层。Windows系统也是分成三层,硬件抽象层、内核层,还有服务模块。
unix和Linux系统都是多用户、多任务的操作系统,双多操作系统。多用户,可以多个用户登录,同时使用后台操作系统,因为这两个系统基本上是用于服务器,是供我们多人使用的,所以要供多个用户同时使用。这里需要注意,多用户不是指操作系统能开出多个用户,任何操作系统基本上都可以有张三用户、李四用户,不是有多个用户名字叫多用户,而是这些用户,他能够同时的去使用我们操作系统的资源。
像早期的微软系统,XP这种,它其实就是单用户的,它虽然操作系统里面可能有张三、李四,但是同时只能有一个用户去登录使用资源,这就叫单用户
微软个人操作系统,早期是单用户的,像现在的WIN 7、win 10,也都成了多用户,可以同时去使用。像微软服务器操作系统,都是多用户的、多任务,同时可以处理多个任务,比如说,你既登QQ又登微信,这就叫多任务。
时间往前面去推移,最早的比如说DOS操作系统,他就是单任务的,同时只能干一个事情
unix和linux具备一些安全机制,第一个认证机制,第二个审计机制,第三个是访问控制机制。认证机制,有四种认证方式,第一个基于口令认证,输密码很好理解。第二个终端认证,在unix或者Linux系统当中,还提供一个限制超级用户从远程登录的认证,就是比如说在linux当中,有一个用户叫超级用户,可以限制他只能从某一个IP地址,某一个终端来登录,而不能从互联网或者其他任意的终端来登录这台服务器。这样的话就能够最大限度的保证网络安全,即使用户名密码泄密了,对方也登录不了,因为你不一定知道我必须要从哪个IP登录。
第三种叫主机信任机制,不同的主机之间,可以相互信任,让他们无需认证就可以直接登录,我们双方认证,双方信任就不需要做认证
第四是第三方认证,关于认证机制,第一个单项认证,第二个双向认证,第三种是基于第三方认证,一次一密口令认证S/Key,Kerberos认证系统,插入式身份认证PAM
审计机制,无论是linux还是Windows系统都是带审计机制的。审计日志文件最早是放在/usr/adm,较新的系统是放在/var/adm。Solaris、Linux、unix和bsd系统,是放在/var/log文件。
访问控制机制,通过十比特来进行文件权限的访问控制,其实,文件权限本来是九比特,只是如果是十比特的话,第一位是文件类型,如果是d,就表示目录,如果是横杠,表示是普通文件,所以十位第一位是表示文件类型,后面九位是表示用户权限
用户权限是三个一组,第一组表示用户权限,第二组是表示跟我这个用户相同组用户的权限,相当于是我们的同族,第三组表示其他用户权限,就是你既不是我这个用户,又不是我的同族,这是其他用户。
UNIX/Linux系统安全增强技术
操作系统安全增强技术,任何系统其实都差不多,安卓基本上也是一样的,WINDOWS、linux、安卓、苹果iOS一样的打补丁
打补丁需要检查补丁的完整性,用一个哈希工具算哈希值,把补丁下载下来之后算一下哈希值,然后跟官网的哈希值对比一下,看是不是一样的,如果是一样的,证明你是完整的,没有被篡改,如果不一样,这个补丁包我们就不能用,我们要重新去下过,这是通过哈希来检查文件的完整性。第二个要安装最小化的系统网络服务,对一些不用的服务,要把它给关闭掉,注销掉,这些服务软件要把它卸载掉,一些不必要的通信端口也是要封闭掉,在操作系统层面可以封,在网络层面也可以封。
文件权限,我们要把它设置好,比如说网络配置文件,一般的权限,我们要设置成六零零,服务文件,设置成六四四。两个文件的属主,都要把它设置成root,像我们系统服务文件,还有网络配置文件,这就是最小化系统网络服务
设置开机保护口令。其实开机保护口令有两重,第一重是我们的,比如说linux,要设置系统密码,第二重是密码,防止我们通过PE,绕过操作系统的认证去读取硬盘里面的数据
黑客,想访问硬盘里面的数据,但是又不知道操作系统密码,第一种方式暴力破解或者猜,但是这种效率很低,有可能猜个一年两年都猜不出来,这就不太现实了。如果我能接触到这台电脑,我可以在上面安装一个PE系统,就可以不通过你这里进来访问硬盘内容
通过PE小系统进来访问,就绕过了操作系统验证,就能够读取硬盘里边的数据了,但是我在底下的层再设一个密码,就是安装PE系统可以,但是你要输入密码,你才能安装PE系统。你不知道我的密码,你安不了PE系统,你就必须要通过我原来的操作系统来访问我里边的硬盘,这样就绕不过密码的认证,这就是密码的设置。
弱口令检查,禁用默认账号,比如说像一些root账号,访客账号,不用的账号把它禁用掉。用ssh来增强网络安全服务。安全登录,它是加密的,而传统的ftp这些都不加密,我们要用加密的通道。
tcp_wrapper,相当于是WINDOWS里边的端口过滤器,可以设置那些IP或者那些端口能够访问那些,其他的就把它给封闭掉,是来做服务的监控和过滤
构建unix和linux的防火墙软件,其实我们实际用的比较多的是iptables。它就跟我们交换机上写的包功率防火墙acl差不多,permit、delay、源端口、目的端口、IP地址
使用Tripwrie和MD5Sum工具软件来检测完整性,主要检测哈希值,发现有没有被篡改,还可以看里面的文件,有没有被篡改
检测LKM后门,这是可加载的内核模块,可以通过KLM模块去扩展内核功能,但是它也比较危险,直接生物内核,内核就是心脏,如果这块存在一些危害软件,很有可能直接导致系统崩溃,所以我们要对这一类的模块,进行检查,有一系列的检查工具,比如说Kstat、Chkrootkit、Rookit Hunter
系统安全监控或者叫监测,监测有利于及时的发现一些安全问题,WINDOWS里边同样有系统监测工具,比如说任务管理器,可以看CPU内存利用率,那些程序占用的各项资源比较高,这就需要引起我们的注意了,我们要考虑这个程序是不是木马或者病毒,它常见的工具有查看网络状态的,还有snort软件入侵检测工具,其他的禁止重要文件访问,我们重要的一些文件,你要修改它的权限,比如说像我们的这个叫网络配置的文件,它把权限修改为六零零。
chatrr +i /etc/inetd.conf表示保证文件的属主是root,并且将其设置为不能改变,这样的话,只有root才能修改这个文件了,这是禁止访问重要文件
禁止不必要的suid程序,suid可以使普通用户以root权限去执行某个程序,这个程序挺危险的,能够把普通用户提权成超级管理员用户,所以我们要严格的控制这类程序,控制不好,容易造成越权访问。
设置口令最小长度和最短使用时间,你看这里面参数有个叫PASS_MIN_LEN和 PASS_MIN_DAYS表示密码最小长度,密码最短使用时间。
限制远程访问,不是所有的主机都能够访问我的,我可以在两个文件里面去做设置,/etc/hosts.allow和/etc/hosts.deny。表示这两个文件你写在这里面的,表示只有这里面的IP地址才能访问我的主机。前面一个是白名单,后面一个是黑名单。
用户超时注销,可以设置,比如说在/etc/skel/.bash_logout文件里面,有一行叫timeout=600,表示十分钟不操作的话就自动注销,需要重新输入密码,才能访问,然后注销的时候要删除我们历史记录,历史记录在history文件里边。
UNIX/Linux安全模块应用参考
LSM就是Linux安全模块,它是为Linux内核提供一个轻量级通用的访问控制框架,使得很多访问控制功能都可以作为模块来实现,LSM采用了在内核源代码中放钩子的方法,放钩子说白了就是一个扩展,对内核的一些功能进行控制。
因为内核一般是不需要经常去变动的,如果你要增加功能,你去变动内核,造成的影响可能很大,所以我们就加了一个放钩子的方法,就是你要扩展什么功能,我们通过这样的一个钩子,去做扩展就行了。
安全功能扩展的两个模块,第一个是身份验证模块框架(PAM),第二个是SELinux。
PAM是通过插件的方式来增加linux身份验证服务,比如说你最早使用用户名密码服务,后来你想使用人脸识别,虹膜指纹等等,可以直接去开发Linux系统,在系统上去支持,这是可以的,但是不方便,而且可能会影响linux的安全性,所以通过其他的扩展模块去做,如果你要加入其他的认证方式,刚刚提的人脸、指纹,通过模块去实现,不需要动linux底层的一些东西,这就是PAM的工作机制。
而SELinux也是一个插件,增强linux安全性的插件。它由策略和实施两部分组成,策略封装在安全服务器当中实施,由对象管理器具体执行。然后SELinux可以实现两种访问控制,基于决策的访问控制和强访问控制,这也叫强制访问控制。
国产操作系统安全分析与防护
国产操作系统包括中科方德,中标麒麟,北京凝思科技、普华、深度Linux,华为鸿蒙操作系统,阿里飞天云操作系统、统信UOS。
国产操作系统它存在的安全风险,第一个Linux内核安全风险。因为国产操作系统都是基于开源的linux去做的深度定制和开发,所以linux有的问题它都有,缓冲区溢出、边界错误、访问验证等等
第二个自主研发系统组件的安全,因为是基于linux去定制的,上面有各种各样的组件,组件就是是软件,肯定有漏洞,WINDOWS的补丁更新了这么多年,还在持续的更新。
第三个是依赖第三方系统组件的安全,比如说有些时候我们在操作系统里面会用pgp做安全组件,如果它有漏洞,会影响系统的安全性
第四个是系统安全配置问题,就人为操作,比如说你的密码是一二三,肯定不安全
第五个硬件安全,国产操作系统受限于硬件而产生的一些安全问题,其实不仅国产操作系统,任何一个操作系统,如果底层硬件不安全,那肯定上层操作系统做的再安全也没辙,CPU都坏了,你的操作系统、应用肯定跑不起来,所以硬件还是挺重要的
国产操作系统的安全增强措施,国产操作系统在自主可控,安全可信方面,对开源的Linux系统进行安全增强,这里面需要注意,都是基于linux去开发的
UOS是我们国家桌面操作系统,是基于linux开发的,它可以从多个方面对linux操作系统提供安全保障,包含管理员分权,操作员,审计员,安全管理员,三权分离
最小特权结合角色的基于类型访问控制,说白了基于角色的访问控制,细颗粒度的自主访问控制,多级安全等等,这一系列的功能从内核到应用,做到全方面的防护Linux内核。从目前来看,应该是比较安全的,因为是开源的,有很多早期的漏洞
开源社区不停的在更新,所以内核漏洞是比较少的,应用层面现在我们都在推国产化,比如说office,现在我们都用WPS了,然后一些系统业务软件基本上都是由国内的公司去开发的,这是关于国产操作系统的安全分析与防护
相关文章:
19.3、Unix Linux安全分析与防护
目录 UNIX/Linux系统的安全分析与防护UNIX/Linux系统安全增强技术UNIX/Linux安全模块应用参考国产操作系统安全分析与防护 UNIX/Linux系统的安全分析与防护 unix和linux操作系统分成三层,分别是硬件层,系统内核层以及应用层。Windows系统也是分成三层&a…...

JVM对象内存结构
1对象内存结构说明 注意: 如果对象为数组对象,在对象头后面有4字节存储数组长度; 1.1对象头 对象头分为Mark Word和Class Pointer两部分; Mark Word:对象基础信息 32位操作系统中占4字节,64位操作系统中占8…...
联邦学习和大模型相结合: 数据隐私,提升训练效率,架构优化
联邦学习和大模型相结合: 数据隐私,提升训练效率,架构优化 数据隐私保护方面 增强隐私保护机制:大模型通常需要大量的数据进行训练,而联邦学习可以在不共享原始数据的情况下进行模型训练。结合两者,可以设计出更强大的隐私保护机制,如利用联邦学习的加密技术和差分隐私…...

命令别名和命令历史
1.1命名别名 别名是命令的快捷方式。对于需要经常执行,并需要很长时间输入的长命令创建快捷方式很有用。 语法: alias 别名 ’ 原命令 [ 选项 ]…… [ 参数 ]……’ 1.2命令历史...
打造三甲医院人工智能矩阵新引擎(二):医学影像大模型篇--“火眼金睛”TransUNet
一、引言 1.1 研究背景与意义 在现代医疗领域,医学影像作为疾病诊断与治疗的关键依据,发挥着不可替代的作用。从传统的X射线、CT(计算机断层扫描)到MRI(磁共振成像)等先进技术,医学影像能够直观呈现人体内部结构,为医生提供丰富的诊断信息,涵盖疾病识别、病灶定位、…...
Scade pragma: separate_io
概述 在 Scade 语言中,支持对用户自定义算子使用 separate_io pragma 进行修饰。其形式如: function #pragma kcg separate_io #end N(x: int8) returns (y,z: int8) let y x;z x; tel在上例中,算子N 就被 pragma #pragma kcg separate_i…...

IWOA-GRU和GRU时间序列预测(改进的鲸鱼算法优化门控循环单元)
时序预测 | MATLAB实现IWOA-GRU和GRU时间序列预测(改进的鲸鱼算法优化门控循环单元) 目录 时序预测 | MATLAB实现IWOA-GRU和GRU时间序列预测(改进的鲸鱼算法优化门控循环单元)预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现IWOA-GRU和GRU时间序列预测…...

“知识图谱AI教学辅助系统:点亮智慧学习的新灯塔
嘿,各位教育界的小伙伴们!今天咱们来聊聊一个超级有料的话题——知识图谱AI教学辅助系统。想象一下,如果有一个智能导师能根据你的需求定制专属的学习路径,还能像百科全书一样随时解答疑问,是不是感觉学习变得更高效、…...

产品 防尘防水IP等级 划分与实验方法
概述: 我们经常听到或看到有关IP防护等级的说法。比如:xx产品的防护级别为IP54;xx产品的防护级别为IP65等等。IP54、IP65是外壳防护等级代码。 一款产品,在实验室内按照GB/T 2421规范对其外壳的防护能力进行实验,并将…...

【微服务】1、引入;注册中心;OpenFeign
微服务技术学习引入 - 微服务自2016年起搜索指数持续增长,已成为企业开发大型项目的必备技术,中高级java工程师招聘多要求熟悉微服务相关技术。微服务架构介绍 概念:微服务是一种软件架构风格,以专注于单一职责的多个响应项目为基…...
01、Docker学习,第一天:简单入门与安装
Docker学习,第一天:简单入门与安装 一、Docker简介 环境配置如此之麻烦,换台机器,重来一次,费事费力。安装的时候,把原始环境一模一样的复制过来。开发人员利用Docker可以消除写作编码时,”在…...
C++STL中iomanip的使用与细节
C标准模板库(STL)中的<iomanip>头文件提供了一组用于格式化输入输出流的函数和操纵符。这些函数和操纵符可以用来控制输出的布局、精度、宽度等。以下是一些常用的<iomanip>函数及其使用方式: setprecision(n):设置浮…...
3.C语言变量的基础概念与使用
目录 1.变量名2.变量声明3.变量赋值4.变量作用域 1.变量名 本篇原文为:C语言变量的基础概念与使用 更多C进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网 变量(variable)可以理解成一块内存区域的名字。…...
Go语言中的逃逸分析:深入浅出
Go语言中的逃逸分析:深入浅出 在Go语言中,逃逸分析(Escape Analysis)是一个非常重要且强大的编译器优化技术。它帮助编译器决定一个变量是在栈上分配还是在堆上分配,从而影响程序的性能和内存管理。本文将深入探讨Go语…...

【FlutterDart】 拖动改变 widget 的窗口尺寸大小GestureDetector~简单实现(10 /100)
上效果 预期的是通过拖动一条边界线改变窗口大小,类似vscode里拖动效果。这个是简单的拖动实现 上代码: import package:flutter/material.dart;class MyDraggableViewDemo extends StatelessWidget {const MyDraggableViewDemo({super.key});override…...

【论文笔记】LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models
🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: LongLoRA: Efficient Fine…...

数据挖掘——朴素贝叶斯分类
数据挖掘——朴素贝叶斯分类 朴素贝叶斯分类极大后验假设独立性假设贝叶斯分类器总结 朴素贝叶斯分类 什么是分类? 找出描述和区分数据类或概念的模型,以便能够使用模型预测未知的对象的类标号 概念区分 分类与回归 分类是预测分类(离散、…...

unity中的UI系统---GUI
一、工作原理和主要作用 1.GUI是什么? 即即时模式游戏用户交互界面(IMGUI),在unity中一般简称为GUI,它是一个代码驱动的UI系统。 2.GUI的主要作用 2.1作为程序员的调试工具,创建游戏内调测试工具 2.2为…...

鸿蒙Flutter实战:15-Flutter引擎Impeller鸿蒙化、性能优化与未来
Flutter 技术原理 Flutter 是一个主流的跨平台应用开发框架,基于 Dart 语言开发 UI 界面,它将描述界面的 Dart 代码直接编译成机器码,并使用渲染引擎调用 GPU/CPU 渲染。 渲染引擎的优势 使用自己的渲染引擎,这也是 Flutter 与其…...
C语言冒泡排序教程简介
冒泡排序(Bubble Sort)是一种简单的排序算法,因其工作原理像气泡一样逐渐上浮而得名。其基本思想是通过一轮一轮地比较相邻的元素,将较大的元素逐步“冒泡”到数组的尾部。 在本篇博客中,我们将详细讲解冒泡排序的基本…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...