安防攻防30讲

开篇词

没有安全意识,也没有把安全当成一个优先级很高的事情去做

在追求开发效率的同时,一定要把“安全”这俩字“放在心上”

现状:小 公司没有安全,大公司都在“补”安全。

如果业务的开发和管理人员,能够具备基础的安全知识, 尽早做好安全规划,就能够以很低的成本满足公司前期的安全诉求。

实践出真知,个人安全能力 的提升,需要经过不断地磨练。

安全攻防知识全景图

希望学完这个专栏之后,你能够既懂“攻”又懂“防”,既懂理论也懂实践 

记一次Linux被入侵,服务器变“矿机”全过程

记一次Linux被入侵,服务器变“矿机”全过程

安全基础概念

01 | 安全的本质

机密性(Confidentiality)、完整性(Integrity)、可用性(Availability),我们可以简 称为 CIA 三元组,是安全的基本原则

机密性用一句话来说就是,确保数据只被授权的主体访问,不被任何未 授权的主体访问。 简单用一个词总结就是“不可见”

机密性的一个前提是明确授权规则,也就是明确每一项数据可以被 什么样的主体访问。

提出了很多访问控制机制和安全模型,对数据和访问主体打上标签或 者进行分类,并制定相应的访问控制规则去自动进行授权

面临的机密性攻击,其实是人为原因导致的疏忽,也就是错误使用访问控 制机制或数据保护技术。比如,因为权限滥用,导致开发人员拥有敏感数据的无限制访问权 限;因为弱密钥,导致加密被破解;甚至显示器上的数据被别有用心的人窥探。所以说,当 前机密性保护的要点是引导人去做正确的事情,避免这类看似低级、实则普遍的漏洞发生。

完整性就是确保数据只被授权的主体进行授权的修改,简单来说,就是“不可改”。

完整性会更加强调对修改 行为的日志记录,并有合适的监督机制进行审计。

针对完整性的攻击也和机密性一样,更多的是由于人为原因导致的疏忽。除了黑客本身对数 据的恶意篡改,已授权的主体也可能对数据完整性产生破坏,比如员工意外地误删除数据、 程序 bug 导致错误数据被写入、正常用户的一些无效输入等。

可用性就是确保数据能够被授权的主体访问到, 简单来说,就 是“可读”。

可用性会面临哪些挑战呢? 在运维层面上,有很多技术在为可用性提供支撑,比如,在基础建设上的机房建设(如 何在断电、高温、火灾等情况下保护设备)、多地冗余,以及在服务中的备份、资源冗 余等。 在研发层面上,如何降低响应延迟、如何处理海量数据、如何在峰值进行扩容等,这些 问题其实都是在可用性上的挑战。 在攻击的角度上,黑客也会对可用性发起攻击,也就是我们常说的 DoS(Denial of Service,拒绝服务)攻击。比如,通过发送大量的流量来占满带宽资源。

建设安全体系,在不同阶段做不同的事

通常来说,在互联网企业发展初期,可用性的优先级较高。如果涉及金钱相关的业务,则完 整性的优先级更高;而涉及个人隐私相关的业务,则保密性的优先级更高。对于大部分企业 而言,可用性在初期受到的挑战更多,则越发展越稳定,后期在可用性上的投入会逐渐降 低。而完整性和机密性,会随着业务的发展,重要性越来越高,在企业的安全投入中,占比 会越来越大。

02 | 安全原则:我们应该如何上手解决安全问题?

安全解决方案的黄金法则

黄金法则主要包含三部分:认证(Authentication)、授权(Authorization)、审计 (Audit)

IAAAA法则识别、认证、授权、审计、问责

1. 身份识别和认证  who are you?

认证形式三种弱到强

你知道什么(密码、密保问题等); 你拥有什么(门禁卡、安全令牌等); 你是什么(生物特征,指纹、人脸、虹膜等)。

将多种类型的认证进行组合,可以形成多因素认证机制 

可信的身份认证是建立安全保障体系的第一步。

通过衡量一个应用的认证安全等级,我们 就能看出它整体的安全水平

2. 授权 what can you do?

在系统 或者应用中,我们的操作都会受到一定的限制。比如,某些文件不可读,某些数据不可修 改。这就是授权机制

