Áú»¢¶Ä²©

Esta es una traducci¨®n de la p¨¢gina de documentaci¨®n original en espa?ol. Ay¨²danos a mejorarla.

12 Restringir comprobaciones del agente

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô general

Es posible restringir las comprobaciones por parte del agente creando una lista negra, lista blanca o una combinaci¨®n de lista blanca/lista negra de m¨¦tricas.

Para ello utilice una combinaci¨®n de dos par¨¢metros de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del agente:

  • ´¡±ô±ô´Ç·É°­±ð²â=&±ô³Ù;±è²¹³Ù°ù¨®²Ô&²µ³Ù; - qu¨¦ comprobaciones est¨¢n permitidas; <patr¨®n> es especificado usando una expresi¨®n comod¨ªn (*)
  • ¶Ù±ð²Ô²â°­±ð²â=&±ô³Ù;±è²¹³Ù°ù¨®²Ô&²µ³Ù; - qu¨¦ comprobaciones se rechazan; <patr¨®n> es especificado usando una expresi¨®n comod¨ªn (*)

Tenga en cuenta que:

  • Todas las m¨¦tricas de system.run[*] (comandos remotos, scripts) est¨¢n deshabilitados de forma predeterminada, incluso cuando no se especifican claves de denegaci¨®n, se debe asumir que DenyKey=system.run[*] se agrega impl¨ªcitamente.
  • Desde Áú»¢¶Ä²© 5.0.2 el par¨¢metro del agente EnableRemoteCommands es:
    • obsoleto para el agente de Áú»¢¶Ä²©
    • no soportado para el agente 2 de Áú»¢¶Ä²©

Por lo tanto, para permitir comandos remotos, especifique AllowKey=system.run[<command>,*] para cada comando permitido, * representa el modo de espera y no espera. Tambi¨¦n es posible especificar el par¨¢metro AllowKey=system.run[*] para permitir todos los comandos con modos de espera y no espera. Para no permitir comandos remotos espec¨ªficos, agregue par¨¢metros DenyKey con comandos system.run[] antes del par¨¢metro AllowKey=system.run[*].

Reglas importantes

  • Solo se permite una lista blanca sin una regla de denegaci¨®n para system.run[*] elementos. Para todos los dem¨¢s elementos, los par¨¢metros AllowKey no est¨¢n permitidos sin un par¨¢metro DenyKey; en este caso, el agente Áú»¢¶Ä²© ** no lo har¨¢ empezar** con solo los par¨¢metros AllowKey.
  • El orden importa. Los par¨¢metros especificados se comprueban uno por uno seg¨²n su orden de aparici¨®n en el archivo de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô:
    • Tan pronto como la clave de un elemento coincida con una regla de permitir/denegar, el elemento se ya sea permitido o denegado; y la verificaci¨®n de reglas se detiene. As¨ª que si un art¨ªculo coincide tanto con una regla de permitir como con una regla de denegar, el resultado ser¨¢ depende de qu¨¦ regla viene primero.
    • El orden afecta tambi¨¦n al par¨¢metro EnableRemoteCommands (si se usa).
  • Se admite un n¨²mero ilimitado de par¨¢metros AllowKey/DenyKey.
  • Las reglas AllowKey, DenyKey no afectan a HostnameItem, Par¨¢metros de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô HostMetadataItem, HostInterfaceItem.
  • El patr¨®n de clave es una expresi¨®n comod¨ªn donde el comod¨ªn (*) car¨¢cter coincide con cualquier n¨²mero de cualquier car¨¢cter en cierta posici¨®n. Puede usarse tanto en el nombre de la clave como en los par¨¢metros.
  • Si una clave de art¨ªculo espec¨ªfica no est¨¢ permitida en la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del agente, el el elemento se informar¨¢ como no compatible (no se da ninguna pista sobre el raz¨®n);
  • El agente Áú»¢¶Ä²© con la opci¨®n de l¨ªnea de comando --print (-p) no se mostrar¨¢ claves que no est¨¢n permitidas por la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô;
  • Volver¨¢ el agente de Áú»¢¶Ä²© con la opci¨®n de l¨ªnea de comando --test (-t) "Clave de elemento no admitida". estado de las claves que no est¨¢n permitidas por ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô;
  • Los comandos remotos denegados no se registrar¨¢n en el registro del agente (si LogRemoteCommands=1).

