Sobes.tech
Middle+

CentOS Linux, kā jūs pārvaldāt ceiling (ierobežotājus)? Vai tas vienmēr ir izslēgts vai aktīvs?

sobes.tech AI

Atbilde no AI

SeLinux (Security-Enhanced Linux) — mehānisms piespiedu piekļuves kontrolei (MAC). Pēc noklusējuma tas ir aktīvs un darbojas vienā no režīmiem:

  • Enforcing: Drošības politiku stingra piemērošana. Katra aizliegta darbība tiek bloķēta.
  • Permissive: Aizliegtās darbības netiek bloķētas, bet tiek ģenerēti brīdinājumi un ieraksti žurnālos.
  • Disabled: SeLinux ir pilnībā izslēgts.

Praktiskajā darbā es cenšos uzturēt SeLinux aktīvu režīmā Enforcing ražošanas serveros. Tas pievieno papildu drošības līmeni. SeLinux izslēgšana ir galējā mērs, ko izmanto tikai Troubleshooting vai specifiskās, pilnībā kontrolētās vidēs.

SeLinux pārvaldībai tiek izmantotas komandas:

  • Pašreizējā stāvokļa un režīma pārbaude:
    sestatus
    # SeLinux statuss un pašreizējais režīms
    
  • Režīmu pārslēgšana (bez pārstartēšanas):
    setenforce 0 # Permissive režīms
    setenforce 1 # Enforcing režīms
    
  • Noklusējuma režīma maiņa (prasa pārstartēt), rediģējot /etc/selinux/config:
    nano /etc/selinux/config
    # Mainīt SELINUX=enforcing uz permissive vai disabled
    
  • Bultu iestatījumu pārvaldība (atļaut vai aizliegt noteiktas politikas):
    getsebool -a # Visu bultu saraksts
    setsebool -P <boolean_name> on/off # Bultu pastāvīga iestatīšana (-P)
    

Jaunas pakalpojumu vai lietojumprogrammas, kas nav saderīgas ar pašreizējo SeLinux politiku, es dodu priekšroku izveidot/atjaunināt vietējo politiku (moduli) nevis pilnībā izslēgt SeLinux. Tas ir drošāk.

Vietējās politikas izveides soļi:

  1. Instalēt nepieciešamās utilītas:
    yum install policycoreutils policycoreutils-python
    
  2. Pārvietot SeLinux uz Permissive režīmu, lai uzraudzītu pārkāpumus:
    setenforce 0
    
  3. Veikt darbības, kas izraisa pārkāpumus.
  4. Ģenerēt politiku, balstoties uz audit.log žurnāliem:
    grep <service_name> /var/log/audit/audit.log | audit2allow -M my_service_policy
    
    kur <service_name> ir pakalpojuma nosaukums, kas izraisa pārkāpumus.
  5. Instalēt ģenerēto politiku:
    semodule -i my_service_policy.pp
    
  6. Atgriezt SeLinux režīmu uz Enforcing:
    setenforce 1
    

Tādējādi mana stratēģija ir izmantot SeLinux režīmā Enforcing un pēc nepieciešamības to pielāgot.