想从事网络信息安全的工作,该如何自学?

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

【一一帮助网络安全入门和提升学习点这里一一】

由于我之前写了不少网络安全技术相关的文章不少读者朋友知道我是从事网络安全相关的工作于是经常有人私信问我

  • 我刚入门网络安全该怎么学
  • 要学哪些东西
  • 有哪些方向
  • 怎么选
  • 这一行职业前景如何

废话不多说先上一张图镇楼看看网络安全有哪些方向它们之间有什么关系和区别各自需要学习哪些东西。
图片.png

【一一学习路线一一】

在这个圈子技术门类中工作岗位主要有以下三个方向

安全研发

安全研究二进制方向

安全研究网络渗透方向

下面逐一说明一下。

第一个方向安全研发

你可以把网络安全理解成电商行业、教育行业等其他行业一样每个行业都有自己的软件研发网络安全作为一个行业也不例外不同的是这个行业的研发就是开发与网络安全业务相关的软件。

既然如此那其他行业通用的岗位在安全行业也是存在的前端、后端、大数据分析等等不过除了这类通用开发岗位还有一部分与安全业务紧密相关的研发岗位。

这个分类下面又可以分为两个子类型

  • 做安全产品开发做防
  • 做安全工具开发做攻
  • 防火墙、IDS、IPS
  • WAFWeb网站应用防火墙
  • 数据库网关
  • NTA网络流量分析
  • SIEM安全事件分析中心、态势感知
  • 大数据安全分析
  • EDR终端设备上的安全软件
  • DLP数据泄漏防护
  • 杀毒软件
  • 安全检测沙箱

总结一下安全研发的产品大部分都是用于检测发现、抵御安全攻击用的涉及终端侧PC电脑、手机、网络设备等

开发这些产品用到的技术主要以C/C++、Java、Python三大技术栈为主也有少部分的GoLang、Rust。

安全研发岗位相对其他两个方向对网络安全技术的要求要低一些只是相对部分产品的研发对安全技能要求并不低甚至我见过不少公司的研发对安全一无所知。在这种情况下如果除了基本的开发功底以外对网络安全技术有所了解自然会是你面试这些岗位时的加分项。

第二个方向二进制安全

二进制安全方向这是安全领域两大技术方向之一。

这个方向主要涉及到软件漏洞挖掘、逆向工程、病毒木马分析等工作涉及操作系统内核分析、调试与反调试、反病毒等技术。因为经常都是与二进制的数据打交道所以久而久之用二进制安全来统称这个方向。

这个方向的特点是需要耐得住寂寞。

比不上安全研发可以有实实在在的产品输出也比不上网络渗透方向听起来的狂拽炫酷这个方向更多时间是在默默的分析和研究。

以漏洞挖掘为例光是学习五花八门的攻击手法就需要花不少的时间。在这个领域为了研究一个问题可能花费数月甚至数年时间这绝非一般人能坚持下来的。不仅如此不是勤奋就可以成功更多还要靠天分。

像腾讯几大安全实验室的掌门人业界知名的TK教主、吴石这些人物他们已经深谙漏洞挖掘的奥义并将这门绝技融会贯通做个梦都能想到新的玩法。不过像这样的天才实在是少之又少绝大多数人都无法企及。

如果说程序员是苦逼的话那二进制安全研究就是苦逼Plus

第三个方向网络渗透

这个方向更符合于大部分人对“黑客”的认知他们能够黑手机、黑电脑、黑网站、黑服务器、黑内网万物皆可黑。

相比二进制安全方向这个方向初期更容易入门一些掌握一些基本技术拿起各种现成的工具就可以开黑了。

不过要想从脚本小子变成黑客大神这个方向越往后需要学习和掌握的东西就多了。

