linux 加密和证书

安全目标:
机密性:明文传输的ftp, http,telnet 不安全
数据完整性:
身份验证:
可用性:
安全技术:认证,授权,安全通信,审计
密码算法和协议:对称加密,公钥加密,单向加密,认证协议

1、对称加密:加密,解密使用同一个秘钥,效率高

DES:Data Encrption Standard, 56bit
3DES:
AES:Advanced
Blowfish
缺点:秘钥过多,分发问题,来源无法确认
gpg实现加密: gpg -c file –>file.gpg
解密:gpg -o file -d file.gpg

2、公钥加密:非对称加密

密钥对:公钥:P 私钥:S 信息:M
M=S(P(M))
发送方用自己的私钥加密数据,可以实现身份验正
发送方用对方的公钥加密数据,可以保证数据机密性
公钥加密算法很少用来加密数据:速度太慢
公钥加密:(加密/签名)
数字签名
数据加密
对称密钥交换
算法:RSA: 加密、签名,DSA:签名,ElGamal
gpg实现公钥加密:
gpg –gen-key

3、单向加密:提取数据特征码

输入一样:输出必然相同
雪崩效应:输入的微小改变,将会引起结果的巨大改变
定长输出:无论原始数据是多在,结果大小都是相同的
不可逆:无法根据特征码还原原来的数据
协商生成密码:密钥交换(Internet Key Exchange, IKE)
Diffie-Hellman协议:
A –> B p, g (大素数,生成数)
A: x B: y
A: g^x%p –> B
B: g^y%p –> A
g, p, g^x%p, g^y%p
A: (g^y%p)^x=g^yx%p
B: (g^x%p)^y=g^xy%p
单向加密算法:MD5 SHA1 SHA256

4、CA

PKI: Public Key Infrastructure
签证机构CA: Certificate Authority
注册机构:RA
证书吊销列表:CRL
x509:
公钥及期有效期限
证书的合法拥有者
证书该如何被使用
CA的信息
CA签名的校验码..

5、OpenSSL: 开源

libcrypto: 加密库
libssl: TLS/SSL的实现
基于会话的、实现了身份认证、数据机密性和会话完整性的TLS/SSL库、
openssl: 多用途命令行工具
6、openssl实现私有CA:
1、生成一对密钥
2、生成自签署证书
openssl genrsa -out /PATH/TO/KEYFILENAME NUMBITS
openssl rsa -in /PATH/TO/KEYFILENAME -pubout

CA服务器:
1、vim /etc/pki/tls/openssl.cnf
dir=/etc/pki/CA

2、cd /etc/pki/CA
make certs newcerts crl
touch index.txt
echo 01 > serial

3、自签证书
(umask 077; openssl genrsa -out private/cakey.pem 2048)
openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 3000

OpenSSL:
1、创建CA
自己生成一对密钥;
生成自签证书;
2、客户端
生成一对密钥;
生成证书颁发请求, .csr;
将请求发给CA;
3、CA端
签署此证书;
传送给客户端;
OpenSSL: TLS/SSL, (libcryto, libssl, openssl)

9、OpenSSH:
telnet, TCP/23, 远程登录
认证明文
数据传输明文

ssh: Secure SHell, TCP/22 C/S
OpenSSH软件包(开源)
客户端:Linux: ssh
Windows: SecureCRT xshell
服务器端:sshd
openssh (ssh, sshd)
sshd: 主机密钥
netstat
-t: tcp connections
-u: udp connections
-l: listening
-p: process
配置文件:
ssh (ssh_config)
sshd (sshd_config)
/etc/ssh
ssh:
ssh -l USERNAME REMOTE_HOST [‘command’]
ssh USERNAME@REMOTE_HOST
-p port

基于密钥的认证:
一台主机为客户端(基于某个用户实现):
1、生成一对密钥
ssh-keygen
-t {rsa|dsa}
-f /path/to/keyfile
-N ‘password’
2、将公钥传输至服务器端某用户的家目录下的.ssh/authorized_keys文件中
使用文件传输工具传输(ssh-copy-id, scp)
ssh-copy-id -i /path/to/pubkey USERNAME@REMOTE_HOST

总结:
1、密码应该经常换且足够复杂;
2、使用非默认端口;
3、限制登录客户地址;
4、禁止管理直接登录;
5、仅允许有限制用户登录;
6、使用基于密钥的认证;
7、禁止使用版本1

PKI
A –> B:
证书: 用户信息,公钥
颁发者的信息,签名
证书有效期限
A发送方:
1、计算数据的特征码(单向加密);
2、用自己的私钥加密特征码,并附加在数据后面;
3、生成一个临时对称密钥;
4、用此密钥结合某算法加密数据及加密后的特征码;
5、对接收方的公钥加密此对称密钥,并附加加密后的数据后面;
6、发送至接收方;
B接收方:
1、用自己的私钥解密加密的对称密钥;
2、用对称密钥解密数据;
3、用对方的公钥解密加密的特征码;
4、用同样的算法计算数据的特征码,并与解密而来的特征码进行比较;
A –> B:
SSL: Secure Socket Layer, SSLv2, SSLv3
TLS:Transport Layer Security, TLSv1

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86882

(1)
上一篇 2017-09-11 01:00
下一篇 2017-09-11 09:56

相关推荐

  • Nginx的安装及其一些配置

    nginx的编译安装    tar xf nginx-1.12.2.tar.gz   cd nginx-1.12.2     yum install pcre-devel  ./configure –help   groupadd -r nginx     useradd -g nginx -r nginx    id nginx     ./c…

    Linux干货 2017-10-25
  • “Apache” 服务器中的战斗机

    一,apache世界使用排名第一的web服务器软件。它被音译为阿帕奇,与武装直升机里的佼佼者阿帕奇同名,它虽没有阿帕奇那么霸气的外观,但是它具有和它一样的强大火力,它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中…

    2017-08-19
  • mariadb之再次演练

    架构图如下: 1.按照架构图所示,准备机器,做好时间同步,主机名解析 192.168.42.150 node1 [proxySQL keepalived]192.168.42.151 node2 [proxySQL keepalived]192.168.42.152 node3 [mysql-master wha]192.168.42.153 node4 […

    Linux干货 2016-03-06
  • Linux文本处理工具grep

    文件查看工具:cat     将[文件]或标准输入组合输出到标准输出。               -A, –show-all       &nbs…

    Linux干货 2016-08-10
  • 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     [root@director2 ~]# cp -a /etc/skel /home/tuser1   &n…

    Linux干货 2016-08-29
  • N25-第二周博客作业

    1. Linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示. 文件管理工具有cp, mv, rm cp命令: 复制文件或文件夹 语法: cp [OPTION]… [-T] SOURCE DEST 单源复制cp [OPTION]… SOURCE… DIRECTORY 多源复制 常用选项:  &nb…

    Linux干货 2016-12-10

评论列表(1条)

  • h
    h 2017-09-13 11:14

    内容不错,注意排版,继续加油!