HTTPS安全证书访问连接实践配置

01:网络安全涉及的问题:
①. 网络安全问题-数据机密性问题
传输的数据可能会被第三方随时都能看到

②. 网络安全问题-数据完整性问题
传输的数据不能随意让任何人进行修改

③. 网络安全问题-身份验证问题
第一次通讯时,需要确认通讯双方的身份正确

02:网络安全涉及的问题:
①. 网络安全问题-数据机密性问题解决
a) 利用普通加密算法解决机密性
利用相应算法,对传输数据(明文数据)进行加密(密文数据);再利用对应算法,将加密数据解密变为真实数据
优点:实现了数据机密传输,避免了明文传输数据的危险性。
缺点:利用加密算法,将明文改密文,如果第三方获得加密算法,即可将传输密文再次变为明文

    b) 利用对称加密算法解决机密性(重要的一种加密方式)
        对称加密算法就好比将普通算法的规则手册放入到了保险柜里,只有获取保险柜和保险柜钥匙才能获取《算法手册》
        优点:密钥加密算法计算速度非常快;解决了普通加密算法的安全问题
        缺点:加解密过程的安全性完全依赖于密钥,并且对称加密密钥是公开的,当通讯加密对象过多时,无法解决密钥管理问题。

②. 网络安全问题-数据完整性问题解决
    a) 利用单项加密算法(全网备份数据完整性)
        根据数据生成特征码(数据指纹信息);接收数据方获取数据信息算出特征码,验证是否与发送过来的特征码一致
        若特征码一致,表示数据完整性没被破坏;若特征码不一致,表示数据已被破坏,直接丢弃
        ****************************************************************************
        扩展说明:
        01:不同数据的特征码(数据指纹信息)是不可能一致的
            单项加密算法特征
            · 数据输入一样,特征码信息输出必然相同
            · 雪崩效应,输入的微小改变,将造成输出的巨大改变
            · 定长输出,无论源数据多大,但结果都是一样的
            · 不可逆的,无法根据数据指纹,还原出原来的数据信息。
        ****************************************************************************

        优点:有效的解决了数据完整性问题
        缺点:没有考虑中间人×××对数据信息的影响

    b) 利用单项加密算法(加密特征码)
        利用对称加密算法对数据加密的同时,也对特征码进行加密;
        接收方拥有和发送方一样的密钥,才可以解密加密后的数据和特征码
        而中间人加密的特征码是没有办法让接收方进行解密的,所以接收方获取不了特征码,直接丢弃数据
        ****************************************************************************
        扩展说明:
        01:那么对称密钥如何有效的让通讯双方获取呢
            需要进行对称密钥协商过程,即通过密钥交换机制(Internet key exchange IKE)
            实现密钥交换机制的协议称为diffie-hellman协议
        ****************************************************************************            

③. 网络安全问题-身份验证问题解决
a)利用非对称密钥加密算法(公钥加密算法)
发送方建立私钥和公钥,将公钥发送给接收方,从而实现发送数据方的身份验证

       让你的母亲验证你的爸爸身份信息,你的母亲就称为证书颁发机构
       公钥信息在网站访问过程中,被称为证书(×××)  

网络安全问题结论:实现网络安全性,需要解决问题的顺序为
1. 解决身份验证问题
2. 解决数据完整性问题
3. 解决数据机密性问题    

03:网络安全证书由来:
根据上述结论可知,网络安全性最首先要解决的就是身份验证问题;
而解决身份验证问题,最主要的方式就是借助私钥和公钥
而最主要的公钥信息获取就变得尤为重要;利用第三方公正者,公正公钥信息

目前标准的证书存储格式是x509,还有其他的证书格式,需要包含的内容为:
证书==×××
?   公钥信息,以及证书过期时间
?   证书的合法拥有人信息
?   证书该如何被使用(不用关注)
?   CA颁发机构信息
?   CA签名的校验码    

