一位医生朋友有一台医学影像设备,通过提供 Samba 共享来导出小型 jpg 文件。它运行经过大量修改的 Windows 2000 版本,并且仅支持 SMBv1。SMBv1 是极度缺乏安全感并且已被勒索软件用来感染主机。Windows 2000 或设备制造商不再提供支持。
尽管该设备已经使用多年,但从“医学角度”来说,它仍是最新的,更换它需要花费数万欧元。我们希望隔离该医疗设备,因为勒索软件攻击肯定会导致该设备无法使用。
我买了一个便宜的 OpenWRT 路由器来挂载医疗设备上的 SMBv1 共享,并将其重新与较新的 Samba 服务器共享,将医疗设备隐藏在该路由器后面。起初它很管用,但不鼓励重新共享网络共享并导致生产中问题反复出现,而我无法轻易解决。
工作流程如下:在体检期间,会拍摄照片。这些照片存储在设备上并通过 SMBv1 共享。之后,医生办公室的 PC 会手动检索照片并删除。速度并不是太重要,每张照片大约有 5 张,大小只有几 MB。这些照片不必立即可用,因为他只有在结束检查后才会检索照片。可靠性很重要,因为丢失照片会导致重新进行检查。
将医疗设备与网络隔离,同时可靠地允许读取和删除所拍摄的照片的最佳选择是什么?
答案1
我的建议是一样的,但不是重新共享 CIFS 挂载,而是设置一个 cronjob(和/或“incron”作业)来移动将存放的文件从“传入”SMBv1 共享复制到实际目标。这只需一行脚本即可调用find -mtime ... -exec mv ...
(当然,要小心避免移动仍在写入的文件)。
使用基于 inotify 的工具(例如 systemd.path 或 incron)可以允许在创建文件时立即触发传输,而不会真正频繁浪费设备资源。
但是,我可能会在“真实”服务器上的容器中运行它,该服务器具有比廉价 OpenWRT 路由器更好的资源(更多 RAM、更好的存储空间)。