如何使用OpenSSL和SSL证书保护您的网站

互联网已成为新闻,信息,事件和所有社会事物的第一资源。众所周知,有很多方法可以创建自己的网站并捕获自己的互联网,以便与他人分享您的故事,想法甚至是您喜欢的事情。这样做时,重要的是要确保您以与现实世界相同的方式在互联网上受到保护。在现实世界中,有许多步骤可以确保安全,但是,在本文中,我们将讨论使用SSL证书在网络上保持安全。

OpenSSL是一种命令行工具,我们可以将其用作Web服务器和应用程序的“保镖”类型。它可以用于与HTTPS相关的各种事情,生成私钥和CSR(证书签名请求)以及其他示例。本文将介绍什么是OpenSSL,它的作用以及如何使用它来保护您的网站安全的示例。大多数在线Web /域平台都以固定的年度价格提供SSL证书。这种方法尽管需要一些技术知识,但可以节省一些资金,并使您的网络安全。

*出于示例目的,我们将使用testmastersite.com来获取命令和示例

本指南如何为您提供帮助:

  • 使用OpenSSL生成和配置CSR

  • 了解SSL证书及其重要性

  • 了解有关证书签名请求(CSR)的信息

  • 了解如何创建自己的CSR和私钥

  • 了解OpenSSL及其常见用例

要求

  • 基于Linux的操作系统

  • 使用舒适的命令行工具

OpenSSL

首先要做的是在计算机上生成一个2048位RSA密钥对。我指的这对是您的私钥和公钥。您可以在线使用一系列工具,但是对于本示例,我们将使用OpenSSL

什么是SSL证书,谁关注?

根据GlobalSign.com的说法,SSL证书是一个小型数据文件,该文件以数字方式将加密密钥绑定到组织的详细信息。当安装在Web服务器上时,它将激活挂锁和https协议,并允许从Web服务器到浏览器的安全连接。让我为您分解一下。SSL证书就像您网站的保镖一样。要确认网站正在使用SSL,通常可以检查该网站的网址中是否包含https,而不是名称中包含http字符串。“ s”代表安全。

  • 示例安全站点:https://www.testmastersite.com/

  • 示例不安全站点:http://www.testmastersite.com

SSL安全性通常用于保护信用卡交易,数据传输和日志以及安全浏览。SSL帮助保护通过Internet传输的所有类型的信息。它们在用户与您的站点或应用程序之间提供信任。这样可以确保他们在拥有保镖的网站上,并且可以在网上购买商品或在您的应用中创建帐户时保护自己的数据。在PCI业对于希望创建处理信用卡数据的应用程序或站点的任何人,此要求均将其作为标准。该证书可以帮助防止黑客渗透您的网站并从您的数据库中提取登录信息或获取信用卡数据。从相同的意义上讲,它使那些有意窃取信息或破坏您的网站的阴暗面的人不会进入您花费金钱,时间和精力的业务。

什么是企业社会责任,为什么重要?

如果要从可信的CA(证书颁发机构)获取SSL证书,则需要生成CSR。

CA或证书颁发机构是为您提供数字证书的实体。让我们加密是CA最受欢迎的示例之一。

如果要从证书颁发机构(CA)创建SSL证书,则必须生成一个证书签名请求(CSR)。CSR由公钥和证书所需的其他信息组成。签名后,这两个都将合并到证书中。

每当生成CSR时,系统都会提示您设置证书信息。要求的提示和信息是获取证书的主机(testmastersite.com)的专有名称(DN),公用名(CN)和完全限定域名(FQDN)。

创建自签名证书

安装后,我们可以使用一个命令生成公共密钥和私有密钥。

要生成带有证书签名请求(CSR)的公钥和私钥,请运行以下OpenSSL命令:

openssl req -out testmastersite.csr -new -newkey rsa:2048 -nodes -keyout testmastersite.key


此命令从头开始创建以下内容:

  • req -out命令创建所需的CSR和输出。

  • 创建一个名为testmastersite.csr的CSR(您可以将其更改为所需的名称)

  • 创建一个名为testmastersite.key的2048位私钥(也可以更改)

这两个密钥都是创建SSL所必需的,我将在下一步中讨论。

image.png

注意:也会显示一个可选的质询密码提示。

image.png

创建自签名SSL证书与CA签名证书

至此基础工作已经完成,您可以创建一个SSL证书。如前所述,这些证书将帮助阻止不良行为者访问您的网站或应用程序上的私人和关键数据,因此,接下来的步骤便是乐趣的开始。您可以颁发自己的自签名证书,但是,自签名证书是使用自己的私钥签名的证书。

