作为一个工作了8年,在Web安全攻防和渗透领域有着丰富实践经验的老鸟,他最近在知乎回答了一系列关于网络安全的问题,但这是我第一次在百家号上给大家介绍网络安全。没想到的是,还有那么多朋友不了解网络安全行业。所以今天我就详细给百家号的兄弟们说说。
首先,在准备进入这个行业之前,我们要问问自己的内心,为什么要进入这个行业?

相信每个人的答案都不一样。有人会说这个行业整体比其他行业赚钱多,有人会说特别喜欢技术,想研究技术。还有人会说这个行业很前沿,以后积累人脉,创业。不管你的答案是什么,是为了钱还是为了技术,我们都要对自己有一个准确的定位,知道未来几年你想要什么结果。有了这个目标,我们再奋斗。想在这个行业没有任何积累,想躺着也能赚钱。没有哪个行业允许这样,更何况网络安全行业还是一个新兴行业。
有了目标,才能有动力去学习。我们来了解一下网络安全行业都有哪些岗位?你适合哪些岗位?
先不说新兴技术,就算是传统的安全岗位:安全产品工程师、安全顾问、渗透测试工程师、销售、安全开发工程师、安全运维工程师、应急响应工程师、等级保护测试员、安全服务工程师。总的来说,其他的小众职位还真多。
安全岗位的一般工作内容或职责
售后工程师:安全产品的售后服务,包括安全产品的交付和实施,售后支持,产品调试和上架。比如客户买了我们的防火墙,我们要派人去安装调试。我们不能让客户自己安装。这是一个产品工程师或者售后工程师的主要工作。
售前工程师:主要协助销售完成后续工作。说白了就是配合销售,一个做业务关系一个做技术方案,两个人合作拿下项目。
渗透工程师:这个职位是大多数人的梦想。是时候展示你的个人技能了。主要是模拟黑客攻击目标业务系统。
销售:我就不细说了。估计你们年轻人也不怎么在意,但是等你们长大了就会发现,你们之前对销售的认知是多么的扯淡。
安全工程师:嗯,只是从事开发,也要了解一下安全。比如你开发一个web应用防火墙,连web攻击都不知道,为什么要关起门来开发?能预防吗?
安全运维工程师:一个单位买了那么多安全产品,肯定有人做运维。分析日志并升级策略。定期检查业务系统的安全性,看看内网有没有威胁,这是安全运维工程师应该做的。
应急响应工程师:当客户的业务系统受到攻击时,需要快速定位安全问题,快速恢复业务系统,有的甚至需要取证和报警。
等级保护鉴定师:按照国家的要求,如果重要的业务系统需要按照安全等级进行保护,国家已经出台了等级保护2.0标准,要按照这个标准进行建设。等级保护评估师的工作是协助客户检查业务系统是否符合等级保护的要求,如果不符合,则迅速整改。
安全工程师:很多企业也把渗透测试工程师归为安全服务工程师,无伤大雅。不懂安全服务和怎么吃饭的服务员,就是帮客户做安全工作的人,比如常见漏洞扫描、基线检测、渗透测试、网络架构梳理、风险评估等等。安保服务范围广泛,几乎涵盖上述所有职位。
说了这么多岗位,我们就把销售和开发踢出去。我们再把其他岗位分为三个方向:安全产品方向、安全运营与数据分析方向、安全攻防方向、应急方向。除了这个方向,还有一个未列出的方向——安全管理方向。别担心,年轻人。你暂时不需要这个方向。哪个公司愚蠢地让一个孟新做安全管理?
纵观所有行业,从来没有直接从毕业生中招聘过管理者。如果有,请记得联系我。我有几个即将大学毕业的堂兄弟。让他们申请。
那么问题来了?这三个方向的内容是一样的吗?
显然是不一样的。不然会往什么方向走?你会吃饱的。这和高中文科分科是一样的。因为内容太多,不同的人擅长的点不同。内容这么多,时间这么少,他们要么压缩内容,要么拉长时间。言归正传,这三个方向,实际工作中需要哪些技能?
产品方向:产品知识,如防火墙、在线行为管理、入侵检测/防护、网关、vpn、数据库审计、堡垒机器、反拒绝服务、云防护产品、杀毒、访问、web应用防火墙、虚拟化安全产品等等。
运营和数据分析方向:安全服务、安全评估、风险评估、等级保护、ISO 27000、日志分析、威胁分析、soc运营等。
安全攻防与应急方向:web攻防、系统攻防、内网渗透、应急响应、代码审计、移动apk监控、工控系统安全检测等。
继续,我们分别总结一下这三个方向的共性:
产品方向:产品都是部署在网络上的,所以想要入门,首先要从网络基础入手。在一个需要调试安全策略的地方,需要了解基本的安全知识和原理。综上所述,安全产品入门需要网络基础+基础攻防。
运营和数据分析方向:需要运营业务系统。要了解重要业务系统的安全配置是否满足服务需求,需要了解操作系统、中间件和数据库。了解国家政策的要求。既然是安全威胁分析,就要了解基本的安全知识和原理,甚至要验证漏洞。总结一下安全运营和数据分析的入门要求:操作系统+中间件配置+数据库配置+基础攻防。
安全攻防和应急方向:既然是攻防,就要懂攻击,有一定的编程语言能力,登录系统应急,所以必须懂操作系统,中间件,数据库。所以总结一下,你需要操作系统+中间件配置+数据库+高级攻防才能入门。
当然,作为产品工程师,真的不需要了解操作系统?显然不是。国内大多数安全产品都是基于开源的linux开发的。不了解,不正常怎么进入设备后台调试?作为安全攻防工程师不需要了解网络吗?你不用去那么深。ospf,Layer 2,SDN你不用懂,但是基础网络要懂。不然连IP地址都搞不清楚,谁来追查?
说完宏观方向,我们就落到具体的技术点上。
那么问题又来了。作为孟新·小白,我应该先学什么,然后再学什么?
我们以Web安全为例。让我向你们展示我为我的团队朋友制定的内部培训路线图:
1.网络安全的相关概念
熟悉基本概念。
Google/sec wiki;通过关键词;
阅读精通脚本黑客。虽然很旧,有错误,但还是可以上手的;
看一些渗透笔记/视频,了解实战中渗透的全过程。可以谷歌;他们;
2.熟悉渗透相关工具。
熟悉AWVS,sqlmap,Burp,nessus,chopper,nmap,Appscan等相关工具。
要了解这类工具的用途和使用场景,先用软件名Google/sec wiki;;
下载软件无后门安装;
学习并使用它。具体教材可以在SecWiki上搜索,例如:Brup的教程,sqlmap;
这些要常用的软件都学会了安装sonic startup作为渗透工具箱;
3.渗透实战操作。
掌握渗透全阶段,能够独立渗透小站点。
在网上寻找渗透视频并思考其中的思路和原则,关键词;
自己找场地/搭建测试环境进行测试。记得把自己藏起来。
思维渗透主要分为几个阶段,每个阶段需要做哪些工作;

