abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:11 | Zajímavý článek

    Stanislav Fort, vedoucí vědecký pracovník z Vlčkovy 'kyberbezpečnostní' firmy AISLE, zkoumal dopady Anthropic Mythos (nový AI model od Anthropicu zaměřený na hledání chyb, který před nedávnem vyplašil celý svět) a předvedl, že schopnosti umělé inteligence nejsou lineárně závislé na velikosti nebo ceně modelu a dokázal, že i některé otevřené modely zvládly v řadě testů odhalit ve zdrojových kódech stejné chyby jako Mythos (například FreeBSD CVE-2026-4747) a to s výrazně nižšími provozními náklady.

    » FIDESZ🧡! « | Komentářů: 4
    včera 12:44 | IT novinky

    Federální návrh zákona H.R.8250 'Parents Decide Act', 13. dubna předložený demokratem Joshem Gottheimerem a podpořený republikánkou Elise Stefanik coby spolupředkladatelkou (cosponsor), by v případě svého schválení nařizoval všem výrobcům operačních systémů při nastavování zařízení ověřovat věk uživatelů a při používání poskytovat tento věkový údaj aplikacím třetích stran. Hlavní rozdíl oproti kalifornskému zákonu AB 1043 a kolorádskému SB26-051 je ten, že federální návrh by platil rovnou pro celé USA.

    » FIDESZ🧡! « | Komentářů: 11
    včera 12:33 | Nová verze

    Qwen (čínská firma Alibaba Cloud) představila novou verzi svého modelu, Qwen3.6‑35B‑A3B. Jedná se o multimodální MoE model s 35 miliardami parametrů (3B aktivních), nativní kontextovou délkou až 262 144 tokenů, 'silným multimodálním vnímáním a schopností uvažování' a 'výjimečnou schopností agentického kódování, která se může měřit s mnohem rozsáhlejšími modely'. Model a dokumentace jsou volně dostupné na Hugging Face, případně na čínském Modelscope. Návod na spuštění je už i na Unsloth.

    » FIDESZ🧡! « | Komentářů: 1
    včera 11:00 | Nová verze

    Sniffnet, tj. multiplatformní (Windows, macOS a Linux) open source grafická aplikace pro sledování internetového provozu, byl vydán ve verzi 1.5. V přehledu novinek je vypíchnuta identifikace aplikací komunikujících po síti.

    Ladislav Hagara | Komentářů: 4
    včera 02:22 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 15.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    včera 01:11 | Pozvánky

    Současně se SUSECON 2026 proběhne příští čtvrtek v Praze také komunitní Open Developer Summit (ODS) zaměřený na open source a openSUSE. Akce se koná ve čtvrtek 23. 4. (poslední den SUSECONu) v Hilton Prague (místnost Berlin 3) a je zcela zdarma, bez nutnosti registrace na SUSECON. Na programu jsou témata jako automatizace (AutoYaST), DevOps, AI v terminálu, bezpečnost, RISC-V nebo image-based systémy. Všichni jste srdečně zváni.

    lkocman | Komentářů: 1
    16.4. 15:44 | Humor

    Český úřad zeměměřický a katastrální zavedl u anonymního nahlížení do katastru nemovitostí novou CAPTCHA ve formě mapové puzzle: nepřihlášení uživatelé musí nově správně otočit devět dlaždic v 3x3 poli tak, aby dohromady daly souvislý obrázek výseče reálné mapy, přičemž na to mají pouze jeden časově omezený pokus. Test je podle uživatelů i odborníků příliš obtížný a na sociálních sítích pochopitelně schytává zaslouženou kritiku a

    … více »
    » FIDESZ🧡! « | Komentářů: 34
    16.4. 15:33 | Nová verze

    Byla vydána verze 1.95.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.

    Ladislav Hagara | Komentářů: 0
    16.4. 15:22 | Zajímavý software

    Mozilla prostřednictvím své dceřiné společnosti MZLA Technologies Corporation představila open-source AI klienta Thunderbolt. Primárně je určený pro firemní nasazení.

    Ladislav Hagara | Komentářů: 0
    16.4. 14:00 | IT novinky

    Firma Cal.com oznámila, že přesouvá svůj produkční kód z otevřeného do uzavřeného repozitáře z důvodu bezpečnostního rizika umělé inteligence, která prý dokáže vyhledávat a zneužívat zranitelnosti rychleji, než by je jejich vývojářský tým stíhal opravovat. Zároveň zveřejnila samostatnou, open-source verzi Cal.diy pod licencí MIT, ovšem bez řady původních funkcí. O tom, zda je toto opatření rozumné, existují pochyby. … více »

    » FIDESZ🧡! « | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1350 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Nagios + Nrpe + SELinux

    5.10.2022 23:42 | Přečteno: 3387× | linux | poslední úprava: 5.10.2022 23:46

    Jak detekovat problémy s SELinux a jak je řešit?

    BFU řešení?

    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é.


    Diagnostika

    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
    

    nrpe-selinux

    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'
    

    SELinux politiky

    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.


    Závěr

    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        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    5.10.2022 23:57 X
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Muzes zavrit ten bug ;)..
    Max avatar 6.10.2022 00:44 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Není zřejmé, že jde o to samé. Nebo jsem něco přehlédl?
    Zdar Max
    Měl jsem sen ... :(
    6.10.2022 09:59 X
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    ano
    6.10.2022 12:54 X
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Piste laskave za sebe ok? Hm?
    6.10.2022 10:31 alkoholik | skóre: 40 | blog: Alkoholik
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Je strasne jednoduche se podivat do logu, jestli ta hlaska zmizela.
    Ja bych si tipnul ze ne, protoze jde o jiny problem.
    Ruža Becelin avatar 6.10.2022 10:38 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    > tail -n 50 /var/log/audit/audit.log |grep -i AVC

    Projde jenom pod rootem a jeste je tam zbytecna pipe, radeji tedy:

    sudo grep -i AVC /var/log/audit/audit.log

    Navic proc grepovat, kdyz mame audit2why?

    ;-)
    Max avatar 6.10.2022 12:58 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Tak audit2why není standardní součástí distribuce, takže proto. Grep přes pajpu dělám ze zvyku a většinou kvůli i omezení počtu řádků, proto ten "tail -n 50". Na druhou stranu, v některých případech ale dělám i rovnou grep (když něco hledám v adresáři a podadresářích).
    Zdar Max
    Měl jsem sen ... :(
    Ruža Becelin avatar 6.10.2022 13:45 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Hmm, ja ho teda v Alme 8 mam:
    policycoreutils-python-utils-2.9-19.el8.noarch : SELinux policy core python utilities
    Repo        : baseos
    Matched from:
    Filename    : /usr/bin/audit2why
    
    Coz 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.
    Max avatar 6.10.2022 14:19 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Překouknul jsem se, myslel jsem audit2allow, který by měl být součástí setroubleshoot.
    No, mám velký log, chci si parsovat jen posledních x řádků, nechci ten soubor prohledávat celý. A grep posledních 50 řádků udělám jednoduše přes tail -n 50 |grep...
    Zdar Max
    Měl jsem sen ... :(
    Max avatar 6.10.2022 14:22 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Tak ne, asi je fakt součástí policycoreutils-python-utils. Každopádně nebylo nainstalováno by default.
    Zdar Max
    Měl jsem sen ... :(
    9.10.2023 15:33 tlamik | skóre: 21 | Karvina
    Rozbalit Rozbalit vše Re: Nagios + Nrpe + SELinux
    Narazil jsem na podobnou chybu, resp. v Nagiosu používám plugin , který jednoduše zkontroluje dostupnost aktualizací. Přestože je u pluginu napsáno, že nepotřebuje roota ani sudo, tak sudo pro nrpe mám nastaveno (hlavně pro jiné pluginy).

    No a teď to přijde, mám několik serverů, které mají stejnou verzi OS, kernelu, atp. a vůči jednomu z nich mi Nagios vypisuje dostupnost aktualizací a vůči ostatním ne. V messages žádná selinux chyba, sealert taky čistý a přesto, když dám setenforce 0, tak mi to funguje i na zbylých.

    Zkoušel jsem pomocí sesearch porovnávat selinuxí výjimky, ale k ničemu to nevedelo.

    Když jsem v nrpe.cfg zapnul debug, tak mi to samozřejmě píše tu známou bug chybu "nrpe[2009411]: WARNING: my_system() seteuid(0): Operation not permitted", nicméně to píše i na serveru, kde to funguje.

    Nagios server jede na C7 a klienti jsou RHEL8.

    Info na závěr je, že mě to samozřejmě fungovalo na všech serverech ani nevím kdy to na některých fungovat přestalo (možná nějaké aktualizace).

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.