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

Проблема с политикой SELinux

Поскольку qemu и KVM нормально работают с SELinux из коробки, я хотел бы включить SELinux для улучшения изоляции гостей на моем сервере CentOS 6. Проблема в том, что я использую программное обеспечение для управления виртуализацией с третьей четностью, которое требует отключения SELinux. Поскольку они никогда не осуществят этого, я сейчас пытаюсь заставить это работать самостоятельно ...

Хотя мне удалось исправить все проблемы, связанные с libvirt / qemu (изменить расположение изображения / lvm по умолчанию и исправить другую проблему с помощью audit2allow), я застрял в пользовательском lighttpd они используются для обработки различных задач управления.

Я попытался добавить настраиваемое правило с помощью audit2allow, но это вообще не сработало. Так как я не эксперт по SELinux, я просто ищу способ

Я уже нашел это на странице руководства semanage и думаю, что это может быть решением semanage permissive -a TYPE http_r команда, но она просто возвращает: / usr / sbin / semanage: плохой вариант

Я предполагаю, что это связано с тем, что они не используют стандартный lighttpd из репозитория CentOS, и поэтому политика для lighty отсутствует.

Вот небольшой фрагмент из журнала audit.log

type=SYSCALL msg=audit(1393761691.786:1259): arch=c000003e syscall=9
success=yes exit=140369999609856 a0=0 a1=1fa588 a2=5 a3=802 items=0
ppid=1 pid=8532 auid=4294967295 uid=500 gid=500 euid=500 suid=500
fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=4294967295
comm="php" exe="/usr/bin/php" subj=system_u:system_r:httpd_t:s0
key=(null) type=AVC msg=audit(1393761691.813:1260): avc:  denied  {
name_connect } for  pid=8532 comm="php" dest=5656
scontext=system_u:system_r:httpd_t:s0
tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket type=SYSCALL
msg=audit(1393761691.813:1260): arch=c000003e syscall=42 success=no
exit=-115 a0=4 a1=7fffa6ed55f0 a2=10 a3=0 items=0 ppid=1 pid=8532
auid=4294967295 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500
sgid=500 fsgid=500 tty=(none) ses=4294967295 comm="php"
exe="/usr/bin/php" subj=system_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1393761691.969:1261): avc:  denied  { nlmsg_write }
for  pid=8552 comm="tc" scontext=system_u:system_r:httpd_t:s0
tcontext=system_u:system_r:httpd_t:s0 tclass=netlink_route_socket

Команда, которую вы ищете, это

semanage permissive -a httpd_t