nas安全
NAS 安全
作者:Debian-拓普龙 8 盘-萌新 XD+
前提
如果你没有公网 IP(v4 和 v6),则只要将你的 nas 帐号密码设置复杂点,再开个二级验证、再限制下密码尝试失败过多封 IP 就行了,然后跳过这篇文章。
如果你有公网IP 的,并且使用公网 IP 的,请往下看。
基础篇
不必要的服务尽可能不要放到公网去
在你开放了大量服务到公网,方便自己的同时,也方便了黑客。举例 1:SSH 远程连接服务,默认端口是 22
像 SSH 这种服务,可以远程连接后控制你整个 nas,是一个非常危险的服务,然后这个服务,通常情况下我们很少会用到的,如果映射出去的话,危险度高于便利度,就完全没必要了。
举例 2:samba 共享服务,默认端口是 139、445 等
samba 是共享文件的服务,如果被黑了后,可以加密你所有的共享文件来勒索,samba 的端口本身就是攻击的重灾区,所以可以考虑用其他更安全的协议来共享你的文件。
在你想开放一个服务到公网上的时候,先考虑下,这个服务的风险度如何,是否一定要放到公网上等等一系列问题
根据不同服务的危险程度,制定不同的安全策略
一些举例:假设这些服务必须放公网的前提
服务 | 风险评估(考虑被黑后能被做啥) | 安全策略 |
nas 管理服务 | 被黑后,加密你的文件来勒索,做 肉鸡,挖矿等无所不能 | 设置超级复杂的密码,开启两步 验证,能用的手段都用上 |
qbittorrent 远程 连接服务 | 被黑后,最多可以删除你正在下载 的和下载完的小姐姐 | 设置复杂一点的密码等 |
WebDav 文件共 享服务 | 被黑后,可以删除加密你的共享文 件,来勒索 | 设置超级复杂的密码,白名单啥 的能用的安全手段都用上 |
Jellyfin 服务 | 被黑后,最多删除你的小姐姐影视 库 | 隐藏登入用户,设置复杂一点的 密码等 |
DDNS-go 服务 | 被黑后,除了把你服务搞停外,没 | 设置个差不多复杂的密码即可 |
啥影响 |
可以使用 VPN 来保护你的内网



家庭网络
NAS 管理服务
路由器
NAS
qbittorrent 服务
WebDav 服务
SSH 服务
其他各种服务



