Me gustaría que Samhain supervise un archivo, por ejemplo /root/somefile,. Este archivo no existe actualmente, pero me gustaría recibir una notificación si se crea en algún momento.
Añado esto a samhainrc:
[ReadOnly]
file = /root/somefile
Esto hace que Samhain emita estas entradas de registro:
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] interface=<lstat>, msg=<No such file or directory>, userid=<0>, path=</root/somefile>
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] msg=<POLICY MISSING>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: INFO : [2018-10-18T22:54:19+0000] msg=<Checking [ReadOnly]>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: NOTICE : [2018-10-18T22:54:19+0000] msg=<Check failed>, path=</root/somefile>
Y si creo este archivo con echo test > /root/somefile, entonces no se registran infracciones de la política; la adición de este archivo no se ha notado.
¿Cómo puedo configurar Samhain para que me notifique si se crea un archivo de interés previamente inexistente?
La IgnoreMissingopción de configuración parecería útil a primera vista, pero no lo es. Con IgnoreMissing = /root/somefileadentro samhainrc, no hay cambio en el comportamiento. Parece que esta opción está destinada a archivos que se espera que se pierdan más tarde: suprime una alerta si existía un archivo, pero ahora no, por ejemplo, si un proceso automatizado elimina archivos que están desactualizados.
Aunque /root/somefileobviamente está inventado en este caso, un ejemplo de dónde un archivo inexistente comienza a existir repentinamente es si el archivo /home/someuser/.ssh/authorized_keysno existía anteriormente pero de repente existe; este podría ser un usuario malicioso que explotó algo para soltar una puerta trasera permitiendo ellos para iniciar sesión como usuario de shell. Esto es algo sobre lo que me gustaría recibir alertas.
Es posible usar dir = /home/someuser/.sshpara monitorear todos los cambios en la .sshcarpeta del usuario , pero esto no es útil: si es normal que el usuario use SSH en su cuenta, su .ssh/known_hostsarchivo puede cambiar, pueden cambiar su ssh_configetc., y no quiero ser alertado por aquellos. Por lo tanto, no quiero monitorear todo el directorio aparte de algún archivo en la lista blanca; Quiero dejar el directorio sin supervisión aparte de archivos específicos y críticos.
fuente

authorized_keysesto funcionaría bien.Respuestas:
Si lo entiendo correctamente, necesita monitorear todos los archivos en dir, excepto algunos archivos o subdirecciones:
Puedes probar a continuación:
Más información
https://www.la-samhna.de/samhain/manual/all-except.htmlfuente
.bashrc. No quiero tener que incluir en la lista blanca todos los archivos posibles que un usuario pueda crear en su directorio de inicio. El problema es que si.bashrcno existe antes de tiempo, Samhain no lo controlará en absoluto y no me alertará si se crea más tarde con contenido hostil.