20170321--安全—数据加密

本文全面介绍了加密技术,包括对称加密、非对称加密的方法及其应用场景,如GPG的使用、磁盘加密、网络传输加密等。此外还详细讲解了CA中心的工作原理及HTTPS的配置过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、对称加密方法:

 

1.zip加密文件 ;zip -e abc.txt.zip abc.txt

2.vim  的加密方式 在编辑最后 :X  进行加密

3.gpg -c   //对称加密
gpg -o xxx  -d .... //对称解密

143555_GpFX_2918364.png


二、非对称加密:
用私钥加密---公钥解开---->签名的作用
用公钥加密---私钥解开---->加密的作用

通过ssh连到用户
gpg --gen-key //生成公钥


tom使用roy的公钥给roy发送加密文件:

公钥和私钥存放的地方
 file  ~/.gnupg/pubring.gpg
 file ~/.gnupg/secring.gpg
 gpg -k  //查看公钥的信息
 gpg -K   //查看私钥的信息

143649_ysTk_2918364.png
 
 gpg  -o roy.pub  --export  [可指定邮箱,或者id号] //导出公钥 ,如果不指定目录,导出后就会在当前目录里面
  gpg  -a  -o roy.pub.txt   --export  //导出为明文公钥
  将导出的文件roy.pub.txt ,拷贝到要给我们发文件的那台主机上

gpg -e // 非对称加密,回到公钥环里寻找别人的公钥


gpg --import roy.pub.txt //导入别人的公钥

gpg -o abc.txt.secret -e -r "roy@up.com" abc.txt  //使用roy的公钥给要发送给roy的文件加密

143812_d4Vx_2918364.png

 
 roy使用自己的私钥解密
143842_adm5_2918364.png


roy使用tom的公钥给tom发送信息

tom的公钥导出

143952_bp6N_2918364.png

编辑添加信任

gpg --edit-key "tom@up.com"
>trust
>sign

解密:

144045_QEyN_2918364.png

三、签名
公钥加密,私钥签名
-s  //创建签名
gpg -o xyz.txt -d /tmp/roy/xyz.txt.gpg //解密,验证签名,必须要有对方的公钥

144134_5x6c_2918364.png
验证签名

144207_CI7V_2918364.png

144230_HJAm_2918364.png

//对文本文件进行加密,可以不用加-a,证明文件是你发的,类似于网络发帖。
--detach-sign  //原文件不动,单独验证签名。分离的签名
-se //签名和加密同时做

 

四、gpgcheck

在配置yum源的时候,如果将gpgcheck=1,启用gpgcheck的检查,安装的时候会检查签名

rpm -qa | grep pubkey  //查看有没有rpm的公钥

iso关盘里直接有验证签名的公钥

152959_e1Lr_2918364.png

在配置源的时候,可以使用gpgkey=key的路径,导入key的路径

 

rpm包的制作

153745_jOf2_2918364.png

153757_MeWF_2918364.png

153826_DL0E_2918364.png

在宏~/.rpmmacros文件里定义前面要用的key

154206_w74d_2918364.png

创建本地软件仓库

154353_ElJX_2918364.png

导入key

154514_9yLj_2918364.png

tom用户直接在制作rpm包的时候加上签名

需要在~/.rpmmacros //在rpm宏文件里面指定key

155102_90ew_2918364.png

155216_ij0z_2918364.png

制作rpm包的时候可以后面增加sign,也可以构建rpm包的时候就直接加上签名

155016_vEmw_2918364.png

 

gpg在服务器上的操作

155621_qG5S_2918364.png

 

 

五、磁盘/分区---块设备加密

luks //linux通用密钥系统,linux内核提供

加密设备的使用步骤:

1.创建加密设备

2.解密

3.挂载

4.使用

5.关闭

cyptsetup luksFormat /dev/sdh1  //加密/dev/sdh1磁盘

cyptsetup luksOpen  /dev/sdh1  data //打开加密的磁盘,并给他取个名字叫data,以后我们使用就直接使用data

165427_ktfU_2918364.png

mkfs -t ext3 /dev/mapper/data  //第一次使用分区的时候会需要格式化分区,后面开就不需要了,如果再使用格式化分区,会导致数据丢失的

mount  /dev/mapper/data /mnt/   //挂载分区

umount /mnt/                         //取消挂载

cryptsetup luksClose data  //关闭分区

流程:

165022_88B8_2918364.png

 

可以使用luksDump 命令查看已经加密的信息,luks支持多个密码

165512_8w23_2918364.png

增加密码

171025_5MDr_2918364.png

 

删除密码

165751_kk2R_2918364.png

删掉指定插槽

165914_fmQa_2918364.png

使用图片来进行加密

170739_VXQ8_2918364.png//图片为/my.png 文件

