Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.
Blender Studio nedávno oznámilo plán vytvořit svůj první otevřený (open source) celovečerní film. Film by se měl jmenovat Overgrown (YouTube). Film vznikne, pokud se zajistí financování. Prvním krokem je získat 7 000 předplatitelů Blender Studia. Cena je od 11,50 eur měsíčně. Aktuálně počet předplatitelů je 5 289. Předplatné pokryje 20 % nákladů. Zbytek, 80 % nákladů, má být financován externími producenty nebo distributory.
Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.
Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží
… více »Byla vydána verze 1.97.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.
TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.
Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala
… více »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.