Sobes.tech
Middle+

Su CentOS Linux, come gestisci il limite (limitatori)? È sempre disattivato o attivo?

sobes.tech AI

Risposta dell'AI

SeLinux (Security-Enhanced Linux) è un meccanismo di controllo degli accessi obbligatorio (MAC). Per impostazione predefinita, è attivo e funziona in una delle seguenti modalità:

  • Enforcing: Applicazione forzata delle politiche di sicurezza. Ogni operazione vietata viene bloccata.
  • Permissive: Le operazioni vietate non vengono bloccate, ma vengono generate avvertenze e registrate nei log.
  • Disabled: SeLinux è completamente disattivato.

Nella pratica, cerco di mantenere SeLinux attivo in modalità Enforcing sui server di produzione. Questo aggiunge un livello di sicurezza aggiuntivo. Disattivare SeLinux è una misura estrema, usata solo per risoluzione dei problemi o in ambienti specifici e completamente controllati.

Per gestire SeLinux, utilizzo i seguenti comandi:

  • Verifica dello stato e della modalità attuale:
    sestatus
    # Stato di SeLinux e modalità corrente
    
  • Passaggio tra modalità (senza riavvio):
    setenforce 0 # Modalità permissiva
    setenforce 1 # Modalità enforcing
    
  • Modifica della modalità predefinita (richiede riavvio), modificando /etc/selinux/config:
    nano /etc/selinux/config
    # Cambiare SELINUX=enforcing in permissive o disabled
    
  • Gestione delle impostazioni booleane (permettono o negano politiche specifiche):
    getsebool -a # Elenco di tutte le boolean
    setsebool -P <nome_boolean> on/off # Imposta booleano in modo permanente (-P)
    

Quando configuro nuovi servizi o applicazioni incompatibili con la politica attuale di SeLinux, preferisco creare o aggiornare una politica locale (modulo) invece di disattivare completamente SeLinux. Questo approccio è più sicuro.

Passaggi per creare una politica locale:

  1. Installare le utilità necessarie:
    yum install policycoreutils policycoreutils-python
    
  2. Mettere SeLinux in modalità Permissive per monitorare le violazioni:
    setenforce 0
    
  3. Eseguire le azioni che generano violazioni.
  4. Generare la politica basata sui log audit.log:
    grep <nome_servizio> /var/log/audit/audit.log | audit2allow -M mia_politica_servizio
    
    dove <nome_servizio> è il nome del servizio che causa violazioni.
  5. Installare la politica generata:
    semodule -i mia_politica_servizio.pp
    
  6. Rimettere SeLinux in modalità Enforcing:
    setenforce 1
    

In questo modo, la mia strategia è usare SeLinux in modalità Enforcing e adattarlo secondo necessità.