nginx-安全隔离

目录

相关协议

SSL协议

定义与功能

SSL证书

SSL前景

TLS协议

定义与功能

TLS协议的特点

应用场景

相关模块

相关命令

ssl指令

ssl_certificate指令

ssl_certificate_key指令

ssl_session_cache指令

参数解析

ssl_session_timeout指令

ssl_ciphers指令

ssl_prefer_server_ciphers指令

生成证书文件

使用工具

生成文件

创建目录

生成对应key

生成csr文件

​编辑

复制key文件

生成密钥文件

验证生成的文件

开启SSL配置

检测配置

验证结果

阿里云证书购买

阿里云官网

对nginx添加安全隔离,即将我们使用的http请求转化为https请求,即在http协议上加一层SSL外壳来对http流量进行加密从而实现流量的安全传输,确保数据的安全

相关协议

SSL协议

SSL(Secure Sockets Layer,安全套接层)协议是一种网络安全协议,旨在在两个通信应用程序之间提供保密性和数据完整性。

定义与功能

SSL协议用于在互联网上建立加密的通信通道,确保数据的安全传输。它通过在客户端和服务器之间建立加密通道,利用加密算法和证书来验证双方的身份,从而确保数据在传输过程中的安全性和完整性。

SSL证书

SSL证书是一种数字证书,用于证明网站或应用程序的身份。它包含网站的公钥、证书颁发机构(CA)的信息、证书有效期等信息。当用户访问使用SSL证书的网站时,浏览器会自动检查证书的有效性和信任链,以确保用户与正确的网站进行通信。SSL证书的使用增强了用户对网站的信任度,并提高了网站的安全性。

SSL前景

尽管SSL协议在早期得到了广泛应用,但其存在一些安全漏洞和缺陷。因此,其继承者TLS(Transport Layer Security,传输层安全性)协议应运而生。TLS协议包含了许多安全增强功能,并最终被大多数应用所采用,替换了SSL。

TLS协议

TLS(Transport Layer Security,传输层安全性协议)是一种为网络通信提供安全及数据完整性保障的安全协议。

定义与功能

TLS协议旨在在两个通信应用程序之间提供保密性、数据完整性以及真实性。它通过使用多种加密技术,如对称加密、非对称加密和哈希函数等,来确保通信数据在传输过程中不被窃听、篡改或伪造。

TLS协议的特点
  1. 保密性:通过加密技术确保通信数据在传输过程中不被未授权的第三方读取。
  2. 完整性:使用消息摘要算法(如哈希函数)验证数据在传输过程中是否被篡改。
  3. 身份验证:通过数字证书等机制验证通信双方的身份,防止中间人攻击。
  4. 灵活性:支持多种加密算法和密钥交换方式,可根据需要选择最合适的配置。
应用场景

TLS协议广泛应用于各种需要保护网络通信安全的场景,包括但不限于:

  1. 网站加密通信:通过HTTPS协议保护网站和用户之间的通信安全。
  2. 电子邮件加密:通过SMTP或POP3/IMAP协议保护电子邮件的传输安全。
  3. 虚拟专用网络(VPN):加密用户与VPN服务器之间的通信,保护用户的网络通信安全。
  4. 客户端-服务器应用程序通信:如在线银行应用、电子商务应用等,确保用户与服务器之间的通信不被窃取或篡改。
  5. 机器对机器通信:在物联网(IoT)和其他机器对机器通信的场景中,保护通信安全。

相关模块

想要在nginx中使用SSL,需要下载nginx中的相关模块,即--with-http_ssl_module模块

使用nginx -V 验证nginx中是否安装此模块,如果没有可以参考一下链接,在nginx中安装新的模块,将--wiht-http_ssl_module模块进行添加

nginx模块添加icon-default.png?t=O83Ahttps://blog.youkuaiyun.com/qq_63781342/article/details/144645859#%E6%B7%BB%E5%8A%A0%E6%A8%A1%E5%9D%97%E5%88%B0nginx%E4%B8%AD%E7%9A%84%E6%AD%A5%E9%AA%A4

相关命令

ssl指令

选择是否开启HTTPS功能,两种写法

ssl指令表
语法ssl on|off;
默认值ssl off;
位置http块,server块

例:

写法一:更为常用

server {
    listen  443 ssl;
    server_name www.monkey.com;
}

写法二:了解即可

server {
    listen 443;
    ssl on;
    server_name www.monkey.com;
}

ssl_certificate指令

为当前虚拟主机指定一个带有PEM格式证书的证书

ssl_certificate指令表
语法ssl_certificate  file;
默认值---
位置http块,server块

ssl_certificate_key指令

指定PEM server key 文件的路径

ssl_certificate_key指令表
语法ssl_certificate_key file;
默认值---
位置http块,server块

ssl_session_cache指令

指定用来配置用于SSL会话的缓存

ssl_session_cache指令表
语法ssl_session_chche off | none | [builtin[:size]] [shared:name:size]
默认值---
位置http块,server块
参数解析

off:禁用会话缓存,客户端不可以重复使用会话

none:禁止使用会话缓存,客户端可以重复使用,但是并没有在缓存中存储会话参数

builtin:内置Openssl缓存,仅在一个工作进程中使用

shared:所有工作进程之间共享缓存,缓存的相关信息用name和size来指定

ssl_session_timeout指令

开启SSL会话功能后,设置客户端能够反复使用存储在缓存中的会话参数时间

默认时间为5mins

ssl_session_timeout参数表
语法ssl_session_timeout time;
默认值ssl_server_timeout 5m;
位置http块,server块

ssl_ciphers指令

支出允许的密码,密码指定为OpenSSL支持的格式

可以使用openssl ciphers查看openssl支持的格式

ssl_ciphers指令表
语法ssl_ciphers ciphers;
默认值ssl_ciphers HIGH:!aNULL:!MD5;
位置http块,server块

ssl_prefer_server_ciphers指令

设置该指令是否服务器密码优先于客户端密码

ssl_prefer_server_ciphers指令表
语法ssl_prefer_server_ciphers  on|off;
默认值ssl_prefer_server_ciphers off;
位置http块,server块

生成证书文件

使用工具

使用openssl来进行

使用openssl version来判断是否安装此软件

安装命令

yum -y install openssl

生成文件

创建目录

创建目录放置证书文件

mkdir /root/cert
生成对应key
openssl genrsa -des3 -out server.key 2048

des3为加密算法 out为输出 1024为加密后生成的密码位数,越大越安全

生成csr文件

使用刚刚生成的key来进行csr文件的生成,需要用到第一次输入的密码

openssl req -new -key server.key -out server.csr
复制key文件
cp server.key server.key.org
生成密钥文件
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
验证生成的文件
ls -l ./

开启SSL配置

将SSL协议与nginx融合在一起,对nginx传输的流量进行加密

server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate  /root/cert/server.crt;
    ssl_certificate_key /root/cert/server.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}

检测配置

使用nginx -t 检测配置是否有误

验证结果

出现此界面则说明配置已经成功,出现警告的原因是我们使用的证书未进行认证,不安全,因此会出现警告,可以点击高级设置进行继续访问

阿里云证书购买
阿里云官网

阿里云-计算,为了无法计算的价值

点击产品,搜索证书,即可进行域名的购买

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河中医第一IKUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值