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地址,出现证书不安全,说明配置成功

原文地址:https://www.cnblogs.com/Weber-security/p/13781268.html