最近看到网上有很多人在问诸如:“怎样成为网络安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,网络信息安全工程师随之成为炙手可热的职业。关于职业前景的详细分析,我们在《国内信息安全行业真的很有前途,职位空缺很大吗?》一文中已经探讨过,欢迎阅览。
首先,我们来看看网络安全工程师的定义:指遵照信息安全管理体系和标准工作,防范黑客入侵并进行分析和防范,通过运用各种安全产品和技术,设置防火墙、防病毒、IDS、PKI、攻防技术等。同时进行安全制度建设与安全技术规划、日常维护管理、信息安全检查与审计系统帐号管理与系统日志检查等的人员。
从这个定义中,我们能清楚的看到从事网络安全工作需要掌握的技能。这些知识和技能不是一朝一夕就能修成正果的。需要注意的是:计算机知识与网络安全息息相关,学校学习的计算机基础知识是进阶到网络安全学习的基石,因为网络安全工程师是网络安全众多分支中的一条路径,所以,必须要把计算机知识这个根基打牢,这样,后期在学习或应用中,才能在网络安全众多分支中自如切换。所以,首先要打击一下急于求成的心态,抛弃那些标榜“宝典”、“诀窍”、“XX天从入门到精通”的书籍或教程,踏踏实实的学习每一项理论和技能才是正道。
进入正题,接下来,我们来分享一下如何由浅入深、循序渐进的get网络安全技能。
一、百思莫解之菜鸟篇
对于刚接触网络安全的门外汉,无论是自学还是上课都有一个大前提,就是读大量的书,掌握安全基本知识。因为网络安全涉及的知识面广、术语多、理论知识多,需要我们投入很多时间和精力来学习,掌握网络安全基本知识,安全的概念和定义、常见的安全标准等。以下几本书至少应该读一遍,一开始你可能会感觉理论部分看得云里雾里的,但是坚持啃下来,在今后的学习中你会发现,这部分的积累非常重要。
参考书:《CIW:安全专家全息教程》《计算机系统安全》《计算机网络安全导论》《winsock网络编程经络》
二、茅塞顿开之小白篇
掌握了必要的理论,就要开始展开技能方面的学习了。具体的技能与之前的理论结合起来,你会有茅塞顿开的感觉。这部分的学习主要包括:解密与加密、协议层安全。
解密与加密
软件的加密与解密是一个迷人的研究领域,它几乎可以与任意一种计算机技术紧密结合——密码学、程序设计语言、操作系统、数据结构。没有加密技术,任何网络安全都是一纸空谈,加密学的应用贯穿了整个网络安全的学习过程中。
先了解一下计算机中的程序。高级语言编写的程序,会编译成机器语言在CPU中执行,如Visual C++等。由于机器语言与汇编语言是一一对应的,因此可将机器语言转化成汇编语言,这个过程称之为反汇编。而汇编语言可能读性是比较好的,这样就可分析程序流程,解析其功能了,这个过程就是解密(俗称破解)。也就是说,解密的基础是建立在汇编语言级别上的,因此想涉足这一领域的朋友,汇编语言一定得学好。等汇编学好了,建议再掌握Win32编程。
学习解密与加密是很累的,需要花费大量的时间,而且会经常碰壁,三五天毫无进展是极为平常的事情,除了勤奋+执着,没有别的秘诀。但掌握这方面技术可以通过跟踪软件,提高自己的调试技能,了解他人程序思路,写出更好的程序。
参考书:《Windows程序设计》《Windows环境下32位汇编语言程序设计》《密码学》《密码工程实践指南》《秘密学导引》《Windows95 系統程式设计大奧秘》《windows高级编程指南》《Windows2000编程技术内幕》《Win32系统编程—Windows 2000应用程序开发指南》
协议层安全
协议层安全主要涉及和TCP/IP分层模型有关的内容,包括常见协议的工作原理和特点、缺陷、保护或替代措施等等。系统学习TCP/IP方面的知识有很多原因。要适当地实施防火墙过滤,安全管理员必须对于TCP/IP的IP层和TCP/UDP层有很深的理解、黑客经常使用TCP/IP堆栈中一部分区或来破坏网络安全等。所以你也必须清楚地了解这些内容。
参考书:《TCP/IP详解 卷1:协议》《用TCP/IP进行网际互联第一卷原理、协议与结构》
三、驾轻就熟之高手篇
掌握了以上基础知识和技能,你就不再是网络安全小白了,下一阶段的学习会让你成为网络安全高手,对理论做到触类旁通,对技术做到驾轻就熟。高手的技能修炼主要包括两部分:Windows安全(攻击与防御)和Unix/Linux安全(攻击与防御)。
Windows安全(攻击与防御)
因为微软的Windows NT操作系统已被广泛应用,所以它们更容易成为被攻击的目标。
对于Windows安全的学习,其实就是对Windows系统攻击与防御技术的学习。而Windows系统安全的学习内容将包括:用户和组、文件系统、策略、系统默认值、审计以及操作系统本身的漏洞的研究。
参考书:《黑客攻防实战入门》《黑客大曝光》《狙击黑客》
Unix/Linux安全(攻击与防御)
随着Linux的市占率越来越高,Linux系统、服务器也被部署得越来越广泛。Unix/Linux系统的安全问题也越来越凸显出来。作为一个网络安全工作者,Linux安全绝对占有网络安全一半的重要性。但是相对Windows系统,普通用户接触到Linux系统的机会不多。Unix/Linux系统本身的学习也是他们必须饿补的一课!
参考书。《Red Hat Linux 9桌面应用》《Red Hat Linux 9系统管理》《Red Hat Linux 9网络服务》《Red Hat Linux安全与优化》《Unix 黑客大曝光》
四、豁然开朗之达人篇
掌握了Windows安全和Unix/Linux安全,你一定迫不及待的想搞定防火墙技术和入侵监测系统(IDS)。到了这个阶段,你会发现网络安全非常有趣,学习的过程就是满足好奇心的过程,而完成了这一部分的学习后,你就可以成为一名合格的网络安全工程师了。
防火墙技术
防火墙技术是网络安全中的重要元素,是外网与内网进行通信时的一道屏障,一个哨岗。除了应该深刻理解防火墙技术的种类、工作原理之外,作为一个网络安全的管理人员还应该熟悉各种常见的防火墙的配置、维护。
至少应该了解以下防火墙的简单配置:
1)常见的各种个人防火墙软件的使用;
2)基于ACL的包过滤防火墙配置(如基于Windows的IPSec配置、基于Cisco路由器的ACL配置等;
3)基于Linux操作系统的防火墙配置(Ipchains/Iptables);
4)ISA配置;
5)Cisco PIX配置;
6)Check Point防火墙配置;
7)基于Windows、Unix、Cisco路由器的VPN配置。
参考书:《网络安全与防火墙技术 》《Linux防火墙》《高级防火墙ISA Server 2000》《Cisco访问表配置指南》《Check Point NG安全管理》《虚拟专用网(VPN)精解》
入侵监测系统(IDS)
防火墙不能对所有应用层的数据包进行分析,会成为网络数据通讯的瓶颈。既便是代理型防火墙也不能检查所有应用层的数据包。
入侵检测是防火墙的合理补充,它通过收集、分析计算机系统、计算机网络介质上的各种有用信息帮助系统管理员发现攻击并进行响应。可以说入侵检测是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。
到了达人阶段,相信你已经跃跃欲试,想要凭借自己的所学做出点成绩了。但是,理论的学习固然重要,但最后还是要落实到实践,一个精通理论而不熟悉技术和产品的人不可能成为合格的网络安全工程师。
如果没有机会实践,比较好的方法是多分析成功案例。初入网络安全行业的工程师不会有太多的案例上手,弥补这块短板的方式就是研究别人的成功案例,从案例分析中汲取技术、技能,掌握方案设计思路,熟悉相关产品,尽快提高在高压环境下现场解决问题的能力。
另外,推荐两个关注网络安全和技术的网站:http://freebuf.com、https://pentesterlab.com。这里有最新网络安全资讯、技术分享,也许还能在这里遇到志同道合的人,
网络安全工程师作为技术与市场之间的最佳“纽带”,未来可选择的职位很丰富。虽然网络安全工程师的工作既辛苦又难做,但恰恰最锻炼一个人的意志与能力。如果能够坚持下来,成为白帽黑客指日可待。
最后,当你学习网络安全时遇到瓶颈了该怎么办?借用TK主教的一段话:
从事任何方向的技术研究,不知道该干什么的时候,就问自己四个问题:
•这个方向上最新进展是什么? 都知道吗?
•这个方向上最著名的专家有哪些?他们的研究都看过吗?
•这个方向上最著名的技术社区有哪些?精华帖都看过一遍吗?
•这个方向上最重要的文章、工具有哪些?文章都看过吗?工具都分析过吗?
对于每一个从事网络安全的人来说,庞大的网络都如宇宙般浩瀚无垠,而作为这个联通世界的巨网的保卫者,我们当心存敬畏。
最后,一句话送给立志于网络安全领域的奋斗者们: Do not go gentle into that good night,“面对浩瀚的宇宙,没有心里的爱和勇敢,我们就真的太渺小了。”——《星际穿越》