Назад | Перейти на главную страницу

Создание разрешающего правила SELINUX для ошибки сокетов с помощью clamd

У меня есть коробка CentOS 7, настроенная как прокси-сервер Squid, с clamav и Squidclamav. Обычно я бы просто отключил SELINUX, но я пытаюсь понять и правильно настроить разрешающие правила. Мне удалось создать несколько для исправления проблем, выявленных с помощью squid, однако одна ошибка, связанная с сокетами с clamd, вызывает проблемы.

type = AVC msg = audit (1436899859.808: 9282): avc: denied {unlink} for pid = 22802 comm = "clamd" name = "clamd.sock" dev = "tmpfs" ino = 729382 scontext = system_u: system_r: antivirus_t: s0 tcontext = system_u: object_r: var_run_t: s0 tclass = sock_file

Какой модуль / разрешающее правило мне нужно, чтобы исправить эту запись в audit.log?

Файл сокета clamd /var/run/clamd.scan/clamd.sock как-то неправильно маркировали. Имеет тип var_run_t, но это должно быть antivirus_var_run_t в текущей политике SELinux. Что-нибудь подходящее /var/run/clamd.* должен быть помечен antivirus_var_run_t.

Это могло произойти из-за того, что сокет был создан при установке более старой версии политики, либо программа или пользователь вручную неправильно пометили его.

Поскольку вы говорите, что система обновлена, я бы порекомендовал переименовать файл (и, в этом отношении, всю систему, на всякий случай), чтобы исправить любые неправильно помеченные файлы, а затем перезапустить.

restorecon -r -v /
reboot