练习时长两年半的网络安全防御“first”
1.网络安全常识及术语
资产
网络安全
网络空间(Cyberspace)
漏洞
0day
1day
后门
exploit
安全策略
安全机制
社会工程学
APT
2.为什么会出现网络安全问题?
网络的脆弱性
网络环境的开放性
协议栈自身的脆弱性
- 不提供认证服务
- 明码传输,不提供保密性服务,不提供数据保密性服务
- 不提供数据完整性保护不提供抗抵赖服务
- 不保证可用性——服务质量(QoS)


操作系统自身的漏洞
人为原因
客观原因
硬件原因
- 一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;
- 另一个结果就是利用这种漏洞可以执行任意指令,甚至可以取得系统root特级权限。

缓冲区溢出攻击原理
- 缓冲区溢出攻击利用编写不够严谨的程序,通过向程序的缓冲区写入超过预定长度的数据,造成缓存的溢出,从而破坏程序的堆栈,导致程序执行流程的改变
缓冲区溢出的危害
- 最大数量的漏洞类型
- 漏洞危害等级高
- 病毒
- 蠕虫
- 木马
其他攻击
社工攻击
人为因素
无意的行为
- 工作失误——如按错按钮;
- 经验问题——不是每个人都能成为系统管理员,因此并不了解贸然运行一个不知作用的程序时会怎么样;
- 体制不健全——当好心把自己的账号告诉朋友时,你却无法了解他会如何使用这一礼物;
恶意的行为
- 出于政治的、经济的、商业的、或者个人的目的
- 病毒及破坏性程序、网络黑客
- 在Internet上大量公开的攻击手段和攻击程序。
防范措施
- 提升安全意识,定期对非IT人员进行安全意识培训和业务培训;
- 设置足够强的授权和信任方式,完善最低权限访问模式;
- 组织需要完善和落地管理措施,保障安全管理制度是实际存在的;
- 善于利用已有的安全手段对核心资产进行安全保护等
拖库、洗库、撞库
原理:
统一的用户名密码。
防御手段:
跳板攻击
防御手段:
钓鱼攻击/鱼叉式钓鱼攻击
水坑攻击
3.什么样的网络是安全的?
网络安全的目的

网络安全要素
- 保密性—confidentiality
- 完整性—integrity
- 可用性—availability
- 可控性—controllability
- 不可否认性—Non-repudiation
- 保密性(confidentiality)与Integrity(完整性)和 Availability(可用性)并称为信息安全的CIA三要素。
保密性
- 保密性:确保信息不暴露给未授权的实体或进程。
- 目的:即使信息被窃听或者截取,攻击者也无法知晓信息的真实内容。可以对抗网络攻击中的被动
- 攻击。

完整性
- 只有得到允许的人才能修改实体或进程,并且能够判别出实体或进程是否已被修改。完整性鉴别机制,保证只有得到允许的人才能修改数据 。可以防篡改。

可用性
- 得到授权的实体可获得服务,攻击者不能占用所有的资源而阻碍授权者的工作。用访问控制机制,阻止非授权用户进入网络。使静态信息可见,动态信息可操作,防止业务突然中断。

doss攻击:拒绝式服务攻击,就是破坏可用性。
可控性
源及信息的可控性。
不可否认性

信息安全的五要素案例