3. 审计和问责 what have you done?

实现方式-日志,不可否认性

大部分情况下,事前防御属于认证,事中防御属 于授权,事后防御属于审计。

建立安全体系都是一个长期过程,因此,我们需要一个有效的 管理方案来进行推动

03 | 密码学基础:如何让你的密码变得“不可见”?

对称加密算法

首先,我们来看对称加密算法。所谓对称加密,代表加密和解密使用的是同一个密钥。

经典对称加密算法有 DES、IDEA、AES、国密 SM1 和 SM4。下面我们一起来 具体看看。 

DES(数据加密标准,Data Encryption Standard)  密钥长度为 56 位

IDEA(国际数据加密算法,International Data Encryption Algorithm)密钥长度为 128 位

AES(高级加密标准,Advanced Encryption Standard)。 提供了 128 位、192 位和 256 位三种密钥 长度。通常情况下,我们会使用 128 位的密钥。

AES 是国际上最认可的密码学算法。

国密 SM1(SM1 Cryptographic Algorithm)和 SM4(SM4 Cryptographic Algorithm)

 对于大部分公司来说,选取 AES128 进行加解密运算,就能获得较高的安全性和性能。如 果是金融或政府行业,在涉及国家层面的对抗上,有一定的合规需求,则需要应用国密算 法。

在选取加密算法的时候,存在不同的分组计算模式:ECB/CBC/CFB/OFB/CTR。选取 CBC 和 CTR 这两种推荐使用的模式就可以满足大部分需求了,它们在性能和安全性上都有较好 的保证。

非对称加密算法

有对称就一定会有非对称。非对称加密代表加密和解密使用不同的密钥。

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

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

相关文章

基于Mbed Studio环境下开发STM32

基于Mbed Studio环境下开发STM32 📍Mbed官网:https://os.mbed.com/ ✨mbed OS是ARM出的一个免费开源的,面向物联网的操作系统。提供了一个定义良好的API来开发C应用程序;集成度很高,类似Arduino,目前并不兼…

Day20 222完全二叉树的节点个数 110平衡二叉树 257二叉树的所有路径

222 完全二叉树的结点个数 本题先不把它当成完全二叉树来看,用广度优先和深度优先搜索分别遍历,也能达到目的,只要将之前的代码稍加修改即可。注意后序遍历时的result要加上自身本身的那个结点。 //后序递归遍历 class Solution { public:in…

【ARMv8M Cortex-M33 系列 2 -- Cortex-M33 JLink 连接 及 JFlash 烧写介绍】

文章目录 Jlink 工具JLink 命令行示例JFlash 烧写问题Jlink 工具 J-Link 是 SEGGER 提供的一款流行的 JTAG 调试器,它支持多个平台和处理器。JLink.exe 是 J-Link 调试器的命令行接口,它允许用户通过命令行执行一系列操作,例如编程、擦除、调试等。 工具链接: https://ww…

C#上位机与欧姆龙PLC的通信07----使用第3方通讯库读写数据

