网络安全学习路线

《网络安全自学教程》

在这里插入图片描述

网络安全这几年改成了网络空间安全,因为网络空间也是国家主权之一,网络空间不安全,你就要在别人眼皮子底下裸奔,当然,非洲的小伙伴就不用担心受到威胁,毕竟他们连网都没有。

网络安全学习路线

  • 1、网络协议安全
    • 1.1、OSI七层模型
    • 1.2、TCP/IP协议栈
    • 1.3、Wireshark使用
    • 1.4、802.1x协议
    • 1.5、ARP协议
    • 1.6、ARP欺骗
    • 1.7、IP协议
    • 1.8、ICMP协议
    • 1.9、TCP协议
    • 1.10、SYN Flood
    • 1.11、SSL协议
    • 1.12、HTTP协议
    • 1.13、DHCP协议
  • 2、操作系统安全
    • 2.1、计算机原理
    • 2.2、Windows命令
    • 2.3、Windows运维操作
    • 2.4、Windows安全机制
    • 2.5、Windows日志
    • 2.6、Windows隐藏用户
    • 2.7、Linux命令
    • 2.8、Linux防火墙
    • 2.9、Linux计划任务
    • 2.10、Linux安全机制
    • 2.11、Linux日志
  • 3、Web安全
    • 3.1、Web体系架构
    • 3.2、HTML
    • 3.3、Python
    • 3.4、MySQL
    • 3.5、软件开发安全
    • 3.6、SQL注入漏洞
    • 3.7、文件上传漏洞
    • 3.8、文件包含漏洞
    • 3.9、 XSS漏洞
    • 3.10、Redis
  • 4、信息收集
    • 4.1、IP、旁站、C段
    • 4.2、子域名
    • 4.3、端口、操作系统
    • 4.4、Google Hacking
  • 5、密码学
    • 5.1、对称/非对称加密、哈希、国密
    • 5.2、MD5加密漏洞
  • 6、恶意代码防护
  • 7、风险评估
    • 7.1、Windows基线检查
    • 7.2、Tomcat基线检查
    • 7.3、IIS基线检查
    • 7.4、MySQL基线检查
  • 8、应急响应
    • 8.1、Windows应急响应排查思路
    • 8.2、Linux应急响应排查思路
    • 8.3、挖矿病毒应急响应排查思路

1、网络协议安全

先有「网络」,再有网络安全,想要解决网络的安全问题,我们必须先学会「网络」。这一阶段以了解为主,不建议按照网工的路线全面学习,那样时间成本太高了,很容易学半个月或一个月,安全的门还没摸到,就被网络劝退了。

网络的学习目标是了解,我们了解一下协议的工作流程和存在的安全隐患就可以了,有暂时无法理解的可以直接跳过,后面需要相关知识了再回头学也不迟。

1.1、OSI七层模型

OSI将网络协议按照功能分为7层,我们需要「了解」为什么要分层?分成了哪7层?每层实现了什么功能?数据在这7层之间是怎么传输的?尤其是数据封装和解封的过程!

OSI七层模型

OSI七层模型

1.2、TCP/IP协议栈

OSI七层模型侧重于教学,而TCP/IP四层模型侧重于实际应用,我们需要「了解」TCP/IP协议栈每层都有哪些协议?面临的安全问题是什么?如何解决这些安全问题?

TCP/IP协议栈

请添加图片描述

1.3、Wireshark使用

了解网络协议的安全问题后,我们需要「掌握」一些核心协议,学习一个协议的时候,要思考这个协议是用来解决什么问题的?它实现了什么功能?怎么实现的?数据包是什么样的?有哪些字段?保证设备告警时能看懂,导出的流量数据包能看出来它做了什么。学习协议需要使用工具抓包分析,我们需要知道wireshark抓包工具的基本使用方式。当然,如果你会其他抓包工具也可以替换。

Wireshark下载安装使用

在这里插入图片描述

1.4、802.1x协议

从最下层开始,首先是数据链路层的 802.1x协议,很多安全安全厂商的准入设备,在做有线准入时,都是用 802.1x。我们需要「掌握」 802.1x 协议的认证流程?安全产品的有线准入逻辑是如何实现的?准入认证失败时排查问题的思路是什么?

802.1x协议

在这里插入图片描述

1.5、ARP协议

同样在数据链路层的还有解析地址的ARP协议,我们需要「掌握」ARP协议是如何执行的?同网段和不同网段分别怎么执行?报文中有哪些字段?每个字段的作用是什么?ARP是如何主动学习的?

ARP协议

在这里插入图片描述

1.6、ARP欺骗