威胁模型
STRIDE模型是由微软公司提出的一种信息安全威胁建模方法,用于帮助识别和评估计算机系统和软件应用程序中的潜在安全威胁。该模型的目的是帮助开发人员和安全专家在设计和开发阶段识别可能的攻击路径和漏洞,从而在系统投入使用前采取相应的安全措施。
微软 STRIDE 模型
STRIDE模型是一个缩写,表示以下六种常见的信息安全威胁:
-
Spoofing (伪装): 攻击者伪装成合法用户、设备或系统来获取未授权的访问权限。
-
Tampering (篡改): 攻击者篡改数据、代码或配置信息,以破坏系统的完整性或导致不正确的运行。
-
Repudiation (抵赖): 攻击者试图否认自己的行为,通常通过删除或修改日志和审计信息来隐藏攻击痕迹。
-
Information Disclosure (信息泄露): 攻击者未经授权地访问、获取或披露敏感信息。
-
Denial of Service (拒绝服务): 攻击者通过向系统发送大量请求或利用系统漏洞来使系统过载或崩溃,导致合法用户无法访问。
-
Elevation of Privilege (提权): 攻击者通过利用系统漏洞或安全弱点获取未经授权的权限,从而执行特权操作。
4.漏洞管理相关标准
-
CVE (Common Vulnerabilities and Exposures): CVE是一个公共漏洞识别系统,为已知漏洞分配唯一的标识符。每个CVE标识符都用于标识一个特定的漏洞,以便不同的组织和厂商能够在其产品和系统中追踪和处理漏洞。
-
CVSS (Common Vulnerability Scoring System): CVSS是一种用于评估漏洞严重性的开放式标准。CVSS提供了一种公认的方法来对漏洞进行评分,帮助组织优先处理最严重的漏洞。
-
ISO/IEC 27001: ISO/IEC 27001是一项信息安全管理标准,其中包含了漏洞管理作为一个重要组成部分。该标准强调建立和实施信息安全管理体系(ISMS),包括对漏洞的识别、评估和响应措施。
-
NIST SP 800-53: 由美国国家标准与技术研究所(NIST)发布的SP 800-53是一份广泛应用的信息安全控制目录,其中包含了漏洞管理的最佳实践和指导。
-
ISO/IEC 29147: ISO/IEC 29147是一项用于漏洞披露的国际标准。该标准规定了漏洞披露的流程和原则,以促进负责任的漏洞披露和协调。
-
ISO/IEC 30111: ISO/IEC 30111是一项用于漏洞披露的国际标准,强调在漏洞披露中的相互信任和协作。
-
OWASP (Open Web Application Security Project): OWASP是一个致力于提供开放式Web应用安全项目的国际性组织。其提供了一系列关于漏洞管理和应对的指南和最佳实践。
-
SANS Critical Security Controls: SANS关键安全控制是一组重要的安全措施,其中包含了漏洞管理的最佳实践和建议。
4.防火墙是什么
- 网络在远古时期没有防火墙大家都是联通的,any to any。
- 授权用户
- 非授权用户
- 防火墙是一种隔离(非授权用户在区域间)并过滤(对受保护网络有害流量或数据包)的设备。
- 区域的划分,根据安全等级来划分
- 简单、速度快
- 检查的颗粒度粗
- 降低包过滤颗粒度的一种做法,区域之间通信使用固定设备。
- 代理技术只能针对特定的应用来实现,应用间不能通用。
- 技术复杂,速度慢
- 能防御应用层威胁,内容威胁
- 在包过滤(ACL表)的基础上增加一个会话表,数据包需要查看会话表来实现匹配。
- 会话表可以用hash来处理形成定长值,使用CAM芯片处理,达到交换机的处理速度。
- 首包机制
- 细颗粒度
- 速度快

- 把应用网关和IPS等设备在状态防火墙的基础上进行整合和统一。
- 把原来分散的设备进行统一管理,有利于节约资金和学习成本
- 统一有利于各设备之间协作。
- 设备负荷较大并且检查也是逐个功能模块来进行的,貌合神离,速度慢。

