还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
② 视频
③ 书籍
资源较为敏感,未展示全面,需要的最下面获取
② 简历模板
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
AES
RC4 一般适用于软件实现,如浏览器
优点
安全
速度快
紧凑性(加密前后数据的大小变化不大) 紧凑
缺点
密钥管理难
密钥生成 生成的密钥非常多,n(n-1)/2
密钥分发 需要事先建立关系交换密钥 容易被中间人劫持
密钥存储 数量多,存储不方便
密钥吊销
不支持数字签名
不支持不可否认性
非对称加密算法:
密钥对:公钥+私钥,公钥大家都知道,私钥只有本地知道,
公钥加密私钥解,私钥加密公钥解。加解密双方各有一对密钥对。发给谁就用谁的公钥!
加密和解密用的密钥是不同的,这种加密方式是用数学上的难解问题构造的,
通常加密解密的速度比较慢,适合偶尔发送数据的场合。优点是密钥传输方便。常见的非对称加密算法为RSA、ECC和EIGamal
分类 DH RSA ECC
优点
安全
密钥管理方便
密钥生成 只需要生成一把私钥,而公钥根据参与者多少生成多少
密钥分发 不需要事先建立关系交换密钥 不怕被劫持,即使被窃取也无法解密
密钥存储 数量少,容易存储
密钥吊销
支持数字签名
支持不可否认性
缺点
机密速度慢
紧凑性 密文很长 一般是明文的2倍
对称&非对称
一般对称算法用来对数据加密,非对称算法对对称算法的密钥进行加密,实现密钥分发
安全
紧凑
速度快
密钥管理方便
支持数字签名
支持不可否认性
散列算法
MD5 定长输出 输出128bits
SHA 定长输出 输出160bits
现在有很多MD5破解网站
所以md5加密很可能会被破解,不安全
MD5、SHA,用于实现数据完整性校验。
哈希算法原理
特征:
1、雪崩效应:明文有任何的修改,hash全局改变;
2、不可逆向:无法根据哈希值得到明文;
3、固定输出:128bit、160bit
功能:
1、完整性校验
2、安全性校验
哈希算法的应用
网盘秒传
软件下载(安全验证)
密码学应用
数字签名
组件
HASH算法
非对称加密算法
功能
不可抵赖性
用签名者的公钥可以解开HMAC 证明数据是签名者发送的
但是接收方得到的“签名者的公钥”有可能已经在途中被篡改
所以这里还不能说明这个签名者就是我们认定的那个发送者–这便是数字证书解决的问题
很多人忽略了公钥的正确性,凭什么我们得到的便是那个发送方的呢?
数据完整性 HASH值相同证明明文没有被篡改
实现
发送方
1 签名者对明文进行hash计算
2 签名者用本地私钥对hash出来的散列值加密
3 加密后的散列值放在密文尾部一起发送出去
接收方
1 用签名者的公钥解开加密的散列值
2 用明文的散列和刚用公钥解开的散列进行对比
数字证书
组件
对等体公钥
对等体姓名,组织,地址
证书有效期
CA的数字签名
功能
证明对等体的身份
实现
发送方
向CA注册,涉及的内容包括
姓名,地址,组织
公钥
证书有效期
向CA获取数字证书,并添加在密文后面
第三方 CA
对对等体的信息进行数字签名-用CA的私钥加密用户信息的hash值
接收方
向CA获取公钥,用公钥解开CA的数字签名,对比hash值
证明CA身份
同时证明了这个公钥持有者便是那个发送者
用证书夹带的公钥解开发送者的数字签名,对比hash值
证明数据完整性和不可抵赖性
PKI
组件
CA
RA
数字证书
版本 X.509v3
组件
对等体公钥
对等体姓名,组织,地址
证书有效期
CA的数字签名
对等体
分发机制 LDAP HTTP CRL
加密系统
实现框架
1 用对称算法实现明文加密
2 用非对称算法实现密钥分发
3 用数字签名实现数据完整性和不可抵赖性
4 用数字证书实现身份认证
实现过程
发送方
1 用本地随机对称密钥对明文进行加密
2 用接受者的公钥对随机对称密钥进行加密
3 用私钥加密的散列值附加在密文后面
3.1 即数字签名
4 用数字证书附加在数字签名后面
接受方
1 用本地私钥对加密的对称密钥进行解密
2 用对称密钥对密文进行解密
3.1 证明CA本身合法性
3 用CA的公钥验证数字证书合法性
加密系统 3.2 证明数字证书中的公钥便是发送方
4 用发送方的公钥解开发送方的数字签名
4.1 证明密文的合法性和完整性
逻辑推理过程
1.数字证书可以证明发送方的身份
2.用数字证书中夹带的发送方的公钥解开数字签名–证明这必定是发送方的签名
3.用本地私钥解开对称密钥,用对称密钥对密文解密
4.对明文做的hash与数字签名中的hash对比,证明数据完整性
应用举例
HTTPs/SSL
服务端
通过数字证书(夹带公钥)发送给客户端
客户端 本地浏览器如i.e.随机生成对称密钥,用服务端的公钥加密本地对称密钥后发送给服务端,此后双方便都有了密钥
IPsec
IP security 是一套完整的加密系统,可以实现数据的安全性、
完整性、不可抵赖性、防重放。(IPsec用于加密网络及网络层以上的数据)
SSL VPN 在传输层以及以上 SSL+HTTP = HTTPS
IPSec VPN在网络层以及以上
P2TP L2TP Windows电脑内置的,这俩不安全,真正使用都是上面的两种
VPN全称是:virtual private network 虚拟私有网
VPN皆可以在路由器上,防火墙上部署,也可以在专业的VPN网关上部署
ISAKMP包:
ESP包:上层的包已经看不到
IPsec组件
IKE 互联网密钥交换
IKE的作用
提供协商安全参数和创建认证密钥的框架
协商安全参数
isakmp policy
transform
交换公共密钥 DH
对等体身份认证
pre-share
数字证书
IKE组件
ISAKMP
运行层次
基于UDP应用层
端口号
500
4500
作用 提供了框架
Oakley
作用
使IKE在不同的环境下面可以被应用
使IKE的拓展性更好,如应用在路由协议下
SKEME
作用
定义IKE密钥交换的机制
可以是DH,可以是RSA,使密钥交换机制更加灵活
Oakley SKEME比较少用
IKE协商过程
IKE阶段
第1阶段
作用
在对等体之间协商一条ISAKMP AS隧道 为IKE阶段二提供安全通道
身份认证 数据源认证
模式 主模式
IKE分组
第1,2个分组
作用 交换策略集
第3,4个分组
作用 DH密钥交换
第5,6个分组
作用 对等体身份认证 IKE5,6分组
第2阶段
作用
在对等体之间建立IPsec AS为后续的用户数据通信提供安全通道
模式 快速模式
IKE模式
主模式 Main Mode
主动模式 Aggressive Mode 除了EzVPN用主动模式外,其他VPN类型都是主模式
快速模式 Quick Mode
并不是所有的路由器都支持3DES,如果不支持,需要买授权码激活
IKE安全关联
ISAKMP AS
作用 为第二阶段分组协商过程提供安全通道
IPsec SA
作用 提供数据的加解密
特点
单向的
发送方的加密AS等于接收方的解密AS
接收方的加密AS等于发送方的解密AS
lifetime 默认1小时重新计算一次
SPD
IKE Security Policy Database–安全策略数据库
加密算法
hash算法
IPsec模式
密钥
密钥生存周期
SAD
AS Database–AS数据库
目的IP地址
SPI号
IPsec协议
ESP
AH
查看
show crypto ipsec as
IKE-debug
状态
MM_NO_STATE 1,2个分组
MM_AS_SETUP 3,4个分组
MM_KEY_EXCH 5,6个分组
QM_IDLE IPsec AS建立完成
故障排除
策略集不同
没有key
key不匹配
peer设置错误
转换集不同
发送方没有设置crypto-map
接受方没有设置crypot-map
发送数据时一边加密一边没有
IKE数据处理
有map ,感兴趣流,加密 forward
有map,感兴趣流,没加密 drop
有map ,不是感兴趣流,加密 drop
没有map,感兴趣流,不加密 forward
没有map.感兴趣流,加密 forward 有解密,但是在第二阶段协商失败
IKE增强特性
Xauth
作用 由于主动模式只有三个分组不太安全,引入拓展认证增强其安全性
Mode config
NAT-T
DPD
lifttime
keepalive
AS
IKE认证机制
预共享密钥
数字签名
加密临时值
ESP
作用 提供加密,认证和保护数据的框架
数据机密性
DES
3DES esp-3des
AES
数据完整性
MD5
SHA esp-sha
数据源验证
共享密钥
HASH算法
防重放攻击
重放攻击
攻击者重复发送大量数据包,使得接受者不断的解封装并分析,在一定程度上消耗系统资源
解决方案
通过序列号和滑动窗口实现
层次
OSI传输层
协议号 50
AH
AS协议,数据没有加密,只用于数据完整性校验和防重放攻击,现在很少用到了
作用 提供认证和保护数据的框架
层次
OSI传输层
协议号 51
IPsec VPN
L2L-VPN 两个公网地址,两个私网地址,两个公网地址是固定的 也叫 site to site vpn
L2LVPN配置
在互联网出口两个路由器做配置,如上图的R2和R4
老方法配置6个步骤:
1、定义第一阶段策略集
R2(config)#crypto isakmp policy 1
R2(config-isakmp)#encryption 3des
R2(config-isakmp)#authentication pre-share #与共享秘钥认证
R2(config-isakmp)#group 2 #不同的group,加密算法长度不同
R2(config-isakmp)#hash sha #哈希算法,默认是sha,设置了后查看crypto配置看不到的。如果改成了md5可以看到
2、定义与共享秘钥
R2(config)#crypto isakmp key 0 jinghao address 100.1.34.4 #对端地址是对端路由器地址
3、定义第三阶段转换集
R2(config)#crypto ipsec transform-set l2ltrans esp-3des esp-sha-hmac
4、定义感兴趣流
R2(config)#ip access-list extended l2lacl
R2(config-ext-nacl)#permit ip 192.168.12.0 0.0.0.255 192.168.45.0 0.0.0.255
5、定义映射图
这个报错不用管,由于没有配置acl,下面会配置
R2(config)#crypto map l2lmap 1 ipsec-isakmp
R2(config-crypto-map)#set peer 100.1.34.4 #对等体地址是另外一端路由器的地址,不是运营商地址
R2(config-crypto-map)#set transform-set l2ltrans #设置之前配置的转换集
R2(config-crypto-map)#match address l2lacl
6、应用于接口
在公网接口配置:
R2(config)#interface f1/0
R2(config-if)#crypto map l2lmap
另一端配置类似
配置完,会出现监听状态:
测试私网到私网连通性:
现在ping不通,是因为上面配了NAT地址转换,无论访问哪里,都做了地址翻转
解决办法是将私网到私网的网段不做nat
再次测试私网到私网连通性,并抓包:
可以联通
数据包:
第一阶段6组,第二阶段3组。
协商成功一定是干干净净9个包
测试数据传输包:
全是加密的
在内网抓包就是铭文的
L2LVPN新配置方法:
就是GRE over IPSEC,详见下面教程:
NAT-T
NAT Traversal ,NAT穿越,用于实现私网地址到公网地址VPN的建立。
如下图,出口是防火墙,如果在R1上做VPN,则R1上是私有地址,R2上是公有地址。此时就要用到NAT-T
1、R1一定能找到R4,R4找R1是通过R2做的NAT加端口号找到
2、4500端口解决
3、通过hash值对比
NAT是通过TCP端口复用来实现的,而vpn数据包没有端口号,NAT就无法记录,一旦进入加密数据流,则会丢弃数据包
NAT-T原理就是来修改IP头部,在ESP数据包的头部插入一个UDP端口号4500的头部,使得NAT设备能看到端口信息,顺利的将数据包丢出去
R1和R4建立VPN,两边必须最少有一个是公网地址,R1私网地址,R4公网地址:
先将R2接口的crypto删除:
R2(config)#interface f1/0
R2(config-if)#no crypto map l2lmap
将R2的vpn配置在R1做一下:
接口应用:
R1配置下ACL
由于在R2做了地址翻转,所以R4不需要修改任何配置:
测试连通性
抓包查看:
前面4个包与之前的没有区别,端口号都是500:
第5个包开始端口号变成了4500
数据传输时,在ESP包下面多了一层端口为4500的UDP包:
清除crypto邻居关系:
R4#clear crypto session
从第三个包开始,告知对方环境,是在私网还是公网,ISAKM包中有NAT的相关数据,里面有hash值
经过地址翻转后的端口对应如下,当R4发现两边地址不一致时,就知道经过了地址翻转,在第五个包开始加入了4500端口的udp包:
用新版本的wireshark,抓包可能出现问题,这是由于wireshark版本过高导致的:
查看NAT转发
故障排除
show crypto engine connections active
show crypto isakmp sa #查看第一阶段sa
show crypto ipsec sa #查看第二阶段sa
show crypto map
show crypto isakmp policy
show crypto ipsec transform-set
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**