LINUX.ORG.RU

Непонятки с SELinux

 ,


0

1

Squid перестаёт всех пускать в инет, в сислогах уйма сообщений от SELinux типа таких, как перестаёт «срать» в логи - снова пускает:

type=AVC msg=audit(1386601227.491:9676): avc:  denied  { append } for  pid=276 comm="squid" path="/var/cache/squid/swap.state" dev=sda7 ino=11006870 scontext=user_u:system_r:squid_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1386601227.499:9677): avc:  denied  { create } for  pid=276 comm="squid" name="0003AB80" scontext=user_u:system_r:squid_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1386601227.499:9678): avc:  denied  { unlink } for  pid=317 comm="unlinkd" name="0000AB94" dev=sda7 ino=13912963 scontext=user_u:system_r:squid_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1386601233.006:9679): avc:  denied  { unlink } for  pid=317 comm="unlinkd" name="00007E52" dev=sda7 ino=12439841 scontext=user_u:system_r:squid_t:s0 tcontext=system_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1386601277.751:9686): avc:  denied  { name_connect } for  pid=276 comm="squid" dest=5675 scontext=user_u:system_r:squid_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket
С SELinux не знаком, не понимаю что это оно мне пытается сообщить? Отключать нельзя, но работать должно «еще вчера».

Содержимое /etc/selinux/config:

SELINUX=permissive
SELINUXTYPE=targeted

★★★

В конфиге же написано:

permissive - SELinux prints warnings instead of enforcing.
В этом режиме SELinux ничего не блокирует, а просто выводит сообщения с ошибками в лог (если ошибки мешают можно установить SELinux в режим disabled). Так что проблема только в настройках сквида.

generator ★★★ ()

1. У файлов, с которыми работает squid, выставлена метка var_t вместо squid_cache_t. В конфиге squid были изменены стандартные пути?

2. Что-то с портом.

setsebool -P squid_connect_any 1

Отключать нельзя

SELINUX=permissive

Так отключено же?

fjoe ()
Ответ на: комментарий от vasily_pupkin

SELINUX=permissive

Эта настройка может быть переопределена на уровне параметров, передаваемых ядру. enforcing={0|1}

cat /proc/cmdline

router ★★★★★ ()

Спасибо всем ответившим.

Вроде разобрался.
Как выяснил - проблемы начались после восстановления /etc из довольно старого бэкапа
permissive - это не отключено, разрешает всё, пишет логи, можно на лету включить enforcing
disabled - отключено, логи не пишутся, включить на лету нельзя.
Параметрами ядра не форсировано включение.

# cat /proc/cmdline 
ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16  rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb clocksource=jiffies clocksource_failover=acpi_pm

Но где-то оно переключает enforcing/permissive, возможно по каким-то событиям, но не в кроне. (Зачем? Без понятия, разбираюсь после «мастеров»).
Когда squid не пускал никого было:

# sestatus 
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          permissive
Policy version:                 24
Policy from config file:        targeted
Когда пускал - «Current mode: permissive».

После restorecon -rp /var/cache/squid и setsebool -P squid_connect_any 1 Squid начал нормально работать.

DiMoN ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.