? poss¨ªvel restringir as verifica??es do lado do agente criando um item lista negra, uma lista branca ou uma combina??o de lista branca/lista negra.
Para fazer isso, use uma combina??o de dois agentes configura??o par?metros:
AllowKey=<pattern>
- quais verifica??es s?o permitidas; <padr?o> ¨¦ especificado usando uma express?o curinga (*)DenyKey=<pattern>
- quais verifica??es s?o negadas; <padr?o> ¨¦ especificado usando uma express?o curinga (*)Observe que:
system.run[*]
(comandos remotos, scripts) s?o desabilitados por padr?o, mesmo quando nenhuma chave de nega??o ¨¦ especificada;Portanto, para permitir todos os comandos remotos, especifique um par?metro AllowKey=system.run[*]. Para permitir apenas alguns comandos remotos, crie uma lista branca de comandos espec¨ªficos do system.run[]. Para n?o permitir comandos remotos espec¨ªficos, adicione par?metros DenyKey com system.run[] comandos antes do par?metro AllowKey=system.run[*].
Por exemplo:
::: n?o importante Uma lista negra pode n?o ser uma boa escolha, porque um nova vers?o do Áú»¢¶Ä²© pode ter novas chaves que n?o s?o explicitamente restritas pela configura??o existente. Isso pode causar uma seguran?a falha. :::
# Desabilita comando espec¨ªfico
DenyKey=system.run[ls -l /]
# Permitir outros scripts
AllowKey=system.run[*]
DenyKey=*
Por exemplo:
# Permitir a leitura de logs:
AllowKey=vfs.file.*[/var/log/*]
# Permitir verifica??es de hora local
AllowKey=system.localtime[*]
# Negar todas as outras chaves
DenyKey=*
Padr?o | Descri??o | °ä´Ç°ù°ù±ð²õ±è´Ç²Ô»å¨º²Ô³¦¾±²¹²õ | Sem correspond¨ºncia |
---|---|---|---|
* | Corresponde a todas as chaves poss¨ªveis com ou sem par?metros. | Qualquer | Nenhum |
vfs.file.contents | Corresponde a vfs.file.contents sem par?metros. |
vfs.file.contents | vfs.file.contents[/etc/passwd] |
vfs.file.contents[] | Corresponde vfs.file.contents com par?metros vazios. |
vfs.file.contents[] | vfs.file.contents |
vfs.file.contents[*] | Corresponde vfs.file.contents com quaisquer par?metros; n?o corresponder¨¢ a vfs.file.contents sem colchetes. |
vfs.file.contents[] vfs.file.contents[/path/to/file] |
vfs.file.contents |
vfs.file.contents[/etc/passwd,*] | Corresponde vfs.file.contents com os primeiros par?metros correspondentes a /etc/passwd e todos os outros par?metros com qualquer valor (tamb¨¦m vazio). |
vfs .file.contents[/etc/passwd,] vfs.file.contents[/etc/passwd,utf8] |
vfs.file.contents[/etc/passwd] vfs. file.contents[/var/log/zabbix_server.log] vfs.file.contents[] |
vfs.file.contents[*passwd*] | Corresponde vfs.file.contents com o primeiro par?metro correspondente a *passwd* e nenhum outro par?metro. |
vfs.file.contents[/etc /passwd] | vfs.file.contents[/etc/passwd,] vfs.file.contents[/etc/passwd, utf8] |
vfs.file.contents[*passwd*,*] | Corresponde a vfs.file.contents apenas com o primeiro par?metro correspondente a *passwd* e todos os par?metros seguintes com qualquer valor (tamb¨¦m vazio) . |
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] | Corresponde vfs.file.contents com o primeiro par?metro correspondente a /var/log/zabbix_server.log , terceiro par?metro correspondente a 'abc' e qualquer segundo par?metro (tamb¨¦m vazio). |
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] | Corresponde vfs.file.contents com o primeiro par?metro correspondente a /etc/passwd, segundo par?metro correspondente a 'utf8' e nenhum outro argumento. |
vfs. file.contents[/etc/passwd,utf8] | vfs.file.contents[/etc/passwd,] vfs.file.contents[/etc/passwd,utf16] |
vfs.file.* | Corresponde a qualquer chave que comece com vfs.file. sem nenhum par?metro. |
vfs.file.contents vfs.file.size |
vfs.file.contents[]< br>vfs.file.size[/var/log/zabbix_server.log] |
vfs.file.*[*] | Corresponde a qualquer chave que comece com vfs.file. com quaisquer par?metros. |
vfs.file.size.bytes[] vfs.file. size[/var/log/zabbix_server.log, utf8] |
vfs.file.size.bytes |
vfs.*.contents | Corresponde a qualquer chave come?ando com vfs. e terminando com .contents sem nenhum par?metro. |
vfs.mount.point.file.contents vfs..contents |
vfs. conte¨²do |
Um script hipot¨¦tico como 'myscript.sh' pode ser executado em um host via Agente Áú»¢¶Ä²© de v¨¢rias maneiras:
1. Como chave de item em uma verifica??o passiva ou ativa, por exemplo:
Aqui o usu¨¢rio pode adicionar "wait", "nowait" ou omitir o 2? argumento para usar seu valor padr?o em system.run[].
2. Como um script global (iniciado pelo usu¨¢rio no frontend ou API).
Um usu¨¢rio configura este script em Administration ¡ú Scripts, define "Execute on: Áú»¢¶Ä²© agent" e coloca "myscript.sh" no script Campo de entrada "Comandos". Quando invocado do frontend ou API o Áú»¢¶Ä²© servidor envia ao agente:
Aqui o usu¨¢rio n?o controla os par?metros "wait"/"nowait".
3. Como um comando remoto de uma a??o. O servidor Áú»¢¶Ä²© envia para agente:
Aqui, novamente, o usu¨¢rio n?o controla os par?metros "wait"/"nowait".
O que isso significa ¨¦ se definirmos AllowKey como:
ent?o
Para permitir todas as variantes descritas, voc¨º pode adicionar:
aos par?metros agente/agente2.