如何成为一名网络安全工程师,很多朋友在学习安全方面都会半路转行。针对初学者常遇到的问题,整理出最适合零基础学习的网络安全学习路线。
首先聊聊,学习网络安全方向通常会有哪些问题
1、打基础时间太长 学基础花费很长时间,光语言都有几门,有些人会倒在学习 Linux 系统及命令的路上,更多的人会倒在学习语言上;
2、知识点掌握程度不清楚 对于网络安全基础内容,很多人不清楚需要学到什么程度,囫囵吞枣,导致在基础上花费太多时间;看到很多小伙伴,买了 HTML、PHP、数据库、计算机网络等书籍,每本还很厚,很多写得也很深,发现越学越没自信,别人学个 PHP 或者数据库就可以找到工作,而网络安全要学这么多,越来越怀疑自己是不是选错了方向;
3、知识点分不清重点 很多人花了很大精力学完了基础内容,但是发现很多知识和后续网络安全关联不大,没有分清重点,浪费了很多时间;
4、知识点学习不系统 之前看到很多小伙伴在 B 站找了好多视频,也去其他平台买了点小课,百度云盘上也有 1-2T 的学习资料和视频内容,但是每一类学完都需要花费不少时间,且内容很多有重复性,学完 SQL 注入后,后面又看到另一家讲这个 SQL 注入,还不错,又会去学习一遍,发现学完所有 Web 漏洞原理后,自己还是不太确定自己是否把 Web 漏洞这块的知识点学全没有;
5、自己解决问题难 对于初学者来说,很多会自己搭建一些靶场,但是由于配置环境等原因,耽误时间会很多,尤其初学者碰到连续 3 个问题无法解决的时候,很容易放弃;对于一部分动手能力较差的同学,这块可能会直接影响到继续学习的信心;
6、实战水平不够 对于学网络安全,渗透测试方向的技术,其实很大程度上学习的就是技术,通过学习怎么进攻和入侵,才能够更清楚系统和应用怎么去防御;而这块也恰恰是网络安全的核心,如果光有理论,实战经验少,也是较难去就业;在平时学习中,除了可以搭建一些开源的靶场用于练习,最好还是要有真实漏洞组成的靶场用于学习,当然也可以去 SRC 平台去渗透测试一些真实网站(一定要获得授权才可以渗透真实网站),但是难度发现又比较大,很多初学者会丧失信心,怀疑自己;
7、内网学习困难较大 Web 渗透这块的资料在互联网到处都是,学习起来相对较为轻松,但是内网这块的资料在互联网相对较少,能够借鉴的资料不多,另外也需要有相应的靶场配合练习,才能有技术上的提高和积累;学习难度会比较大。
了解了问题,同时结合自身的一些特点来调整学习方向,会事半功倍,以下为学习线路,适用于想学习网络安全的人群!
一、基础阶段 ★中华人民共和国网络安全法(包含 18 个知识点) ★Linux 操作系统(包含 16 个知识点) ★计算机网络(包含 12 个知识点) ★SHELL(包含 14 个知识点) ★HTML/CSS(包含 44 个知识点) ★JavaScript(包含 41 个知识点) ★PHP 入门(包含 12 个知识点) ★MySQL 数据库(包含 30 个知识点) ★Python(包含 18 个知识点)
入门的第一步是系统化的学习计算机基础知识,也就是学习以下这几个基础知识模块:操作系统、协议/网络、数据库、开发语言、常用漏洞原理。前面的基础知识学完之后,就要进行实操了。
因为互联网与信息化的普及网站系统对外的业务比较多,而且程序员的水平参差不齐和运维人员的配置事物,所以需要掌握的内容比较多。
二、渗透阶段 ★SQL 注入的渗透与防御(包含 36 个知识点) ★XSS 相关渗透与防御(包含 12 个知识点) ★上传验证渗透与防御(包含 16 个知识点) ★文件包含渗透与防御(包含 12 个知识点) ★CSRF 渗透与防御(包含 7 个知识点) ★SSRF 渗透与防御(包含 6 个知识点) ★XXE 渗透与防御(包含 5 个知识点) ★远程代码执行渗透与防御(包含 7 个知识点) ★…(包含…个知识点)
掌握常见漏洞的原理、使用、防御等知识。Web 渗透阶段还是需要掌握一些必要的工具。
主要要掌握的工具和平台:Burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具、hydra、medusa 等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了
三、安全管理 ★等级保护(包含 7 个知识点) ★应急响应(包含 7 个知识点) ★风险评估(包含 11 个知识点) ★数据安全(包含 6 个知识点)
主要包括渗透报告编写、网络安全等级保护的定级、应急响应、风险评估、数据安全等。
这一阶段主要针对已经从事网络安全相关工作需要提升进阶成管理层的岗位。如果你只学习参加工程师方面的岗位,这一阶段可学可不学。
四、逆向免杀 ★Windows 逆向(包含 10 个知识点) ★Android 逆向(包含 7 个知识点) ★免杀 - 反杀毒技术(包含 20 个知识点)
作为一名网络安全工程师,逆向免杀技术也是必不可少的一部分
五、编程进阶 ★H5 CSS(包含 8 个知识点) ★Shell 编程(包含 14 个知识点) ★JavaSE 入门(包含 6 个知识点) ★JavaSE 中阶(包含 7 个知识点) ★JavaSE 进阶(包含 7 个知识点) ★C 语言(包含 11 个知识点) ★C++(包含 9 个知识点) ★汇编(包含 22 个知识点)
主要包括 H5 CSS、JavaSE、C 语言、C++、汇编、Shell 编程等。


