SELinux предотвращает подключение Asterisk к серверу IMAP для голосовой почты

Я запускаю Asterisk в Fedora 23 и использую модуль 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?

0
задан 11 April 2016 в 06:37
1 ответ

Вам необходимо создать собственную политику SELinux и применить ее в вашей системе. Похоже, звездочка не может открыть tcp_socket на порте 993, поэтому политика может быть такой:

#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 .

PS: Во-первых, я пропустил строку с

module asterpolicy 1.0

, поэтому обновил ее.

2
ответ дан 4 December 2019 в 13:42

Теги

Похожие вопросы