学完ARP协议,趁热学一下ARP欺骗,我们需要「掌握」ARP欺骗是利用了ARP协议的什么缺陷?使用arpspoof工具复现ARP欺骗并抓包分析攻击过程,根据攻击原理思考如何防御?

ARP欺骗

在这里插入图片描述

1.7、IP协议

再往上是网络层的IP协议,我们需要「掌握」IP地址的划分标准,报文中有哪些字段?每个字段的作用是什么?数据为什么要分片传输?怎么分片?

IP协议

在这里插入图片描述

1.8、ICMP协议

IP协议还有一个子协议ICMP,我们需要「掌握」ICMP是如何检错的?报文中有哪些字段?每个字段的作用是什么?常见的报文类型是什么?

ICMP协议

在这里插入图片描述

1.9、TCP协议

再往上是传输层的TCP协议,我们需要「掌握」TCP是如何传输数据的?TCP跟UDP的区别是什么?TCP如何通过三次握手建立连接?如何通过四次挥手断开连接?TCP链接的中的状态有哪些?应急响应时如何根据TCP连接状态分析异常网络行为?同时也可以「了解」一下TCP如何保证数据传输的可靠性,以及UCP的检错原理。

TCP协议

在这里插入图片描述

1.10、SYN Flood

TCP协议的第一次握手可以被利用,导致SYN Flood攻击,我们需要「掌握」SYN Flood 是如何导致的?如何使用 hping3 执行SYN Flood?如何防御 SYN Flood?

SYN Flood

在这里插入图片描述

1.11、SSL协议

TCP用三次握手建立连接,保证了数据传输的可靠性,但数据是以明文传输的,容易被嗅探和篡改,因此需要SSL协议将数据加密后传输。我们需要「了解」SSL协议如何加密数据?SSL握手分为哪些阶段?每个阶段有哪些字段?每个字段的作用是什么?

SSL协议

在这里插入图片描述

1.12、HTTP协议

再往上是应用层的HTTP协议,我们需要「掌握」HTTP是如何工作的?HTTP的请求报文、响应报文分别有哪些字段?每个字段的作用是什么?HTTP请求方法有哪些?响应状态码有哪些?常见的请求头是哪些?

HTTP协议

在这里插入图片描述

1.13、DHCP协议

应用层还有一个常用的DHCP协议,我们需要「掌握」DHCP是如何工作的?分配IP的方式有哪些?租约的逻辑是什么?

DHCP协议

在这里插入图片描述

2、操作系统安全

操作系统的学习目标是会用,知道常用命令和一些基础操作。学习阶段跟着我的文章实操一遍,不用全部记住,混个眼熟,工作时候遇到了再回来看。

操作系统学Windows和Linux就可以,国产化操作系统是在Linux基础上改的,当成图形化界面的Linux用就行。

2.1、计算机原理

「了解」一些简单的计算机原理,由哪些部分构成的?如何识别二进制?

计算机如何识别二进制?

在这里插入图片描述

2.2、Windows命令

接下来需要「了解」Windows 常用的DOS命令,后门工具连接后能用命令操作,虽然Windows大部分操作都可以用图形化界面完成,但用户看到你在黑窗口里一顿敲,会更有安全感。

工作中常用的Windows命令

在这里插入图片描述

2.3、Windows运维操作

很多公司都是安全兼运维,比如你们软件版的产品装在了用户的服务器上,那这个服务器的运维操作也要你来负责,我们需要「掌握」Windows如何配置防火墙、文件共享、NTP、注册表等。

Windows防火墙

在这里插入图片描述

2.4、Windows安全机制

Windows使用SID标识符、SAM身份管理、访问令牌、日志审计等安全机制保证操作系统的安全,我们需要「掌握」这些安全机制是如何实现的?

Windows安全标识符,身份鉴别和访问控制

在这里插入图片描述

2.5、Windows日志

Windows使用日志审计机制保证操作系统的安全,我们需要「了解」日志怎么看?常见的事件ID是什么?这在应急溯源时很有帮助。

Windows系统日志详解

在这里插入图片描述

2.6、Windows隐藏用户

Windows隐藏用户常被用做后门账户,我们需要「掌握」隐藏用户如何创建?如何清除?

Windows隐藏用户

在这里插入图片描述

2.7、Linux命令

Linux几乎都是无界面的,只能在命令行操作,我们需要「掌握」常用的命令。

Linux常用命令

在这里插入图片描述

2.8、Linux防火墙

安全设备在加固时,通常会按照攻击面最小化原则配置防火墙策略,我们需要「掌握」firewlld配置命令,「了解」iptables配置命令。