04: OpenSSL软件详细说明
获取OpenSSL软件的版本信息:
rpm -qa openssl
openssl version <- 查看openssl版本信息

获取OpenSSL配置文件信息:
/etc/pki/tls/openssl.cnf            <- openssl配置文件,主要用于配置成私有ca时进行使用
说明:基本上openssl配置文件不需要运维过多修改配置

利用openssl软件实现HTTPS访问过程
实现HTTPS:
第一步:创建出一个私钥文件(出生证明)             --- 运维人员需要会
方法一:openssl genrsa 2048 >server.key         <- 创建私钥信息,并指定私钥的长度为2048,并将生成
或者:                                          的私钥信息保存在一个文件中
openssl genrsa -out server.key 2048     <- 将私钥信息直接进行保存,加密长度一定要放在输出文件后面
chmod 600 server.key
方法二:(umask 077;openssl genrsa -out server1024.key 1024)
                                        <- 利用小括号,实现子shell功能,临时修改umask,使之创建的私钥文件权限为600
第二步:生成证书文件信息
①. 生成自签发证书  注意:自签发证书一般用来测试用的                   --- 运维人员可以自行操作
[[email protected] ~]# openssl req -new -x509 -key server.key -out server.crt -days 365
req     <- 用于请求创建一个证书文件
new     <- 表示创建的是新的证书
x509    <- 表示定义证书的格式为标准格式
key     <- 表示调用的私钥文件信息
out     <- 表示输出证书文件信息
days    <- 表示证书的有效期
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) []:BJ                <- 定义生成证书的省份
Locality Name (eg, city) [Default City]:BJ              <- 定义生成证书的城市
Organization Name (eg, company) [Default Company Ltd]:oldboy              <- 定义生成证书的组织
Organizational Unit Name (eg, section) []:it                              <- 定义生成证书的职能部门

Common Name (eg, your name or your server‘s hostname) []:oldboy.com.cn <- 定义主机服务器名称
说明:此输出信息非常重要,客户端在获取证书前,会利用主机名与相应服务器之间建立连接,然后获得证书
Email Address []:

②. 向证书颁发机构申请证书            --- ca证书版本机构完成
    生成请求证书文件 (户口本)       --- 运维人员完成
    openssl req -new -key server.key -out server.csr  注:这个步骤,后面要求设置密码,避免自己公司的信息泄露
    获取得到证书文件 (×××)       --- ca颁发机构完成
    省略

第三步:配置网站服务,加载私钥和证书信息
server {
    listen        80;
    server_name  www.etiantian.org;
    rewrite ^(.*)$  https://$host$1 permanent;
}
server {
    listen       443;
    server_name  www.etiantian.org;
    ssl on;
    ssl_certificate /server/key/server.crt;
    ssl_certificate_key /server/key/server.key;
    root   html/www;
    index  index.html index.htm;
}

第四步:利用浏览器访问测试   

ssl模块官方链接:http://nginx.org/en/docs/http/ngx_http_ssl_module.html

原文地址:http://blog.51cto.com/tangyong/2140655

时间: 2024-08-30 17:13:38

HTTPS安全证书访问连接实践配置的相关文章

HTTPS安全证书访问连接知识讲解

HTTPS安全证书访问连接知识讲解 01:网络安全涉及的问题: ①. 网络安全问题-数据机密性问题 传输的数据可能会被第三方随时都能看到 ②. 网络安全问题-数据完整性问题 传输的数据不能随意让任何人进行修改 ③. 网络安全问题-身份验证问题 第一次通讯时,需要确认通讯双方的身份正确 02:网络安全涉及的问题解决: ①. 网络安全问题-数据机密性问题解决 a) 利用普通加密算法解决机密性 利用相应算法,对传输数据(明文数据)进行加密(密文数据):再利用对应算法,将加密数据解密变为 真实数据 优点

十二.HTTPS网站安全访问实践

