本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。首先,在准备进入这个行业之前,我们要问一下我们的内心,工作千千万,为什么要想进入这个行业?
相信每个人的答案都不一样,有的人会说,这个行业整体上比其他行业赚钱多,有的人会说特别喜欢技术,想钻研一下。还有人会说,这个行业处于风口,未来积攒人脉创业。不管你的回答是怎么样的,不管你是为了钱还是为了技术,咱们都要对自己有一个准确的定位,要明确未来几年你想得到什么结果,有了这个目标咱们再去奋斗。如果你想在这个行业不用任何的积攒,想躺着就能赚钱,没有一个行业允许这样,更何况网络安全行业还是一个新兴行业。
有了目标,才有动力去学习,下面咱们要了解一下,网络安全行业都有哪些岗位?你适合哪些岗位咱们新兴技术不做罗列,就算传统的安全岗位:
售后工程师:安全产品的售后服务工作,包括安全产品的交付实施、售后支撑、产品调试上架。比如客户买了咱们的防火墙,咱们要派人去安装调试吧,总不能让客户自己去安装吧。这是产品工程师或者售后工程师的主要工作内容。
售前工程师:主要是协助销售完成跟单,说的通俗易懂一点就是跟销售配合,一个做商务关系(吃吃喝喝、送礼请客)一个做技术方案(解决客户的痛点),两个人配合拿下项目。
渗透测试工程师:这个岗位是大多数人梦寐以求的,展现个人技术的时候到了。主要是模拟黑客对目标业务系统进行攻击,点到为止。
销售:不再赘述,估计你们年轻的人也不太关心,但是等你成长了,你就会发现,你以前的对销售的认知是多么的扯淡。
安全开发工程师:嗯,就是搞开发,要对安全也要了解,比如开发一个web应用防火墙,连web攻击都不懂,那还开发个啥,闭门造车啊,能防的注吗?
安全运维工程师:一个单位买了那么多安全产品,肯定要有人做运维的,分析一下日志,升级一下策略。定期检查一下业务系统的安全性,查看一下内网当中有没有威胁,这都是安全运维工程师要做的内容。
应急响应工程师:客户业务系统被攻击,要快速定位安全问题,要快速恢复业务系统,有的甚至还要取证报警。
等级保护测评师:按照国家要求,重要的业务系统需要按照安全等级进行保护的,目前国家已经发布了等级保护2.0标准,要按照这个标准进行建设。等级保护测评师的工作就是协助客户检查一下业务系统是否满足等级保护的要求,不满足的赶紧整改。
安全服务工程师:好多企业把渗透测试工程师也归到安全服务工程师里面,无伤大雅。不懂安全服务,还不懂吃饭的服务员嘛,就是协助客户做好安全工作,具体的内容比如常见的漏洞扫描、基线检测、渗透测试、网络架构梳理、风险评估等工作内容。安全服务的面很大的,几乎涵盖了上述所有岗位的内容。
说了这么多岗位,把销售和开发踢出去,(大多数少年不关心这两个岗位),其他岗位咱们在划分一下,其实就是
三个方向:安全产品方向、安全运营和数据分析方向、安全攻防和应急方向。除了这个方向,还有个未列出来的方向—安全管理方向,放心少年,这个方向你一时半会用不到,哪个公司傻乎乎的上来就让一个萌新去做安全管理?纵观所有行业,从来没有一个管理者是从毕业生直接校招进来做的。如果有,请记得联系我,我还有好几个表弟表妹马上就大学毕业了,让他们去应聘去。
显然不一样啊,要不然分什么方向,吃饱撑的啊。这个就跟当年高中文理分科一样,问啥要分,因为内容太多,不同的人擅长点不一样,学习的内容那么多,时间那么少,要么压缩内容,要么拉长时间。
言归正传,这三个方向,在实际工作中需要哪些技能点?安全产品方向:懂产品,如防火墙、上网行为管理
安全产品方向:懂产品,如防火墙、上网行为管理、入侵检测/保护、网闸、、数据库审计、堡垒机、抗拒绝服务、云防护产品、杀毒、准入、web应用防火墙、虚拟化安全产品等等。
安全服务、安全测评、风险评估、等级保护、ISO 27000、日志分析、威胁分析、soc运营等等。
安全攻防和应急方向:web攻防、系统攻防、内网渗透、应急响应、代码审计、移动apk监测、工控系统安全检测
等等。
继续,咱们分写总结一下这三个方向的共同点
安全产品方向:产品都是部署在网络上的,所以想入门产品,首先要入门的是网络基础(思科
华为华三都可以),在一个需要调试安全策略,所以需要懂基本的安全知识和原理,总结下来,安全产品入门需要 网络基础+基础攻防
安全运营和数据分析方向:需要对业务系统进行操作,要了解重要业务系统的安全配置是否服务要求,要了解操作系统(windows、linux),了解中间件、了解数据库。了解需要了解国家政策要求,既然是安全威胁分析,肯定要懂基本的安全知识和原理啦,甚至还能的验证一下漏洞。总结下来 安全运营和数据分析方向入门需要:操作系统+中间件配置+数据库配置+基础攻防
安全攻防和应急方向:既然是攻防了,肯定要懂攻击,要有一定的编程语言能力,要登录系统应急,那就要懂操作系统、懂中间件、懂数据库,因此总结下来,入门需要操作系统+中间件配置+数据库+高级攻防
当然作为产品工程师就真的不需要懂操作系统吗,显然不是,国内大多数安全产品都是基于开源linux开发的,不懂的话,出现设备异常了怎么进入设备后台调试。作为安全攻防工程师不需要懂网络吗?不用那么深入,什么ospf
,什么大二层、什么SDN,可以不用懂,但是基础的网络应该懂吧,要不然连IP地址都看不懂,追查谁去啊。
既然你都问的这么直白了,我就告诉你,零基础从什么开始学起最先学起的网络基础+操作系统+中间件+数据库,相信大学里大家基本都学习过,有的没学过的,可以到网上找点资料去学习。然后在稍微补充一点基本的语言功底,建议php,这个目前比价流行。
接下来就是学习基础攻防了,先了解踩点、枚举、漏洞扫描、然后在了解漏洞利用、web网站渗透,在了解木马、提权、横向渗透,最后了解日志清楚、权限维持。上面算是一个标准的黑客攻击流程
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。
在这个阶段,你已经对网络安全有了基本的了解。如果你学完了第一步,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!
所谓的“打地基”其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备5个基础知识模块:
1.操作系统
2.协议/网络
3.数据库
4.开发语言
5.常见漏洞原理
计算机各领域的知识水平决定你渗透水平的上限。
【1】比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;
【2】比如:你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;
【3】比如:你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;
【4】再比如你操作系统玩的好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息
挖SRC的目的主要是讲技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而SRC是一个非常好的技能应用机会。
观看学习近十年所有0day挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维
自己搭建靶场或者去免费的靶场网站练习,有条件的话可以去购买或者报靠谱的培训机构,一般就有配套的靶场练习
CTF有三点:
【1】接近实战的机会。现在网络安全法很严格,不像之前大家能瞎搞
【2】题目紧跟技术前沿,而书籍很多落后了
【3】如果是大学生的话,以后对找工作也很有帮助
如果你想打CTF比赛,直接去看赛题,赛题看不懂,根据不懂的地方接着去看资料
HVV有四点:
【1】也能极大的锻炼你,提高自身的技术,最好是参加每年举行的HVV行动
【2】能认识许多圈内的大佬,扩大你的人脉
【3】HVV的工资也很高,所以参加的话也能让你赚到不少钱
【4】和CTF比赛一样如果是大学生的话,以后对找工作也很有帮助
【1】编码:隐藏在计算机软硬件背后的语言
【2】深入理解操作系统
【3】深入理解windows操作系统
【4】Linux内核与实现
【1】 windows程序设计
【2】windwos核心变成
【3】Linux程序设计
【4】unix环境高级变成
【5】IOS变成
【6】第一行代码Android
【7】C程序语言设计
【8】C primer plus
【9】C和指针
【10】C专家编程
【11】C陷阱与缺陷
【12】汇编语言(王爽)
【13】java核心技术
【14】java编程思想
【15】Python核心编程
【16】Linuxshell脚本攻略
【17】算法导论
【18】编译原理
【19】编译与反编译技术实战
【20】代码整洁之道
【21】代码大全
【22】TCP/IP详解
【23】Rootkit : 系统灰色地带的潜伏者
【24】黑客攻防技术宝典
【25】加密与解密
【26】C++ 反汇编与逆向分析技术揭秘
【27】web安全测试
【28】白帽子讲web安全
【29】精通脚本黑客
【30】web 前端黑客技术揭秘
【31】程序员的应用
【32】英语写作手册:风格的要素
看雪论坛
安全课
安全牛
安全内参
绿盟
先知社区
XCTF联盟
我下面也给大家整理了一些网络安全的资料,大家不想一个一个去找的话,可以参考一下这些,