Проблемы с RHEL7 selinux при попытке запустить sshd через xinetd - переход sshd_net_t вызывает сбой входа в систему

Я пытаюсь настроить sshd для работы под xinetd на сервере RHEL7. Я запускаю sshd на альтернативном порту, используя xinetd, чтобы ограничить количество подключенных IP-адресов.

Это отлично работает на RHEL6, а также на RHEL7, если я отключу SELinux. Однако целевая политика SELinux на RHEL7 препятствует этому.

К сожалению, в / var / log / audit, когда он терпит неудачу, это не очень полезно. Моя попытка подключения дает две строки успешных операций CRYPTO_KEY_USER, а затем следующую (одну строку, которую я завернул):

type=USER_LOGIN msg=audit(1485378997.248:18523): pid=6812 uid=0 
auid=4294967295 ses=4294967295 
subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 
msg='op=login acct="(unknown)" exe="/usr/sbin/sshd" 
hostname=? addr=A.B.C.D terminal=ssh res=failed'

audit2why даже не подтверждает наличие проблемы. Я предполагаю, что он ищет события DENY или что-то в этом роде, а не отказы.

Я добавил ведение журнала отладки в sshd и нашел следующее (на этот раз не завернутый):

debug1: SELinux support enabled [preauth]
debug3: ssh_selinux_change_context: setting context from 'system_u:system_r:sshd_t:s0-s0:c0.c1023' to 'system_u:system_r:sshd_net_t:s0-s0:c0.c1023' [preauth]
debug3: privsep user:group 74:74 [preauth]
debug1: permanently_set_uid: 74/74 [preauth]
debug1: list_hostkey_types: ssh-rsa [preauth]
debug1: SSH2_MSG_KEXINIT sent [preauth]
Write failed: Permission denied [preauth]

Полагаю, это моя проблема - переход с sshd_t на sshd_net_t. Однако без какой-либо полезной информации из журналов аудита я достиг предела своих навыков отладки SElinux.

Коллега предложил мне просмотреть журналы аудита успешного подключения в разрешающем режиме. К сожалению, нет упоминания об успешном действии как sshd_net_t. Вот соответствующие записи журнала: http://pastebin.com/raw/9sSVpgLq

Я действительно видел некоторую важную информацию о системе отслеживания ошибок redhat, но это не помогло мне найти решение. https://bugzilla.redhat.com/show_bug.cgi?id=1008580

0
задан 26 January 2017 в 16:45
1 ответ

Оказывается, некоторые правила SELinux по умолчанию не проверяются. Выполнение:

semanage dontaudit off

включает ведение журнала аудита даже для правил "dontaudit" в политике.

Как только я это сделал, было легко отследить недостающие разрешения SELinux (которые были allow sshd_net_t inetd_t: tcp_socket (read | write); ).

0
ответ дан 5 December 2019 в 08:42

Теги

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