LINUX.ORG.RU
ФорумAdmin

Ошибка 403 служба TFTP, SELinux, как предоставить доступ?

 , , , ,


0

2

Добрый день, пробую установить с помощью PXE систему REDos 7.3.3 (Centos7) Получаю такую ошибку:

sealert с ошибкой

sudo sealert -l 692bdfb1-87f1-47e5-a5cc-23fc0f206225
SELinux запрещает /usr/sbin/httpd доступ getattr к файл /var/lib/tftpboot/images/REDOS-7.3.3-20230815.0/LiveOS/squashfs.img.

*****  Модуль restorecon предлагает (точность 99.5)  *************************

Если вы хотите исправить метку.
/var/lib/tftpboot/images/REDOS-7.3.3-20230815.0/LiveOS/squashfs.img по умолчанию должен быть cobbler_var_lib_t.
То вы можете запустить restorecon. Возможно, попытка доступа была остановлена ​​из-за недостаточных разрешений для доступа к родительскому каталогу, и в этом случае попытайтесь соответствующим образом изменить следующую команду.
Сделать
# /sbin/restorecon -v /var/lib/tftpboot/images/REDOS-7.3.3-20230815.0/LiveOS/squashfs.img

*****  Модуль catchall предлагает (точность 1.49)  ***************************

Если вы считаете, что httpd должно быть разрешено getattr доступ к squashfs.img file по умолчанию.
То рекомендуется создать отчет об ошибке.
Чтобы разрешить доступ, можно создать локальный модуль политики.
Сделать
разрешить этот доступ сейчас, выполнив:
     # ausearch -c 'httpd' --raw | audit2allow -M my-httpd
     # semodule -X 300 -i my-httpd.pp


Дополнительные сведения:
Исходный контекст             system_u:system_r:httpd_t:s0
Целевой контекст              unconfined_u:object_r:tftpdir_rw_t:s0
Целевые объекты               /var/lib/tftpboot/images/REDOS-7.3.3-20230815.0/Li
                              veOS/squashfs.img [ file ]
Источник                      httpd
Путь к источнику              /usr/sbin/httpd
Порт                          <Unknown>
Узел                          pxe-server.office-vm002.nm
Исходные пакеты RPM           httpd-core-2.4.56-2.el7.x86_64
Целевые пакеты RPM
Политика SELinux для RPM      selinux-policy-targeted-3.14.5-50.el7.noarch
Локальная политика для RPM    selinux-policy-targeted-3.14.5-50.el7.noarch
SELinux активен               True
Тип регламента                targeted
Режим                         Permissive
Имя узла                      pxe-server.office-vm002.nm
Платформа                     Linux pxe-server.office-vm002.nm 5.15.72-1.el7.3.x86_64
                              #1 SMP Thu Oct 6 08:28:24 MSK 2022 x86_64 x86_64
Счетчик уведомлений           47
Впервые обнаружено            2023-09-20 10:12:30 MSK
В последний раз               2024-06-03 11:46:42 MSK
Локальный ID                  692bdfb1-87f1-47e5-a5cc-23fc0f206225

Построчный вывод сообщений аудита
type=AVC msg=audit(1717404402.364:2725): avc:  denied  { getattr } for  pid=13984 comm="httpd" path="/var/lib/tftpboot/images/REDOS-7.3.3-20230815.0/LiveOS/squashfs.img" dev="dm-0" ino=1855870 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:tftpdir_rw_t:s0 tclass=file permissive=1

type=SYSCALL msg=audit(1717404402.364:2725): arch=x86_64 syscall=stat success=yes exit=0 a0=7ff3f400e9f8 a1=7ff3f3ffea50 a2=7ff3f3ffea50 a3=7ff3f3fff690 items=0 ppid=886 pid=13984 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm=httpd exe=/usr/sbin/httpd subj=system_u:system_r:httpd_t:s0 key=(null)

Hash: httpd,httpd_t,tftpdir_rw_t,file,getattr

сделал уже:

# ausearch -c 'httpd' --raw | audit2allow -M my-httpd
# semodule -X 300 -i my-httpd.pp

На другом таком же сервере все работает хорошо, я так понимаю дело в SELinux

второй сервер с исправно работающей службой TFTP

sudo audit2allow -a (рабочий сервер)

sudo audit2allow -a

#============= groupadd_t ==============
allow groupadd_t self:capability setgid;

#============= httpd_t ==============
allow httpd_t admin_home_t:file getattr;

#!!!! This avc can be allowed using the boolean 'domain_can_mmap_files'
allow httpd_t tftpdir_rw_t:file map;
allow httpd_t tftpdir_rw_t:file { getattr open read };

#!!!! This avc can be allowed using the boolean 'httpd_read_user_content'
allow httpd_t user_home_t:file { open read };

#============= useradd_t ==============

Текущий сервер не исправно работающий TFTP sudo audit2allow -a (нерабочий сервер)

#============= groupadd_t ==============
allow groupadd_t self:capability setgid;

#============= httpd_t ==============
allow httpd_t tftpdir_rw_t:file { getattr open read };

#============= tftpd_t ==============

#!!!! This avc is allowed in the current policy
allow tftpd_t user_home_t:dir search;

#!!!! This avc is allowed in the current policy
allow tftpd_t user_home_t:file { lock open read };

#============= useradd_t ==============
allow useradd_t self:capability setgid;

На обоих серверах права на папки c tftp и образами внутри, chmod совпадает идентичны

ls -alZ 
root root unconfined_u:object_r:tftpdir_rw_t:s0

Ошибка с экрана машины на которую пытаюсь установить через PXE

curl: (22) The requested URL returned error: 483
Warning: Downloading 'http://pxe-server.com/Images/REDOS-7.3.3-28238815.8//images/install.ing' failed! % Total % Received x Xferd Average Speed Time

curl: (22) The requested URL returned error: 483
Warning: Downloading 'http://pxe-server.com/images/REDOS-7.3.3-28238815.8//LiveOS/squashfs.img' failed! 
Warning: anaconda: failed to fetch stage2 from http://pxe-server.com/images/REDOS-7.3.3-28238815.8/ Received x Xferd Average Speed Time Time Time Current
 
curl: (22) The requested URL returned error: 403
Warning: anaconda: failed to fetch kickstart from http://pxe-server.com/images/REDOS-7.3.3-28238815.8/ks_uefi_mme.cfg


Последнее исправление: Ozymandis (всего исправлений: 1)
*****  Модуль restorecon предлагает (точность 99.5)  *************************
/sbin/restorecon -v /var/lib/tftpboot/images/REDOS-7.3.3-20230815.0/LiveOS/squashfs.img

*****  Модуль catchall предлагает (точность 1.49)  ***************************
ausearch -c 'httpd' --raw | audit2allow -M my-httpd
semodule -X 300 -i my-httpd.pp

выполнил уже

ausearch -c 'httpd' --raw | audit2allow -M my-httpd
semodule -X 300 -i my-httpd.pp

должен быть cobbler_var_lib_t.

unconfined_u:object_r:tftpdir_rw_t:s0

работающий набор правил: [набор1] неработающий конфиг: [набор2]

🤦

У тебя, может, вопросы какие-то есть или ты отчитаться пришел?

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 4)

sealert с ошибкой

Попробуйте на проблемном сервере отрубить временно selinux. Судя по всему именно он мешается.

Если без selinux все заработает, то красноглазить на тему selinux.

HighMan
()