学习SQL注入的种类、原理和手工注射技巧;
研究文件上传原理,如何截断,双后缀欺骗,漏洞利用等。
研究XSS形成的原理和类型。具体学习方法可以是Google/sec wiki;;
Windows/Linux的方法及具体应用研究:
4.关注安全圈动态。
关注安全圈最新漏洞、安全事件、技术文章。
通过SecWiki浏览每日安全技术文章/事件;
通过微博/推特关注安全圈的员工,每天抽时间刷一刷;
通过feedly/鲜果订阅国内外安全技术博客。如果没有feed,可以看看SecWiki的聚合专栏;
养成每天主动向SecWiki提交安全技术文章进行积累的习惯;
多关注一下最新的漏洞列表,推荐几个:exploit-db,CVE中文库,Wooyun等,并练习所有公开的漏洞。
关注国内外安全会议的议题或视频,推荐SecWiki-Conference。
5.熟悉Windows/Kali Linux
学习Windows/Kali Linux的基本命令和常用工具;
熟悉Windows下常见的cmd命令,如ipconfig、nslookup、tracert、net、tasklist、taskkill等。
熟悉Linux下的常用命令,如ifconfig、ls、cp、mv、vi、wget、service、sudo等。
熟悉Kali Linux系统下的常用工具,可以参考SecWiki,用Kali Linux进行Web测量测试,用Kali进行黑客攻击等。
熟悉metasploit工具,请参考SecWiki和metasploit渗透测试指南。
6.服务器安全配置
学习服务器环境配置,通过思考发现配置中存在的安全问题。
Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限;
Linux环境下LAMP的安全配置主要包括运行权限、跨目录、文件夹权限等。
远程安全加固,限制用户名密码登录,通过iptables限制端口;
配置软件Waf加强系统安全,在服务器中配置mod_security等系统;
通过Nessus软件对配置环境进行安全性测试,发现未知的安全威胁。
7.脚本编程学习
选择一种脚本语言Perl/Python/PHP/Go/Java,从公共库中学习编程。
构建开发环境,选择IDE。PHP环境下推荐Wamp和XAMPP,Sublime在IDE中强烈建议使用;
Python编程学习,学习内容包括:语法、正则、文件、网络、多线程等常用库。建议看Python核心编程,不要看完;
用Python写漏洞的exp,然后写一个简单的网络爬虫;
学习PHP的基本语法,写一个简单的博客系统。参见PHP和MySQL编程和视频。
熟悉MVC架构,并尝试学习一个PHP框架或Python框架;
了解Bootstrap或CSS的布局;
8.源审计和漏洞分析
能够独立分析脚本源代码程序,发现安全问题。
熟悉源码审计的动态和静态方法,知道如何分析程序;
从Wooyun寻找开源程序的漏洞进行分析,自己尝试分析;
了解Web漏洞产生的原因,然后通过关键词进行搜索分析;
研究Web漏洞的形成原理以及如何从源头层面规避这类漏洞,并编制成检查表。
9.安全系统的设计与开发
能够建立自己的安全系统,并提出一些安全建议或系统架构。
开发一些实用的安全小工具,开源体现个人实力;
建立自己的安全体系,对公司安全有自己的认识和见解;
提议或加入大型安全系统的架构或开发;

看你自己发展吧~
有了路线,接下来就是沿着这条路线的框架去寻找合适的素材进行研究。找材料的方法有很多,比如CSDN,比如知乎,还有哔哩哔哩。很多人都在分享自己的学习资料,但是我觉得这里有一个很大的问题就是不连贯,不完善。大部分免费分享的教程都只是东一片西一片,前言不搭后语,学完就丢了。这是我以前自学的。
如果你想自学,我可以分享一些我整理的资料,有需要的话可以在评论区告诉我!
莫问
如果觉得有帮助,可以帮老黄点赞,收藏。也欢迎大家在评论区指出错误或者不清楚的地方。谢谢大家!


