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

期中集群架构-第十二章-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 <- 将私钥信息直接进行保存,加密长度一定要放在输出
文件后面
(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 httpd.key -out httpd.csr
获取得到证书文件 (身份证) --- ca颁发机构完成
省略

第三步:配置网站服务,加载私钥和证书信息

server {
server_name YOUR_DOMAINNAME_HERE;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
}

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

原文地址:https://www.cnblogs.com/cqzhou/p/8964719.html

时间: 2024-10-31 06:59:14

十二.HTTPS网站安全访问实践的相关文章

关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)

上篇我补充了下SSI的知识,SSI是一个十分常见的技术,记得多年前我看到很多门户网站页面的后缀是.shtml,那么这就说明很多门户网站都曾经使用过SSI技术,其实现在搜狐网站也还在用shtml,如下图所示: 由此可见SSI在互联网的应用还是非常广泛的.其实互联网很多网页如果我们按照动静分离策略拆分,绝大部分都是可以当做静态资源处理,例如新闻网站,文学网站,这些网页生成后,大部分的资源都是不变的,说白了这些网页本质就是一个静态页面,我们开发他们时候也不需要服务端的参入,每一个网站都有自己固定的板式

【转】关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)

上篇我补充了下SSI的知识,SSI是一个十分常见的技术,记得多年前我看到很多门户网站页面的后缀是.shtml,那么这就说明很多门户网站都曾经使用过SSI技术,其实现在搜狐网站也还在用shtml,如下图所示: 由此可见SSI在互联网的应用还是非常广泛的.其实互联网很多网页如果我们按照动静分离策略拆分,绝大部分都是可以当做静态资源处理,例如新闻网站,文学网站,这些网页生成后,大部分的资源都是不变的,说白了这些网页本质就是一个静态页面,我们开发他们时候也不需要服务端的参入,每一个网站都有自己固定的板式

十二周三课 Nginx访问日志、 Nginx日志切割、 静态文件不记录日志和过期时间

Nginx访问日志 Nginx的文件格式存在于主配置文件中./usr/local/nginx/conf/nginx.conf然后搜索log_format找到他的配置文件这样我们就可以进行日志的格式配置了. 我们常用如下配置.$remote_addr客户端IP(公网IP)$http_x_forwarded_for代理服务器的IP$time_local服务器本地时间$host访问主机名(域名)$request_uri访问的url地址$status状态码$http_refererreferer$htt

扒一扒HTTPS网站的内幕

215年6月,维基媒体基金会发布公告,旗下所有网站将默认开启HTTPS,这些网站中最为人所知的当然是全球最大的在线百科-维基百科.而更早时候的3月,百度已经发布公告,百度全站默认开启HTTPS.淘宝也默默做了全站HTTPS. 网站实现HTTPS,在国外已经非常普及,也是必然的趋势.Google.Facebook.Twitter等巨头公司早已经实现全站HTTPS, 而且为鼓励全球网站的HTTPS实现,Google甚至调整了搜索引擎算法,让采用HTTPS的网站在搜索中排名更靠前.但是在国内,HTTP

java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessController的checkPerssiom方法,访问控制器AccessController的栈检查机制又遍历整个 PerssiomCollection来判断具体拥有什么权限一旦发现栈中一个权限不允许的时候抛出异常否则简单的返回,这个过程实际上比我的描述要复杂 得多,这里我只是简单的一句带过,因为这

学习MVC之租房网站(十二)-缓存和静态页面

在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和页面静态化. 使用缓存可以降低数据库的压力,而使用页面静态化则可以降低Web服务器的压力. 一 缓存 ASP.NET下可用的缓存为System.Web.Caching.Cache,保存在服务器内存中,不适用于服务器集群,虽然也用没用过集群,但现在的主流都使用NoSQL数据库来做缓存,典型的有Redis和Mem

微软云计算介绍与实践(实践之二十二)

创建私有云Runbook 小张目前是手动管理大量(由晓红申请)的私有云.而自动化是私有云的重要特点,所以小张想用自动化功能去完成很多简单机械的任务.小张决定设法实现这一目标,利用System Center 2012 Orchestrator.于是我们看到了下面的内容: 1.登录到Orchestrator服务器Orchestrator 2.打开Runbook设计 3.在左边的连接下,在运行手册单击鼠标右键并选择New...>文件夹 4.给新文件夹的名称,例如CloudResources 5.在新创

java jvm学习笔记十二(访问控制器的栈校验机制)

欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们会简单的描述一下jvm访问控制器的栈校验机制. 这节课,我们还是以实践为主,什么是栈校验机制,讲一百遍不如你自己实际的代码一下然后验证一下,下面我们下把环境搭起来. 第一步,配置系统环境.(copy吧,少年) path=%JAVA_HOME%/bin JAVA_HOME=C:/Java/jdk1.6

JSP网站开发基础总结《十二》

前两篇已经简单为大家介绍了一下,有关Filter接口的知识,本篇就让我们以一个登录小功能,来具体实现一下过滤器的作用,便于大家掌握.具体为大家介绍一下如何使用Filter对访问进行过滤,及如何防止中文乱码的问题,内容不多,大家只要简单一练习便可以掌握. 1.登录表单: 和一般的表单没有任何区别,大家可以新建一个Login.jsp作为登录界面,在其中添加一个表单即可. <body> <center> <form method="post" action=&q