• Selinux

    From Paride Desimone@21:1/5 to All on Wed Feb 1 13:40:01 2023
    Buongiorno.
    Sto provando a studiare Selinux, perché mi serve per un esame di certificazione rhcsa ex200.
    Qualcuno può dipanarmi un dubbio?
    Se io confino l'utente root, in modo che nemmeno lui abbia poteri
    illimitati, in modo che un'eventuale escalation, non consenta di
    prendere il controllo della macchina, come si fa in caso si voglia agire
    sulla configurazione di selinux e nemmeno lui può farlo?

    /paride
    --
    http://keys.gnupg.net/pks/lookup?op=get&search=0xCC6CA35C690431D3

    Chi e' pronto a rinunciare alle proprie liberta' fondamentali per
    comprarsi briciole di temporanea sicurezza non merita ne' la liberta'
    ne' la sicurezza.(Benjamin Franklin - dalla Risposta al Governatore,
    Assemblea della Pennsylvania, 11 novembre 1755)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paride Desimone@21:1/5 to All on Wed Feb 1 16:00:01 2023
    Il 01-02-2023 12:33 Paride Desimone ha scritto:
    Buongiorno.
    Sto provando a studiare Selinux, perché mi serve per un esame di certificazione rhcsa ex200.
    Qualcuno può dipanarmi un dubbio?
    Se io confino l'utente root, in modo che nemmeno lui abbia poteri
    illimitati, in modo che un'eventuale escalation, non consenta di
    prendere il controllo della macchina, come si fa in caso si voglia
    agire sulla configurazione di selinux e nemmeno lui può farlo?

    /paride

    Come non detto.
    Non ero arrivato alla gestione degli utenti con selinux.

    /paride
    -- https://keyserver.gnupg.org/pks/lookup?op=get&search=0xf14cd648d16d33c82a7d2ac778c59a24690431d3

    Chi e' pronto a rinunciare alle proprie liberta' fondamentali per
    comprarsi briciole di temporanea sicurezza non merita ne' la liberta'
    ne' la sicurezza.(Benjamin Franklin - dalla Risposta al Governatore,
    Assemblea della Pennsylvania, 11 novembre 1755)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alessandro Baggi@21:1/5 to All on Thu Feb 2 09:40:01 2023
    Il 01/02/23 15:56, Paride Desimone ha scritto:
    Il 01-02-2023 12:33 Paride Desimone ha scritto:
    Buongiorno.
    Sto provando a studiare Selinux, perché mi serve per un esame di
    certificazione rhcsa ex200.
    Qualcuno può dipanarmi un dubbio?
    Se io confino l'utente root, in modo che nemmeno lui abbia poteri
    illimitati, in modo che un'eventuale escalation, non consenta di
    prendere il controllo della macchina, come si fa in caso si voglia
    agire sulla configurazione di selinux e nemmeno lui può farlo?

    /paride

    Come non detto.
    Non ero arrivato alla gestione degli utenti con selinux.

    /paride

    Ciao Paride,
    è possibile confinare l'utente root? Io so che prima viene valutata la
    DAC. Se la DAC permette all'utente di eseguire una certa operazione
    SELinux non entra in gioco. Se la DAC non lo consente, Selinux controlla
    tutte le sue cose (contesti, booleans, [attento alle don't audit rules],
    ecc) (ed è qui che salva le chiappe) e in base alle policy crea un deny
    o un allow.

    Detto questo, essendo root utente con privilegi elevati, è possibile confinarlo?

    Inoltre non sarebbe il caso di evitare di far entrare root nel
    confinamento? Cioè ha senso confinare root? Almeno un utente
    privilegiato deve poter fare qualcosa se le cose non funzionano, anche
    perche se tu non permetti a root di effettuare qualcosa tipo operazioni
    di rete, accesso a determinati file ecc, si può sempre impostare selinux
    in permissive mode, e poi da quello che ho letto (non l'ho provato)
    sistemi come SELinux e AppArmor possono essere aggirati a livello del
    kernel, non chiedermi come che non lo so.

    SELinux non dovrebbe evitare proprio problemi di questo tipo come le escalation? (Lo chiedo perche ho il dubbio)

    Cmq se puo esserti di aiuto, che nessuno me ne voglia, l'ambiente
    migliore per studiare SELinux è una RHEL Based tipo
    AlmaLinux/RockyLinux. Purtroppo su debian ho sempre avuto problemi con
    SELinux. D'altro canto su debian uso apparmor che nella creazione delle
    policy è moltooo più semplice e diretto.

    Se posso darti un consiglio su SELinux, quando passi al processo della creazione delle policy custom, revisiona sempre quello che audit2allow
    aggiunge al file della policy (prima di compilarla e caricarla) perche
    potrebbe includere software/contesti/azioni che non vorresti permettere
    e questo è male perche crei una policy bacata non sapendolo.

    Altro consiglio è, nel caso in cui non riesci a trovare il deny ad una
    certa azione e quindi non puoi creare la regola nella policy, ti può
    tornare utile disabilitare le regole dont'audit che sono regole per cui
    è indicato di non riportate negli audit perche ce ne sarebbero troppe
    nel log. A me è capitato con un'applicazione che provava ad accedere a PostgreSQL ma l'applicazione nel contesto non aveva il permesso di
    lettura e scrittura nel comunicare in rete con postgresql. Ci ho messo
    qualche giorno per scoprire queste tipi di regole.

    Un saluto e scusate l'OT.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)