家庭网络
路由器
NAS
需要分享给朋友的文件共享服务
需要分享给朋友的影视服务
VPN 服务
结合第一点,一些必要的对外服务可以开放到公网上,一些只有自己使用的服务,可以用过
VPN 的形式来访问。
比如:nas 的管理服务,samba 服务等等。
VPN 基本概念:
VPN 你可以简单理解为一个虚拟的局域网,当你的 VPN 客户端拨号连接到你家的 VPN 服务端以后,你就可以像在你家内网一样,直接通过内网 IP 和端口访问你 NAS 的所有服务。同时, VPN 本身就是高度安全设计的,安全性远高于普通的服务。(PPTP 和 L2TP 这 2 个已经过时的 VPN 协议除外,请不要使用它们)
使用 VPN 前:
使用 VPN 后:
简单说明:
使用 VPN 后,某些你需要分享给朋友啊亲人的必要的服务还是需要开放到公网的,剩下一些,像 NAS 管理类的只有自己使用的服务,则可以通过 VPN 保护起来,自己使用的时候则通过 VPN 客户端,连上 VPN 后,再使用 NAS 的各种服务。
VPN 的优缺点:
优点 | 缺点 |
本身安全性非常高,像 OpenVPN 使用密钥验证的话,暴力破解在量子计算机出来之前是不肯能的 | 连接 VPN 需要对应的客户端程序,所以并不适合分享给朋友之类的使用。根据场合来看,有些公司会禁止安装这一类客户端,也会碰到一 些麻烦 |
连上以后可以畅通无阻的访问内网的各种服务 (不止 NAS),不需要做端口映射之类的麻烦 事情 | 假如,被对方基于社会工程学,拿到了 VPN 的密钥,则你整个内网都会暴露在危险中,假如 碰到这种情况,请第一时间吊销泄漏的密钥。 |
可以较为简单的有效的保护内网 |
作者吐槽:
成品 nas 的管理服务和文件服务竟然是同一个端口,也就是说,如果你想共享文件给你的朋友,就必须开放 nas 的管理服务到公网,这样就无形中增加了风险度。最好是能将文件服务和 nas 管理服务分开,比如 nas 管理服务就通过 VPN 只有自己能访问,文件共享可以通过 NextCloud 等另外的服务来完成。
在没搞定 IPv6 的防火墙之前,建议关闭
目前市面上可以说 90%以上的路由器是不支持 IPv6 防火墙的,就算是支持的,很多也只有开启和关闭这 2 个选项,意义并不大,目前作者的认知中,只有新版的 openwrt 是完全支持 IPv6防火墙的(openwrt 22 版,22 之前的版本不敢保证)。
当你的域名绑定了你的 IPv6 后,任何人都能通过你的域名知道你的 nas 的 IPv6 地址,然后加上绝大多数的路由器是没有 IPv6 的防火墙的,也就意味着,你整个 nas 暴露在公网中,你所有的服务都暴露在公网中的意思,这是非常危险的一件事。
虽然你可以通过 nas 本身的防火墙来阻止不必要的服务端口的访问,但这样做,你内网的其他客户端访问时,也会被阻止,因为你的 IPv6 地址是动态的,nas 的防火墙层面,很难判断哪个客户端是和你一个网段的。
关于 IPv6 的防火墙,我会在下一篇中详细说明
及时升级系统和软件
系统或者软件,经常会出现各类漏洞,会被黑客给利用,有些神级的漏洞还能绕过认证。所以,系统和软件建议时常更新到最新的。
小贴士:
一般系统的大版本升级,会产生很多兼容或者用户习惯改变的问题,这些大版本升级其实可以不升的,但是你要注意下官方对大版本的支持时间,在官方支持的时间内的,官方还是会继续给升小版本来打补丁的,但是一旦超过官方的支持时间,请立马升级。
尽可能的避免使用默认端口(感谢群主提供意见)
很多黑客都是大面积盲扫固定高危端口的,比如 22、3389 等,避免使用默认端口,可以规避一部分风险。
避免使用一些常见的用户名
如:admin、root、test
黑客一般在进行暴力破解的时候,优先会使用这些默认的用户名去尝试。
高级篇:适合有经验的用户,以及其他 DIY 的用户
尽可能避免用 root 用户去启动服务
一些人畜无害的服务,如果你使用root 用户去启动它,然后它正好存在一个远程执行漏洞的话,这样就相当于黑客获取了你系统的root 权限,可以任意妄为。如果你不是用 root 用户启动的话,那破坏程度也非常有限了。
用虚拟机等手段隔离服务
如果有条件的话,用虚拟机来隔离一些风险度比较高的服务,这样就算被黑,也无法影响宿主机。
Docker 也算是虚拟机隔离的一种技术,但是 Docker 的隔离并不彻底,Docker 经常会出现一些漏洞让容器也能影响宿主机的。
但是不管怎么说,用Docker 比套件还是要安全一点的。
合理的权限设置,不要无脑 777 一把梭
存放私钥、密码、数据库连接方式等重要文件夹和文件的,权限尽可能的都设置为 700 和
600,非重要文件夹和文件,也尽可能避免直接 777,可以用 group 权限和 acl 等手段控制权限。
开启 SeLinux
关于 SeLinux 这丧心病狂的安全策略,作者还没完全参透,请自行参悟。这是美国军方使用的安全策略,安全等级就不需要多说了。
最后附常见攻击的防御手段
常见的攻击 | 介绍 | 如何防御 |
用户枚举 | 有些系统,当你用户名输入错误的时候,会明确的提示:用户不存在。像这种系统,黑客就会用各种用户去试探,直到提示:密码错误,从而获得有效的用户名 |
改出错信息 |
暴力破解 | 不断的尝试各种密码,直到成功登入 |
|
网站攻击 | 利用 SQL 注入 跨域攻击等等手段 对网站本身进行攻击 |
|
DDoS | 利用大量的机器,对NAS 进行攻击 | 这个顶多让家里的网络瘫痪一会,没啥危害,不用管 |
利用漏洞攻击 | 不管啥系统,必定会存在一些漏洞比如远程执行漏洞等 非常非常罕见的情况下,会出现一些神级漏洞,比如之前的 Samba 漏洞 |
|
社会工程学攻击 | 利用各种社会工程学知识来获取你的登入凭证 | 提高自身的安全意识 |
最后附一个,假如不幸中了勒索病毒,平时我们可以如何预防:
- 勤做快照
- 定期冷备份