9月20日 OpenSSL,加密解密

SSL:Secure Socket Layer

特点:

保密性:数据保密性,隐私性

完整性:数据完整性,系统完整性

可用性:加密能够解密。

OSI:x.800定义了安全攻击机制

 

现代互联网安全服务的基础安全框架叫做PKI机制:Public Key Infrastructure

PKI:

签证机构:CA

注册机构:RA

证书吊销列表:CRL

证书存取库:

 

DSS:Digital Siganature Standard

 

加密协议种类

对称加密:加密解密用同一个密钥:3des,aes

公钥加密:密钥成对出现:公钥-私钥,加密速度慢,常用于数字签名和密钥交换。

            RSA,DSA(DSS)

单向加密:主要用于提取数据指纹或特征码。

            MD5,sha1

密钥交换:DH:Deffie-Hellman算法

SSL是一种库,是TCP/IP协议层中的半层,基于TCP实现的,必须要有虚拟电路支持。

请求服务器中的数字证书:其中是使用者的公钥

CA:证书签证机构

数字证书格式:

版本号version:

序列号serial number:CA用于唯一标识此证书

签名算法标识:

发行者名称:CA自己名称

有效期:起止日期

证书主体名称:证书拥有者的名称:

证书主体公钥信息:证书拥有者自己的公钥

发行商的唯一标识:

证书主体的唯一标识:

扩展信息:

签名:CA对此证书的数字签名

证书的用途:

用户证书:用户之间通信用的

主机证书 (httpd):服务器的进程间通信用的

Open SSL 的组成部分:

libcrypto:加密解密库文件

libssl:ssl协议实现

openssl:多用途命令行工具,每种功能都使用专用的子命令来实现

openssl:子命令分类:

标准命令

消息摘要命令

加密,解密相关命令

加密 openssl enc -e加密 -a以文本模式输出 -salt:加些随机数进来 -in加密哪个文件 -out放在哪 -des3密码

解密 openssl enc �Cd

image 加密前

 image 加密中

image 加密后

 

单向加密 openssl dgst �CCIPHER file

image

 

生成用户密码:openssl passwd �C1 �Csalt 8bit 随机数

image 

不知为啥生出了一堆

 

生成随机数:openssl rand �Chex|-base64 NUM

image

image

 

公钥加密

数字签名:RSA/DSA

密钥交换DH:

操作过程:私钥能提取出公钥

openssl genrsa �Cout 文件 位数

(umask 077;openssl genrsa �Cout 文件 位数)在括号中运行的表示在子shell中运行

image

私钥中提取公钥

openssl rsa �Cin 私钥文件 �Cpubout

image

 

公钥加密为了完成密钥交换

私钥机密为了完成身份验证

 

随机数生成器:

random,urandom

熵池:保存硬件中断产生的随机数

/dev/random:从熵池中取随机数,熵池里的随机数耗尽,取随机数的进程会被阻塞

/dev/urandom:从熵池中取随机数,熵池里的随机数耗尽,会用伪随机数生成器替代,不安全。

 

构建私有CA

1、生成私钥;

2、生成自签署证书;

image

查看CA_Default

dir:定义CA工作目录

certs:$dir引用dir的值:为客户端发放的证书存取库

crl_dir:吊销文件

database:数据库

 

new_certs_dir:刚生成的证书

certificate:CA自己的证书

serial:会不断加一

crlnumber:吊销编号

private_key:存放私钥的

 

步骤:

自己生成

1、在CA工作目录里生成自己的私钥, 私钥的位置是private_key

2、生成自签证书:

     openssl req �Cnew �Cx509 �Ckey /etc/pki/CA/private/cakey.pem �Cout /etc/pki/CA/cacert.pem �Cdays

        -new 生成新证书的签署请求

        -key私钥文件路径,提取公钥用的

        -days N:证书有效时长,单位是天

        -out输出文件保存位置:

        -x509:直接输出自签署的证书文件,通常只有构建CA才这么用

3、提供辅助文件

        touch /etc/pki/CA/index.txt

        echo 01> serial

 

1

image

2、3

image

 

给节点发证书:

1、节点申请

2、CA签发证书:openssl ca �Cin file �Cout file �Cdays N

3、把签署好的证书发还给请求者

建立文件夹

image

生成证书

image

发送请求

image

之后就过不去了,不知为什么

 

 

OpenSSH:

CS架构协议:

   Server需要sshd:  /stc/ssh/sshd_config

   Client需要ssh,xshell,putty  /stc/ssh/ssh_config

   scp:安全跨主机复制工具,基于ssh实现

   sftp

sshsecure shell,用来取代telnet(23/tcp)

 

telnet是有xinetd这个超级守护进程来管理的:

打开telnet,他是明文的,容易被盗

chkconfig telnet on

image

service xinetd restart

ss �Ctnl 查找23tcp端口

iptables -F清空防火墙规则

ssh protocol

v1不安全 v2安全

两种方式认证:

      基于口令认证:

      基于密钥认证:基于DH

      在客户端生成一对密钥,私钥自己留着,公钥通过私密方式保存到远程服务器某用户的家目录专用于ssh通信的文件中

命令行用法:

ssh [选项] �Cl user host,不指定用户名就以自己当前用户名代入

ssh [选项] user@host

也可以通过ssh一次执行一条命令然后返回

image

 

私钥登录:

1、创建私钥

ssh [选项] [user]@[local] -p指明端口号

image

2、复制到服务器上

image

 

 

scp:远程复制文件:

push:scp �Cr(目录递归) �Cp(权限)自己的文件 user@host:/path -P指明端口号

pull:scp user@host:/path 位置

 

服务器端配置sshd:/etc/ssh/sshd_config

1、port默认是22,尽量不使用默认,大家都爱用22022

2、protocol 2,1不安全

3、限制可登录用户:禁用root登入,

                PermitRootLogin,默认是yes

                AllowUsers user1 user2,白名单

                AllowGroups grp1

                DenyUsers user1黑名单

4、仅监听需要监听的ip地址:

                ListenAddress

5、强密码策略:

                建议随机数

6、禁止使用空密码登入:

7、限制登入频度:默认是6次

你可能感兴趣的:(socket,机构,签证)