学网络安全到底需要什么基础?

网络安全,在职业上又可以细分为多个不同的方向。建议可以先看看这块的职业发展,心里有个大概的方向:

从技术要求上来说,网络安全要求的比较"高",你可以理解为安全技术是上层技术,你需要在掌握了网络、操作系统、数据库、编程等底层技术后,才能进一步的更好的掌握网络安全技术。

举几个例子:

1.绿盟科技的网络安全工程师,在硬件防火墙、WAF、IDS、IPS、Anti-DDOS等设备的部署中,第一步是需要保证设备接入网络后,网络能够正常工作,在这个基础上才是各种网络安全策略的配置;

2.某互联网公司的安全工程师,在检测到一个SQL注入、SSRF、CSRF等漏洞后,需要从编码层面给出修复建议,需要指导研发同学进行修复,需要提供安全SDK,只有掌握你编程技术才能"有底气"跟研发去打交道;

因此,如果你决定要学习网络安全,"成为全栈"将是你必须去面对和挑战的。但每个技术栈我们到底需要掌握到什么程度才算OK呢?照理说,是越深越好,但也需要考虑安全需求下的"性价比",下面是入门学习的方法和掌握程度的一些建议:

网络知识

✅学习方法:推荐按照书籍《CCNA学习指南》进行学习,虽然是围绕cisco的认证展开的,但是网络基础技术写的非常全面,可以结合cisco的模拟器通过实验对进行更深理论知识的理解和实操,网络上也有很多基于该指南的视频教学;

✅掌握程度:熟练掌握TCP/IP对应的协议,以及其在组网上的应用,可以的话,去考个CCNA的认证;

操作系统

✅学习方法:推荐按照《鸟哥的Linux私房菜 基础学习篇》进行学习,装一个centos的虚拟机,把上面的命令和实验自己敲一遍;当然还有windows server 和AD域,这块也是网络上找资料学;

✅掌握程度:熟练掌握linux的shell操作、掌握常见的服务的部署nginx、dns、smb、mysql等,能够玩转linux下的各种应用部署;

数据库

✅学习方法:以MYSQL为对象,在网络上找一个基础视频教学吧,别看书了;

✅掌握程度:数据库定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL,常见的操作熟练掌握;

编程技术

✅python必须、能够自己编写一些自动化的小程序、掌握一些常见的库,学习一个Web框架:flask、digong等

✅java必须,掌握基础语法、掌握spring boot框架的基础原理,能够自己写一个带登录的spring boot的web程序;

✅php选修(虽然很多Web安全的靶机是php写的,但是建议大家切换到java环境,毕竟java才是目前企业应用开发的主流)

✅C/GO等看工作所需情况选修,也是建议直接找网络视频材料自学;

容器技术

✅docker、k8s,直接互联网上找材料或视频进行学习,能够熟练掌握docker的基础操作,能够独立部署k8s环境,并熟悉各种组件;

上面的技术,倒不是说一定要按顺序全部学完,才可以学习安全技术,但这些大概率在你日后的工作中,都会涉及,可以结合实际的学习和工作场景交叉的进行学习,如果你还在大学,按部就班的把这些全部刷一遍,会让你的综合能力变的强很多。

搞技术、特别是搞安全技术,学习会是一件无止尽的事情,但在掌握好了这些基础的情况下,就会像张无忌掌握了九阳神功后在学习乾坤大挪移一样,一个字:快。

在此我还为大家准备了资料和学习路线图  制作不易请大家 评论学习找我拿哦

学网络安全到底需要什么基础?_第1张图片

你可能感兴趣的:(web安全,安全)