asterisk: AMI limited to the classes we use, no shell-running modules in the image

This commit is contained in:
iamdoubz committed 2026-10-29 18:35:06 -05:00
1 parent 6bd2aaec56
commit 63286a1954
12 files changed
+52 -34

No files matched your search

+8 -2
View File
@@ -9,6 +9,12 @@ timestampevents = yes
secret = ${AMI_SECRET}
deny = 0.0.0.0/0.0.0.0
permit = 127.0.0.1/255.255.255.255
read = all
write = all
; Only the classes the api uses (08 §8). An action needs any one of its classes, so `system`
; still allows GetConfig and ModuleLoad; config (UpdateConfig, CreateConfig) is what this drops.
; Events: system (ContactStatus, Registry), call (channels, bridges, parking, ExtensionStatus,
; MessageWaiting), agent (queues), user (UserEvent, VoicemailPasswordChange), cdr, dialplan (VarSet, Newexten).
read = system,call,agent,user,cdr,dialplan
; Actions: system (DB*, PJSIP*), call (Redirect, Hangup, ParkedCalls), command, originate,
; agent (QueuePause), user (VoicemailMove, VoicemailRemove).
write = system,call,command,originate,agent,user
writetimeout = 5000
+2 -1
View File
@@ -51,7 +51,8 @@ noload = chan_websocket.so
noload = res_adsi.so
noload = app_getcpeid.so
noload = app_adsiprog.so
; can run host commands; nothing of ours uses them, but a dialplan injection would reach for them (08 §6)
; can run host commands; nothing of ours uses them, but a dialplan injection would reach for them (08 §6).
; Our image doesn't have them at all (Dockerfile, 08 §8); these lines cover a custom build.
noload = app_system.so
noload = func_shell.so
noload = app_disa.so