设为首页 收藏本站
查看: 321|回复: 0

[经验分享] Openssl建立CA,在组织内部基于ca的认证

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-20 09:31:27 | 显示全部楼层 |阅读模式
Openssl建立CA,在组织内部基于ca的认证      

        1.给自己生成一对密钥

        2.自签署证书

        

        节点:1.生成密钥对   2.申城证书签署请求    3.把请求发送给CA   
        CA: 1.验证请求者信息     2.签署证书
        
一、建立CA服务器
/etc/pki/CA/private用于存放CA的私钥
1.(umask 077;openssl genrsa -out /etc/pki/private/cakey.pem 2048)   生成密钥
2.req -x509 自签署证书,常用于CA自己签署自己的证书
    req -days #     有效天数

    req -news  新请求

    req  -key  /path/file   指定私钥文件
    openssl -new -x509  -key /etc/pki/CA/private/cakey.pem  -out /etc/pki/CA/cacert.pem -days 3655   ###最后文件最好保持一致,不然要修改配置文件;然后填写详细信息(可以改配置文件,修改默认配置)
        生成的这个证书要给每个节点发一份

  3.初始化工作环境:

    #touch /etc/pik/CA{index.txt,serial}

    #echo 001> /etc/pki/CA/serial



二、节点申请证书
    A。节点要生成请求

        生成密钥对,同上第一步中
        生成证书签署请求
        把签署的请求文件发给CA服务器  
            #scp httpd.csr  1.1.1.1:/etc/pki/CA/csr   要输入1.1.1.1的密码  然后到服务器上  openssl ca -in /etc/httpd/ssl/csr/httpd.csr -out /etc/httpd/ssl/httpd.crt -days 1000
            #scp httpd.crt 2.2.2.2:/crt   ca服务器发回证书给请求者
    B。CA要签署证书

            1.验证证书中的信息

            2.签署证书    openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/httpd.crt -days 1000  然后验证y  并提示database updated 数据库已更新,签署后可以删除请求文件或者换个位置保存

            3.发送给请求者



三、吊销证书
    A。节点请求吊销证书,要告诉CA服务器自己的序号是多少

            1.获取证书seral        #openssl x509 -in /path/*.crt  -noout -serial -subject
            2.CA服务器验证节点提交信息查看是否一致

            3.CA服务器吊销证书:  ##  openssl ca -revoke /etc/pki/CA/newcerts/序号.pem
            4.生成证书吊销列表   #第一次吊销  echo 00 >/etc/pki/CA/crlnumber
            5.跟新吊销列表文件  #cd /etc/pki/CA/crl
                    #openssl ca -gencrl -out /etc/pki/CA/crt/ca.crl  -noout -text             ####查看吊销证书  openssl crl -in /etc/pki/CA/crl/ca.crl





附:基础知识

OpenSSL:一种开源的,用于保证数据传输安全的一种实现方式
    NIST:CIA

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

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

        可用性:  A



         真实性,可追溯性

          OSI: x.800

                安全攻击
                        主动攻击:伪装,重播,消息修改,拒绝服务

                        被动攻击:窃听



安全机制
           加密,解密;数字签名;访问控制;数据完整性;认证交换;流量填充;路由控制;公证
安全服务
           认证
           访问控制:阻止非授权访问
           数据保密性:连接保密性,无连接保密性,选择域保密性,流量保密性

           数据完整性
           不可否认性   


密码算法和协议:
    对称加密:加密和解密方使用同一密码
    非对称加密:公钥 私钥   不通  ----加密速度慢;公钥是从私钥生成的
    单项加密:(数据完整性加密)
     认证协议:通信双方的身份验证
明文:clear text    plain text
密钥
密文
加解密算法


对称加密:DES、3DES、AES(密钥长度远大于DES)、Blowfish、Twofish、IDEA、RC6、CAST5
        加密解密使用统一口令;将明文分割成固定大小的块
对称加密缺点:密钥过多;密钥传输;密钥交换


公钥加密:非对称加密
    密钥:public key、secret key

        p/s   public/secret

公钥主要用于:身份认证 并不能保证数据的安全性,仅仅是完成身份认证


单项加密:定长输出,雪崩效应,(md5,SHA1)  a发给b({数据指纹(用a的私钥加密)及源数据}大括号内的数据用a生成的密钥进行加密,加密算法是对称加密,假设密码为secret;然后把secret密码用b的公钥进行加密后生成数据CCC)即CCC{用a私钥加密的数据指纹及源数据},b使用自己的私钥解密CCC得到对称加密的密钥secret,然后使用对称加密算法解密(密钥secret)数据和数据指纹(数据指纹用a的公钥解密),然后用生成指纹工具生成指纹和a发来的指纹对照 然后判断   


PKI:公钥基础设施  Public key infrastructure
    签证机构:CA

    注册机构:RA

    证书吊销列表:CRL

    证书存取库:



常用加密算法:RSA  DSA  EIGamal
IKE   密钥交换


ITU-T:  x.509 证书标准,证书结构和认证协议的标准


SSL  Netscape公司发明的;secure socket  Layer
    ssl v1  v2 v3
TLS:transport Layer Security
    TLSv1



gpg; openssl   linux下的两种工具
rpm -ql  openssl


openssl:多用途工具
libcrypto:公用加密库
libssl:ssl协议的实现



[iyunv@comk ~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013



OpenSSL> help
openssl:Error: 'help' is an invalid command.
Standard commands
asn1parse         ca                ciphers           cms               
crl               crl2pkcs7         dgst              dh               
dhparam           dsa               dsaparam          ec               
ecparam           enc               engine            errstr            
gendh             gendsa            genpkey           genrsa            
nseq              ocsp              passwd            pkcs12            
pkcs7             pkcs8             pkey              pkeyparam         
pkeyutl           prime             rand              req               
rsa               rsautl            s_client          s_server         
s_time            sess_id           smime             speed            
spkac             ts                verify            version           
x509              


Message Digest commands (see the `dgst' command for more details)
md2               md4               md5               rmd160            
sha               sha1              


Cipher commands (see the `enc' command for more details)
aes-128-cbc       aes-128-ecb       aes-192-cbc       aes-192-ecb      
aes-256-cbc       aes-256-ecb       base64            bf               
bf-cbc            bf-cfb            bf-ecb            bf-ofb            
camellia-128-cbc  camellia-128-ecb  camellia-192-cbc  camellia-192-ecb  
camellia-256-cbc  camellia-256-ecb  cast              cast-cbc         
cast5-cbc         cast5-cfb         cast5-ecb         cast5-ofb         
des               des-cbc           des-cfb           des-ecb           
des-ede           des-ede-cbc       des-ede-cfb       des-ede-ofb      
des-ede3          des-ede3-cbc      des-ede3-cfb      des-ede3-ofb      
des-ofb           des3              desx              idea              
idea-cbc          idea-cfb          idea-ecb          idea-ofb         
rc2               rc2-40-cbc        rc2-64-cbc        rc2-cbc           
rc2-cfb           rc2-ecb           rc2-ofb           rc4               
rc4-40            seed              seed-cbc          seed-cfb         
seed-ecb          seed-ofb          zlib              


对称加密:
    工具:gpg,openssl enc

    openssl enc -e -des3 -a -salt -in messages -out messages.cipher  加密一个文件

    openssl enc -d -des3 -a -salt -in messages.cipher -out messages 输入加密时的命令

单项机密:
工具:md5sum,sha1sum,openssl dgst,chsum
#openssl dgst -md5/-sha1  -out /path/to/filename  /path/from/sourchfile



[root@comk tmp]# md5sum nmap.sh
45891ce6197042d633818ebc995c6b7a  nmap.sh
[iyunv@comk tmp]# openssl dgst -md5 nmap.sh
MD5(nmap.sh)= 45891ce6197042d633818ebc995c6b7a
MAC:消息摘要码,单向加密的一种延伸类应用
    用于实现网络数据传输中保证数据完整性

        机制:CBC-MAC

                    HMAC:使用的是md5或者sha1的算法

                    集群时传送消息时会用到,保证集群中主机的合法性
用户密码:
        openssl  passwd  命令   whatis passwd;man  sslpasswd才能看到解释

        openssl passwd -1 -salt 13589
[iyunv@comk ~]# openssl passwd -1 -salt 880114
Password:
$1$880114$4qPBmNPziDG0Hss.fr3v31
    两个$中间即880114   salt值
    生成随机数:openssl rand   -base64  4   或者openssl rand -hex 4  生成8位随机数
    openssl passwd -1 -salt `openssl rand -hex 4`  用命令生成随机数

公钥加密:
    算法:RSA,EIGamal

    工具:gpg,openssl rsautl
数字签名:RSA  EIGamal  DSA
    DSA:digital Gignature Algorithm  只能用于签名不能用于加密

    DSS  数字签名标准



密钥交换:IKE
    算法:公钥加密  DH

    IKE:

        DH:Diffie-hellman  地狱男爵

生成密钥对:gen???   whatis genrsa
        openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
        openssl genrsa 2048 >mykey   默认644  修改为600权限

        openssl genrsa 2048 -out /tmp/mykey

        (umask 077;openssl genrsa 2048 -out /tmp/mykey)  一条命令获得上面红色的效果

提出公钥:

        openssl rsa -in /tmp/mykey -pubout

   

x.509证书,持有者,公钥,,使用期限


B和a通信,则b向a要证书,避免都向CA要证书,使CA称为性能瓶颈
rpm -ql  openssl  查看安装信息



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-88518-1-1.html 上篇帖子: linux下helloworld的简单编译过程 下篇帖子: NFS网络文件共享服务 认证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表