相关文章:
练习时长两年半的网络安全防御“first”
1.网络安全常识及术语 下边基于这次攻击演示我们介绍一下网络安全的一些常识和术语。 资产 任何对组织业务具有价值的信息资产,包括计算机硬件、通信设施、 IT 环境、数据库、软件、文档资料、信息服务和人员等。 网络安全 网络安全是指网络系统的硬件、软件及…...
HttpRunner自动化测试之响应中文乱码处理
响应中文乱码: 当调用接口,响应正文返回的中文是乱码时,一般是响应正文的编码格式不为 utf-8 导致,此时需要根据实际的编码格式处理 示例: 图1中 extract 提取title标题,output 输出 title 变量值&#x…...
idea使用命令将jar包导入到maven仓库中
因为今天突然忘了命令,记下来方便以后查看 pom文件的依赖 jar包路径 进入idea中命令窗 输入命令 mvn install:install-file -DfileD:\Project\spring-cloud\dubbo-api\target\dubbo-api-1.0-SNAPSHOT.jar -DgroupIdcom.wmx -DartifactIddubbo-api -Dversion1.0…...
zookeeper学习(一) Standalone模式(单机模式)安装
安装准备 centos7环境jdk1.8环境zookeeper安装包 安装jdk 上传jdk安装包解压安装包到目录中 tar -zxvf jdk-8u361-linux-x64.tar.gz如果需要指定目录可以在后面加上 -C,如 tar -zxvf jdk-8u361-linux-x64.tar.gz -C 目录配置jdk环境变量 vim /etc/profile打开…...
native webrtc支持切换音频采集设备和获取裸流
https://www.yuque.com/caokunchao/rtendq/oq8w3qgs3g59whru 前言 版本webrtc m96 1、修改webrtc m96代码,向外提供一个adm指针的接口出来 2、外部来获取指针进行设备的选择 3、外部获取音频裸流,麦克风或者扬声器的数据 修改webrtc代码 1、修改H:\w…...
HR怎么看待PMP证书呢?
在当今竞争激烈的职场环境中,拥有专业的证书已经成为了许多人提升职业竞争力的必要途径。PMP证书作为项目管理领域的国际认证,备受HR和企业的青睐。那么,HR在招聘和评估员工时,究竟是如何看待PMP证书的呢? 首先&#x…...
API接口:如何通过使用手机归属地查询
随着手机普及率的不断增加,手机号码的信息查询也成为了一个非常实用的功能。本文将介绍如何通过使用手机归属地查询API接口实现查询手机号码所在地的功能。 首先,我们需要一个可以查询手机号码所在地的API接口。目前市面上有很多免费或付费的API接口可供…...
小创业公司死亡剧本
感觉蛮真实的;很多小创业公司没有阿里华为的命,却得了阿里华为的病。小的创业公司要想活无非以下几点: 1 现金流,现金流,现金流; 2 产品,找痛点,不要搞伪需求; 3 根据公司…...
国产化的接口测试、接口自动化测试工具Apipost的介绍及使用
Apipost介绍: Apipost是 API 文档、API 调试、API Mock、API 自动化测试一体化的研发协作赋能平台,它的定位 Postman Swagger Mock JMeter。 Apipost 是接口管理、开发、测试全流程集成工具,能支撑整个研发技术团队同平台工作࿰…...
【MySQL】不允许你不知道如何插入数据
🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正࿰…...
Vue 渲染流程详解
在 Vue 里渲染一块内容,会有以下步骤及流程: 第一步,解析语法,生成AST 第二步,根据AST结果,完成data数据初始化 第三步,根据AST结果和DATA数据绑定情况,生成虚拟DOM 第四步&…...
10分钟内入门 ArcGIS Pro
本文来源:GIS荟 大家好,这篇文章大概会花费你10分钟的时间,带你入门 ArcGIS Pro 的使用,不过前提是你有 ArcMap 使用经验。 我将从工程文件组织方式、软件界面、常用功能、编辑器、制图这5个维度给大家介绍。 演示使用的 ArcGI…...
【ribbon】Ribbon的使用与原理
负载均衡介绍 负载均衡(Load Balance),其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同…...
axios封装到reques.js文件中
封装到js中,避免每次都import 然后写一大堆 import axios from axios /* 可复用的发 ajax 请求的函数: axios */ let baseURLhttp://localhost:3000/ export default function promiseAjax(url,methodget,datanull,params) {return new Promise((resolve, reject) …...
学好Elasticsearch系列-核心概念
本文已收录至Github,推荐阅读 👉 Java随想录 文章目录 节点角色master:候选节点data:数据节点Ingest:预处理节点ml:机器学习节点remote_ cluster_ client:候选客户端节点transform:…...
扩展点都不知道不要说你用了Spring Boot
文章目录 前言1.扩展点1.1. 应用程序生命周期扩展点1.1.1 SpringApplicationRunListener1.1.2 ApplicationEnvironmentPreparedEvent1.1.3 ApplicationPreparedEvent1.1.4 ApplicationStartedEvent1.1.5 ApplicationReadyEvent1.1.6 ApplicationFailedEvent 1.2. 容器扩展点1.2…...
LangChain大型语言模型(LLM)应用开发(五):评估
LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…...
Angular:动态依赖注入和静态依赖注入
问题描述: 自己写的服务依赖注入到组件时候是直接在构造器内初始化的。 直到看见代码中某大哥写的 private injector: Injector 动态依赖注入和静态依赖注入 在 Angular 中,使用构造函数注入的方式将服务注入到组件中是一种静态依赖注入的方式。这种方…...
Java前后端交互long类型溢出的解决方案
问题描述: 前端根据id发起请求查找对象的时候一直返回找不到对象,然后查看了请求报文,发现前端传给后台的数据id不对,原本的id是1435421253099634623,可前端传过来的id是 1435421253099634700,后三位变成了…...
Lua学习-1 基础数据类型
文章目录 基础数据类型分类nilbooleannumberstringfunctionuserDatathreadtable 如何判断类型(type)不同类型数据常见操作nilnumberstring(字符串)function普通函数匿名函数不定参数函数 table 基础数据类型分类 nil 表示无效值 boolean 只有 true 和…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
