OMV -4- OMV 强制 https 登录

本文最后更新于:2021年12月12日 下午

https 相比 http 具有更高的安全性,个人nas服务器建议强制使用 https 登录,本文记录 omv 系统强制 https 的方法。

http 的缺点

HTTP虽然使用极为广泛, 但是却存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付, 网络交易等新兴应用中安全方面最需要关注的 。

关于 HTTP的明文数据传输, 攻击者最常用的攻击手法就是网络嗅探, 试图从传输过程当中分析出敏感的数据, 例如管理员对 Web 程序后台的登录过程等等, 从而获取网站管理权限, 进而渗透到整个服务器的权限。即使无法获取到后台登录信息, 攻击者也可以从网络中获取普通用户的隐秘信息, 包括手机号码, 身份证号码, 信用卡号等重要资料, 导致严重的安全事故。进行网络嗅探攻击非常简单, 对攻击者的要求很低。使用网络发布的任意一款抓包工具, 一个新手就有可能获取到大型网站的用户信息 。

另外,HTTP在传输客户端请求和服务端响应时, 唯一的数据完整性检验就是在报文头部包含了本次传输数据的长度, 而对内容是否被篡改不作确认。 因此攻击者可以轻易的发动中间人攻击, 修改客户端和服务端传输的数据, 甚至在传输数据中插入恶意代码, 导致客户端被引导至恶意网站被植入木马 。

https 简介

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯。

设计目标

HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。设计目标主要有三个。

  1. 数据保密性:保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么。

  2. 数据完整性:及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收。

  3. 身份校验安全性:保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方,通过身份校验来确保送对了地方。

协议改进

HTTPS 主要由两部分组成:HTTP + SSL / TLS,也就是在 HTTP 上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过 TLS 进行加密,所以传输的数据都是加密后的数据。

  • HTTPS具有更好的加密性能,避免用户信息泄露;

  • HTTPS复杂的传输方式,降低网站被劫持的风险;

  • 搜索引擎已经全面支持HTTPS抓取、收录,并且会优先展示HTTPS结果;

  • HTTPS绿锁表示可以提升用户对网站信任程度;

  • 可以有效防止山寨、镜像网站等

准备工作

  • omv 可以公网访问
  • 域名
  • ssl 证书 (omv也可以生成)

申请 ssl 证书

  • 我的时百度智能云的域名,就以百度的ssl证书为例:

  • 进入控制台,选择 ssl 证书业务

  • 购买新证书

  • 自己用,整个免费的就行了

  • 填好自己的域名后,回头点证书申请

  • 等一会签发证书

  • 下载证书

  • 设置四位解压密码
  • 由于omv 服务器为 nginx ,我们下载时选择 PEM_Nginx 格式

此时下载迅雷下不了,需要用默认的浏览器下载方式

  • 解压后得到 .key.crt 文件

omv 配置

ovm 启用 SSL/TLS 安全连接并强制使用。

添加 SSL 证书

  • 进入 omv 管理主页,侧边栏 证书 -> SSL

成功申请到证书
  • 如果已经安装上面步骤申请到证书,点击添加 -> 导入
  • 将 crt 和 key 文件内容粘贴到指定区域

未申请证书
  • 选择 添加 -> 添加,自己创建证书

SSL证书添加成功
  • 这时就可以看到列表中多出了一个 添加/导入 的SSL证书

启用 SSL/TLS

  • 回到 常规设置 -> Web 管理员 界面
  • 勾选启用 SSL/TLS 选项
  • 配置证书
  • 勾选强制使用 SSL/TLS 选项

  • 点击保存按钮,应用修改

测试

  • 此时已经配置成功,之前的 http 访问会被拒绝,本地 IP 访问会受到质疑

  • 只有通过证书配置的域名访问才不被抱怨

参考资料