黑群晖镜像安全一览

2024-04-12 16:01:10 22点赞 117收藏 26评论

揭秘黑群晖世界:从风险到规避风险之路

黑群晖镜像安全一览

2024年04月16日 更新, 请参阅文章末尾


1. 黑群晖入门

从19年开始, 装过五台黑群晖, 6.1.3、7.0.1、7.1.1、7.2.1, 引导包也是从最开始的50M到现在3G多大小。

黑群晖镜像安全一览

以前虽然也有考虑安全性, 但是毕竟便捷性在前, 因此也未仔细深究过, 突发奇想想看看包的变化, 才是大吃一惊。

简单的说, 你的电脑在你的家里,

花着你每天两块钱的电费,还有平均每天四块钱的网费,

运行着其它人的程序,甚至还去看你全家人的照片,

甚至通过你的nas访问你的手机、个人电脑, 刷你的信用卡。

黑群晖镜像安全一览

上面的流程都是打通的。 也就是说理论上如果攻击者想, 就能做到。

诸位, 黑群晖使用需谨慎,有条件请上正版。 没条件可以参考本文稍微调整一二(需要了解一定的技术)。

注:本文不贬低任何一位奉献者。



2. 黑群晖的风险剖析

最新安装的包是7.2.1:

黑群晖镜像安全一览

主要的文件变更来源于各个驱动或者插件, 例如如图:

黑群晖镜像安全一览

这也是引导程序越来越易用的原因。

但是, 驱动程序等是开源的, 贡献者可以在里面插入自己的代码, 参考最近的开源社区 xz 事件

除此之外, 引导程序启动的时候本身可以执行一系列的脚本、安装一系列的程序,它们都可以以最高权限执行

如上图中的ssh文件夹, 以及其他的一些内置的脚本、程序等,在你的nas启动之后, 攻击者可以很方便的访问你的电脑。

2.1 upnp

一般的路由器都是打开的, 群晖本身就有个upnp服务, 可以被nas上的服务调用(也包括攻击者) 简单的说这个服务可以让攻击者在任何时候访问你的nas。

2.2 ssh

也是如上图, sshd_config它支持让root用户直接通过ssh连接你的nas。 root 用户, 听名字就知道有多不安全了吧。

其配置: PermitRootLogin yes, 是可以允许配置了私钥了的root直接登录的。

2.3 ttyd

你用的攻击者的引导程序, 攻击者也可以在引导程序里面插入个远程webssh, 这个更简单, 有浏览器就能使用。

并且, 这个程序来源于大名鼎鼎的:pocopico,端口7681。

当然, 可能pocopico大神是为了调试方便, 此处不做评估。

此处因为发现之后直接iptables给它封了, 然后它就自己把自己kill了,暂时没有截图

2.4 其它

使用Nmap扫描了下接口, 比较多, 并且因为是引导级别的, 启动的时候就可以hook内核了, 因此再看下去意义不大。

3. 解决(尝试)这些风险

首先, 解决是不可能解决的, 道高一尺魔高一丈, 尽可能预防把。

3.1 购买正版

正版不一定毫无问题, 但是大概率会好很多。

3.2 参阅博主的解决方案

1. 关闭路由器UPNP, 尤其是你的路由器有公网环境, 务必关闭

2. 设置路由器过滤规则,端口映射的时候, 不要映射5001等端口, 改成一个不常用的, 尤其不要打开22端口。

3. 配置出站、入站规则,

iptables -A INPUT -j DROP

iptables -A OUTPUT -j DROP

把所有的端口都封了, 然后只打开类似5001等需要用的端口。

4. (如果需要公网使用ssh)使用堡垒机

可以买一个低功耗开发板, 例如arm开发板、赛扬的二手笔记本。上面安装正版的ubuntu server(免费),

server上安装堡垒机, 隔离外部访问

5. 定时扫描进程, 不是在白名单里面的进程都给kill了:

参阅python脚本:

import psutil

import subprocess

class OOMKiller:

def init(self, whitelist_processes, whitelist_ports):

self.whitelist_processes = whitelist_processes

self.whitelist_ports = whitelist_ports