期中集群架构-第十二章-HTTPS安全证书访问连接实践配置========================================= 01:网络安全涉及的问题: ①. 网络安全问题-数据机密性问题 传输的数据可能会被第三方随时都能看到 ②. 网络安全问题-数据完整性问题 传输的数据不能随意让任何人进行修改 ③. 网络安全问题-身份验证问题 第一次通讯时,需要确认通讯双方的身份正确 02:网络安全涉及的问题: ①. 网络安全问题-数据机密性问题解决 a) 利用普通加密算法解决机密性 利用相

nginx证书制作以及配置https并设置访问http自动跳转https(反向代理转发jboss)

nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中.通常这个文件名类似libssl-dev. 生成证书 可以通过以下步骤生成一个简单的证书: 首先,进入你想创建证书和私钥的目录,例如: $ cd /usr/local/nginx/conf 创建服务器私钥,命令会让你输入一个口令: $

HTTPS的证书未经权威机构认证的情况下,访问HTTPS站点的两种方法

注意一下文章中提到的jsse在jdk1.4以后已经集成了,不必纠结. 摘 要 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问.但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从而不能访问HTTPS站点.本文在简要介绍JSSE的基础上提出了两种解决该问题的方法. 引言 过去的十几年,网络上已经积累了大量的Web应用.如今,无论是整合原有的Web应用系统,还是进行新的Web开发,都要求通过编程来访问某些Web页面.传统的方法是使

用keytool制作证书并在tomcat配置https服务(四)

用keytool制作证书并在tomcat配置https服务(一) 用keytool制作证书并在tomcat配置https服务(二) 用keytool制作证书并在tomcat配置https服务(三) 上一篇我们实现了服务端自己模拟CA认证,那么有个问题. 一个客户端和服务端对接就需要把这个客户端的证书拿来导入到服务端的密钥库中.那么很多客户端要对接,就要多次导入. 可以这样,让客户端发送证书的csr文件给我们,我们用模拟的CA密钥库对客户端证书也进行签名颁发. 然后把签名后的证书发送给他,让他自己

Tomcat从安装到配置Https SSL证书

为什么要写本文? 今天一个群友在群里问怎么给Tomcat配置SSL,也就是HTTPS,他买的阿里云的服务器,自带公网ip,还找到了免费的SSL证书 既然@我了,我就帮忙搞一搞呗,我就要了一个带sudo的用户,开始了踩坑之路 踩到坑的原因还是因为自己对Linux不够了解,所以记下来,告诫自己戒骄戒躁 安装Tomcat 演示用Centos 7,Tomcat版本8.5.50,需要先安装JDK,这里用的openjdk 下载Tomcat http://mirrors.tuna.tsinghua.edu.c

VMware10中的Linux系统利用NAT网络连接方式访问外网配置

一.描述 在VMware10中 提供常见的三种网络连接方式 : 1.Bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,与linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力. 在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了我们真实物理网卡所在的网络上,相当于虚拟机和真实主机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题.使用这种方式很简单,前提是你有1个以上的IP地址,这个不太适合使用. 2.na

oracle的环境配置-监听服务和访问连接原理

监听服务和访问连接原理 端口号范围:1025~6500 [[email protected] ~]$ lsnrctl   --进入监听管理工具 LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 05-JUN-2014 11:13:20 Copyright (c) 1991, 2005, Oracle.  All rights reserved. Welcome to LSNRCTL, type "help" for inform

为Jenkins增加ssl(https)的访问支持(Windows/Linux)

前言: 增加ssl(https)的访问可以为部署在公网下的jenkins提供更安全的问题,最明显的好处应该是登录和jenkins-ci.jar的调用. 比如jenkins-ci.jar的调用,一般在windows下通过明文账号密码的传输请求是非常不安全的:有关windows配置和实践参考以下文章: http://www.cnblogs.com/EasonJim/p/6086018.html(这篇是关于windows的配置方法) http://www.cnblogs.com/EasonJim/p/