Les comprovacions de l'agent es poden restringir creant una llista negra, una llista blanca o una combinaci¨® de llista blanca/llista negra d'elements.
Per fer-ho, empreu una combinaci¨® de dos par¨¤metres ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de l'agent:
´¡±ô±ô´Ç·É°±ð²â=&±ô³Ù;±è²¹³Ù°ù¨®&²µ³Ù;
- quines comprovacions s¨®n permeses; <patr¨®> s'especifica mitjan?ant una expressi¨® comod¨ª (*)¶Ù±ð²Ô²â°±ð²â=&±ô³Ù;±è²¹³Ù°ù¨®&²µ³Ù;
- quines comprovacions es deneguen; <patr¨®> s'especifica mitjan?ant una expressi¨® comod¨ª (*)Tingueu en compte que:
system.run[*]
(ordres remotes, scripts) s¨®n desactivats per defecte, fins i tot quan no s'especifica cap clau de denegaci¨®;Per tant, per permetre ordres remotes, especifiqueu una clau AllowKey=system.run[<command>,*] per a cada ordre permesa, * representa el mode wait i nowait. Tamb¨¦ ¨¦s possible especificar el par¨¤metre AllowKey=system.run[*] per permetre totes les ordres amb els modes wait i nowait. Per no permetre ordres remotes espec¨ªfiques, afegiu par¨¤metres DenyKey amb ordres system.run[] abans del par¨¤metre AllowKey=system.run[*].
Per exemple:
Pot ser que una llista negra no sigui una bona opci¨®, perqu¨¨ una versi¨® nova de Áú»¢¶Ä²© pot tindre claus noves que no siguin restringides expl¨ªcitament per la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® existent. Aix¨° podria provocar una violaci¨® de seguretat.
# Prohibir una ordre espec¨ªfica
DenyKey=system.run[ls -l /]
# Permetre altres scripts
AllowKey=system.run[*]
DenyKey=*
Per exemple:
# Permetre llegir registres:
AllowKey=vfs.file.*[/var/log/*]
# Permetre comprovacions de l'hora local
AllowKey=system.localtime[*]
# Denegar totes les altres claus
DenyKey=*
±Ê²¹³Ù°ù¨® | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® | °ä´Ç¾±²Ô³¦¾±»å¨¨²Ô³¦¾±±ð²õ | Sense coincid¨¨ncies |
---|---|---|---|
* | Coincideix amb totes les claus possibles amb o sense par¨¤metres. | Totes | Cap |
vfs.file.contents | Coincideix amb vfs.file.contents sense par¨¤metres. |
vfs.file.contents | vfs.file.contents[/etc/passwd] |
vfs.file.contents[] | Coincideix vfs.file.contents amb par¨¤metres buits. |
vfs.file.contents[] | vfs.file.contents |
vfs.file.contents[*] | Fa coincidir vfs.file.contents amb qualsevol par¨¤metre; no coincidir¨¤ amb vfs.file.contents sense claud¨¤tors. |
vfs.file.contents[] vfs.file.contents[/path/to/file] |
vfs.file.contents |
vfs.file.contents[/etc/passwd,*] | Fa coincidir vfs.file.contents amb els primers par¨¤metres que coincideixen amb /etc/passwd i tots els altres par¨¤metres amb un valor (tamb¨¦ buit). |
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*] | Coincideix vfs.file.contents amb el primer par¨¤metre que coincideix amb *passwd* i sense cap altre par¨¤metre. |
vfs.file.contents[/etc/passwd] | vfs.file.contents[/etc/passwd,] vfs.file.contents[/etc/passwd, utf8] |
vfs.file.contents[*passwd*,*] | Coincideix amb vfs.file.contents amb nom¨¦s el primer par¨¤metre que coincideix amb *passwd* i sense importar el valor dels seg¨¹ents par¨¤metres (tamb¨¦ buits). |
vfs.file.contents[/etc/passwd,] vfs.file.contents[/etc/passwd, utf8] |
vfs.file.contents[/etc/passwd] vfs.file.contents[/tmp/test] |
vfs.file.contents[/var/log/zabbix_server.log,*,abc] | Coincideix vfs.file.contents amb el primer par¨¤metre que coincideix amb /var/log/zabbix_server.log, el tercer par¨¤metre corresponent a 'abc' i qualsevol segon par¨¤metre (tamb¨¦ buit). |
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] | Coincideix vfs.file.contents amb el primer par¨¤metre que coincideix amb /etc/passwd, el segon par¨¤metre que coincideix amb 'utf8' i cap altre argument. |
vfs.file.contents[/etc/passwd,utf8] | vfs.file.contents[/etc/passwd,] vfs.file.contents[/etc/passwd,utf16] |
vfs.file.* | Coincideix amb totes les claus que comencen per vfs.file. sense cap par¨¤metre. |
vfs.file.contents vfs.file.size |
vfs.file.contents[] vfs.file.size[/var/log/zabbix_server.log] |
vfs.file.*[*] | Fa coincidir totes les claus que comencen per vfs.file. amb tots els par¨¤metres. |
vfs.file.size.bytes[] vfs.file. mida[/var/log/zabbix_server.log, utf8] |
vfs.file.size.bytes |
vfs.*.contents | Coincideix amb qualsevol clau que comenci per vfs. i acabi amb .contents sense cap par¨¤metre. |
vfs.mount.point.file.contents vfs..contents |
vfs.contents |
Un script hipot¨¨tic com 'myscript.sh' es pot executar en un equip mitjan?ant l'agent Áú»¢¶Ä²© de diverses maneres:
1. Com a clau d'element en un xec passiu o actiu, per exemple:
Aqu¨ª l'usuari pot afegir "wait", "nowait" o ometre el segon argument per emprar el seu valor predeterminat a system.run[].
2. Com a script global (iniciat per l'usuari a la interf¨ªcie o l'API).
Un usuari configura aquest script a ´¡»å³¾¾±²Ô¾±²õ³Ù°ù²¹³¦¾±¨® ¡ú Scripts, estableix "Executar a: agent Áú»¢¶Ä²©" i col¡¤loca "myscript.sh" al camp d'entrada "Comandes" de l'script. Quan s'invoca des de la interf¨ªcie o l'API, el servidor Áú»¢¶Ä²© envia a l'agent:
Aqu¨ª, l'usuari no controla els par¨¤metres "wait"/"nowait".
3. Com un comandament remot d'una acci¨®. El servidor Áú»¢¶Ä²© envia a l'agent:
De nou, l'usuari no controla els par¨¤metres "espera"/"nowait".
Aix¨° vol dir que si definim AllowKey com:
llavors
Per permetre totes les variants descrites, podeu afegir:
als par¨¤metres agent/agent2.