将群晖 NAS 安全地暴露到公网中

群晖 NAS

家里的群晖 NAS 已经用了一年了,好话就很少说了,谁用谁知道。一年内成功安利了三位朋友买了群晖。(群晖是否是要给我点推广费?)html

去年开始运营商网络挟持很猖狂,各类嵌入广告,国内互联网公司也都纷纷上了 HTTPS。web

我一个我的 NAS 也不太可能被盯上,可是在这种网络状况下,只要有人针对你,那么挟持你的相关信息是分分钟的。浏览器

因此我也开始在自家的 NAS 上折腾 HTTPS 了。安全

除了这块的教程,我也顺便也把 NAS 如何暴露到公网相关的教程都写一下,包含了不少个部分:光线猫破解,光纤猫改桥接,端口转发设置,DDNS 设置,NAS 设置等。服务器

暴露到公网后用起来就很方便了,再配合 HTTPS,基本不用担忧安全问题了。网络

 

上海电信光纤猫破解和设置

破解

我家已经用上了上海电信 200M 宽带,那速度…加密

由于屡次升级带宽,家里的光纤猫也换过好几个了,光纤猫也是愈来愈难破解了。spa

其实,在上海的话很是简单,直接给电信打电话,说要超级管理员密码改桥接,电信就会联系你区域的维修师傅,他们会把密码给你的。code

你能够找他们上门帮你改桥接,也能够自动动手改,其实改起来也很是简单。htm

其余地区是怎么个状况我不是很了解,总之须要想办法得到光纤猫的超级管理员权限,这样才能把家里的 NAS 暴露到公网中。

 

光纤猫和路由器的设置

Modem

进入光纤猫后,链接名称里找到Internet,模式改为Bridge,而后选一个端口。

我这里选了端口2,而后把光纤猫的端口2和路由器的 WAN 口相连,在路由器中设置宽带帐号密码便可。

若是你没有帐号密码,打电话找电信要。

 

路由器端口转发

光纤猫改桥接,并由路由器拨号后,你的路由器就已经成功暴露到公网了。可是为了安全起见,外网固然是没法访问任何内网机器的。

这时候就须要配置端口转发了。

为何要用端口转发而不用 DMZ 主机呢?由于用 DMZ 主机的话,至关于把整个 NAS 暴露到了公网,而你局域网内的其余机器就没什么机会出头了。

因此用端口转发的话就会更灵活一点,不一样的端口给不一样的机器。例如群晖 NAS 经常使用的端口是 5000, 5001, 80, 443 等,而后家里的 PS4 经常使用端口是 1935, 3478-3480。

而后若是局域网内还有机器在下 BT,它还能够利用 UPnP 协议向路由器申请临时的端口转发,很是灵活。

 

端口转发在不一样的路由器中配置方法不太同样,但很是简单,我这里就简单地截个图。另外,须要用端口转发的目标机器最好固定一下 IP,不要使用 DHCP,不然 IP 变了转发就失效了。

Port

 

DDNS

上面的步骤所有搞定后,网络就已经打通了。可是家里的宽带出口 IP 每次都会变,那解决方案固然也是有的,配置一个 DDNS 就好了。

DDNS 主要是在路由器中配置,家里的华硕路由器有免费的 DDNS 功能,最终会给你分配一个域名。另外国内的花生壳也能够有一个免费的 DDNS 域名,国内卖的路由器基本都支持花生壳。

有了一个免费的 DDNS 域名后,再到本身的域名中配置一个 CNAME 就能够了。

DDNS

大体的原理就是,路由器每次得到一个新的公网 IP 后,都会向 DDNS 服务供应商注册,而后 DDNS 供应商的免费域名就会指向这个 IP 了。你能够直接用这个域名,可是通常都很丑,因此我更喜欢用本身的域名,作一下 CNAME。

 

免费 SSL 证书

免费 SSL 证书有这几种方案:

  • 自签发

  • Let's Encrypt 免费证书

  • WoSign 免费证书

 

自签发

Self

群晖的 NAS 作自签发很简单,界面点点就好了,而后下载根证书,须要用的地方安装一下根证书便可。

但这样毕竟麻烦啊,特别是不少 Android 系统,支持的很差。

 

Let's Encrypt 免费证书

Let's Encrypt 是最近很火的开源免费证书供应商,如今还在 Beta,它最大的问题是,每次只能签3个月,3个月后就要续签。

可是群晖在最新版本的系统中居然整合了 Let's Encrypt,一样也是界面点点就能够申请了!

Let's Encrypt

可是悲剧的是,在证书签发过程当中,Let's Encrypt 服务器须要访问你机器的80端口来验证你对这个域名的拥有权,而电信是封家庭用户的80端口的!

就算你作了端口映射,80端口也是没法在外网正常访问的,最终致使证书签署失败。

因此若是你不是电信而是别的运营商,能够试试可不能够用。

 

WoSign 免费证书

最后,找到了国内的 WoSign 免费证书,一次能够签署2年,算很厚道了。

国内的机构干过几回伪造证书的恶心事,因此你们广泛对国内的机构不信任,但对我一个我的用户来讲,WoSign 来伪造我证书的可能性很是低。

并且安全不是一件绝对的事情,我只要让个人 NAS 变得更安全了,就好了。

WoSign 免费证书申请很是简单,几十分钟就搞定了。而后下载证书和密钥,解压其中的 Nginx 版本,导入群晖便可。

Import

 

群晖 NAS 设置

最后到 NAS 中开启 HTTPS 便可,很是简单。

最终效果以下:

Website

 

重温 HTTP 协议

全套搞定后,让咱们重温一下 HTTP 协议吧!(不少细节就不展开了,只说和上述配置相关的)

  1. 浏览器输入 NAS 域名,个人是 my.dozer.cc

  2. 个人域名在 Godaddy 买的,而后解析服务交给了 DNSPod ,浏览器查询到后询问 DNSPod 具体 IP 是多少

  3. DNSPod 告诉浏览器,我这个域名实际上是 xxxx.free.ddns.com ,你去问它吧

  4. 浏览器再次找到 DDNS 供应商的域名解析服务器,最后获得了我家的公网 IP

  5. 浏览器要开始发起TCP链接了,第一个SYN包来到了我家的路由器中,目标端口是443

  6. 路由器根据端口映射发现,这个包应该发送个局域网中的10.0.0.11机器

  7. 最后,个人 NAS 收到了这个包,三次握手后,成功地创建了TCP链接

  8. 链接创建成功后,浏览器随机生成了一串数做为后续对话密钥,利用 WoSign 公钥进行加密后发给 NAS

  9. NAS 收到后用本身的私钥解密,获得对话密钥

  10. 双方开始和平友好地交流

 

源地址:http://www.dozer.cc/2016/03/synology-nas...

相关文章
相关标签/搜索