网络安全的学习路线是怎么样的?
最近看到网上有很多人在问诸如:“怎样成为网络安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,网络信息安全工程师随之成为炙手可热的职业。关于职业前景的详细分析
首先,我们来看看网络安全工程师的定义:指遵照信息安全管理体系和标准工作,防范黑客入侵并进行分析和防范,通过运用各种安全产品和技术,设置防火墙、防病毒、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,“面对浩瀚的宇宙,没有心里的爱和勇敢,我们就真的太渺小了。”——《星际穿越》
相关文章:
网络安全的学习路线是怎么样的?
最近看到网上有很多人在问诸如:“怎样成为网络安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,网络信息安全工程师随之成为炙手可热的职业。关于职业前景的详…...
QT学习07:五种按钮控件
文章首发于我的个人博客:欢迎大佬们来逛逛 文章目录 抽象类:QAbstractButtonQPushButtonQToolButtonQCommandLinkButtonQRadioButtonQCheckBoxQButtonGroup 抽象类:QAbstractButton 是所有按钮类的祖先。 QAbstractButton的信号:…...
chatgpt赋能python:Python如何截图运行结果
Python如何截图运行结果 介绍 Python是一种高级编程语言,非常流行。它具有许多有用的功能和库,使其成为许多开发人员的首选编程语言之一。但是,当您运行Python程序并需要与他人共享结果时,您可能需要截图运行结果。在本文中&…...
Baumer工业相机堡盟工业相机如何通过BGAPISDK使用JPEG图像压缩功能(C#)
Baumer工业相机堡盟工业相机如何通过BGAPISDK使用JPEG图像压缩功能(C#) Baumer工业相机Baumer工业相机BGAPISDK和JPEG图像压缩功能的技术背景Baumer工业相机通过BGAPISDK使用JPEG图像压缩功能1.引用合适的类文件2.使用BGAPISDK设置堡盟相机JPEG图像压缩模…...
RT-Thread FAL组件
目录 1、FAL介绍2、使用FAL2.1 下载FAL软件包2.2 FAL移植2.2.1 定义flash设备2.2.2 定义flash设备表&分区表2.2.3 加入到mdk工程3、MSH测试1、FAL介绍 FAL(Flash Abstraction Layer) Flash抽象层,是对Flash及基于Flash的分区进行管理、操作的抽象层,对上层统一了Flash及分…...
【git切换分支/tag】git stash保存暂不提交的更改
目录 问题git stash使用方法git stash pop 还原修改 git stash使用、修改指定tag的代码 其他git指令 问题 情景:分支1上开发新功能,临时切换到其他分支或tag上修改bug。 1、直接切换:如果没有冲突,分支1的修改会带到要切换的分支…...
【爬虫】4.5 实践项目——爬取当当网站图书数据
目录 1. 网站图书数据分析 2. 网站图书数据提取 3. 网站图书数据爬取 (1)创建 MySQL 数据库 (2)创建 scrapy 项目 (3)编写 items.py 中的数据项目类 (4)编写 pipelines_1.py …...
Socket 编程:基础概念辨析
文章目录 参考Socket APIBSD UNIX 操作系统BSD UNIX 与 Socket API Socket套接字套接字地址套接字 VS 套接字地址套接字的表示方法 TCP 套接字与 UDP 套接字TCP 套接字监听套接字连接套接字 UDP套接字 TCP 服务器端与 TCP 客户端通信的基本流程服务器端客户端 参考 项目描述刘…...
git lfs下载指定文件git lfs pull --include=“*.bin“
git lfs pull --include"*.bin"...
JavaScript 数组 函数
目录 1.数组的概念 2.创建数组 2.1 数组创建的方式 2.2利用new 创建数组 2.3 利用数组字面量创建数组 2.4 数据元素的类型 3.获取数组当元素 3.1数组元素的索引 4.遍历数组 4.1数组的长度 5.数组中新增元素 5.1通过修改length 长度新增数组元素 5.2通过修改数组索引…...
【哈佛积极心理学笔记】第7讲 逆境还是机遇
第7讲 逆境还是机遇 How can we raise base level? One of the things is coping, putting ourselves on the line. How to become an optimist. Optimism as an interpretation style, not as a Pollyannaish feel good kind of approach. Three approaches: First is to t…...
java springboot整合MyBatis做数据库查询操作
首先 我们还是要搞清楚 MyBatis 工作中都需要那些东西 首先是基础配置 你要连哪里的数据 连什么类型的数据库 以什么权限去连 然后 以 注解还是xml方式去映射sql 好 我们直接上代码 我们先创建一个文件夹 然后打开idea 新建一个项目 然后 按我下图的操作配置一下 然后点下一…...
11 二阶矩方法和Lovasz局部引理
文章目录 11 二阶矩方法和Lovasz局部引理11.1 The Second-Moment Method——二阶矩方法11.1.1 二阶矩方法定理11.1.2 二阶矩方法的应用——随机图阈值 11.2 Lovasz Local Lemma——Lovasz局部引理11.2.1 LLL定理11.2.2 LLL定理证明 11.3 Asymmetric LLL 11 二阶矩方法和Lovasz局…...
低代码赛道拥挤 生态聚合成为破局关键
在云计算和移动互联网的强劲推动下,企业数字化转型的步伐正在加速,对于软件应用开发的需求也呈现出爆发式的增长。这样的背景下,低代码平台凭借其独特的优势迅速崛起并引发了业界的广泛关注。 自2020年以来,低代码领域已成为投资…...
B+树:高效存储与索引的完美结合
目录 引言:一、定义:二、B树和B树三、特点:四、应用场景:总结: 引言: 在计算机科学领域中,数据结构的选择对于高效存储和索引数据至关重要。B树(B tree)作为一种自平衡的…...
左右排版的PDF,如何转换为单栏排版的word?
将左右排版的PDF转换为单行排版的WORD文字版需要进行以下步骤: 1. 使用PDF转换工具将PDF转换为WORD格式。有很多在线或离线的PDF转WORD工具可供选择,例如金鸣表格文字识别、Adobe Acrobat、Smallpdf、Zamzar等。 2. 打开WORD文档后,选择“页…...
D349周赛:注意题目提示里,数据范围隐含的算法复杂度提示
文章目录 6470.既不是最大值也不是最小值完整版为什么两个for循环时间复杂度还是不变的 6465.执行子串操作后的字典序最小字符串思路最开始的写法题意理解的问题 修改版a必须单独拿出来的原因 6449.收集巧克力思路注意提示信息 完整版补充:由数据范围反推算法复杂度…...
iOS -- block one
demo贴上我的github blockOne 块类似于匿名函数或闭包,在许多其他编程语言中也存在类似的概念。 Block 以下是块的一些基本知识: 块的定义:块是由一对花括号 {} 包围的代码片段,可以包含一段可执行的代码。块的定义使用 ^ 符号…...
第十二篇:强化学习SARSA算法
你好,我是郭震(zhenguo) 今天强化学习第二十篇:强化学习SARSA算法 1 历史 SARSA(「State-Action-Reward-State-Action」)算法是一种经典的强化学习算法,用于解决马尔可夫决策过程(MDP࿰…...
电力vr智能巡检模拟实操教学灵活性高成本低
传统电力智能运检服务培训采用交接班期间开展智能带电检测仪器的操作培训,教学时间、场地及材料有限,有了VR技术,将推动电力智能运检服务培训走向高科技、高效率和智能化水平。 深圳华锐视点凭借着对VR实训系统的深入研发和升级,多…...
vscode右键点击,松开后自动触发鼠标所在位置的按钮(误触发双击效果)
例如如下,右键展开菜单,松手会自动触发转到声明功能 解决方案: 1、安装easystroke sudo apt-get install easystroke 2、打开easystroke,选择preferences tab 3、点击Gesture Button,在出现的框中右键单击一次 4、点…...
【UE5】分分钟简单使用像素流云服务(Pixel Streaming)
【UE5】分分钟简单使用像素流云服务(Pixel Streaming) 前言 UE5的Pixel Streaming已经封装的很好,简单三步实现简单的服务搭建。 安装插件打包项目运行服务 注:实例平台为Windows 安装插件 编辑→插件→输入查询Pixel Strea…...
2021 年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题
2021 年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题 一. 逻辑推理:第 26~55 小题,每小题 2 分,共 60 分。下列每题给出的 A、B、C、D、E 五个选项中,只有一项是符合试题要求的。 26.哲学是关于世界观、方法论的学问。哲…...
【算法】【算法杂谈】两个排序数组中找第k小的数
目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识! 问题介…...
ABAP 新语法--Open SQL(草稿)
1. 常量 1.1 常量赋值 常量字段可以用来为内表中的部分字段赋初始值,字段类型和长度依据输入常量的值决定 SELECTmara~matnr, " 物料号mara~matkl, " 物料组mara~mtart, " 物料类型 AS lkenz, " 删除标识,常量空字符串123 AS fla…...
2023最新常用开发网站汇总
1、在线画图工具 • 在线画图工具ProcessOn:https://www.processon.com/ • 在线画图工具draw.io:https://app.diagrams.net/ • 在线思维导图工具:http://www.mindline.cn/webapp • PlantUML在线编辑器:http://haha98k.com/…...
ELK 日志采集使用
1.安装ELK整体环境 1.1.安装docker环境 Docker 最新版Version 20.10安装_docker最新版本是多少_猿小飞的博客-CSDN博客 1.2.先安装docker compose 安装docker compose_猿小飞的博客-CSDN博客 1.3.使用 Docker Compose 搭建 ELK 环境 1.3.1.编写 docker-compose.yml 脚本启…...
深入剖析RocketMQ源码:消息传递的奥秘
RocketMQ是一款高性能、高可靠性、可扩展性强的分布式消息中间件,能够有效架构企业级分布式应用。由于其广泛应用和优秀表现,越来越多的开发者对RocketMQ的底层实现产生了浓厚的兴趣。本文将深入剖析RocketMQ的消息传递奥秘,帮助大家了解RocketMQ的底层实现原理,进一步掌握…...
Protocol https not supported or disabled in libcurl
原因 curl默认安装完后是只支持http协议而不支持https协议的。 curl -V查看当前curl支持哪些协议: [rootlocalhost /]# curl -V curl 7.19.4 (x86_64-unknown-linux-gnu) libcurl/7.19.4 OpenSSL/1.0.2k zlib/1.2.11 Protocols: tftp ftp telnet dict http fil…...
一步步搭建基于 ts + express + prisma + mongodb + zod 后端服务
环境: windows11、node 18.16.0 、pnpm 1、在合适位置,代开 vscode , 终端执行 mkdir miaooo-backend && cd miaooo-backend && npm init -y 。 创建一个名为一个 miaooo-backend 的项目,并且进入项目 执行 npm 默认初始化。…...
可以做图的网站/网络公关
什么是WebPack? 征战图 看图就知道了,如图左边的是我们平常编码的一些文件,他们种类繁多复杂, 有css,less,cjs,js,sass,还有各种各样的图片资源。webpack需要做的 就是将我们编码的原始文件资源,通过特定的手段将其…...
石家庄网站建设解决方案/域名归属查询
(From Swing)中的JFrame允许您设置菜单栏(使用JFrame.setMenuBar(mb)的MenuBar实例;).此菜单栏可以显示在不同的位置,具体取决于其运行的系统.如果运行应用程序的操作系统在屏幕顶部有一个菜单栏,则JFrame中设置的此菜单栏通常会出现在此菜单栏中.如果不支持,菜单栏将显示在框架…...
怎么做网站信息/全网关键词云查询
间隔了一周时间没写了,由于今年的股势行情貌似不错的样子,对于对股市完全不懂的我也在蠢蠢欲动,所以最近一周业余时间在“不务正业”-----学习炒股。发现学习它其实挺费神的,满脑子都是走势图,而且是神经有点受刺激的感…...
做游戏网站用什么系统做/百度模拟点击软件判刑了
thinkphp3.2.3(5以下)的addAll返回值问题thinkphp3.2.3(5以下)的addAll返回值问题[var1]我们都知道mysql支持一次插入多条数据,如下:以用户表user为例,表结构自增主键id、账号username、密码password。insert into user(username,password) v…...
外国做的中国动画视频网站/培训总结
多余的话不说,直接看代码: 1) 在 common/config/main.php 写入配置代码 1 // 配置翻译信息2 i18n > [3 translations > [4 app* > [ //app表示整个文件可以替换掉5 class &g…...
如何创建微网站/网站推广工作
2019独角兽企业重金招聘Python工程师标准>>> Java8 BASE64编解码 Base64是一种用64个字符来表示任意二进制数据的方法。 Base64是一种最常见的二进制编码方法。 Java一直缺少BASE64编码 API,以至于通常在项目开发中会选用第三方的API实现。但…...