网络渗透的方向更偏向于“实战”因此对技术在广度上有更高的要求从网络硬件设备、网络通信协议、网络服务web、邮件、文件、数据库等、到操作系统、攻击手法等等都需要了解。更偏向于一个全能型的计算机专家将各种技术融会贯通以用于“实战”。

下面开始说说学习路线的问题内容有点长可以先点个赞这样不迷路及时找得回来哦。
图片.png

在这张图路线图中一共划分了十六个阶段但并不是说你得学完全部才能上手工作对于一些初级岗位学完第六个阶段就足矣。

图片.png

第一个阶段针对的是纯新手小白刚刚入场。在这个阶段主要是打基础需要学习的有五部分内容

1、Windows
Windows上基础的一些命令、PowerShell的使用和简单脚本编写以及Windows以后经常会打交道的几个重要组件的使用注册表、组策略管理器、任务管理器、事件查看器等。

除此之外学习在Windows上面搭建虚拟机学会安装系统为接下来学习Linux做准备工作。

网络安全必然要与Linux经常打交道我看到很多新人一上来就跟着一些培训班学习Kali学的云里雾里的。连基本的Linux概念都没建立起来就急着学Kali这属于还没学会走路就去学跑步本末倒置了

在基础阶段主要以使用为主学习文本编辑、文件、网络、权限、磁盘、用户等相关的命令对Linux有一个基本的认知。

2、计算机网络
网络安全计算机网络肯定是非常重要的存在。作为基础阶段这一小节主要从宏观上学习计算机网络而不是死扣某一个协议的某些字段意义。

首先从局域网出发了解计算机通信的基本网络——以太网局域网内是如何通信的集线器、交换机有什么区别MAC地址、IP地址、子网、子网掩码分别是做什么用的

随后引出更大的广域网、互联网什么是网络通信协议通信协议分层的问题通过七层和四层模型快速建立起计算机网络的基础概念各层协议的作用分别有哪些协议这些协议在当今的互联网中具体是怎么应用的。

3、Web基础
网络渗透中非常重要的一个组成部分就是Web安全要学习Web安全得先从Web前端基础开始入手。

这一小节非常简单就是学习最原始的Web前端三板斧HTML+CSS+JS的开发使用为将来学习Web相关的安全知识打下基础。

这一小节是相对偏实际动手多一些需要自己多动手进行一些网页编程尤其是JavaScript的熟悉掌握了解Ajax是什么东西常用的jQuery库也学习一下这都是Web前端中非常基础和常用的内容。

4、数据库基础
基础阶段的最后一部分可以来接触一些数据库的基础知识了。

这个阶段主要学一些理论知识重点掌握库、表、索引等概念然后学习SQL的编写学会增删改查数据。暂时不用编程来操作数据库。

度过了基础阶段你已经储备了一些计算机的基础知识操作系统的使用网络协议前端基础数据库初识但这距离做网络安全还不够在第二个青铜阶段你还需要再进一步学习基础在第一阶段之上难度会开始慢慢上升。

这一阶段需要学习的知识有

1、Web进阶
在前面的石器时代咱们初步接触了网页编程了解了网页的基本原理。不过那时候是纯前端的纯静态的网页没有接触后端。在这个进阶的阶段你要开始接触Web后端的内容了。

首先从常用的两大主流Web服务器出发学习Apache和Linux的基本知识随后引出动态网页的基本原理从CGI/Fast-CGI过渡到后来的ASP/PHP/ASPX/JSP等动态网页技术了解它们的发展历史演变过程和基础的工作原理。

最后再学习一些Web开发中的基础知识表单的操作、Session/Cookie、JWT、LocalStorage等等了解这些基本的术语都是什么意思做什么用解决了什么。

2、PHP编程
学习Web后端开发得搭配学习一个后端开发语言才行。在这一小节选择从PHP入手。

不过要记住这里选择PHP不是让你以后从事PHP的后端开发也不是说PHP现在有多流行而是特定历史背景下PHP相关的网站安全问题非常具有代表性选择这门语言更方便我们研究安全问题。

