如何在Centos 7上安装SSL证书

在下面的教程中,我们将了解如何通过SSL在Centos-7中保护Apache Web服务器。我们将创建自己的证书并学习如何配置它。如果要托管具有SSL支持的公共站点,则需要从受信任的证书颁发机构购买SSL证书。

自签名证书基本上是由证书的创建者签名的。它可以用于测试本地服务器和开发环境。尽管自签名证书在网站和浏览器之间提供相同级别的安全性,但是大多数Web浏览器始终会显示一条安全警报消息,表明该网站证书是自签名的并且不能被信任,因为它不是由证书颁发机构签名的。

商业证书是由受信任的证书颁发机构颁发的授权证书,强烈建议在生产环境中使用。

为了设置自签名证书,您将需要在系统中安装mod_ssl Apache模块。

步骤1:安装Mod SSL

mod_ssl是一个Apache模块,提供对SSL加密的支持。需要设置自签名证书。

# yum install mod_ssl

完成此操作后,Apache将可以在重新启动后开始使用SSL证书。

步骤2:创建自签名证书

既然Apache可以使用加密了,那么我们就可以继续生成新的SSL证书了。创建证书时,它需要有关您站点的一些基本信息,并附带一个密钥文件,该文件允许服务器安全地处理加密的数据。

首先,我们将创建一个目录来存储我们的私钥(证书文件存储在/ etc / ssl / certs目录中)

# mkdir /etc/ssl/private

为了安全起见,让我们将此目录设为“私有”目录,只有root用户可以访问

# chmod 700 /etc/ssl/private

现在让我们创建证书和SSL密钥。这可以通过“ openssl ”以及其他

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

-openssl:这是用于创建和管理OpenSSL证书,密钥和其他文件的基本命令行工具。
-req -x509:“ X.509 ”是SSL和TLS用于密钥和证书管理的公用密钥基础结构标准。
-节点:这告诉OpenSSL跳过使用密码短语来保护我们的证书的选项。我们需要Apache在服务器启动时能够在没有用户干预的情况下读取文件。密码短语可以防止这种情况的发生,因为每次重新启动后我们都必须输入密码。
-天365:此选项设置证书被视为有效的时间长度。我们在这里设置了一年。
-newkey rsa:2048:rsa:2048部分告诉它制作一个2048位长的RSA密钥。”“ newkey ”指定我们要同时生成一个新证书和一个新密钥。
-keyout:此行告诉OpenSSL我们要创建的生成的私钥文件的位置。
-out:这告诉OpenSSL 将我们正在创建的私钥文件的位置。我们正在创建的证书。

  Country Name (2 letter code) [XX]:US
State or Province Name (full name) []: John Doe
Locality Name (eg, city) [Default City]: Los Angeles
Organization Name (eg, company) [Default Company Ltd]: Psychz Networks
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []: Demo_server
Email Address []: john.doe@psychz.net

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

您创建的两个文件都将放置在/ etc / ssl目录的相应子目录中。

步骤3:将Apache配置为使用SSL证书

现在,所有证书都已准备就绪。接下来要做的是设置Apache以显示新证书。

您可以通过编辑SSL配置文件来做到这一点:

# vi /etc/httpd/conf.d/ssl.conf

找到以开头的部分。取消注释DocumentRoot和ServerName行,并将example.com替换为服务器的IP地址或域名。

    DocumentRoot "/var/www/html"
    ServerName www.demo_server.com:443SSLEngine on

接下来,找到SSLCertificateFile和SSLCertificateKeyFile行,并使用证书的新位置对其进行更新。

    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.crt.key

进行这些更改后,重新启动Apache服务以使更改生效。

# systemctl restart httpd

步骤4:测试Apache(HTTPS)服务器

要验证安全的Apache HTTPS Web服务器是否正常运行,请打开Web浏览器并输入URL https:// demo_server-ip-address。浏览器上应该出现错误,并且您必须手动接受证书。出现错误消息是因为我们使用的是自签名证书,而不是浏览器信任的证书颁发机构签名的证书,并且浏览器无法验证您尝试连接的服务器的身份。在为浏览器的身份验证添加例外后,您应该会看到一个针对新安全站点的测试页。