def get_all_processes(self):

return psutil.process_iter(attrs=['pid', 'name', 'cmdline'])

def get_process_ports(self, pid):

try:

proc = psutil.Process(pid)

connections = proc.connections()

ports = [conn.laddr.port for conn in connections]

return ports

except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):

return []

def kill_process(self, pid, program, cmdline, port):

try:

#subprocess.run(['kill', str(pid)])

print(f"Killed {port} process: {program} {cmdline}")

except subprocess.CalledProcessError:

pass

def scan_and_kill(self):

for proc in self.get_all_processes():

program = proc.info['name']

cmdline = " ".join(proc.info['cmdline'])

if program not in self.whitelist_processes:

ports = self.get_process_ports(proc.info['pid'])

if any(port not in self.whitelist_ports for port in ports):

for port in ports:

if port not in self.whitelist_ports:

self.kill_process(proc.info['pid'], program, cmdline, port)

# Example usage:

whitelist_processes = ['systemd', 'sshd', 'bash', 'vpnauthd', 'openvpn', 'synowsdiscoveryd', 'nmbd', ] # Add processes you want to whitelist

whitelist_ports = [22, 23, 80, 139, 443, 445, 554, 111, 892, 2049, 111, 662, 892, 2049,554 ,1688,1935,3260,3261,3263,3265,5566,6690] # Add ports you want to whitelist

killer = OOMKiller(whitelist_processes, whitelist_ports)

killer.scan_and_kill()

# port table

# 554 SurveillanceStation

# 1688 docker-proxy, windows kms

# 1935 SurveillanceStation

# 3260 iSCSI

# 3261 iSCSI

# 3263 iSCSI

# 3265 iSCSI

# 5566 5566高级 LUN 和共享文件夹

# 6690 Cloud

# 7681 ttyd, pocopico.misc的渗透端口

# 111, 662, 892, 2049 NFS

# iptables -A INPUT -p tcp --dport 3261 -j DROP

# iptables -A INPUT -p tcp --dport 3263 -j DROP

# iptables -A INPUT -p tcp --dport 3264 -j DROP

# iptables -A INPUT -p tcp --dport 3265 -j DROP

# iptables -A INPUT -p tcp --dport 4045 -j DROP

# iptables -A INPUT -p tcp --dport 5357 -j DROP

# iptables -A INPUT -p tcp --dport 7681 -j DROP

如上, 很难说完全保证你的nas的安全, 但是大概率能减少你的nas被无端的使用。

当然, 如果攻击者想要直接定时加密你的硬盘, 怎么想都百搭, 毕竟你用的是盗版。

4. 结束

总之, 引导的提供者, 也是用心用时间在提供服务。 但是可能提供的过程中遗留了一些难以解决的漏洞, 这些漏洞是能被攻击者利用的。

且不做防护, 你的nas 100%被攻击, 可能你在读文章的时候,它正在被攻击。

如果大家有其他好的方案,请联系我。

2024年04月16日 更新,更新:

改动点:

1. 安装iptables(可以先在套件中心安装ruby和git, 然后使用清华大学镜像源安装homebrew, 使用brew安装iptables), 使用如下配置:

# /etc/iptables/block_ip.sh

内容(里面的端口按情况更改):

================

#! /bin/bash

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp -m multiport --dports 22,23,80,111,137,138,139,161,443,445 -j ACCEPT

iptables -A INPUT -p tcp -m multiport --dports 548,892,1194,1688,1935,2049,5000,5001 -j ACCEPT

iptables -A INPUT -p tcp -m multiport --dports 0:65535 -j DROP

iptables -A INPUT -p udp -m multiport --dports 0:65535 -j DROP

================

2. 安装 systemctl。

# vi /etc/systemd/system/xxx.service

内容(里面的端口按情况更改):

=================

[Unit]

Description=Iptables Block None Allowed

After=network.target

[Service]

ExecStart="/etc/iptables/block_ip.sh"

Restart=always

User=root

Group=root

[Install]

WantedBy=multi-user.target

=================

3. 编辑 /etc/hosts.deny, 把下面内容放进去:

