我最近遇到了一些安全问题,并且由于我无法完全确定我的代码是否安全,因此我一直在考虑扫描一些文件夹,并在文件更改或新文件出现时收到通知。
有没有一个工具可以做到这一点?
答案1
你有 linux 审计系统,我不知道它是否默认安装在 debian 上,但你可以通过以下方式安装它:
$ sudo apt-get install auditd audispd-plugins
从那里您需要配置它,配置文件是/etc/audit/audit.rules
,适合您目的的规则如下:
# Delete all previous rules
-D
# Set buffer size
-b 8192
# Make the configuration immutable -- reboot is required to change audit rules
-e 2
# Panic when a failure occurs
-f 2
# Generate at most 100 audit messages per second
-r 100
# -w: Watch a file or directory
# -p: Parameters to watch in this case are [w]rite and [a]ttributes,
# you can also add [r]ead and e[x]ecute but I think those
# are not needed in your case
# -k: An optional friendly name to facilitate searching the logs
-w /path/to/your/repo -p wa -k name_for_easy_searching
审计设置已准备就绪,重新启动 auditd 守护进程以加载新规则并确认它们确实已加载auditctl -l
。
现在您的存储库正在内核级别受到监视,因此任何更改都将被记录。
用于ausearch -k name_for_easy_searching
获取对您的存储库所做的所有更改的列表。
从这里开始,您将学会如何解析日志、忽略用户所做的更改、发送电子邮件、设置 cron 作业来定期检查......
祝你好运。
答案2
另一个选择是AIDE(高级入侵检测环境)。它是免费的,您可以使用示例配置文件之一轻松开始。