我在Fedora 23上运行Asterisk,并使用语音邮件IMAP模块将语音邮件存储到Gmail。 当SELinux处于强制模式时,它会阻止Asterisk连接到Gmail。 以下是/var/log/audit/audit.log中的错误消息:
type=AVC msg=audit(1460344333.315:70807): avc: denied { name_connect } for pid=823 comm="asterisk" dest=993 scontext=system_u:system_r:asterisk_t:s0 tcontext=system_u:object_r:pop_port_t:s0 tclass=tcp_socket permissive=0
正因为如此,我被迫将SELinux置于宽容模式。 如何解决SELinux阻止Asterisk阻止出站连接?
您需要创build自定义SELinux策略并将其应用于您的系统。 看起来像星号无法在993端口上打开tcp_socket,因此策略可能是:
#cat asterpolicy.te module asterpolicy 1.0 require { type asterisk_t type pop_port_t; class tcp_socket name_connect; } #============= asterisk_t ============== allow asterisk_t pop_port_t:tcp_socket name_connect;
之后,编译并启用您的策略
checkmodule -M -m asterpolicy.te -o asterpolicy.mod semodule_package -o asterpolicy.pp -m asterpolicy.mod semodule -i asterpolicy.pp
如果SELinux仍然存在更多问题,请尝试audit2why来查看哪些违规行为会被拒绝,并使用audit2allow构build自定义策略。
PS:首先,我错过了弦乐
module asterpolicy 1.0
所以,更新它。