Linux防火墙 firewalld&iptables

在这里插入图片描述

在这里插入图片描述

2.9、Linux计划任务

计划任务常被用作后门留存,我们需要「了解」计划任务文件位置、语法格式,排查时能看懂,知道怎么删除任务。

Linux计划任务CronTab

在这里插入图片描述

2.10、Linux安全机制

Linux使用UID、身份鉴别、UGO管理机制、日志审计等安全机制保证操作系统的安全,我们需要「掌握」这些安全机制是如何实现的?

Linux安全标识符、身份鉴别和访问控制

在这里插入图片描述

2.11、Linux日志

Linux使用日志审计机制保证操作系统的安全,我们需要「了解」日志文件位置和字段格式,这在应急溯源时很有帮助。

Linux日志

在这里插入图片描述

3、Web安全

Web安全的学习目标是会用漏洞,编程基础很重要,会编程,尤其是做过项目开发的人,对于整个业务流程都会有一个全面的理解。不同语言之间其实没有太大区别,只是语法不同,学会一种语言,就能快速掌握其他语言(除了HTML)。

但对于初学者,不建议在编程上投入太多时间,跟着我的文章搭个环境,敲一遍代码就可以了,重点放在漏洞的原理上,不要让枯燥的编程,消耗掉太多的意志力。

我真的见过好多小伙伴一个星期连环境都搭不出来的,或者遇到某个Bug半个月都没法解决,我不止一次说过,遇到困难该放弃就果断放弃,我们的目标是快速入门,是构造属于自己的网络安全知识架构,等你系统性的学完一遍,再回头解决这些遗留问题。

3.1、Web体系架构

首先我们需要「了解」Web是什么?Web的体系架构是如何构成的?这个体系架构存在哪些安全问题?Web安全这一章节就是围绕着这些安全问题来学习的。解决问题之前,我们还得先「了解」Web开发中用到的技术,也就是编程语言。

Web体系架构存在的安全问题和解决方案

在这里插入图片描述

3.2、HTML

HTML算不上编程语言,准确来说是标签语言,相对简单,从它开始入手,为后面的编程打下基础。我们需要「了解」基本语法,简单敲几个网页,学习目标是能看懂代码。

HTML快速入门

在这里插入图片描述

3.3、Python

主流编程语言中,Python是上手最快的,我们需要「掌握」Python的基础语法,能看懂代码,编写简单的脚本。

3.4、MySQL

数据库最常用的是MySQL,我们需要「掌握」基本的SQL语法结构,能在告警中看懂SQL,能在SQL注入时编写payload。

MySQL快速入门

在这里插入图片描述

3.5、软件开发安全

安全人员不是必须具备开发能力,但需要「了解」软件开发的过程,这个过程中存在哪些安全问题?如何解决这些安全问题?尤其是里面的安全设计原则,对于提高安全能力很有帮助。

软件开发安全

在这里插入图片描述

3.6、SQL注入漏洞

SQL注入是最常见的漏洞之一,我们需要「掌握」SQL注入的原理、注入点、注入方式和防御措施。

SQL注入漏洞

在这里插入图片描述

MySQL脱库原理和步骤
联合注入原理+步骤+实战操作
报错注入原理+步骤+实战操作
布尔盲注原理+步骤+实战操作
时间盲注原理+步骤+实战操作
预编译防止SQL注入的原理
Ms SQL注入

3.7、文件上传漏洞

文件上传漏洞很容易被上传后门,获取权限,我们需要「掌握」文件上传漏洞的绕过方式和防御措施。

文件上传漏洞

在这里插入图片描述

3.8、文件包含漏洞

文件包含漏洞常用来远程代码执行或读取本地文件,我们需要「掌握」文件包含漏洞的利用方式。

文件包含漏洞

在这里插入图片描述

3.9、 XSS漏洞

XSS漏洞主要作用在前端用户,我们需要「掌握」XSS漏洞的利用方式和防御措施。

XSS漏洞

在这里插入图片描述

3.10、Redis

Redis快速入门

4、信息收集

信息收集是渗透的第一步,也是最关键的一步,前期收集的信息越多,后期成功的概率就越大。

在这里插入图片描述

这个阶段的学习目标是了解,知道信息收集有哪些方式以及扫描原理就行了,后面要通过大量实战来积累信息收集的思路。

4.1、IP、旁站、C段

绕过CDN获取真实IP、旁站、C段

4.2、子域名

子域名收集

4.3、端口、操作系统

端口扫描、操作系统识别

4.4、Google Hacking

Google Hacker 语法

5、密码学

密码学是网络安全的核心,没有密码学就没有网络安全。

但初学时了解即可,后续根据实际工作情况决定是否深入学习。

5.1、对称/非对称加密、哈希、国密

「了解」密码的安全标准和密码体系的基础概念,「了解」算法分为哪些种类,每种有哪些常见算法。

对称/非对称加密、哈希、国密

在这里插入图片描述

5.2、MD5加密漏洞

MD5是最常见的加密算法之一,我们需要「了解」MD5算法存在的几个漏洞。

MD5加密漏洞

6、恶意代码防护

工作涉及到终端侧的产品时,恶意代码的知识会很有帮助,初学时了解概念即可,后续根据实际工作情况决定是否深入学习。

恶意代码防护

在这里插入图片描述

7、风险评估

初学时了解检查项,实际工作用到时按照步骤检查接。

7.1、Windows基线检查

Windows基线检查加固

在这里插入图片描述

7.2、Tomcat基线检查

Tomcat基线检查加固

在这里插入图片描述

7.3、IIS基线检查

IIS基线检查加固

在这里插入图片描述

IIS6.0目录解析漏洞
IIS6.0文件解析漏洞

7.4、MySQL基线检查

MySQL基线检查加固

在这里插入图片描述

MySQL权限体系划分与实战操作
MySQL文件权限的安全问题和解决方案
MySQL匿名用户的原理分析与实战研究

8、应急响应

大多数单位,应急响应的组织架构都是其他安全人员兼任的,这意味着,无论你做什么安全岗位,都需要有一定的应急能力。

这个阶段的学习目标是「掌握」应急响应流程和操作步骤,在发生安全事件时能够分析恶意行为并阻断。

应急响应标准流程

8.1、Windows应急响应排查思路

Windows应急响应从网络、进程、用户、启动项、计划任务、日志六个方面入手,我们需要「掌握」排查用到的操作和命令。

Windows应急响应排查思路

在这里插入图片描述

8.2、Linux应急响应排查思路

Linux应急响应的排查思路和Windows大致相同,但操作命令有很大区别,我们需要「掌握」排查用到的文件位置和操作命令。

Linux应急响应排查思路

在这里插入图片描述

8.3、挖矿病毒应急响应排查思路

挖矿病毒是常见的应急事件之一,我们需要「掌握」挖矿病毒的排查思路及相关命令操作。

挖矿病毒应急响应排查思路

在这里插入图片描述

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

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

相关文章

【Linux网络编程】第十一弹---HTTP协议全解析:从请求响应到方法与Header的详尽指南

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、HTTP 协议 1.1、认识 URL ​1.2、urlencode 和 urldecode 1.3、HTTP 协议请求与响应格式 1.3.1、代码…

从 Router 到 Navigation:HarmonyOS 路由框架的全面升级与迁移指南

在本教程中,我们深入探讨了 Router 和 Navigation 在 HarmonyOS 中的用法差异及如何从 Router 切换到 Navigation 的方法。重点涵盖了页面跳转、转场动画、生命周期管理以及跨包路由的实现。 页面结构对比 Router 页面结构 每个页面需要使用 Entry 注解。 页面需要…

账号下的用户列表表格分析

好的,这是您提供的 el-table 组件中所有列的字段信息,以表格形式展示: 列标题 (label)字段属性 (prop)对齐方式 (align)宽度 (width)是否可排序 (sortable)说明IDidcenter100否管理员的唯一标识符头像avatarcenter90否管理员的头像 URL 或路…

luckysheet与superslide冲突解决

[现象]控制台报错、界面无法操作 $是jquery。查看源码,发现mousewheel方法来自插件mousewheel,luckysheet初始应该会将mousewheel挂载在jquery上。 在控制台打印jquery取dom及其方法,结果如下: 不存在mousewheel方法&#xff0c…

windows使用python写的YOLO来实现目标识别

