Ошибка 403 служба TFTP, SELinux, как предоставить доступ?
Добрый день, пробую установить с помощью 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