Good idea.
Until Puppet has the important production-tracking / security / forensics feature you want, use the "exec" in Puppet and
roll-your-own production-monitoring class.
One idea for implementation follows:
Backup /etc.
Then run the following, outputting it to "A" or "B" at time "t":
find /etc -exec md5sum {} \; | sort -k 34 | md5sum
At time "t+<n>", rerun the above but output to the other of "A" or "B".
Backup /etc to a separate backup file.
Diff A and B.
If no difference (e.g. diff is empty), no data change (note: does not measure updates/"touches" that don't change data -
for that, diff the successive output of a sorted "find /etc -ls {} \;" as well.)
If difference (diff is non-empty), the files(s) and/or directory that is added, removed, or changed, is shown with the before/after checksums.
Remove the 1st backup. 2nd backup becomes 1st backup for next run to accumulate 2nd backup, etc.
Testing the above with mkdir somedir, touch somedir/somefile, rm somedir/somefile, rmdir somedir
gave predictable md5 hashes returning to the prior state, a decent sign, though not a comprehensive test.
The reason you use find instead of cpio/tar and backup /etc twice is to have a before/after for forensics to find the changed file(s)
--Stuart