文章目录
一.安全机制
安全防护环节
物理安全:各种设备/主机、机房环境
系统安全:主机或设备的操作系统
应用安全:各种网络服务、应用程序
网络安全:对网络访问的控制、防火墙规则
数据安全:信息的备份与恢复、加密解密
管理安全:各种保障性的规范、流程、方法
安全攻击
Spoofing 假冒
Tampering 篡改
Repudiation 否认
Information Disclosure 信息泄漏
Denial of Service 拒绝服务
Elevation of Privilege 提升权限
中间人攻击:解决方案---->生成CA证书
安全算法
常用安全技术
认证
授权
审计
安全通信
加密算法和协议
对称加密
公钥加密
单向加密
认证协议
安全协议SSL
SSL:Secure Socket Layer,TLS: Transport Layer Security
功能:机密性,认证,完整性,重放保护
两阶段协议,分为握手阶段和应用阶段
- 握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成
- 应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信
SSL/TLS
Handshake协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换
ChangeCipherSpec 协议:一条消息表明握手协议已经完成
Alert 协议
:对握手协议中一些异常的错误提醒,分为fatal和warning
两个级别,fatal类型错误会直接中断SSL链接,而warning级别的错误SSL链接仍可继续,只是会给出错误警告
Record 协议
:包括对消息的分段、压缩、消息认证和完整性保护、加密等
HTTPS 协议
:就是“HTTP 协议”和“SSL/TLS 协议”的组合。HTTP over SSL”或“HTTP over TLS”
,对http协议的文本数据进行加密处理后,成为二进制形式传输
二. 对称加密算法
对称加密:加密和解密使用同一个密钥
算法
DES
:Data Encryption Standard,56bits
3DES
:
AES
:Advanced (128, 192, 256bits)
Blowfish
,Twofish
IDEA,RC6,CAST5
特性:
1、加密、解密使用同一个密钥,效率高
2、将原始数据分割成固定大小的块,逐个进行加密
缺陷:
1、密钥过多
2、密钥分发
3、数据来源无法确认
三. 非对称加密算法
公钥加密:密钥是成对出现
公钥:公开给所有人;public key
私钥:自己留存,必须保证其私密性;secret key
特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
功能:
数字签名:主要在于让接收方确认发送方身份
对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方
数据加密:适合加密较小数据
缺点:密钥长,加密解密效率低下
算法:
RSA
(加密,数字签名)
DSA
(数字签名)
ELGamal
基于一对公钥/密钥对
用密钥对中的一个加密,另一个解密
单向散列—hash算法
特点:单项不可逆(可以查出数据的完整性)
只能加密不能解密
功能:数据完整性
常见算法
md5: 128bits、
sha1: 160bits、
sha224、
sha256、
sha384、
sha512
常用工具
md5sum | sha1sum [ --check ] file
openssl、gpg
rpm -V
可以将哈希值存放到一个文件中,以后可以用md5sum -c 文件
来查看哈希值是否有损坏(-c就是–check)
检测光盘是否损坏
首先在官网中找到相应的光盘
因为这个是sha256sum加密算法
所以我们可以测试自己的光盘
得出的哈希值是否与官网的相同(如果一样,说明数据没有被损坏)
所以说本机的centos7是损坏的
rpm包完整性检测
公钥:/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
或者在光盘里面
Rpm -K检查签名(完整性)必须先要执行rpm --import 公钥
四. gpg 实现对称加密
对称加密file文件
gpg -c file
ls file.gpg
在另一台主机上解密file
gpg -o file -d file.gpg
-c加密
一个文件(会弹出一个窗口)
密码输入两遍
会生成一个.gpg的文件
-d解密
(默认不会生成新的文件)
-o 新文件
生成新的文件
实现gpg公钥加密
在hostB主机上用公钥加密,在hostA主机上解密
在hostA主机上生成公钥/私钥对
gpg --gen-key
在hostA主机上查看公钥
gpg --list-keys
在hostA主机上导出公钥到wang.pubkey
gpg -a --export -o wang.pubkey
从hostA主机上复制公钥文件到需加密的B主机上
scp wang.pubkey hostB:
在需加密数据的hostB主机上生成公钥/私钥对
gpg --list-keys
gpg --gen-key
在hostB主机上导入公钥
gpg --import wang.pubkey
gpg --list-keys
用从hostA主机导入的公钥,加密hostB主机的文件file,生成file.gpg
gpg -e -r 公钥名 file
file file.gpg
复制加密文件到hostA主机
scp fstab.gpg hostA:
在hostA主机解密文件
gpg -d file.gpg
gpg -o file -d file.gpg
删除
公钥和私钥
gpg --delete-keys wangxiaochun
gpg --delete-secret-keys wangxiaochun