1、介绍 FINS (factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用FINS指令可实现各种网络间的无缝通信,通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控…

Python sanic框架钉钉和第三方打卡机实现

同样还是需要开通钉钉应用这里就不错多说了 第一步:梳理逻辑流程 前提:打卡的机器是使用postgres数据库,由于因为某些原因,钉钉userId 我已经提前获取到了存放到数据库里。 1.用户打卡成功后,我们应该监听数据库进行查询&#xf…

西北大学844计算机类考研-25级初试高分总攻略

西北大学844计算机类考研-25级初试高分攻略 个人介绍 ​ 本人是西北大学22级软件工程研究生,考研专业课129分,过去一年里在各大辅导机构任职,辅导考研学生专业课844,辅导总时长达400小时,辅导学生超过20余人&#xf…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之线性布局容器Row组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之线性布局容器Row组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Row组件 沿水平方向布局容器。 子组件 可以包含子组件。 接口 Row(…

【SVN】Windows版合并提交bat文件+自定义菜单快捷键

【工具向】利用bat批处理打开TortoiseGit简化版本管理流程_tortoisegit bat-CSDN博客 start cmd /k "cd C:\YourBranchProj && svn cleanup && svn update && svn merge C:\YourTrunkProj -r 历史版本号:HEAD && svn commit -m "me…

pyCharm 打印控制台中文乱码解决办法

解决方法 在 "File" -> "Settings" 中的控制台设置: 在 "File" -> "Settings" 中,你可以找到 "Editor" -> "General" -> "Console"。在这里,你可能会找到…

数据结构:栈

1.栈的定义 栈是仅限在表尾进行插入和删除的线性表,栈又被称为后进先出的线性表 1.1栈顶和栈底 栈是一个线性表,我们允许插入和删除的一端称为栈顶 栈底和栈顶相对,实际上栈底的元素不需要关心 1.2入栈和出栈 栈元素的插入操作叫做入栈&…

“2023年的技术发展与个人成长:回顾与展望“

文章目录 每日一句正能量前言工作生活未来展望后记 每日一句正能量 凡事顺其自然,遇事处于泰然,得意之时淡然,失意之时坦然,艰辛曲折必然,历尽沧桑悟然。 前言 在这快速发展的信息时代,技术的进步和创新不…

vue2中使用百度地图BMapGL

1、npm 命令安装 npm install vue-bmap-gl --save2、main.js 中文件引入 import VueBMap from vue-bmap-gl import vue-bmap-gl/dist/style.css VueBMap.initBMapApiLoader({// 百度的keyak:*********,// 这个密钥请使用自己注册的 }) Vue.use(VueBMap)3、页面调用 <temp…

Python 中的数学运算(Python Math)

Python中的math模块是数学运算的重要工具&#xff0c;提供了丰富的数学函数和常数。本文将深入探讨math模块的功能和用法&#xff0c;使您能够更好地利用Python进行数学运算。 Python的math模块是一个强大的工具集&#xff0c;涵盖了许多基本的数学函数和常数&#xff0c;适用…

C++11 lambda函数和包装器

目录 前言 一.lambda的引入 二、lambda函数的使用 1.一般使用 2.引用 三、包装器 1.包装普通对象 2.包装类成员对象 3.bind 前言 学习过python的同学应该对lambda函数不陌生&#xff0c;这是一个匿名函数&#xff0c;不需要写函数的名字。在不会多地方调用某个简单函数…

kubeadm来搭建k8s集群。

我们采用了二进制包搭建出的k8s集群&#xff0c;本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群&#xff0c;kubeadm更适合中小型企业的集群搭建 主机配置建议&#xff1a;2c 4G 主机节点 IP …

ElementUI的Table组件行合并上手指南

ElementUI的Table组件行合并 &#xff0c;示例用官网vue3版的文档 <el-table :data"tableData" :span-method"objectSpanMethod" border style"width: 100%; margin-top: 20px"><el-table-column prop"id" label"ID&qu…

全面解析 I2C 通信协议

全面解析 I2C 通信协议 lvy 嵌入式学习规划 2023-12-22 21:20 发表于陕西 嵌入式学习规划 嵌入式软件、C语言、ARM、Linux、内核、驱动、操作系统 80篇原创内容 公众号 点击左上方蓝色“嵌入式学习规划”&#xff0c;选择“设为星标” 1、什么是I2C协议 I2C 协议是一个允许…

postman使用-03发送请求

文章目录 请求1.新建请求2.选择请求方式3.填写请求URL4.填写请求参数get请求参数在params中填写&#xff08;填完后在url中会自动显示&#xff09;post请求参数在body中填写&#xff0c;根据接口文档请求头里面的content-type选择body中的数据类型post请求参数为json-选择raw-选…

高压放大器的使用方法是什么

高压放大器是一种重要的电子设备&#xff0c;其主要功能是放大输入信号的电压&#xff0c;并输出更高电压的信号。它在各种工业、实验室和研究领域都有着广泛的应用。下面安泰电子官网将详细介绍高压放大器的使用方法以及相关注意事项。 高压放大器是一种专门用于将低电压信号转…

Unity is running with Administrator privileges, which is not supported

Unity is running with Administrator privileges, which is not supported 如果还是弹出CMD窗口提示输入密码&#xff0c;但无法怎样都无法输入&#xff0c;请关闭窗口&#xff0c;然后右键快捷方式管理员运行一次。 ----------分割线---------- 为什么这样做&#xff1f; 很…