在信息安全领域建立一个成功的职业生涯的规范性指南。
· 教育
· 建立你自己的实验室
· 你就是你的项目
· 用奖金激励练习
· 有自己的风度
· 关于资质证书
· 作出贡献
· 与他人建立关系网
· 参加会议
· 对 CFP 的反应
· 找到你的第一份工作
· 掌握专业精神
· 了解业务
· 有激情
· 成为大师
我从事信息安全(现在很多人称之为网络安全)工作已经有20年了,而且大部分时间我也在写有关信息安全的文章。 所以我收到了大量的邮件询问以下问题:
如何才能进入信息安全行业?
所以这篇文章就是我对这个问题的回答,我把这个问题的所有方面都集中在了这篇文章中。 这篇文章会给你一些知识,让你从一个完全的新手,到找到你的第一份工作,最终到达行业的顶端。
下面是我的划分与解释,让我们开始吧。
教育
信息安全是一门高级学科,这意味着您最好在进入其他技术领域之前就进入该领域。 这不是必须的,但是是普遍的,也是很理想的一种情况。 信息安全人员通常来自以下三个领域:
1.系统管理
2.网络
3.开发
这些都是最常见的切入点。 最好是开发,然后是系统管理,然后是网络。
但是让我们假设你没有任何这些方面的背景,并且你需要从零开始。 我们需要了解你,主要有三种方法:
· 大学
· 职业学校
· 资质证书
我建议读一个四年的计算机科学或计算机信息系统或信息技术专业的课程,最好选择一所不错的大学。 但是当你这样做的时候,你还需要完成这篇文章中提到的其他事情。
你在大学里学到了什么取决于课程内容和你与他人的互动,以及你在不同地方学到的内容。 比如,和一群聪明人一起闲逛,并做出一些东西,这才是大学真正的好处。
有很多人上的是计算机科学或安全专业的大学,但从来没有在这个行业取得成功,也有很多人从来没有达到过最高水平。 大学不是一切。
如果你不能上大学,你需要学习其他的方法,例如,职业学校或证书。 只要你有好奇心和自律能力去完成你开始做的事情,以上任何一条都可以。
以下是你需要从大学、职业学校或自学/资质认证中获得的基本领域:
1.网络(TCP/IP/交换/路由/协议等)
2.系统管理 (Windows/Linux/活动目录/系统加固等)
3.编程(编程概念/脚本/面向对象基础)
数据库也在其中,与系统管理和编程混合在一起。
如果你在这三个方面都没有良好的基础,并且理想情况下在其中一个方面有一定的实力,那么你很难在信息安全职业的早期阶段取得进步。 在这一阶段中的关键是,你不能在你的游戏中有重大漏洞,而在这些方面的任何一个弱点都会是一个重大漏洞。
稍后我会谈到更多关于资质证书的内容,但是我在上面提到它们只有一个原因: 你可以使用证书教材书籍作为教学指南。 他们很擅长向你展示最基本的东西。 以下是一些例子:
· A+
· Security+
· Linux+
· CCNA
市面上有很多很棒的书(只需在谷歌上搜索就能找到很多比较好的书) ,这些书籍可以非常快速地向你展示一个主题的基本知识。 这是一个很好的方法,可以确保你的知识中没有任何重大的空白。
编程
编程本身就足够重要了。如果你不培养你的编程技能,你的信息安全事业将受到严重限制。
在这里你可以查看不同类型的程序员之间的区别。
你可以在不做程序员的情况下找到一份工作。 甚至可以找到一份好工作,还甚至可以晋升到管理层。 但是如果你不能建造东西,你就永远达不到信息安全的精英水平。 网站、 工具、 概念证明(PoC)、 等等。
如果你不会写代码,你就会一直依赖那些会写代码的人。
所以,请学习编程吧。
知识输入来源
对于任何信息安全专业人士来说,最重要的事情之一就是为新闻、文章、工具等提供一组良好的输入。
传统上,这是根据用户喜欢的安全领域列出首选新闻源来实现的。 有些网站专注于网络安全、应用安全、 OPSEC、 OSINT、政务安全等等。
然而,Twitter 正逐渐取代以下网站。 其主要原因是数据的新鲜性。 Twitter 是实时的,这使得它比传统资源更具优势。
Twitter 允许你创建(并订阅)列表。 因此,如果你想关注的用户名是@xxx,你可以将它添加到列表中,然后列表中的每个人发推文你都可以收到消息。
我的建议是使用两个主要源:
1.Twitter
2.RSS feed
在 Twitter 上关注那些可以让你了解新思维方式、新学习方法和新知识的人。 然后在你的 RSS 阅读器中找到他们所有的资源并跟踪这些资源。 我推荐使用 Feedly 订阅 RSS。
建立你的实验室
拥有一个实验室是必不可少的。 这实际上是我在面试中看到应聘者时首先要问的问题之一。 我问他们要玩什么样的实验室或网络,如果他们回答说没有,我会感谢他们抽出时间。
实验室是你学习的地方。 实验室是你运行你的项目的地方。 实验室是你成长的地方。
设置实验室有几个选择。
1.在笔记本电脑或台式机上安装 VMware (或类似的软件)
2.在充当服务器的笔记本电脑或台式机上安装 VMware (或类似的软件)
3.使用一个真正的服务器,在上面安装 VMware (或类似的)
4.使用在线的 VPS 系统(EC2,Linode,Digital Ocean,LightSail 等)
如果你有钱的话,我建议你把第三条和第四条结合起来,第三条优先。下面是一些你想在这样的实验室里做的事情:
· 为你的家庭网络建立一个活动目录林
· 从活动目录运行你自己的 DNS
· 从活动目录运行你自己的 DHCP 服务器
· 在你的网络中有多个域,包括一个 DMZ(如果你打算对外提供服务的话)
· 尽快升级到真正的防火墙。 我推荐 Sophos 的防火墙(以前是 Astaro) ,因为自从它出现以来我一直在使用它,对于 iptables 和 pf ,还有其他很好的选择。 这样的做法需要你了解路由和 NAT 以及所有对进程非常重要的基础知识。
· 在 Windows/IIS 上建立一个网站
· 在 Linux/PHP 上建立一个网站
· 在 Linux/Wordpress 上创建一个博客站点
· 随时准备好安装 Kali Linux
· 构建一个 OpenBSD 并使用 DJBDNS 创建一个 DNS 服务器
· 设置一个代理服务器
· 在 VPS 上构建并运行你自己的 VPN
· 建立和配置一个使用 Postfix,Qmail,或 Sendmail (我推荐 Postfix)发送电子邮件到互联网的电子邮件服务器
我在上面使用了一些专业术语,你可能需要查一查。 把这当作一次练习吧!
这些是最基本的。 大多数信息安全的忠实拥护者在过去的几年中已经做过几十次甚至几百次这样的事情了。
实验室的好处是你现在有一个做实验的地方。 你从你的新闻源中听说了一些事情,然后你就可以跳到你的实验室里,启动一个虚拟机,然后继续研究。 对于一个不断成长的信息安全思维来说,这是无价的。
现在你有了这个清单,你可以开始专注于你自己的项目了。
你就是你的项目
这就是书本知识停止和创造力开始的地方。 你应该一直坚持做一些项目。
项目往往与编程有很大的交叉。这个想法是,你想出一个可能对人们有用的工具或实用工具,然后开发出来。
当你在学习的时候,如果有人已经提前做了一些事情,不要太担心。 创建项目是很有趣的事情,而且你慢慢会习惯了使用代码将一个东西从概念一步步到完成实现所带来的兴奋感。
你想要培养的关键技能是能够根据当前的处理方式识别其中存在的问题,然后1)想出解决方案,2)创建解决方案的工具。
项目表明你可以实际应用知识,而不仅仅是收集知识。
不要去想你有多少项目。如果你那样做,那就太假了。 相反,只关注安全方面的有趣问题,让想法和项目自然而然地出现在你面前。
在写作的世界里,有一个最高的标准是“展示,而不是讲述”。 项目负责展示,收集知识负责说明问题。
用奖金激励练习
现在你有了一个实验室,有了一些扎实的技能,还有一些你一直在做的黑客项目,你可能想要做一些做漏洞奖励的事情。
这样做的原因可以最好的总结为快速获得实际的工作经验,这是任何想给你一份工作的人的第一要求。 因此,除了编码经验(与你的项目) ,你也可以通过奖金获得测试经验。
你可以在两个主要的平台上获得奖励: BugCrowd 和 HackerOne。 还有很多类似的平台,但是这两个平台是最成熟的也是程序最多的。
这个过程就是你在网站上注册,寻找一个你感兴趣的程序来寻找漏洞。 以下是一些需要记住的事情:
· 仔细阅读与每个程序相关的规则和限制。 你不希望与平台或者客户发生冲突
· 赏金计划有很多种类型。 有些是付费的,这些付费的有着更高级的审查和竞争,另一些则更多是为了荣誉,或者则可以单纯用于练手,这些对于初学者来说是更好的练习机会
· 我强烈推荐学习 Jason Haddix 的 Web 漏洞赏金方法; 学习他的方法是开始发现漏洞的最快方法
这个世界非常微妙,有许多规则和独特的礼仪,你应该学习。所以要尊重这一点,这样你会更有效率,而不至于可能踩到别人的脚趾头。
无论是在 GitHub 上编程还是在做赏金猎人,我们的目标都是在你找到工作之前或者在你想要从事的领域中找到工作之前获得专业的经验。 这是展示的方式,而不是讲述的方式。
拥有一个活跃的 GitHub,并在你的赏金资料中发现一些可靠的漏洞,这是一种让你与那些仍停留在纯理论阶段的人区别开来的方法,可以很容易地帮助你获得你的第一份工作,或者在一个你还没有涉足的领域找到一个新的工作。
本文翻译自:https://danielmiessler.com/blog/build-successful-infosec-career/如若转载,请注明原文地址