Casos de uso

Denegar verificaci¨®n espec¨ªfica
  • Lista negra de un control espec¨ªfico con el par¨¢metro DenyKey. Teclas a juego ser¨¢ desestimado. Se permitir¨¢n todas las claves que no coincidan, excepto system.run[] elementos.

Por ejemplo:

# Denegar acceso seguro a datos
       DenyKey=vfs.file.contents[/etc/passwd,*]

Una lista negra puede no ser una buena opci¨®n, porque un la nueva versi¨®n de Áú»¢¶Ä²© puede tener nuevas claves que no est¨¢n restringidas expl¨ªcitamente por la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô existente. Esto podr¨ªa causar una seguridad falla.

Denegar comando espec¨ªfico, permitir otros
  • Lista negra de un comando espec¨ªfico con el par¨¢metro DenyKey. Lista blanca de todos otros comandos, con el par¨¢metro AllowKey.
# Deshabilitar comando espec¨ªfico
       DenyKey=sistema.ejecutar[ls -l /]
        
       # Permitir otros scripts
       AllowKey=sistema.ejecutar[*]
Permitir verificaci¨®n espec¨ªfica, negar otras
  • Incluya verificaciones espec¨ªficas en la lista blanca con par¨¢metros AllowKey, deniegue otros con DenyKey=*

Por ejemplo:

