网络安全工程师是各行各业不可或缺的职业,其工作内容决定了它不会局限于单一领域,而是需要掌握网络维护、设计、部署、运维及安全防护等综合技能。当前具备一定经验的网络安全工程师薪资普遍在 10K-30K 之间,市场处于供不应求的状态。那么,优秀的网络工程师的技术水平具体体现在哪些方面?
1. 强大的网络设计能力
普通的网络安全工程师往往只能维护别人设计好的网络,缺乏独立进行网络架构规划的能力,尤其是在大型复杂网络环境中。优秀的网工不仅要具备网络的运维能力,同时也要具备网络的优化、改造及设计能力。
曾负责一个上千人园区网的运行和维护。这份工作平时较为清闲,网络无故障时几乎无事可做。由于在该单位工作多年,对单位的网络拓扑非常熟悉,大大小小的故障也都接触过,凭经验可以处理绝大部分故障。因此当时的工作相对悠闲,一般的桌面级故障新来的同事即可处理,其他故障大多为硬件故障,更换设备或部件即可解决。
之后转任系统集成售前网络工程师,薪水较之前的运维岗位提升了很多。售前的主要任务是撰写方案,设计满足客户需求的网络。不同的客户对网络的要求不同,预算也不一样。例如普通的宾馆酒店、中小学对网络要求较为简单,而大型的医院、金融、政府单位对网络的要求则较为复杂。不同的业务场景对可靠性、安全性要求也会有很大的不同。
为了满足不同客户的要求,工程师需要储备多种网络拓扑结构,了解各种复杂的可靠性技术(如 VRRP、堆叠、链路聚合等)。而这些能力归结起来就是网络设计能力。因此,一个优秀的网络安全工程师一定要具备强大的网络设计能力,只有这样才能根据客户的实际业务需求提供合理的解决方案。
2. 扎实的排障能力
排障是一个网工必备的技能。普通的网络安全工程师可能只能根据经验对设备进行简单的重启或替换。记得刚入行时,有些老师傅提出'三板斧':重启、重装、格式化。这三板斧对于简单的故障是可以奏效的,但对于复杂网络的复杂故障则很难排除。
刚入行时处理过一次严重故障。当时所有的服务器都不能被用户访问,访问在一瞬间中断了,终端用户无法 ping 通服务器。主任走到机房问我:'之前一直都好好的,怎么突然就断了呢?'我一脸茫然,只能弱弱的回答:'没有改配置也没有动任何设备…突然就中断了。'不管三七二十一,先重启交换机,核心、服务器组接入全部重启。经过五分钟终于重启完成,但问题依旧。随后我又换了一台接入交换机,可问题还是依旧。这时压力非常大,三板斧就差格式化了。
这时,主任走过来拍拍肩膀说:'别急,我看看。'主任使用同一网段的 PC 访问服务器,发现没问题。然后又检查了服务器网关的配置,在交换机上抓了几个包。最终找到了问题的根源:服务器中有一台服务器遭受了攻击,然后不停向外发送 ARP 欺骗攻击报文,将其他服务器的网关都欺骗了,从而中断了服务器的访问。最后,主任将攻击服务器的网线直接拔掉,问题得到解决。领导果然是领导,不到 10 分钟就排除了故障。
总结这次排障的教训,之所以没有成功主要有如下几个原因:
- 对知识的理解不够透彻。同网段可达,不同网段不能通信,故障点很大程度就锁定在网关上了。
- 对报文的分析能力不足。通过抓取 ARP 报文,对比网关的 MAC 地址,其实可以推断出 ARP 攻击。当时年轻,认为报文不重要,忽略了底层协议分析。
- 理论没有联系实际。很多理论是了解的,但是在实际使用时却一片空白。
经过这次经历,越发感觉扎实的排障能力对于网工来说是多么的重要。在实际工作中,应熟练掌握 Wireshark、tcpdump 等抓包工具,学会利用 OSI 七层模型逐层排查,从物理层到应用层定位问题根源。
3. 自我学习能力
网络技术很多很杂,而且日新月异,没有任何一个网络工程师能够精通所有的网络技术。那么在遇到问题的时候怎么办?这时就体现出一个网工非常重要的职业素养:自我学习能力。
网络安全工程师为什么需要强大的自我学习能力呢?理由如下:
1)网络厂商太多,命令各不相同。需要网工有举一反三、触类旁通的能力。一般学习的时候只会学习一个厂商的命令行,但实际工作中会遇到不同厂商的设备(如 Cisco、Huawei、H3C、Juniper 等),这时就需要通过查询手册或者产品文档,短时间内学会其他厂商的命令差异。
2)新技术不断涌现,活到老学到老。最早的园区网主要使用 VRRP+MSTP 技术,后来有了堆叠技术,再后来又有了 SDN、Vxlan 技术。技术不断更新,日新月异,优秀的网工需要不断的学习,不断的提升自己才可以在行业中处于不败之地。此外,随着零信任架构、云网融合的发展,安全边界正在模糊,持续学习成为必然。
3)职位升高,技术也需要扩展。随着职位的升高,你需要了解的技术范围就会越来越宽。用户的网络需求是多样化的,如果你是技术总监,那你就必须对用户的各种需求有所涉猎。网络不仅仅是路由交换,还有安全、云计算、存储、无线等等,这些知识同样需要不断的学习才可以掌握。
4. 强大的动手能力
网工需要强大的动手能力。同样的,给三个理由:
1)网络的知识是非常抽象的。只有通过不断的实践练习才可以对知识点理解透彻。例如 VLAN 的划分、ACL 的策略匹配,光看理论很难形成肌肉记忆。
2)在网络的知识体系里面,理论和实践差别是比较大的。一个复杂的网络工程就像盖楼一样,学习建筑不可能给你一栋大楼让你来盖。网络也是一样,模拟环境无法完全模拟出真实网络项目的各种场景,比如真实的线缆质量、电磁干扰等。


