什么是网络安全
网络安全可以基于攻击和防御视角来分类。我们经常听到的'红队'、'渗透测试'等属于研究攻击技术,而'蓝队'、'安全运营'、'安全运维'则专注于防御技术。
无论网络、Web、移动、桌面、云等哪个领域,都存在攻与防的两面性。例如 Web 安全技术,既有 Web 渗透,也有 Web 防御技术(如 WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。
怎样规划网络安全路径
如果你是一个安全行业新人,建议先从网络安全或者 Web 安全/渗透测试这两个方向入手。一是市场需求量高,二是发展相对成熟,入门比较容易。
值得一提的是,学网络安全,是先网络后安全;学 Web 安全,也是先 Web 再有安全。
安全不是独立存在的,而是建立在其他技术基础之上的上层应用技术。脱离了这个基础,很容易变成纸上谈兵,变成'知其然,不知其所以然',在安全的职业道路上也很难走远。
如果你是原本从事网工运维,那么可以选择网络安全方向入门;如果你原本从事程序开发,推荐选择 Web 安全/渗透测试方向入门。当然学到一定程度、或者有了一定工作经验,不同方向的技术耦合会越来越高,各个方向都需要会一点。

根据以上网络安全技能表不难看出,网络安全需要接触的技术还有很多。常见的核心技能包括:外围打点能力、钓鱼远控能力、域渗透能力、流量分析能力、漏洞挖掘能力、代码审计能力等。
网络安全的知识多而杂,怎么科学合理安排?
一、基础阶段
入门的第一步是系统化的学习计算机基础知识,也就是学习以下这几个基础知识模块:操作系统、协议/网络、数据库、开发语言、常用漏洞原理。前面的基础知识学完之后,就要进行实操了。
因为互联网与信息化的普及,网站系统对外的业务比较多,而且程序员的水平参差不齐和运维人员的配置事务,所以需要掌握的内容比较多。
核心知识点清单
- 中华人民共和国网络安全法:包含 18 个关键知识点,了解法律底线。
- Linux 操作系统:包含 16 个知识点,服务器环境的基础。
- 计算机网络:包含 12 个知识点,理解 TCP/IP 协议栈。
- SHELL 脚本:包含 14 个知识点,自动化处理的基础。
- HTML/CSS:包含 44 个知识点,前端结构基础。
- JavaScript:包含 41 个知识点,前端交互逻辑。
- PHP 入门:包含 12 个知识点,常见服务端语言。
- MySQL 数据库:包含 30 个知识点,数据存储与管理。
- Python:包含 18 个知识点,安全工具开发首选。

二、渗透阶段
掌握常见漏洞的原理、使用、防御等知识。Web 渗透阶段还是需要掌握一些必要的工具。
常见漏洞类型
- SQL 注入:渗透与防御(包含 36 个知识点),通过构造恶意 SQL 语句获取数据。
- XSS 跨站脚本:渗透与防御(包含 12 个知识点),在网页中执行恶意脚本。
- 上传验证绕过:渗透与防御(包含 16 个知识点),上传 Webshell 的关键步骤。




