《网络安全自学指南》

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

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

如何做好网络安全

随着互联网技术的飞速发展,网站已成为企业对外展示、交流和服务的重要窗口。然而,随之而来的网站安全问题也日益凸显,给企业的业务发展和用户数据安全带来了巨大威胁。因此,高度重视网站安全已成为网络安全的首要任务。今天我们就来详细探讨网站安全的重要性、面临的挑战以及有什么应对方案。 一、网站安全的重要性 1. 数据安全与用户隐私 网站是企业存储和传输数据的关键平台,包括用户个人信息、

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

使用条件变量实现线程同步:C++实战指南

使用条件变量实现线程同步:C++实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详细介绍如何在C++中使用条件变量实现线程同步,并提供完整的代码示例和详细的解释。 什么是条件变量? 条件变量是一种同步机制,允许线程在某个条件满足之前进入等待状态,并在条件满

网络安全运维培训一般多少钱

在当今数字化时代,网络安全已成为企业和个人关注的焦点。而网络安全运维作为保障网络安全的重要环节,其专业人才的需求也日益增长。许多人都对网络安全运维培训感兴趣,那么,网络安全运维培训一般多少钱呢?   一、影响网络安全运维培训价格的因素   1. 培训内容的深度和广度   不同的网络安全运维培训课程涵盖的内容有所不同。一些基础的培训课程可能主要涉及网络安全基础知识、常见安全工具的使用等,价

Java 入门指南:Java 并发编程 —— 并发容器 ConcurrentLinkedDeque

文章目录 ConcurrentLinkedDeque特点构造方法常用方法使用示例注意事项 ConcurrentLinkedDeque ConcurrentLinkedDeque 是 Java 并发工具包(java.util.concurrent 包)中的一个线程安全的双端队列(Deque)实现,实现了 Deque 接口。它使用了链表结构,并且针对高并发环境进行了优化,非常适合

使用Nginx部署前端Vue项目的详细指南

在本文中,我们将详细介绍如何使用Nginx部署一个前端Vue项目。此过程涵盖Vue项目的构建、Nginx的安装与配置、以及最后的项目启动。下面是步骤的详细说明。 步骤 1: 准备你的Vue项目 确保你已经创建并构建了一个Vue项目。如果你尚未创建Vue项目,可以使用以下命令创建一个: # 安装Vue CLInpm install -g @vue/cli# 创建一个新的Vue项目vue c

入门指南 | Datavines 安装部署篇

摘要:本文主要介绍基于源码部署 Datavines 和执行检查作业,内容主要分为以下几个部分: 平台介绍快速部署运行数据质量检查作业 Datavines 的目标是成为更好的数据可观测性领域的开源项目,为更多的用户去解决元数据管理和数据质量管理中遇到的问题。在此我们真诚欢迎更多的贡献者参与到社区建设中来,和我们一起成长,携手共建更好的社区。 https://github.com/dat