我想运行 AIDE 或 tripwire 以确保可执行文件/配置文件/...不会被恶意软件修改。或者至少在它们被修改时通知我。
我想获得期间修改的文件列表apt get upgrade
,并apt-get install
告诉我如何更新 AIDE/tripwire 数据库。
这包括在预处理/后处理期间修改的文件。
答案1
AIDE和Tripwire之类的工具不是很有用因为只检测不太聪明的攻击。如果攻击者可以获得root权限,他们就不必费心去修改系统二进制文件,或者他们可以通过感染内核来伪造监控系统的数据。 Tripwire 可能很有用,因为它会在攻击者有时间擦除其痕迹之前立即报告更改。这要求日志立即发送到仍然值得信赖的外部机器。
话虽这么说,如果您想知道在运行过程中修改了哪些权限apt-get
,您可以跟踪它所做的系统调用。运行后中断跟踪,因为它可能正在跟踪升级期间(重新)启动的守护进程。
strace -o apt.strace -e openat,write sh -c '
apt-get "$@"
kill $PPID
' apt-get-wrapper upgrade
使用起来会更便宜审计,但问题是如何过滤由于 APT 运行而引起的更改。我认为您可以通过apt-get
使用不同的审计 UID运行来做到这一点,这对于 C 包装器来说应该很容易;剩下的问题是不要在该审核 uid 中运行重新启动的守护进程,对此我没有解决方案。
答案2
一个简单的方法是使用find
.下面的示例假设您只对 / 和 /var 中更改的文件感兴趣
touch /tmp/foo
apt get upgrade
find / /var -xdev -newer /tmp/foo -ls