《网络安全自学指南》

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

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

JavaScript错误处理避坑指南

《JavaScript错误处理避坑指南》JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题,本文将详细给大家介绍一下JavaScript错误处理的... 目录一、错误类型:三大“杀手”与应对策略1. 语法错误(SyntaxError)2. 运行时错误(R

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL中慢SQL优化方法的完整指南

《MySQL中慢SQL优化方法的完整指南》当数据库响应时间超过500ms时,系统将面临三大灾难链式反应,所以本文将为大家介绍一下MySQL中慢SQL优化的常用方法,有需要的小伙伴可以了解下... 目录一、慢SQL的致命影响二、精准定位问题SQL1. 启用慢查询日志2. 诊断黄金三件套三、六大核心优化方案方案

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解