《网络安全自学指南》

2024-08-28 10:36
文章标签 自学 指南 网络安全

本文主要是介绍《网络安全自学指南》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《网络安全自学教程》

在这里插入图片描述

《网络安全自学》

  • 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安全需要先有一定的编程基础,能看懂代码,用Python或其他语言写一些简单的脚本。实际上有很多初学者只学会语法还是看不懂代码,这种情况就得多上手敲代码,不同语言之间其实没有太大区别,只是语法不同,学会一种语言,就能快速掌握其他语言(除了HTML)。

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、挖矿病毒应急响应排查思路

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

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

在这里插入图片描述

这篇关于《网络安全自学指南》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114524

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用