我正在寻找一个现有的服务/工具,它可以在类 UNIX shell 环境中支持以下功能:
- 仅追加写入,保证写入在某些情况下是持久的明确的时期时间的
- 命令行界面或使用常用工具(如
wget
/等curl
)发送请求的可能性ssh
。git
- 免身份验证(这肯定会简化前一项)
按照设计,这样的服务将很有用防篡改短期审计系统/工具:
- 自动非对称加密敏感数据(非对称加密中不使用密码)
- 没有办法删除a的痕迹保证一段时间(例如,1周)
一些用例,例如
- 自动跟踪便携式计算机的位置或
- 转储感兴趣的系统日志条目
/etc/rc.d/
可以通过分别从 from启动脚本或 from写入此类“仅附加”服务来轻松支持(ana)cron
。如果攻击者窃取计算机并启动操作系统(前者),或侵入它(后者),用户将能够检测到它,也许在另一个读取前者仅附加写入的监视服务的帮助下服务。 (请注意,攻击者无法删除这些条目,因为它是“仅附加”存储)。
目前模拟此类服务的尝试:
ssh 'bash -c "cat ... >> writes.$(date +%Y-%m-%d)"'
问题:需要一台受信任的机器(并且自己动手清理数据)
每次写入时创建一个新的匿名pastebin.com 文档。不可行:
没有防篡改存储每个文档的 URL 不可行(请注意编辑或重复使用相同的内容将允许删除)
可能IP封禁如果写入太频繁
使用基于云的文件管理服务,例如 Dropbox
- 创建与以下内容关联的 Dropbox 帐户
root
ssh
通过/从受信任的机器/服务器获取 Dropbox 凭据scp
,同时确保它们不会逃逸 RAM(/run/shm/
如有必要,用于存储它们)- 删除已知文件的内容,然后重写新数据。
问题:
- 很难设置安全的方式。
- 要读取除最后写入的条目之外的任何内容,需要 (手动)挖掘通过文件内容更新的事件历史记录。
- 创建与以下内容关联的 Dropbox 帐户
没有历史重写的版本控制系统,例如 Mercurial
问题:存储是有界的- 不可能清理旧条目(不删除和娱乐会使服务在该时间段内不可用)
任何关于如何支持/实施此类服务的想法都值得赞赏。