在与朋友讨论家用服务器的安全性时,他向我指出,利用 SSH 访问权限,他可以无限次地写入和删除文件,这会损坏硬盘。我意识到,从理论上讲,任何获得系统任何部分写入权限的人都可以做到这一点。
再说一次,我也想到也许同样的事情可以通过向写入访问日志的服务器发送垃圾邮件来实现;我从来没有听说过那正在发生。
我以前从未听说过这种潜在的攻击类型,但我觉得这很有可能。这真的是一种风险吗?如果是,可以做些什么来预防它?
编辑:这是一个带有旋转盘片的硬盘,而不是 SSD。
答案1
他可以无限次地写入和删除文件
在极少数情况下确实如此:
例如,如果您写入 SD 卡(没有磨损均衡的闪存)并且没有磁盘缓存,那么您可能会磨损卡。
不是如果:
- 如果他对小文件执行此操作,并且写入甚至不会到达磁盘,而只是到达磁盘缓存。那么在实际刷新发生之前,它会被删除。
- 普通旋转硬盘则不然。它们已经承受了这种滥用,并且愉快地使用了多年。(6 年后,我考虑更换使用频繁的服务器磁盘,但它们可能还能再用十年。但到那时,硬件在技术上已经过时了)。
- 但现代 SSD 并非如此。第一代 SSD 的写入限制相对较低,但现代 SSD 的写入限制要高得多。结果是 SSD 在达到该限制之前就已经在技术上过时了。(一些技术网站甚至通过在台式机中使用 SSD 进行了测试,使用后台任务全天候写入,然后在一年后测试 SSD。结果很好。如果你有一个用户这样做了一年,而你却没有发现,那么问题就不是技术问题)。
最后,它可能会伤害表现系统的吞吐量。如果有人一直在使用磁盘 IO,那么系统其余部分的吞吐量就会减少。
这实际上是一种风险吗?如果是,那么可以采取什么措施来预防呢?
没有实际风险,但监控系统始终是个好主意。不仅仅是为了防止有人做奇怪的事情,也为了防止无数其他情况,例如风扇故障/高温、驱动器故障(它们确实会时不时地发生故障,完全是它们自己发生的,不需要滥用)、RAM 故障……
答案2
a. 您已授予不受信任的人对您的服务器的 SSH 访问权限。不要向吹嘘滥用您的系统的人授予访问权限。
b. 您刚刚描述了操作系统可以访问的所有临时文件夹中发生的事情,以及系统分页和 Windows 中的主文件表所做的不断读写。由于您的系统已经在做相当于他的“思维问题”的事情,它如何坚持下去?当前的驱动器技术并不关心。
我有 15k SAS 硬盘,它们已经承受了这种“所谓的滥用” 6-10 年而没有出现故障。也许你较弱的消费级 SATA 硬盘可能会出现问题,只要购买质量更好的硬盘,你就不会遇到这个问题。
答案3
反复写入和删除文件肯定是某种垃圾信息。您可以设置一些时间问题,当某人在一次删除或写入文件后,他们应该等待一段时间才能写入或删除其他文件,间隔 10 秒。这不是真正的解决方案,但我想这会延迟损害。
答案4
写入行为本身并不会磨损或损坏旋转的硬盘。
硬盘中的盘片始终在旋转,除非处于省电模式,尤其是在服务器硬盘中。无论磁头在读取、写入还是空闲,它们都以相同的速度旋转。读写头实际上并不像软盘那样接触磁盘,因此不存在摩擦磨损的可能性。我从未听说过任何非老式硬盘的读写头或读写臂磨损。
现在,将硬盘驱动器调至最大转速确实会给驱动器带来压力,并且“紧急卸载”会给驱动器带来压力,在这种情况下,驱动器会检测到电源丢失并将磁头从盘片上拉开,以避免磁头碰撞。也许通过发出适当的hdparm
命令,用户可以告诉硬盘驱动器关闭电源,然后反复启动。这仍然不会导致“紧急卸载”情况,只是旋转停止/旋转。我不相信您的用户可以在没有 root 的情况下做到这一点。
如果您的用户是 root,则您的用户可能能够将虚假的固件更新上传到驱动器,从而使其变砖。 hdparm
能够做到这一点。