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 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý software

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 7
    včera 03:44 | Komunita

    Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.

    Ladislav Hagara | Komentářů: 3
    včera 01:22 | IT novinky

    Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).

    Ladislav Hagara | Komentářů: 5
    včera 00:22 | Nová verze

    Byla vydána grafická knihovna Mesa 26.0.1 s podporou API OpenGL 4.6 a Vulkan 1.4. Je to první stabilní verze po 26.0.0, kde se novinky týkají mj. výkonu ray tracingu na GPU AMD a HoneyKrisp, implementace API Vulkan pro macOS.

    |🇵🇸 | Komentářů: 0
    25.2. 20:22 | Nová verze

    Byla vydána nová verze 4.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    25.2. 18:00 | Nová verze

    Byla vydána nová verze 3.23.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opravuje 11 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    25.2. 17:44 | Zajímavý článek

    Španělský softwarový inženýr oznámil, že se mu podařilo na dálku ovládat sedm tisíc robotických vysavačů po celém světě. Upozornil tak na slabé kybernetické zabezpečení těchto technologií a jejich možné a snadné zneužití. Nesnažil se hacknout všechny robotické vysavače po světě, ale pouze propojil svůj nový DJI Romo vysavač se zařízením Playstation. Aplikace podle něj ihned začala komunikovat se všemi sedmi tisíci spotřebiči a on je

    … více »
    Ladislav Hagara | Komentářů: 10
    25.2. 03:33 | Humor

    Momo je fenka cavapoo, která svými náhodnými stisky kláves bezdrátové klávesnice vytváří jednoduché počítačové hry. Technicky to funguje tak, že Raspberry Pi s připojenou bluetooth klávesnicí posílá text do Claude Code, který pak v Godotu píše hry a sám je i testuje pomocí screenshotů a jednoduchých simulovaných vstupů. Za stisky kláves je Momo automaticky odměňována pamlsky. Klíčový je pro projekt prompt, který instruuje AI, aby i

    … více »
    NUKE GAZA! 🎆 | Komentářů: 26
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 964 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Nagios + Nrpe + SELinux

    5.10.2022 23:42 | Přečteno: 3348× | 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: 72 | 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: 72 | 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: 72 | 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: 72 | 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.