Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se
… více »Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.
Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.
Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.
Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.
Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.
Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.
Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.
Většinou bývá na začátku různých návodů deaktivace SELinuxu. Nebo v případě, že něco nejde, tak se jde a deaktivuje SELinux a dál už se to neřeší. Takže takto ne. Teď si ukážeme, jak problémy dohledat a řešit. Tento zápisek vznikl jako pokračování zápisku: Střípky z IT - (9) : Nagios : Uhádnete, kde byl problém?
Ve zmíněném zápisku to může chvilku vypadat beznadějně, ale ve skutečnosti je to celkem jednoduché.
Budeme si vše ukazovat na AlmaLinux 8.x. Když máme nějaký problém s oprávněními, tak šup se podívat do logu. Bezpečnostní věci se logují do audit logu, tj. do "/var/log/audit/audit.log". V případě zmíněného kvízu tam uvidíme něco jako toto:
tail -n 50 /var/log/audit/audit.log |grep -i AVC
type=AVC msg=audit(1664983293.312:637187): avc: denied { getattr } for pid=1461003 comm="sh" path="/usr/bin/sudo" dev="dm-2" ino=20254 scontext=system_u:system_r:nrpe_t:s0 tcontext=system_u:object_r:sudo_exec_t:s0 tclass=file permissive=0
type=AVC msg=audit(1664983293.312:637188): avc: denied { getattr } for pid=1461003 comm="sh" path="/usr/bin/sudo" dev="dm-2" ino=20254 scontext=system_u:system_r:nrpe_t:s0 tcontext=system_u:object_r:sudo_exec_t:s0 tclass=file permissive=0
Co teď? Nu, evidentně je to problém SELinuxu. Můžeme si zkusit ho dočasně vypnout a ověřit funkčnost takto:
# deaktivace SELinux (logy se budou tvořit dále, ale politiky se nebudou uplatňovat) setenforce 0 # ověříme, že je deaktivováno getenforce # provedeme akci, která nám nešla # následně znovu povolíme SELinux (restarty apod. nejsou třeba, vše funguje hned) setenforce 1 getenforce
Systém není postaven hloupě, s SELinux se počítá. Proto existuje balíček "nrpe-selinux". Tento balíček by měl doplnit kompatibilitu nagios modulů s SELinux. Stačí jen nainstalovat balíček:
dnf install nrpe-selinux
Tento balíček nainstaluje SELinux politiku, takže pak v modulech uvidíme "nrpe_epel" :
emodule -l |grep nrpe nrpe_epel
Po instalaci tohoto modulu je potřeba zapnout ještě fci na povolení volání sudo:
# povolíme setsebool -P nagios_run_sudo on # ověříme nastavení getsebool -a |grep -i nagi logging_syslogd_run_nagios_plugins --> off nagios_run_pnp4nagios --> off nagios_run_sudo --> on nagios_use_nfs --> off
Problém je, že i tak nám to nebude fungovat. Důvod je ten, že tyto politiky nepočítají s moduly třetích stran. Jsou stavěny jen na moduly dodávané s ditribucí / repositářem apod. My ale chceme používat 3rd modul, který volá systemctl apod. Chybu, kterou v našem případě pak dostaneme bude:
# původní chyba (setsebool -P nagios_run_sudo off): NRPE: Unable to read output # aktuální chyba (setsebool -P nagios_run_sudo on) UNKNOWN: nagiosplugin.error.CheckError: [Errno 13] Permission denied: 'systemctl'
Na práci s SELinuxem máme nějaké nástroje, které nejsou by default součástí instalace (např. audit2allow), takže doinstalujeme:
dnf install setroubleshoot
Nyní si můžeme udělat přehledný výpis chyb z logu, ze kterých pak můžeme vyrobit SELinux politiku:
# vyhledání záznamů v logu
ausearch -m AVC --start 02/04/2019 17:00:00 --end 02/04/2019 18:00:00
# konverze do čitelnějšího formátu
ausearch -m AVC --start 02/04/2019 17:00:00 --end 02/04/2019 18:00:00 | audit2allow
#============= nrpe_t ==============
#!!!! This avc is allowed in the current policy
allow nrpe_t chkpwd_exec_t:file { execute execute_no_trans map open read };
allow nrpe_t gconf_home_t:dir search;
allow nrpe_t init_t:unix_stream_socket connectto;
allow nrpe_t initrc_var_run_t:file { lock open read };
allow nrpe_t self:capability dac_read_search;
#!!!! This avc is allowed in the current policy
allow nrpe_t self:capability audit_write;
#!!!! This avc is allowed in the current policy
allow nrpe_t self:netlink_audit_socket { create nlmsg_relay };
#!!!! This avc has a dontaudit rule in the current policy
allow nrpe_t shadow_t:file { getattr open read };
#!!!! This avc is allowed in the current policy
allow nrpe_t sudo_exec_t:file { execute execute_no_trans getattr map open read };
#!!!! This avc can be allowed using the boolean 'domain_can_mmap_files'
allow nrpe_t systemd_systemctl_exec_t:file map;
allow nrpe_t systemd_systemctl_exec_t:file { execute execute_no_trans open read };
Znalý člověk SELinuxu si všiml, že výše je chyba. Tou chybou je vyhledávání logů ohledně AVC. Existuje totiž ještě USER_AVC. Takže celé by to mělo být (za přesnost výpisu neručím, jsou to starší poznámky, možná neúplné, je třeba to brát jako příklad, jak postupovat):
ausearch -m AVC,USER_AVC --start 10/05/2022 17:00:00 --end 10/05/2022 18:00:00 | audit2allow
#============= nrpe_t ==============
#!!!! This avc is allowed in the current policy
allow nrpe_t chkpwd_exec_t:file { execute execute_no_trans map open read };
#!!!! This avc is allowed in the current policy
allow nrpe_t gconf_home_t:dir search;
allow nrpe_t init_t:system status;
#!!!! This avc is allowed in the current policy
allow nrpe_t init_t:unix_stream_socket connectto;
#!!!! This avc is allowed in the current policy
allow nrpe_t initrc_var_run_t:file { lock open read };
#!!!! This avc is allowed in the current policy
allow nrpe_t self:capability { audit_write dac_read_search };
#!!!! This avc is allowed in the current policy
allow nrpe_t self:netlink_audit_socket { create nlmsg_relay };
#!!!! This avc is allowed in the current policy
allow nrpe_t shadow_t:file { getattr open read };
#!!!! This avc is allowed in the current policy
allow nrpe_t sudo_exec_t:file { execute execute_no_trans getattr map open read };
#!!!! This avc is allowed in the current policy
allow nrpe_t systemd_logind_t:dbus send_msg;
#!!!! This avc can be allowed using the boolean 'domain_can_mmap_files'
allow nrpe_t systemd_systemctl_exec_t:file map;
allow nrpe_t systemd_systemctl_exec_t:file { execute execute_no_trans open read };
#!!!! This avc is allowed in the current policy
allow nrpe_t systemd_unit_file_t:service status;
#============= systemd_logind_t ==============
#!!!! This avc is allowed in the current policy
allow systemd_logind_t nrpe_t:dbus send_msg;
Vygenerujeme si policy pro SELinux a provedeme import
# vygenerování policy / modulu ausearch -m AVC,USER_AVC --start 10/05/2022 17:00:00 --end 10/05/2022 18:00:00 | audit2allow -a -M nrpe_systemd # výstupem jsou dva soubory: nrpe_systemd.te # čitelný, ze kterého se vyrábí nečitelný modul nrpe_systemd.pp # modul jako výstup z ".te" souboru # import modulu semodule -i nrpe_systemd.pp # ověření, že byl naimportován semodule -l |grep nrpe nrpe_epel nrpe_systemd
Po naimportování modulu začne fungovat i vzdálené volání "check_systemd" a vše šlape.
V zápisku jsme si ukázali, jak jednoduše najít, kde je problém, jaký je postup pro jeho řešení apod. Pokud použijeme předpřipravené nástroje, není to nic složitého.
Zdar Max
Tiskni
Sdílej:
policycoreutils-python-utils-2.9-19.el8.noarch : SELinux policy core python utilities Repo : baseos Matched from: Filename : /usr/bin/audit2whyCoz je mimochodem uplne ten samy balik, ktery obsahuje audit2allow. To s tim omezenim poctu radku nechapu - takhle, asi bych ev. grepoval primo ten proces, takze grep sudo /var/log/audit/audit.log, ale i tak davam prednost audit2why.