Sobes.tech
Middle+

CentOS Linux'e, kaip valdote ceiling (ribotuvus)? Visada išjungtas ar aktyvus?

sobes.tech AI

Atsakymas iš AI

SeLinux (Security-Enhanced Linux) — mechanizmas prievartos kontrolės prieigos (MAC). Pagal numatytuosius nustatymus jis yra aktyvus ir veikia vienu iš režimų:

  • Enforcing: Prievarta taikomos saugumo politikos. Kiekviena draudžiama operacija yra blokuojama.
  • Permissive: Draudžiamos operacijos nėra blokuojamos, tačiau generuojami įspėjimai ir įrašomi žurnaluose.
  • Disabled: SeLinux visiškai išjungtas.

Praktikoje stengiuosi laikyti SeLinux aktyvų režimu Enforcing gamybos serveriuose. Tai prideda papildomą saugumo lygį. SeLinux išjungimas yra kraštutinė priemonė, taikoma tik Troubleshooting arba specifinėse, visiškai kontroliuojamose aplinkose.

SeLinux valdymui naudojamos komandos:

  • Tikrinimas esamo statuso ir režimo:
    sestatus
    # SeLinux statusas ir dabartinis režimas
    
  • Perjungimas tarp režimų (be perkrovimo):
    setenforce 0 # Permissive režimas
    setenforce 1 # Enforcing režimas
    
  • Numatyto režimo keitimas (reikalauja perkrovimo), redaguojant /etc/selinux/config:
    nano /etc/selinux/config
    # Pakeisti SELINUX=enforcing į permissive arba disabled
    
  • Valdymas per boolean reikšmes (leidžiančias arba draudžiančias tam tikras politikos taisykles):
    getsebool -a # Visų boolean reikšmių sąrašas
    setsebool -P <boolean_name> on/off # Nuolatinis boolean nustatymas (-P)
    

Konfigūruojant naujas paslaugas ar programas, kurios nesuderinamos su esama SeLinux politika, aš linkęs kurti/atnaujinti vietinę politiką (modulį) vietoj visiško SeLinux išjungimo. Tai saugesnis požiūris.

Vietinės politikos kūrimo žingsniai:

  1. Reikalingų įrankių įdiegimas:
    yum install policycoreutils policycoreutils-python
    
  2. Perjungti SeLinux į Permissive režimą stebėti pažeidimus:
    setenforce 0
    
  3. Atlikti veiksmus, kurie sukelia pažeidimus.
  4. Sugeneruoti politiką remiantis audit.log žurnalais:
    grep <service_name> /var/log/audit/audit.log | audit2allow -M my_service_policy
    
    kur <service_name> yra paslaugos pavadinimas, sukeliantis pažeidimus.
  5. Įdiegti sugeneruotą politiką:
    semodule -i my_service_policy.pp
    
  6. Grąžinti SeLinux į Enforcing režimą:
    setenforce 1
    

Taigi, mano strategija — naudoti SeLinux Enforcing režimu ir jį koreguoti pagal poreikį.