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)是一种简单的排序算法,因其工作原理像气泡一样逐渐上浮而得名。其基本思想是通过一轮一轮地比较相邻的元素,将较大的元素逐步“冒泡”到数组的尾部。 在本篇博客中,我们将详细讲解冒泡排序的基本…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
