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í
×

    dnes 04:00 | Nová verze

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.

    ʚĭɞ 🍉 | Komentářů: 0
    dnes 03:55 | Humor

    Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.

    👻 | Komentářů: 0
    včera 17:52 | Zajímavý projekt
    WorldTUI je experimentální LLM o 360 milionech parametrů, který napodobuje terminál. Podle stisknutých kláves se snaží předpovídat změny na obrazovce a zvládá tak vyonávat rozličné příkazy, například Vim, tmux i jednoduchou hru Snake. Nejedná se o skutečný příkazový řádek, jeho 'soubory' i příkazy jsou pouze simulované a model může samozřejmě různě chybovat. WorldTUI vychází z jazykového modelu Qwen2.5-Coder-0.5B, který autor … více »
    👻 | Komentářů: 2
    včera 17:48 | Zajímavý článek
    Josef Bacik navrhuje novou abstrakci cell, která by celý kontejner reprezentovala jako jeden kernelový objekt. Proces by vznikl přímo uvnitř cell a nemohl by ji opustit. Oprávnění ke správě by se odvozovala od držení cellfd. … více »
    vencour | Komentářů: 9
    včera 16:23 | Bezpečnostní upozornění

    Zranitelnost v aktualizačním mechanismu WordPress umožňuje útočníkovi zasáhnout do dočasného instalačního adresáře během aktualizace jádra systému. Před aktualizací veřejně dostupného WordPressu dočasně zablokovat HTTP přístup k wp-content/upgrade/, následně aktualizovat a zkontrolovat logy. Postižené verze: WordPress 4.7 až 7.1.3.

    vencour | Komentářů: 1
    včera 16:11 | Bezpečnostní upozornění

    Alpine Linux zveřejnil podrobnosti o útoku na svůj GitLab a 30. října oznámil obnovení provozu. Útočník se 20.–21. října pokusil zneužít chybu v regulárních výrazech. Exploit způsobil opakované pády workerů a několikrát se dostal do pokročilé fáze. Úspěšné spuštění kódu však nebylo potvrzeno. Fix: Opravený GitLab a současně Ruby 3.3.13, 3.4.12 nebo 4.0.9+, pokud jde o vlastní sestavení či kontejner.

    vencour | Komentářů: 1
    včera 15:44 | Pozvánky

    Konference OpenAlt 2026 proběhne tento víkend 7. a 8. listopadu na FIT VUT v Brně. Jedná se již o 21. ročník této konference, která propojuje otevřené technologie, svobodný software, hardware a lidi, kteří chtějí věci nejen používat, ale také jim rozumět a měnit je k lepšímu. Více o konferenci v příspěvku OpenAlt 2026: technologie, které dávají svobodu na blogu spolku OpenAlt.

    Ladislav Hagara | Komentářů: 1
    včera 15:22 | IT novinky

    Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 16 GB varianty Raspberry Pi o 80 dolarů a 16 GB varianty Raspberry Pi Compute Module 5 o 40 dolarů. Cena Raspberry Pi 500+ se nemění.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | IT novinky

    Francouzské Národní shromáždění přijalo 30. října 2026 poměrem 11 hlasů pro, 10 proti a 14 abstencí pozměňovací návrh I-1358 ke státnímu rozpočtu na rok 2027, který zavádí daň z objemu dat doručovaných uživatelům internetu. Návrh socialistického poslance Laurenta Lhardita stanovuje sazbu 0,055 eura za gigabajt, tedy 55 eur za terabajt. Zatím nejde o platný zákon, ale o dílčí hlasování během prvního čtení rozpočtu. Daň by měli platit

    … více »
    vencour | Komentářů: 9
    1.11. 12:44 | IT novinky

    Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto

    … více »
    Ladislav Hagara | Komentářů: 41
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2967 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Nagios + Nrpe + SELinux

    5.10.2022 23:42 | Přečteno: 3668× | 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ákno • Nahoru

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