这应该是全网最全的网络安全扫盲帖了!发CSDN也有一段时间了,经常会有朋友在后台问我各种问题,比如“应该如何选方向”、“网络安全前景如何”、“怎么选适合的安全岗位”等等。于是今天借这个问题来给大家好好说说,如果你是零基础的小白,这篇帖子你一定要看完,看完以后能够少走很多弯路!
内容较长,可以先点赞+收藏,慢慢观看!
循例,先PO目录大纲,方便大家查看:
1.网络安全前景如何?
2.网络安全都有哪些方向
3.安全岗位都有哪些,应该如何选择
4.网络安全从业答疑
5.零基础应该如何学习网络安全
6.应该去哪里去网络安全以及建议
学习网络安全是否需要考证
学习网络安全需要数学或者英语很好嘛
学网络安全是否需要先学编程
打CTF有没有用
学历是否影响工作?
前期刚入门应该用什么操作系统
安全公司对招聘实习生有什么要求?
一、网络安全前景如何?
在谈网络安全前景之前,我们先来看看国家在网络安全领域有哪些动作
在今年3月份颁布的十四五规划和2035远景目标中提到:
而最重要的是,上面这些不是简简单单喊口号,他是非常明确的给出了发展指标的。比如在2025年的时候,我们的数字经济核心产业增长值要占到整个GDP比重的10%。战略性新兴产业要占到GDP比重的超过17%,这是什么概念呢?第一点就是说咱们以现在国家的经济体量来看,这样的一个增长量其实就是一个万亿级的产业,那必定就会催生出一个百亿级的一个人才缺口。第二点就是以现在的GDP的一个缓慢增长的情况下,如果某个产值要占到两位数以上的GDP增长,那就说明这个产业一定会成为未来咱们国家经济发展的主要的经济
并且在2021年7月12日,工信部在官网发布《网络安全产业高质量发展三年行动计划(2021-2023年)(征求意见稿)》中提到到2023年,网络安全产业规模超过2500亿元,年复合增长率超过15%。可见网络安全在未来有着不可限量的发展前景
而目前的市面上技术人员只能填满不到1%的缺口!虽然说人才缺口大,但是随着互联网技术的高速发展,对于网络安全人才的要求也会越来越高。所以要想拿到高薪,提升技术才是首要任务
二、网络安全都有哪些方向?
网络安全是基于应用场景来划分主要可以分为八个方向:
1.网络安全方向:这里的网络特指的就像政务网、企业网、金融网、医疗网、校园网这样一张张的网络基础设施,在学习这个方向的时候会接触到各种通信协议、网络路由技术、防火墙、入侵检测、入侵防御、流量审计等等一些安全产品
2.主机安全方向:主要研究Windows、Linux、micros系统的安全问题,如何保障电脑和服务器的安全,就是这个方向需要解决的
3.Web安全方向:本质是研究代码和软件安全。举个例子,我们平常上网访问的这么一个个网站,其实就是一个个的Web应用。这些网站其实就可能存在前端展现的问题,后端逻辑的问题,数据存储的安全问题,如何找出这些网站的漏洞原理,如何去修复和完善这些网站的问题,就是这个方向要研究的
4.数据安全方向:这个方向的重要性不言而喻,国家针对数据安全已经出台了数据安全法。那可以这么说。无论要建设是一个数字化国家,还是数字化的城市,还是数字化的企业,我们首先要解决的就是数据的安全性。那如何解决数据在存储、处理等等各个环节的安全,就是这个方向要去解决的
以上四个方向就是我们新手小白或者网安从业者,我们首先要去研究的这四个方向,构成了我们整个网络安全产业的一个底盘
其他的还有:
5.云计算安全方向:研究的就是云形态的安全产品以及云基础设施等相关问题
6.移动安全方向:研究的手机、平板等终端的安全,比如安卓、iOS安全
7.物联网安全方向:研究的是物联网基础设施上面的产品和技术的问题
8.工控安全:研究的是工控和工控设施带来的工控安全
而根据技术划分的话网络安全主要分为
网络渗透:
网络渗透在一定的层面上可以理解为就是咱们熟知的黑客入侵,通常见到的可以入侵某一个网站,给某一个网站挂上木马,修改网站内容,改数据库内容(比如改大学教务系统的考试成绩),留一下一个网站的webshell等等其实都属于网络渗透的内容,由于互联网与信息化的普及网站系统对外的业务较多,且由于程序员的水平层次不齐与运维人员的一些配置失误,网络渗透需要掌握的内容较多
简单一点说,其实也就是通过找到一些网站系统的漏洞,然后拿到一个网站的管理权限
二进制:
二进制安全主要工作集中在一些二进制通用漏洞的挖掘、加密解密、软件安全、病毒分析、等主要业务场景。比如常知道的wannacry勒索病毒分析就是属于二进制安全内容
这个方向相比于网络渗透来说技术度会更大一些,且提供这些岗位的公司也会相对较少。不过目前二进制方向的人才非常少,所以竞争也会相对较小
三、安全岗位都有哪些,应该如何选择
安全岗位整体我们可以划分为三个职业路线:
第一个路线就是往研究研发路线去走,主要包括的岗位有:安全产品开发,红队武器的开发,APT的这种攻防研究,漏洞挖掘、逆向分析等等
第二个路线就是这个工程服务线,主要包括的岗位有:渗透测试工程师,外包安全工程师,安全服务工程师,安抚项目经理等等
第三个路线就是市场的业务路线,主要包括的岗位有:销售工程师,安全售前,安全咨询,解决办公室等等等等。
这么多的安全岗位,我们如何结合自己的这个条件来进行选择呢?这里给出三个建议。
第一个建议,如果你的学校学历以及专业各个方面背景都特别好,并且软件开发能力功底也比较深厚。像这种情况,我建议你不用怀疑,直接选择研究研发岗。这是整个安全行业,甚至IT产业里面竞争力处于金字塔顶尖的一波岗位。如果你之前已经从事了很多年的转型开发行业,这个时候突然想转安全岗,你可以考虑跳到研究研发这些岗位里面去。
第二点建议,如果你研发水平一般,但是你原来是网工运维出身的。这种情况,你的工程实践能力其实不错的,我建议你走工程服务路线。这个路线的相关的岗位,其实不要求你有什么开发能力,只要求你熟悉一到两门编程语言有一定的开发能力,能看懂代码,能熟练的使用工程工具,能跑客户现场,能把客户服务好这就可以了。这类人才在整个安全圈里面估计占了百分之6.70
第三个建议,如果你没有研究研发能力,也没有工程服务能力,那是不是就没戏了呢?是不是就没法混安全圈了,其实不
如果你的沟通表达能力不错,文档制作能力也很强。那这个时候,其实你可以选择往市场的业务路线去走,写写项目标书,做做安全咨询,维护一下客户关系。这也是为行业创造的价值。别小看虽然是市场方向,但是只要做的好,这些岗位的薪酬报酬未必会超过技术岗位
四、网络安全从业答疑
1.学习网络安全是否需要考证
对于安全行业来讲,其实证书并不是一个必须的。但是如果说你去传统企业,国企、政府或者是学校里面当老师什么的,这就另算了。如果说你证书多一些会相对来说更好一点。比如说在同等情况下,你跟另外一个候选人的情况都差不多,技术能力、年龄、经验都差不多的情况下,这时候如果说你的证书多一点,可能会略有优势。但是整体而言安全行业的证书算是锦上添花的东西,并不是必须的。如果说你一定问我要可以考什么证书呢?那我觉得CISP、CISSP或者是一些标准类的27001 LA等等。或许某些场合有可能用得到
2.学习网络安全需要数学或者英语很好嘛
我觉得目前90%以上的同学目前离远没有到达会受到英语水平,或者数学水平限制学习的程度。
3.学网络安全是否需要先学编程
其实这个问题我在知乎已经回答过很多次了,我个人的建议是你最开始入门的时候可以先不用学编程,就先去玩一玩渗透安全攻防技术。等你自己搞一段时间之后,其实你都不会再问这个问题了,到时候你自己就知道了。不过如果你完全不懂编程,你的渗透技术将会遇到一个极大的而且是不可突破的瓶颈。所以说编程的学习还是非常重要的,只是我个人不太建议一开始就先学编程。
因为编程相比渗透和安全技术来讲是比较枯燥的。你可能无法很快的及时的得到一个积极的有趣的反馈和奖励,所以说很有可能在你学编程的这个阶段,你就把自己给劝退了。但相比之下,这个渗透和安全技术可能会能够让你很快的就有一些满足感,也能够很好的培养学习兴趣,这样是有利于你坚持学习下去的!
4.打CTF有没有用?
我建议如果你是在校大学生有机会去参加CTF比赛的话,那就尽可能去参加。即使你去是去打酱油的也无所谓,一定会有收获的。但是如果你是转行的话,我建议还是以SRC等实战为主吧。现在HR招人的主要看的就是你的实战能力
5.学历是否影响工作?
目前很多公司,无论是甲方互联网公司还是乙方安全公司,都会有一个最基本的学历要求,就是本科或者本科以上的学历。如果你没有本科或者以上学历,很有可能你的简历在HR那一关就直接被刷掉了。不只是网络安全行业是这样,现在所有的行业都是如此。
但是如果说你的能力真的很强,技术真的很强。其实学历这个东西也不是一个百分之百的硬性的门槛。就是说如果你面试的时候真的有非常强的能力,或者说是有人帮你内推并且。你有机会跟面试官聊的时候,让他感受到能力非常强的话,其实有的时候也是可以有一些特殊的流程,有一些特批的
6.前期刚入门应该用什么操作系统
其实这个问题真的不需要想那么复杂,你就用Windows就行了,咱们中国人最熟悉的操作系统就是windows。你前期学的东西都是非常基础的东西,这些都是有相应的工具和环境的,完全没必要要求自己必须用Linux。本身在刚入门的时候需要学习和掌握的东西很多,还非要化简为繁,那很有可能你在操作系统这块就把自己劝退了,所以还是先活下来最重要
考虑到题主可能是一个新手,因此,接下来我会详细告诉你本学习路线图中每个阶段都需要学什么、学到什么程序
第一阶段: Web 技术入门
这个阶段的学习目标是:搭建属于自己的博客 / 论坛 / 网站(成为一名站长)、掌握 Web 技术架构、搞懂浏览器和网站之间的通信原理
Web 网站实战
HTTP原理与实践
工具软件
网站运行环境
CMS 程序包
抓包调试
第 二阶段: Web 前端开发
这个阶段的学习目标是:掌握 Web 前端开发技术,学习 HTML、CSS、JavaScript 编程语言,能独立制作 Web商业级页面
1 技能清单
HTML 编程原理与实践
CSS 编程原理与实践
JavaScript 编程原理与实践
工具软件
第三阶段: Web 后端开发
这个阶段的学习目标是:掌握 Web 后端开发,学习 Python 编程与 Django Web 开发框架,掌握 MySQL 数据库原理与操作。从零开始独立开发一个 Web 网站,并基于 LNMP 架构在 CentOS 服务器上进行部署
这里要特别强调下,后端技术涉及的编程语言、Web框架、数据库、中间件、操作系统等技术众多,作为新手,可以遵循一个原则,即「深入某个技术栈,横向扩展其他」
例如,在这个路线图里面,我们选择 Python/Django 作为后端学习的技术栈,因为相比 Java 或 PHP,Python 对于新手而言更加友好,代码简洁且语法清晰。不仅如此,由于众多安全工具和测试代码基于 Python 开发,其也被称为黑客或网络安全领域的第一语言。
当我们完成了 Python / Django 的学习之后,后续也可以再横向拓展到 PHP/Thinkphp 或 Java/Spring 等后端技术栈,这样才能更好的胜任 Web 安全测试工作
Python 编程原理与实践
Django Web 项目开发实战
工具软件
第四阶段:Web 安全渗透
这个阶段我们的学习目标是:
Web安全渗透之实验室搭建
Web安全渗透之信息搜集
Web安全渗透之漏洞扫描
Web安全渗透之SQL注入与防御
Web安全渗透之文件上传攻击与防御
Web安全渗透之文件包含攻击与防御
Web安全渗透之命令执行攻击与防御
Web安全渗透之 XSS 攻击与防御
Web安全渗透之 CSRF 攻击与防御
高级渗透测试系列
工具软件
信息搜集
漏洞扫描
SQL注入漏洞
XSS/CSRF漏洞
文件上传
命令执行
六、应该去哪里去网络安全以及建议
很多新手小白在刚开始入门的时候会疯狂搜索各种安全教程,网上关于网络安全的学习资源也有很多。于是新手小白就会逢资源就下,逢视频就看,先不说这些资源质量好不好吧,能学习到的知识点也是十分的分散,重复性极强。代码看不懂、讲解听不明便、一知半解的情况时有反正,于是浪费了大量的学习时间。这里我建议大家在刚开始的时候,选择一套优质的,自己能听的明白的视频坚持学习足以
我个人比较推荐下面这套免费的入门视频。这套视频全程都是实战教学,就算你是零基础的小白也完全能够听得懂。而且每节课程都配备了相对应的靶场,新手小白可以在学习完理论知识以后再去靶场练习,这样能够再实战中加深理解、拓展学习,帮助零基础的同学更快入门!报名后还可以获取全套的渗透工具以及书籍、SRC笔记等等学习资源。感兴趣的同学可以点击下方卡片报名