一、对称加密方法: 1.zip加密文件 ;zip -e abc.txt.zip abc.txt 2.vim 的加密方式 在编辑最后 :X 进行加密 3.gpg -c //对称加密 gpg -o xx
一、对称加密方法:
1.zip加密文件 ;zip -e abc.txt.zip abc.txt
2.vim 的加密方式 在编辑最后 :X 进行加密
3.gpg -c //对称加密
gpg -o xxx -d .... //对称解密
二、非对称加密:
用私钥加密---公钥解开---->签名的作用
用公钥加密---私钥解开---->加密的作用
通过ssh连到用户
gpg --gen-key //生成公钥
tom使用roy的公钥给roy发送加密文件:
公钥和私钥存放的地方
file ~/.gnupg/pubring.gpg
file ~/.gnupg/secring.gpg
gpg -k //查看公钥的信息
gpg -K //查看私钥的信息
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 "[email protected]" abc.txt //使用roy的公钥给要发送给roy的文件加密
roy使用自己的私钥解密
roy使用tom的公钥给tom发送信息
tom的公钥导出
编辑添加信任
gpg --edit-key "[email protected]"
>trust
>sign
解密:
三、签名
公钥加密,私钥签名
-s //创建签名
gpg -o xyz.txt -d /tmp/roy/xyz.txt.gpg //解密,验证签名,必须要有对方的公钥
验证签名
//对文本文件进行加密,可以不用加-a,证明文件是你发的,类似于网络发帖。
--detach-sign //原文件不动,单独验证签名。分离的签名
-se //签名和加密同时做
四、gpgcheck
在配置yum源的时候,如果将gpgcheck=1,启用gpgcheck的检查,安装的时候会检查签名
rpm -qa | grep pubkey //查看有没有rpm的公钥
iso关盘里直接有验证签名的公钥
在配置源的时候,可以使用gpgkey=key的路径,导入key的路径
rpm包的制作
在宏~/.rpmmacros文件里定义前面要用的key
创建本地软件仓库
导入key
tom用户直接在制作rpm包的时候加上签名
需要在~/.rpmmacros //在rpm宏文件里面指定key
制作rpm包的时候可以后面增加sign,也可以构建rpm包的时候就直接加上签名
gpg在服务器上的操作
五、磁盘/分区---块设备加密
luks //linux通用密钥系统,linux内核提供
加密设备的使用步骤:
1.创建加密设备
2.解密
3.挂载
4.使用
5.关闭
cyptsetup luksFormat /dev/sdh1 //加密/dev/sdh1磁盘
cyptsetup luksOpen /dev/sdh1 data //打开加密的磁盘,并给他取个名字叫data,以后我们使用就直接使用data
mkfs -t ext3 /dev/mapper/data //第一次使用分区的时候会需要格式化分区,后面开就不需要了,如果再使用格式化分区,会导致数据丢失的
mount /dev/mapper/data /mnt/ //挂载分区
umount /mnt/ //取消挂载
cryptsetup luksClose data //关闭分区
流程:
可以使用luksDump 命令查看已经加密的信息,luks支持多个密码
增加密码
删除密码
删掉指定插槽
使用图片来进行加密
//图片为/my.png 文件
//用图片进行解密
关闭分区的时候使用/dev/mapper/data
有加密分区需要开机自动挂载,编写一个crypttab ,然后在开机挂载里面将我们要开机挂载的分区内容写进去--因为使用图片进行加密的,所以并不需要交互。
模拟块设备
模拟块设备加密
找到模拟出来的loop设备
使用脚本进行判断
六、网络传输加密
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
七、CA中心
https :443端口,证书浏览器里面 存放了公钥CA
CA中心用自己的公钥给网站签名,得到
浏览器里自带有CA中心根证书(root.crt)的CA中心为权威CA中心
yum install http
yum install mod_ssl //安装安全模块,实现https
//安装安全模块的时候,会自动执行生成证书的脚本
1.生成证书
cd /etc/pki/tls/certs
make www.oneone.com.csr
会生成一个csr,一个key
2.CA中心的创建
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
重启服务器,会要求我们输入密码。
使用命令openssl rsa < www.oneone.com.key > www.oneone.com.key1
生成没有密码的签名
5.
浏览器中导入我们CA中心的根证书。
根证书的位置在
然后就可以在浏览器使用https协议访问啦
八、ssh隧道技术
-L 本地端口转发
通过本地的2323端口,访问远端192.168.30.3上面的23端口,用户 是tom
我们直接登陆本地的2323端口,相当于访问的是远端192.168.30.3的
通过主机访问虚拟机
翻墙 ,使用国外的服务器作为代理,翻墙
-D 动态代理
套节字代理,使用7070端口作为代理 ,[email protected] 为台湾的服务器
-Nf 放在后台
-R 远端端口转发
九、nc ,netcat ,socat
netcat nc
socat
1.nc
nc //网络中的瑞士小军刀
nc -l 8484// 监听8484端口
可以直接将内容显示网页上:
反向shell
聊天功能的实现:
两边都可以发消息,而且可以时时显示
文件内容的传输实现
这两种方式都可以实现文件内容的传输
nc实现网页内容的获取
socat