由于学习的目的不同所以在学习方法上和普通的后端开发就有所不同了。在这里咱们学习一下语法基础基本的后端请求处理数据库访问然后再接触一下常用的ThinkPHP框架即可当然如果你有兴趣学的更深入当然更好。

3、计算机网络进阶
第二阶段需要再充实一下计算机网络的学习。这一次重点把精力放在HTTP/HTTPS以及抓包分析之上。

Linux上的tcpdump必须掌握包括常见的参数配置。然后重点学习Wireshark分析数据包用Fiddler抓取分析加密的HTTPS流量。

通过在抓包软件下查看通信流量对计算机网络的认识从抽象变得具象。

4、加解密技术
接着来了解一些网络安全领域内经常打交道的编解码技术和加解密技术。包括base64编码、对称加密、非对称加密、哈希技术等等。

了解它们基础的概念、做什么用的解决什么问题最后再了解下工作原理。

推荐书籍《加密与解密》

现在进入第三个阶段在这个阶段我们开始全面学习真正的网络安全技术了前面两个阶段打下的基础在这个阶段也将派上用场。

这一阶段需要学习的知识有

1、Web安全入门
有了前面的Web前端和PHP编程的基础可以来正式学习Web安全了。Web安全领域内几大典型的攻击手法SQL注入、XSS、CSRF、各种注入、SSRF、文件上传漏洞等等每一个都需要详细学习一边学习理论一边动手实践。

千万注意别拿互联网上的网站来攻击学习这是违法的行为。自己可以在虚拟机中搭建一些包含漏洞的网站网络上有很多可以下载来玩拿自己建的网站练手。

2、网络扫描与注入
前面学习了一些Web安全的攻击手法但光有这些还不够当我们面对攻击目标后如何寻找攻击点获取目标的信息至关重要。

这些信息包括目标运行了什么操作系统开放了哪些端口运行了哪些服务后端服务是什么类型版本信息是什么等等有哪些漏洞可以利用只有获取到了这些信息才能有针对性的制定攻击手段拿下目标。

常见的网络信息扫描包括端口扫描、网站后台扫描、漏洞扫描等等。需要学习常用的扫描工具以及它们的工作原理。

3、信息搜集 & 社会工程学
除了上面需要扫描的信息在网络安全中经常还需要调研很多信息比如网站的注册信息、相关联的人物、网站内部的内容检索等等。这就需要学习掌握信息搜集和社会工程学的相关技术。

whois信息用来查询域名信息shodan、zoomeye、fofa等网络空间搜索引擎检索IP、域名、URL等背后的信息Google Hacking利用搜索引擎来检索网站内部信息这些东西都是在网络信息搜集中经常用到的技能。

4、暴力破解
在网络攻击中当扫描到目标开放的服务后最直接的就是想要登录进去。常见的服务有SSH、RDP、MySQL、Redis、Web表单等等。

这个时候暴力破解通常会派上用场通过使用各种服务常见用户名密码组成的字典通过程序暴力破解。

常用的爆破工具有hydra、超级弱口令另外还有一个mimikatz常用来获取Windows系统的密码。

提升阶段

上一个阶段学习了一些安全攻击技术在这一个阶段需要学习一下安全防御和安全检测技术安全具有攻防两面性缺一不可。

1、WAF技术
首先要学习的就是WAF——Web应用防火墙。

Web安全学习的是通过Web技术攻击计算机系统WAF就是检测和防御这些安全攻击。正所谓知己知彼才能百战百胜作为攻方要掌握WAF的工作原理找到弱点绕过检测作为守方需要不断加强安全检测和防御能力有效的发现和抵御Web攻击。

需要学习当下主流的WAF软件所采用的架构比如openresty、modsecurity以及主要的几种检测算法基于特征的、基于行为的、基于机器学习的等等。

