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
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.