《网络安全自学指南》

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

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke