• CentOS7服务器下安装配置SSL


    实验目的

    • 掌握SSL证书的基本概念
    • 掌握使用Openssl手动创建证书

    实验原理

    1.了解什么是SSL
      SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。
      SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道。
    2.SSL证书
      全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。
    3.SSL证书的功能
      确认网站真实性(网站身份认证):用户需要登录正确的网站进行在线购物或其它交易活动,但由于互联网的广泛性和开放性,使得互联网上存在着许多假冒、钓鱼网站,用户如何来判断网站的真实性,如何信任自己正在访问的网站,可信网站将帮你确认网站的身份。   
      保证信息传输的机密性:用户在登录网站在线购物或进行各种交易时,需要多次向服务器端传送信息,而这些信息很多是用户的隐私和机密信息,直接涉及经济利益或私密,如何来确保这些信息的安全呢?可信网站将帮您建立一条安全的信息传输加密通道。
      在SSL会话产生时,服务器会传送它的证书,用户端浏览器会自动的分析服务器证书,并根据不同版本的浏览器,从而产生40位或128位的会话密钥,用于对交易的信息进行加密。所有的过程都会自动完成,对用户是透明的,因而,服务器证书可分为两种:最低40位和最低128位(这里指的是SSL会话时生成加密密钥的长度,密钥越长越不容易破解)证书。   
      最低40位的服务器证书在建立会话时,根据浏览器版本不同,可产生40位或128位的SSL会话密钥用来建立用户浏览器与服务器之间的安全通道。而最低128位的服务器证书不受浏览器版本的限制可以产生128位以上的会话密钥,实现高级别的加密强度,无论是IE或Netscape浏览器,即使使用强行攻击的办法破译密码,也需要10年。
    4.SSL证书分类
      SSL证书依据功能和品牌不同分类有所不同,但SSL证书作为国际通用的产品,最为重要的便是产品兼容性(即证书根预埋技术),因为他解决了网民登录网站的信任问题,网民可以通过SSL证书轻松识别网站的真实身份。目前国际上,常见的证书品牌如VeriSign、GeoTrust等均可以实现该技术。我们以VeriSign证书为例,该类证书分为如下品类:

    • VeriSign 128位SSL支持型证书(VeriSign Secure Site)
    • VeriSign 128位SSL强制型证书(VeriSign Secure Site Pro)  
    • VeriSign 128位EV SSL支持型证书(VeriSign Secure Site with EV):支持绿色地址栏技术  
    • VeriSign 128位EV SSL强制型证书(VeriSign Secure Site Pro with EV ):支持绿色地址栏技术

    实验环境

    1.操作系统
      操作机: Linux_Centos7

    • IP:192.168.254.128
    • 网关:192.168.254.255  

    目标机:Windows 7
      目标机默认用户名:administrator  密码:1234

    实验步骤

    一、安装Apache

    yum -y install httpd

    二、安装ssl模块

    yum -y install mod_ssl

    三、配置httpd配置文件

    3.1修改地址为localhost

    vi /etc/httpd/conf/httpd.conf

    3.2重启Apache

    /usr/sbin/httpd -k start

    四、使用OpenSSL创建自定义证书

    4.1安装OpenSSL

    yum -y install openssl

    4.2生成服务器私钥

    cd /etc/pki/tls

    openssl genrsa -out server.key 1024

    server.key是私钥

    [root@localhost /]# cd /etc/pki/tls
    [root@localhost tls]# openssl genrsa -out sever.key 1024
    Generating RSA private key, 1024 bit long modulus
    ..............++++++
    ................++++++
    e is 65537 (0x10001)
    

    4.3用私钥server.key文件生成证书请求文件csr

    openssl req -new -key server.key -out server.csr

    [root@localhost tls]# openssl req -new -key server.key -out server.csr
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:cn
    State or Province Name (full name) []:jiangsu
    Locality Name (eg, city) [Default City]:zhenjiang
    Organization Name (eg, company) [Default Company Ltd]:ujs
    Organizational Unit Name (eg, section) []:aaa
    Common Name (eg, your name or your server's hostname) []:www.test.com
    Email Address []:weberbon@163.com
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    

    4.4生成数字签名crt文件(证书文件)

    openssl x509 -days 365 -req -in server.csr -signkey server.key -out server.crt

    [root@localhost tls]# openssl x509 -days 365 -req -in server.csr -signkey server.key -out server.crt
    Signature ok
    subject=/C=cn/ST=jiangsu/L=zhenjiang/O=ujs/OU=aaa/CN=www.test.com/emailAddress=weberbon@163.com
    Getting Private key
    

    4.5编辑apache的ssl配置文件

    vim /etc/httpd/conf.d/ssl.conf

    #   Server Certificate:
    # Point SSLCertificateFile at a PEM encoded certificate.  If
    # the certificate is encrypted, then you will be prompted for a
    # pass phrase.  Note that a kill -HUP will prompt again.  A new
    # certificate can be generated using the genkey(1) command.
    SSLCertificateFile /etc/pki/tls/server.crt  ##与证书存放的路径一致
    
    #   Server Private Key:
    #   If the key is not combined with the certificate, use this
    #   directive to point at the key file.  Keep in mind that if
    #   you've both a RSA and a DSA private key you can configure
    #   both in parallel (to also allow the use of DSA ciphers, etc.)
    SSLCertificateKeyFile /etc/pki/tls/server.key ##与证书存放的路径一致
    

    4.5再次重启apache

    /usr/sbin/httpd -k restart

    五、切换到目标机,打开浏览器,输入配置的IP地址,出现证书不安全,说明配置成功

  • 相关阅读:
    MVC HtmlHelper用法大全
    mysql查询结果输出到文件
    未能加载文件或程序集“Autofac, Version=3.4.0.0,
    IHttpModule接口
    演练:创建和注册自定义 HTTP 模块
    Tablespace for table '`pomelo`.`bag`' exists. Please DISCARD the tablespace before IMPORT.
    java开发知识IO知识之输入输出流以及文件
    Java开发知识之Java中的Map结构
    Java开发知识之Java中的集合Set接口以及子类应用
    Java开发知识之Java中的集合上List接口以及子类讲解.
  • 原文地址:https://www.cnblogs.com/WeberBon/p/13781232.html
Copyright © 2020-2023  润新知