http://antivirus.neu.edu.cn/ssh/lists/neu.txt

  1. 一定记住修改sshd_config, 禁止root访问

大致含义是只允许部分端口开放, 这样即使有进程监听了不可预期的端口, 也无法接收到外部的请求。

搭配正文python写的扫描非白名单的进程, 一定层度上会安全一点。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2829元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4079元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1529元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

13746元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

3179元起

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2299元起

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

3090元起

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

6899元起

文中相关商品

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)
26评论

  • 精彩
  • 最新
  • 完了,我家的小姐姐都被别人看了? [火冒三丈] [火冒三丈]

    校验提示文案

    提交
    我上面两个T的小姐姐,,,, 一直被看着 [喜极而泣] 这倒是无所谓, 重点是一天四块钱的网费, 两块钱的电费, 给他人做嫁衣, 简直是脑壳大

    校验提示文案

    提交
    要有分享精神

    校验提示文案

    提交
    收起所有回复
  • 群晖代码和黑群晖不一样吗?

    校验提示文案

    提交
    肯定是不一样的, 虽然安装包同一个, 但是引导程序本身优先级高于群晖的系统, 启动的时候想插入点什么共计代码还不是轻轻松松

    校验提示文案

    提交
    收起所有回复
  • 一毛钱不值的东西谁动你的数据

    校验提示文案

    提交
    你是一点不懂啊,挂个算力程序,做个跳板都是小意思。做all in one的,所有数据都看得到。

    校验提示文案

    提交
    6。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 为了安全,docker走起。。。。。。

    校验提示文案

    提交
  • 这才是好文章

    校验提示文案

    提交
  • 你的创作内容真是太棒了!黑群晖镜像安全一览最后,让我等值友不得不服!

    校验提示文案

    提交
  • 多一点楼主这样懂技术的使用者,才更安全

    校验提示文案

    提交
  • 厉害,看来我也不用再费神搞黑裙了……

    校验提示文案

    提交
  • 赞一个,技术就是需要楼主这样较真。

    校验提示文案

    提交
  • 谢谢提醒,安全问题自己必须负责

    校验提示文案

    提交
  • 说了半天,没看到实锤,你说这些配置文件,哪个系统没有?

    校验提示文案

    提交
  • 这就是TM的哦豁

    校验提示文案

    提交
  • 握草,人家黑裙的引导文件和驱动都是开源的,有没有问题看一下源代码就知道了。
    文章里好多问题都是白裙、黑裙同样会遇到的,与是不是黑裙没有半毛钱的关系。

    校验提示文案

    提交
  • 经过长达两星期的验证, 找到了一个基本上安全的方案(vdsm/virtual-dsm):
    去看看
    在物理机上安装一个Ubuntu Server, 然后使用docker安装vDSM, 逐行分析了它的镜像源码。 全部是依赖于vDSM本身的机制, 没有发现恶意代码的植入。

    因此, 只要群晖官方没有留后门, 理论上是不担心主观上的安全问题的(客观上存在的问题, 白群晖一样存在, 不在讨论范围内)

    校验提示文案

    提交
  • 不敢苟同,不要抹黑!!!在你所说的2.1,2.2,2.4风险面前,黑群和白群有区别吗,白群一样有!至于2.3,本人至今未见过引导文件作者作恶的实例!如果你提醒大家规避注意这些风险,我会觉得楼主是好人。但是全文只说黑群,不说白群,我只能说至少标题给人感觉居心叵测!

    校验提示文案

    提交
    引导:去看看
    其次,我没白裙

    校验提示文案

    提交
    黑群晖的引导不一样

    校验提示文案

    提交
    收起所有回复
  • 东拉西扯,胡说八道,软件安全和网络安全都分不清。现在的黑群晖一般都用ARPL自编译引导,代码都是开源的,哪来的安全问题?再说网络安全,与用黑裙还是白裙没啥关系,就算你用白裙,该扫描还是扫描,该攻破还是攻破

    校验提示文案

    提交
    你下的不是源码

    校验提示文案

    提交
    收起所有回复
  • 正版同样作恶

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

平菇虾饺

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
117
扫一下,分享更方便,购买更轻松