¿Puede Samhain monitorear un archivo que no existe, pero podría en el futuro?

8

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.

Richard Downer
fuente
Puede solucionar este problema creando un archivo vacío. En el caso de authorized_keysesto funcionaría bien.
Michael Hampton
@MichaelHampton de hecho, y esta es la solución que he estado usando. Significa que necesito mantener mi script de configuración creando archivos vacíos sincronizados con la configuración de Samhain, menos que ideal pero funciona.
Richard Downer

Respuestas:

0

Si lo entiendo correctamente, necesita monitorear todos los archivos en dir, excepto algunos archivos o subdirecciones:

Puedes probar a continuación:

[ReadOnly] 
    #
    dir=/home/someuser/.ssh 
    # 
    [Attributes] 
    # 
    # less restrictive policy for the directory file itself 
    # 
    file=/home/someuser/.ssh 
    # 
    [IgnoreAll] 
    # 
    # exclude these file and directories 
    #
    file=/home/someuser/.ssh/known_hosts
    #dir=-1/etc/calendar
    #

Más información https://www.la-samhna.de/samhain/manual/all-except.html

Ivan Gurzhiy
fuente
"Si lo entiendo correctamente, necesita monitorear todos los archivos en dir, excepto algunos archivos o subdirecciones" - esto no es correcto. No quiero monitorear todos los archivos. Quiero monitorear un archivo específico (o un pequeño número de archivos) con nombres conocidos y específicos, e ignorar todos los demás. por ejemplo, en el directorio de inicio de un usuario, quiero monitorear .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.
Richard Downer