2、网络协议攻击 & 入侵检测
WAF主要针对的是Web相关的安全攻击到这一小节将视野进一步拓展到整个网络协议栈TCP劫持、DNS劫持、DDoS攻击、DNS隧道、ARP欺骗、ARP泛洪等等需要掌握这些传统经典攻击手段的原理搭建环境实践为后续的内网渗透打下基础。

另外作为防守的一方还需要学习通过网络流量分析技术来进行安全检测了解常用的网络分析技术检测框架规则语法对以后从事安全相关开发或安全防御工作进行储备。

3、日志技术
通过日志来发现攻击行为是一种最常见的行为攻击者的Web请求系统登录暴力破解尝试等等都会被系统各种软件记录在案攻击者得手后也经常会抹除相关的日志记录所以学习掌握这些日志是攻防两队的人都需要学习的技能。

常见的日志有系统登录日志Windows、Linux、Web服务器日志、数据库日志等等。

4、Python编程
在这个阶段是时候来学习一些Python编程开发了。虽然网络安全不用经常做大量的工程开发但掌握基本的编程能力可以用来编写爬虫、数据处理、网络扫描工具、漏洞POC等等都是非常有用的而众多编程语言中Python无疑是最适合的。

5、浏览器安全
这个阶段的最后一部分来学习了解一些浏览器侧的安全知识夯实Web安全中与浏览器相关的漏洞攻击。

需要重点掌握IE、Chrome两款最主流的浏览器特性浏览器的沙盒机制是什么同源策略和跨域技术等等。

1、第三方组件漏洞
前面Web安全相关的攻击都是一些很多年的经典手法了经过多年的发展已经相当成熟相关的漏洞早已不如以前多现在很多时候的攻击都是依靠各种各样的第三方组件漏洞完成的所以学习研究这些常见第三方组件的漏洞一方面掌握这些攻击手法用于实战中使用另一方面触类旁通对从事漏洞挖掘的工作也是非常有帮助的。

研究的对象主要涵盖目前互联网服务中实际使用的一些工程组件比如Java技术栈系列Spring全家桶、SSM、Redis、MySQL、Nginx、Tomcat、Docker等等。

2、内网渗透
网络渗透中攻下一个点后只是一个开始攻入以后如何转移控制更多的节点是内网渗透研究学习的范畴。典型的如当年的永恒之蓝病毒通过SMB协议漏洞快速扩散传播造成了大面积的中招。

内网渗透中要学的东西既多且杂难度要上升不少但这是做网络渗透的非常重要的一块儿必须多啃一啃。这一部分理论较少偏实战性多一些需要多搭建环境模拟学习。

3、操作系统安全技术 & 提权技术 & 虚拟化技术
通过web等手段渗透进入计算机后由于各种限制原因经常会有提权的需求还会涉及到许多跟操作系统安全机制紧密相关的内容所以学习一些操作系统的安全知识也是非常有必要的。

像Windows、Linux上各自的权限管理机制提权方法和常用的漏洞工具等等

最后再学习一些虚拟化技术相关的知识应对可能需要从虚拟机中逃逸的场景。

1、CobalStrike & MetaSploit
学习使用这两个神器将大大提升攻击效率是网络渗透人员居家旅行必备之选

2、其他安全技术拓展
到了网络渗透的后期阶段想成为一个安全高手绝不只是固步自封在自己擅长的领域需要多学习网络安全的其他领域拓展自己的知识面。

比如二进制漏洞攻击、逆向工程、木马技术、内核安全、移动安全、侧信道攻击等等当然在学习的时候不用像专业方向的同学那么深入但需要涉猎了解丰富自己的知识面构建全方位的网路安全知识技能栈。

结语

以上就是我网络安全学习路线了希望对自学的你有一些启发和帮助同时我也整理了一套 网络安全自学教程需要的话可以告诉我。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“想从事网络信息安全的工作,该如何自学?” 的相关文章