本文目录一览:
网络安全哪儿可以学?
首先,必须(时刻)意识到你是在学习一门可以说是最难的课程,是网络专业领域的顶尖课程,不是什么人、随随便便就能学好的。不然,大家都是黑客,也就没有黑客和网络安全的概念了。
很多朋友抱着学一门课程、读好一本书就可以掌握网络安全的知识和技能。不幸的是,网络安全技术决不是几本书、几个月就可以速成的。你需要参考大量的参考书。
另一方面,在学校接受的传统教育观念使我们习惯由老师来指定教材、参考书。遗憾的是走向了社会,走到工作岗位,没有人给你指定解决这个安全问题需要什么参考书,你得自己研究,自己解决问题。
网络安全涉及的知识面广、术语多、理论知识多。正给学习这门课程带来很多困难。也需要我们投入比其它课程多的时间和精力来学习它。
概括来说,网络安全课程的主要内容包括:
l 安全基本知识
l 应用加密学
l 协议层安全
l Windows安全(攻击与防御)
l Unix/Linux安全(攻击与防御)
l 防火墙技术
l 入侵监测系统
l 审计和日志分析
下面分别对每部分知识介绍相应的具体内容和一些参考书(正像前面提到的那样,有时间、有条件的话,这些书都应该看至少一遍)。
一、安全基本知识
这部分的学习过程相对容易些,可以花相对较少的时间来完成。这部分的内容包括:安全的概念和定义、常见的安全标准等。
大部分关于网络安全基础的书籍都会有这部分内容的介绍。
下面推荐一些和这部分有关的参考书:
l 《CIW:安全专家全息教程》 魏巍 等译,电子工业出版社
l 《计算机系统安全》 曹天杰,高等教育出版社
l 《计算机网络安全导论》 龚俭,东南大学出版社
二、应用加密学
加密学是现代计算机(网络)安全的基础,没有加密技术,任何网络安全都是一纸空谈。
加密技术的应用决不简单地停留在对数据的加密、解密上。密码学除了可以实现数据保密性外、它还可以完成数据完整性校验、用户身份认证、数字签名等功能。
以加密学为基础的PKI(公钥基础设施)是信息安全基础设施的一个重要组成部分,是一种普遍适用的网络安全基础设施。授权管理基础设施、可信时间戳服务系统、安全保密管理系统、统一的安全电子政务平台等的构筑都离不开它的支持。
可以说,加密学的应用贯穿了整个网络安全的学习过程中。因为之前大多数人没有接触过在这方面的内容,这是个弱项、软肋,所以需要花费比其它部分更多的时间和精力来学习。也需要参考更多的参考书。
下面推荐一些
网络安全去应该去哪里学习呢?。
只要想学习哪里学习都是有效果的。但需要结合自身的一些特点来调整学习方向,这样学习起来会事半功倍,以下推荐3种学习线路,适用于不同的学习人群;
方法1:先学习编程,然后学习Web渗透及工具使用等
适用人群:有一定的代码基础的小伙伴
(1)基础部分
基础部分需要学习以下内容:
(1.1)计算机网络 :
重点学习OSI、TCP/IP模型,网络协议,网络设备工作原理等内容,其他内容快速通读;
【推荐书籍】《网络是怎样连接的_户根勤》一书,简明扼要,浅显易懂,初学者的福音;如果觉得不够专业,可以学习图灵设计丛书的《HTTP权威指南》;
(1.2)Linux系统及命令 :
由于目前市面上的Web服务器7成都是运行在Linux系统之上,如果要学习渗透Web系统,最起码还是要对linux系统非常熟悉,常见的操作命令需要学会;
学习建议:学习常见的10%左右的命令适用于90%的工作场景,和office软件一样,掌握最常用的10%的功能,基本日常使用没什么问题,遇到不会的,再去找相关资料;常见的linux命令也就50-60个,很多小白囫囵吞枣什么命令都学,这样其实根本记不住。
【推荐书籍】Linux Basics for Hackers;
(1.3)Web框架 :
熟悉web框架的内容,前端HTML,JS等脚本语言了解即可,后端PHP语言重点学习,切记不要按照开发的思路去学习语言,php最低要求会读懂代码即可,当然会写最好,但不是开发,但不是开发,但不是开发,重要的事情说三遍;
数据库:
需要学习SQL语法,利用常见的数据库MySQL学习对应的数据库语法,也是一样,SQL的一些些高级语法可以了解,如果没有时间完全不学也不影响后续学习,毕竟大家不是做数据库分析师,不需要学太深;
(2)Web安全
(2.1)Web渗透
掌握OWASP排名靠前的10余种常见的Web漏洞的原理、利用、防御等知识点,然后配以一定的靶场练习即可;有的小白可能会问,去哪里找资料,建议可以直接买一本较为权威的书籍,配合一些网上的免费视频系统学习,然后利用开源的靶场辅助练习即可;
【推荐书籍】白帽子讲Web安全(阿里白帽子黑客大神道哥作品)
【推荐靶场】常见的靶场都可以上github平台搜索,推荐以下靶场DVWA、bWAPP、upload-labs-master、SQL-lib-master、WebBug、pikachu等,有些是综合靶场,有些是专门针对某款漏洞的靶场;
(2.2)工具学习
Web渗透阶段还是需要掌握一些必要的工具,工具的学习b站上的视频比较多,挑选一些讲解得不错的视频看看,不要一个工具看很多视频,大多数视频是重复的,且很浪费时间;
主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;
练习差不多了,可以去SRC平台渗透真实的站点,看看是否有突破,如果涉及到需要绕过WAF的,需要针对绕WAF专门去学习,姿势也不是特别多,系统性学习学习,然后多总结经验,更上一层楼;
(2.2)自动化渗透
自动化渗透需要掌握一门语言,且需要熟练运用,可以是任何一门自己已经掌握得很熟悉的语言,都可以,如果没有一门掌握很好的,那我推荐学习python,最主要原因是学起来简单,模块也比较多,写一些脚本和工具非常方便;
虽说不懂自动化渗透不影响入门和就业,但是会影响职业的发展,学习python不需要掌握很多不需要的模块,也不需要开发成千上万行的代码,仅利用它编写一些工具和脚本,少则10几行代码,多则1-200行代码,一般代码量相对开发人员已经少得不能再少了,例如一个精简的域名爬虫代码核心代码就1-20行而已;
几天时间学习一下python的语法,有代码基础的,最快可能一天就可以学习完python的语法,因为语言都是相通的,但是学习语言最快的就是写代码,别无他法;接下来可以开始尝试写一些常见的工具,如爬虫、端口探测、数据包核心内容提取、内网活跃主机扫描等,此类代码网上一搜一大把;然后再写一些POC和EXP脚本,以靶场为练习即可;有的小伙伴可能又要问了,什么是POC和EXP,自己百度去,养成动手的好习惯啦;
(2.3)代码审计
此处内容要求代码能力比较高,因此如果代码能力较弱,可以先跳过此部分的学习,不影响渗透道路上的学习和发展。
但是如果希望在Web渗透上需要走得再远一些,需要精通一门后台开发语言,推荐php,因为后台采用php开发的网站占据最大,当然你还精通python、asp、java等语言,那恭喜你,你已经具备很好的基础了;
代码审计顾名思义,审计别人网站或者系统的源代码,通过审计源代码或者代码环境的方式去审计系统是否存在漏洞(属于白盒测试范畴)
那具体要怎么学习呢?学习的具体内容按照顺序列举如下 :
掌握php一些危险函数和安全配置;
熟悉代码审计的流程和方法;
掌握1-2个代码审计工具,如seay等;
掌握常见的功能审计法;(推荐审计一下AuditDemo,让你产生自信)
常见CMS框架审计(难度大); 代码审计有一本国外的书籍《代码审计:企业级Web代码安全架构》,当然有空的时候可以去翻翻,建议还是在b站上找一套系统介绍的课程去学习;github上找到AuditDemo,下载源码,搭建在本地虚拟机,然后利用工具和审计方法,审计AuditDemo中存在的10个漏洞,难度分布符合正态分布,可以挑战一下;
至于CMS框架审计,可以去一些CMS官方网站,下载一些历史存在漏洞的版本去审计,框架的学习利用官方网站的使用手册即可,如ThinkPHP3.2版本是存在一些漏洞,可以尝试读懂代码;但是切记不要一上来就看代码,因为CMS框架的代码量比较大,如果不系统先学习框架,基本属于看不懂状态;学习框架后能够具备写简单的POC,按照代码审计方法结合工具一起审计框架;其实也没没想象中的那么难,如果你是开发人员转行的,恭喜你,你已经具备代码审计的先天性优势。
可能有人会问:“我代码很差,不学习代码审计行不行?”其实代码审计不是学习网络安全的必要条件,能够掌握最好,掌握不了也不影响后续的学习和就业,但你需要选择一个阶段,练习得更专业精通一些,如web渗透或者内网渗透,再或者是自动化渗透;
(3)内网安全
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;
如果想就业面更宽一些,技术竞争更强一些,需要再学习内网渗透相关知识;
内网的知识难度稍微偏大一些,这个和目前市面上的学习资料还有靶场有一定的关系;内网主要学习的内容主要有:内网信息收集、域渗透、代理和转发技术、应用和系统提权、工具学习、免杀技术、APT等等;
可以购买《内网安全攻防:渗透测试实战指南》,这本书写得还不错,国内为数不多讲内网的书籍,以书籍目录为主线,然后配合工具和靶场去练习即可;
那去哪里可以下载到内网靶场?如果你能力够强,电脑配置高,可以自己利用虚拟机搭建内网环境,一般需要3台以上的虚拟机;你也可以到国外找一些内网靶场使用,有一些需要收费的靶场还可以;
(4)渗透拓展
渗透拓展部分,和具体工作岗位联系也比较紧密,尽量要求掌握,主要有日志分析、安全加固、应急响应、等保测评等内容;其中重点掌握前三部分,这块的资料网络上也不多,也没有多少成型的书籍资料,可通过行业相关的技术群或者行业分享的资料去学习即可,能学到这一步,基本上已经算入门成功,学习日志分析、安全加固、应急响应三部分的知识也相对较为容易。
方法2:先学习Web渗透及工具,然后再学习编程
适用人群:代码能力很弱,或者根本没有什么代码能力,其他基础也相对较差的小伙伴
基础需要打好,再学习Web渗透比如linux系统、计算机网络、一点点的Web框架、数据库还是需要提前掌握;
像php语言、自动化渗透和代码审计部分内容,可以放在最后,当学习完毕前面知识后,也相当入门后,再来学习语言,相对会容易一些;
【优先推荐】方法2,对于小白来说,代码基础通常较弱,很多很多小白会倒在前期学习语言上,所以推荐方法2的学习,先学习web渗透和工具,也比较有意思,容易保持一个高涨的学习动力和热情,具体学习内容我就不说了,请小伙伴们参照方法1即可。
方法3:选择一些适合自己的课程学习
适用人群:需要体系化学习、增强实战能力的小伙伴
具体根据自身条件来讲,如果你自学能力较差,那建议选择课程学习,网上各大平台等都有很多各式各样的课程,是可以更快帮助你迅速入门的,然后再根据自己自身所欠缺的方面,不断去完善和学习,最后达到你所要的优秀水平。
学习书籍推荐如下:
【基础阶段】
Linux Basics for Hackers(中文翻译稿)
Wireshark网络分析(完整扫描版)
精通正则表达式(中文第3版)
图解HTTP 彩色版
[密码学介绍].杨新.中文第二版
网络是怎样连接的_户根勤
[PHP与MySQL程序设计(第4版)].W.Jason.Gilmore
【web渗透阶段】
web安全攻防渗透测试实战指南
白帽子讲Web安全
Web安全深度
【自动化渗透阶段】
Python编程快速上手-让繁琐工作自动化
【代码审计阶段】
代码审计:企业级Web代码安全架构
【内网渗透阶段】
内网安全攻防:渗透测试实战指南
社会工程防范钓鱼欺诈
想自学网络安全工程师在哪里学好
软件工程
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
网络工程
网络工程是指按计划进行的以工程化的思想、方式、方法,设计、研发和解决网络系统问题的工程。培养掌握网络工程的基本理论与方法以及计算机技术和网络技术等方面的知识,能运用所学知识与技能去分析和解决相关的实际问题,可在信息产业以及其他国民经济部门从事各类网络系统和计算机通信系统研究、教学、设计、开发等工作的高级网络科技人才。
信息安全
息安全主要包括以下五方面的内容,即需保证信息的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。信息安全本身包括的范围很大,其中包括如何防范商业企业机密泄露、防范青少年对不良信息的浏览、个人信息的泄露等。网络环境下的信息安全体系是保证信息安全的关键,包括计算机安全操作系统、各种安全协议、安全机制(数字签名、消息认证、数据加密等),直至安全系统,如UniNAC、DLP等,只要存在安全漏洞便可以威胁全局安全。信息安全是指信息系统(包括硬件、软件、数据、人、物理环境及其基础设施)受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断,最终实现业务连续性。
信息安全学科可分为狭义安全与广义安全两个层次,狭义的安全是建立在以密码论为基础的计算机安全领域,早期中国信息安全专业通常以此为基准,辅以计算机技术、通信网络技术与编程等方面的内容;广义的信息安全是一门综合性学科,从传统的计算机安全到信息安全,不但是名称的变更也是对安全发展的延伸,安全不在是单纯的技术问题,而是将管理、技术、法律等问题相结合的产物。本专业培养能够从事计算机、通信、电子商务、电子政务、电子金融等领域的信息安全高级专门人才。
网络安全该去哪里学习呢?
学习网络安全需要的基础知识如下:
可掌握的核心能力:
1、掌握网络安全基础知识、了解安全行业行情、安全需求、法律法规等必备基础知识;
2、掌握信息安全常见漏洞与风险等相关安全防护策略;
3、建立简单攻防测试环境(Vmware、Windows、Linux安装配置、恶意代码、勒索病毒等攻击防范);
4、能编写简单的HTML、JS、PHP代码,一些项目单个功能开发;
5、能对MySQL/MSSQL创建、查看、修改、增加、调整等字段顺序、排序、删除、索引、权限等数据字段相关命令行操作。
可解决的现实问题:
熟悉网络安全常见专业术语、个人防护策略建立、攻防环境搭建、HTML、JS、PHP、数据库等相关基本操作。
推荐一些学习方法:
方法一:先学习Web渗透及工具,然后再学习编程
适用人群:代码能力很弱,或者根本没有什么代码能力,其他基础也比较差的小伙伴
Web渗透
掌握OWASP排名靠前的10余种常见的Web漏洞的原理、利用、防御等知识点,然后配以一定的靶场练习即可;有的小白可能会问,去哪里找资料,建议可以直接买一本较为权威的书籍,配合b站的免费视频系统学习,然后利用开源的靶场辅助练习即可;
方法二:先学习编程,然后学习Web渗透及工具使用等
适用人群:有一定的代码基础的小伙伴
代码审计
但是如果希望在Web渗透上需要走得再远一些,需要精通一门后台开发语言,推荐php,因为后台采用php开发的网站占据最大,当然你还精通python、asp、java等语言,那恭喜你,你已经具备很好的基础了;
代码审计顾名思义,审计别人网站或者系统的源代码,通过审计源代码或者代码环境的方式去审计系统是否存在漏洞(属于白盒测试范畴);
那具体要怎么学习呢?学习的具体内容按照顺序列举如下:
1)掌握php一些危险函数和安全配置;
2)熟悉代码审计的流程和方法;
3)掌握1-2个代码审计工具,如seay等;
4)掌握常见的功能审计法;(推荐审计一下AuditDemo,让你产生自信)
5)常见CMS框架审计(难度大);