可以使用自签名证书和任何CA签名证书一样对数据进行加密,但是您的用户将收到警告,指出该证书不受计算机或浏览器的信任,这可能会吓跑它们。话虽如此,如果您不需要向其用户证明应用程序身份,则仅应使用自签名证书。例如博客网站或非生产网站。强烈建议将CA证书用于诸如人们可以处理付款的电子商务网站或可以节省用户时间的应用程序之类的事情。以下是获取免费的CA认证证书并创建自己的自签名证书的步骤。

如果您要使用HTTPS(基于TLS的HTTP)来保护您的个人站点并且不要求由CA对其进行签名,请使用此方法:


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

image.png

此命令根据之前创建的先前密钥和CSR创建一个名为testmastersite.com.crt的证书。-signkey标志标牌的关键。x509标志用于创建X509证书。-days 365标志设置证书的到期时间。现在,您已经创建了三个文件。

  • testmastersite.com.key(用于创建SSL证书的密钥文件)

  • testmastersite.com.csr(用于创建SSL证书的证书签名请求文件)

  • testmastersite.com.crt(SSL证书)


image.png

从Certbot获得免费的TLS证书

Let's Encrypt是一个受信任的平台,可以颁发有效期为90天的签名证书。您随时可以自己续订它们,并使它们无限期保持有效。Lets Encrypt建议使用一种称为certbot的手动工具,我们将使用该工具来获取CA签名的证书。

使用certbot更新证书需要满足一些要求:

  • 一个已经在线且正在托管的正在运行的网站(我们的示例再次是testmastersite.com)

  • 开放端口80

  • 您请求的主机名的DNS必须解析到设备

  • 设备必须能够在TCP 443上达到“让我们加密”

  • 让我们加密必须能够通过TCP 80到达设备。

安装Certbot

要安装并设置certbot以创建CA签名的证书,您可以按照certbot网站上的步骤进行操作

Apache SSL配置示例和用例

现在,您可以获取这些证书并将其放置在指定的SSL证书目录中。一个示例是Apache的主要配置文件,通常名为httpd.conf或apache2.conf。在配置文件中,您可以找到apache配置SSL证书位置的位置。

image.png

您可以将这些位置更改为您想要的任何位置。

  • SSLCertificateFile是您的testmastersite.com证书文件(名为testmastersite.com.crt)。

  • SSLCertificateKeyFile是创建CSR时生成的.key文件(名为testmastersite.com.key)。

  • SSLCertificateChainFile是testmastersite.com证书文件(名为testmastersite.com.crt)

  • 常见问题:如果SSLCertificateChainFile指令不起作用,请尝试使用SSLCACertificateFile指令。

建议在Linux计算机上放置创建的SSL密钥和证书的最佳位置是/ etc / ssl / certs /目录。

如果将3个文件,CSR,密钥和crt文件移动到/ etc / ssl / certs目录中,则apache配置应如下所示:

image.png

要测试您的SSL是否在正确的位置,可以运行以下命令: 

apachectl configtest

如果测试成功完成,则可以使用以下命令重新启动apache:

apachectl stop

apachectl start

手动验证密钥

正如我们已经提到的,明智的做法是在申请证书之前检查CSR中提供的信息。使用以下命令来验证您的证书签名请求,SSL证书和密钥。

此命令将验证CSR并在CSR中显示数据:

openssl req -text -noout -verify -in testmastersite.csr

此命令将验证密钥及其有效性:

openssl rsa -in testmastersite.key -check

这些命令应显示证书数据,包括序列号,电子邮件地址,签名算法和私钥,这些私钥应类似于下面的代码片段。

在testmastersite.csr中openssl req -text -noout -verify-的示例输出:

image.png

openssl rsa的示例输出-在testmastersite.key -check中:

image.png

使用Digicert SSL安装诊断工具测试新证书

DigiCert有一个免费的在线工具,称为DigiCert®SSL安装诊断工具,可以在您应用并运行SSL证书及其信息后帮助您确认。

续订证书

现在您已经拥有SSL并将其设置为在365天后过期,可以在它过期之前对其进行续订。出于安全考虑,经验法则是在更新证书时不要使用旧的CSR。续订证书时,应始终生成新的CSR和密钥。

另外,建议在到期日期之前更新SSL证书。否则,将需要购买新的证书。

结论

这些示例仅涵盖处理SSL证书以及人们如何使用它们的几种方法。关于如何使用SSL的实例很多。请随时在评论中建议其他用例,以分享您或您的组织使用SSL证书的方式。



作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:宝塔面板Nginx防火墙的配置
下一篇:如何在Shell脚本中添加简单的进度栏

发表评论

vidnami 在线视频创作工具--做海外推广营销视频必备工具

image.png


我们的折扣优惠是向观众推广Vidnami的绝妙方式。他们将即时访问 25% 的 Vidnami, 再加上我们的视频营销包免费。最棒的是,您将获得所有销售额的50%!

https://www.vidnami.com/c/Mr_xiaoxiao-vn-buy-discount 

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