170848_NmVU_2918364.png

//用图片进行解密

关闭分区的时候使用/dev/mapper/data

 

有加密分区需要开机自动挂载,编写一个crypttab ,然后在开机挂载里面将我们要开机挂载的分区内容写进去--因为使用图片进行加密的,所以并不需要交互。

171329_r0l3_2918364.png

模拟块设备

095453_jTfK_2918364.png

模拟块设备加密

095603_jCmt_2918364.png

找到模拟出来的loop设备

095643_fEQT_2918364.png

使用脚本进行判断

095721_3G0p_2918364.png

六、网络传输加密

http协议是不安全的协议,传输的所有内容都是明文的
http ftp nfs ...都是明文的协议
https ftps ---s = ssl/tls --经过加密的
telnet 也是明文的协议
ssh 是linux协议,是安全的

安装抓包工具wireshark
filter :过滤包
tcp.port == 5909 //


tcpdump:
man pcap-filter //查看使用帮助
常用的命令
-i //指定端口
src //源地址
dst //目的地址
host //源或者目的地址
port //指定端口
协议:
udp
tcp
icmp
连接符号:
and
or
095837_cx5V_2918364.png

七、CA中心

https :443端口,证书浏览器里面 存放了公钥CA
CA中心用自己的公钥给网站签名,得到

095953_qkwR_2918364.png

 

浏览器里自带有CA中心根证书(root.crt)的CA中心为权威CA中心

 

 


yum install http
yum install mod_ssl //安装安全模块,实现https

100042_kBYv_2918364.png

//安装安全模块的时候,会自动执行生成证书的脚本

100112_rytA_2918364.png


1.生成证书
cd /etc/pki/tls/certs

make www.oneone.com.csr

会生成一个csr,一个key

100209_Y3X2_2918364.png

2.CA中心的创建

100235_UJvu_2918364.png

3.将我们刚刚生成的证书www.oneone.crt 到CA中心进行签名
cp /etc/pki/tls/certs/www.oneone.com.csr /etc/pki/tls/misc/newreq.pem
cd /etc/pki/tls/misc
./CA -sign //CA中心签名,签好后会生成newcrt.pem
[root@new misc]# cp newcert.pem /etc/pki/tls/certs/www.oneone.com.crt

发给CA中心一个证书签名请求的csr文件,(发到/etc/pki/tls/misc/中)
重命名csr证书签名请求为newreq.pem
然后./CA -sign,生成证书crt,名字为newcrt.pem
网站管理员得到newcrt.pem,可以重命名为www.oneone.com.crt

4.
在http配置文件中加入我们的证书和key
vim /etc/httpd/conf.d/ssl.conf

100322_Ko92_2918364.png


重启服务器,会要求我们输入密码。
使用命令openssl rsa < www.oneone.com.key > www.oneone.com.key1
生成没有密码的签名

5.

浏览器中导入我们CA中心的根证书。
根证书的位置在

100435_M5E5_2918364.png

 

100457_uJQB_2918364.png

然后就可以在浏览器使用https协议访问啦

100532_sh4o_2918364.png

八、ssh隧道技术
-L 本地端口转发

通过本地的2323端口,访问远端192.168.30.3上面的23端口,用户 是tom

100625_wtBA_2918364.png

我们直接登陆本地的2323端口,相当于访问的是远端192.168.30.3的

100711_CE7Q_2918364.png

通过主机访问虚拟机

100842_wDBl_2918364.png

翻墙 ,使用国外的服务器作为代理,翻墙

101000_mTWm_2918364.png


-D 动态代理
套节字代理,使用7070端口作为代理 ,kadefor@gcp.kadefor.com 为台湾的服务器

101039_6cXD_2918364.png

101113_jGqn_2918364.png

-Nf 放在后台

101149_ybrk_2918364.png

-R 远端端口转发

101221_DCuE_2918364.png

 

 

 

九、nc ,netcat ,socat

netcat nc
socat
 

 

1.nc

nc //网络中的瑞士小军刀
nc -l 8484// 监听8484端口

 

可以直接将内容显示网页上:

122108_BX2S_2918364.png

反向shell

122330_CnoR_2918364.png

122349_dkST_2918364.png

122418_KAvS_2918364.png


聊天功能的实现:

两边都可以发消息,而且可以时时显示

122601_lgWX_2918364.png

文件内容的传输实现

123205_WtqI_2918364.png

这两种方式都可以实现文件内容的传输

123321_Lc1v_2918364.png

nc实现网页内容的获取

124153_OQgO_2918364.png

 

socat

125449_8bHZ_2918364.png

125513_KV07_2918364.png

125534_OShH_2918364.png

 

 

转载于:https://my.oschina.net/liubaizi/blog/864099

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值