使用labelImg标注,YOLO进行目标训练 一、labelImg工具下载及使用1、下载labelImg(目标标注工具[【点我下载】](https://github.com/HumanSignal/labelImg))2、使用labelImg 二、下载及使用YOLO1、下载及使用ultralytics(volo[点击…

Java——多线程(上)

一 (线程的介绍) 1 多线程的基本概念 (每个进程由三部分构成——>CPU,Data,Code,进程之间完全独立,内存隔离) (运行在进程内的,一个进程可以包含多个线程,线程之间是可以并行的,并且共享相…

SpringBoot3+graalvm:整合并打包为可执行文件

原文网址:SpringBoot3graalvm:整合并打包为可执行文件-CSDN博客 简介 本文介绍SpringBoot3如何整合graalvm,并打包为可执行文件。Windows和Linux都打包。 版本 springboot3.3.6 graalvm21(包含JDK21(21是最新的LT…

【Bolt.new + PromptCoder】三分钟还原油管主页

【Bolt.new PromptCoder】三分钟还原油管主页 PromptCoder官网:PromptCoder Bolt官网:https://bolt.new/ Bolt 是什么? Bolt.new 是一个提供创建全栈网络应用服务的平台。它允许用户通过提示(Prompt)、运行&#x…

ubuntu下anconda装pytorch

1、禁用nouveau sudo vim /etc/modprobe.d/blacklist.conf 在文件最后部分插入以下两行内容 blacklist nouveau options nouveau modeset0 更新系统 sudo update-initramfs -u 重启系统 2、装nvidia驱动 卸载原来驱动 sudo apt-get remove nvidia-* (若安装…

QT数据库(四):QSqlRelationalTableModel 类

关系数据库概念 例如下列departments、majors、studInfo 这 3 个数据表之间存在关系。 主键与外键 标记“**”的是主键字段,标记“*”的是外键字段。主键字段是一个数据表中表示记录唯一性的字段,例如 studInfo 数据表中的 studID 字段。外键字段是与其…

【Linux】-学习笔记10

第八章、Linux下的火墙管理及优化 1.什么是防火墙 从功能角度来讲 防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出 从功能实现角度来讲 火墙是系统内核上的一个模块netfilter(数据包过滤机制) …

SpringBoot 手动实现动态切换数据源 DynamicSource (中)

大家好,我是此林。 SpringBoot 手动实现动态切换数据源 DynamicSource (上)-CSDN博客 在上一篇博客中,我带大家手动实现了一个简易版的数据源切换实现,方便大家理解数据源切换的原理。今天我们来介绍一个开源的数据源…

Crawl4AI:一个为大型语言模型(LLM)和AI应用设计的网页爬虫和数据提取工具实战

这里写目录标题 一、crawl4AI功能及简介1、简介2、特性 二、项目地址三、环境安装四、大模型申请五、代码示例1.生成markdown2.结构化数据 一、crawl4AI功能及简介 1、简介 Crawl4AI 是一个开源的网页爬虫和数据抓取工具,一个python项目,主要为大型语言…

【银河麒麟高级服务器操作系统】有关dd及cp测试差异的现象分析详解

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn dd现象 使用银河麒麟高级服务器操作系统执行两次…

sqli-labs靶场第26-30关

第26关 这关将逻辑运算符,注释符以及空格给过滤了 我们先使用单引号进行闭合 这时我们查看源代码可以看到这一关过滤了很多字符 可以看到这里将or and / -- # 空格等字符都被注释了 空格被过滤了我们可以使用()来代替,and和or可以使用双写来绕过 因为…

ik分词器了解 和 通过zip安装包的方式 将ik分词器安装到elasticsearch中

目录 1. ik分词器的作用(效果) (1)标准分析器效果 (2)ik_smart分词 (3)ik_max_word分词 2. 首先根据自己的elasticsearch的版本下载对应的ik分词器版本 3. 将下载好的ik分词器…

实景视频与模型叠加融合?

[视频GIS系列]无人机视频与与实景模型进行实时融合_无人机视频融合-CSDN博客文章浏览阅读1.5k次,点赞28次,收藏14次。将无人机视频与实景模型进行实时融合是一个涉及多个技术领域的复杂过程,主要包括无人机视频采集、实景模型构建、视频与模型…

【解决】k8s使用kubeadm初始化集群失败问题整理

执行提示命令,查看报错信息 journalctl -xeu kubelet1、错误:running with swap on is no 报错 "command failed" err"failed to run Kubelet: running with swap on is no 解决: swap未禁用,需要禁用swap&…

aws(学习笔记第十七课) SQS Amazon Simple Queue Service服务

aws(学习笔记第十七课) SQS Amazon Simple Queue Service服务 学习内容: 使用SQS Amazon Simple Queue Service服务整体代码(nodejs的通常工程)代码动作 1. 使用SQS Amazon Simple Queue Service服务 利用应用程序来学习SQS 创建S3$ aws s…

qt-C++笔记之父类窗口、父类控件、对象树的关系

qt-C笔记之父类窗口、父类控件、对象树的关系 code review! 参考笔记 1.qt-C笔记之父类窗口、父类控件、对象树的关系 2.qt-C笔记之继承自 QWidget和继承自QObject 并通过 getWidget() 显示窗口或控件时的区别和原理 3.qt-C笔记之自定义类继承自 QObject 与 QWidget 及开发方式…