# Permitir la lectura de registros:
       AllowKey=vfs.archivo.*[/var/log/*]
       
       # Permitir comprobaciones de hora local
       AllowKey=sistema.horalocal[*]
       
       # Denegar todas las dem¨¢s claves
       Denegar clave=*

Ejemplos de patrones

±Ê²¹³Ù°ù¨®²Ô ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô Coincidencias Sin coincidencia
* Hace coincidir todas las claves posibles con o sin par¨¢metros. Cualquiera Ninguno
vfs.file.contents Coincide vfs.file.contents sin par¨¢metros. vfs.file.contents vfs.file.contents[/etc/passwd]
vfs.file.contents[] Hace coincidir vfs.file.contents con par¨¢metros vac¨ªos. vfs.file.contents[] vfs.file.contents
vfs.file.contents[*] Hace coincidir vfs.file.contents con cualquier par¨¢metro; no coincidir¨¢ con vfs.file.contents sin corchetes. vfs.file.contents[]
vfs.file.contents[/path/to/file]
vfs.file.contents
vfs.file.contents[/etc/passwd,*] Hace coincidir vfs.file.contents con los primeros par¨¢metros que coinciden con /etc/passwd y todos los dem¨¢s par¨¢metros que tienen cualquier valor (tambi¨¦n vac¨ªo). vfs .file.contents[/etc/passwd,]
vfs.file.contents[/etc/passwd,utf8]
vfs.file.contents[/etc/passwd]
vfs. archivo.contenido[/var/log/zabbix_server.log]
vfs.archivo.contenido[]
vfs.file.contents[*passwd*] Hace coincidir vfs.file.contents con el primer par¨¢metro que coincide con *passwd* y ning¨²n otro par¨¢metro. vfs.file.contents[/etc /contrase?a] vfs.file.contents[/etc/passwd,]
vfs.file.contents[/etc/passwd, utf8]
vfs.file.contents[*passwd*,*] Coincide vfs.file.contents con solo el primer par¨¢metro que coincide con *passwd* y todos los par¨¢metros siguientes que tienen alg¨²n valor (tambi¨¦n vac¨ªo) . vfs.file.contents[/etc/passwd,]
vfs.file.contents[/etc/passwd, utf8]
vfs.file.contents[/etc/passwd]<br >vfs.file.contents[/tmp/test]
vfs.file.contents[/var/log/zabbix_server.log,*,abc] Hace coincidir vfs.file.contents con el primer par¨¢metro que coincide con /var/log/zabbix_server.log , tercer par¨¢metro que coincida con 'abc' y cualquier segundo par¨¢metro (tambi¨¦n vac¨ªo). vfs.file.contents[/var/log/zabbix_server.log,,abc]
vfs.file.contents[/ var/log/zabbix_server.log,utf8,abc]
vfs.file.contents[/var/log/zabbix_server.log,,abc,def]
vfs.file.contents[/etc/passwd,utf8] Hace coincidir vfs.file.contents con el primer par¨¢metro que coincide con /etc/passwd, el segundo par¨¢metro que coincide con 'utf8' y ning¨²n otro argumento. vfs. file.contents[/etc/passwd,utf8] vfs.file.contents[/etc/passwd,]
vfs.file.contents[/etc/passwd,utf16]
vfs.file.* Coincide con cualquier clave que comience con vfs.file. sin ning¨²n par¨¢metro. vfs.file.contents
vfs.file.size
vfs.file.contents[]< br>vfs.file.size[/var/log/zabbix_server.log]
vfs.file.*[*] Hace coincidir cualquier clave que comience con vfs.file. con cualquier par¨¢metro. vfs.file.size.bytes[]
vfs.file. tama?o[/var/log/zabbix_server.log, utf8]
vfs.file.size.bytes
vfs.*.contents Coincide con cualquier clave que comience con vfs. y termine con .contents sin ning¨²n par¨¢metro. vfs.mount.point.file.contents
vfs..contents
vfs. contenidos

system.run y AllowKey

Un script hipot¨¦tico como 'myscript.sh' se puede ejecutar en un equipo a trav¨¦s del Agente Áú»¢¶Ä²© de varias maneras:

1. Como clave de m¨¦trica en una comprobaci¨®n pasiva o activa, por ejemplo:

  • system.run[myscript.sh]
  • system.run[myscript.sh,wait]
  • system.run[myscript.sh.nowait]

Aqu¨ª el usuario puede agregar "esperar", "noesperar" u omitir el segundo argumento para usar su valor predeterminado en system.run[].

2. Como script global (iniciado por el usuario en el frontend o API).

Un usuario configura este script en Alertas ¡ú Scripts, establece "Ejecutar en: agente Áú»¢¶Ä²©" y coloca "myscript.sh" en el Campo de entrada "Comandos" del script. Cuando se invoca desde el frontend o API, el servidor Áú»¢¶Ä²© env¨ªa al agente:

  • system.run[myscript.sh,wait] - hasta Áú»¢¶Ä²© 5.0.4
  • system.run[myscript.sh] - desde 5.0.5

Aqu¨ª el usuario no controla los par¨¢metros "esperar"/"noesperar".

3. Como comando remoto de una acci¨®n. El servidor Áú»¢¶Ä²© env¨ªa al agente:

  • system.run[myscript.sh,nowait]

Aqu¨ª nuevamente el usuario no controla los par¨¢metros "esperar"/"noesperar".

Lo que eso significa es que si configuramos AllowKey como:

AllowKey=system.run[miscript.sh]

entonces

  • system.run[myscript.sh] - estar¨¢ permitido
  • system.run[myscript.sh,wait], system.run[myscript.sh,nowait] no se permitir¨¢: el script no se ejecutar¨¢ si se invoca como paso de accion

Para permitir todas las variantes descritas, puede agregar:

AllowKey=system.run[myscript.sh,*]
       DenyKey=system.run[*]

a los par¨¢metros del agente/agente2.