Sobes.tech
Middle+

Na CentOS Linux, ako spravujete ceiling (obmedzovače)? Sú vždy vypnuté alebo aktívne?

sobes.tech AI

Odpoveď od AI

SeLinux (Security-Enhanced Linux) — mechanizmus nútenej kontroly prístupu (MAC). Predvolene je aktívny a pracuje v jednom z režimov:

  • Enforcing: Nútené uplatňovanie bezpečnostných politík. Každá zakázaná operácia je blokovaná.
  • Permissive: Zakázané operácie nie sú blokované, ale generujú sa varovania a zapisujú do logov.
  • Disabled: SeLinux je úplne vypnutý.

V praxi sa snažím udržiavať SeLinux aktívny v režime Enforcing na produkčných serveroch. To pridáva ďalšiu úroveň bezpečnosti. Vypnutie SeLinux je krajné opatrenie, ktoré sa používa len na troubleshooting alebo v špecifických, úplne kontrolovaných prostrediach.

Na správu SeLinux používam príkazy:

  • Kontrola aktuálneho stavu a režimu:
    sestatus
    # Stav SeLinux a aktuálny režim
    
  • Prechod medzi režimami (bez reštartu):
    setenforce 0 # Permissive režim
    setenforce 1 # Enforcing režim
    
  • Zmena predvoleného režimu (vyžaduje reštart), úprava /etc/selinux/config:
    nano /etc/selinux/config
    # Zmeniť SELINUX=enforcing na permissive alebo disabled
    
  • Správa booleanov (povolenie alebo zakázanie určitých politík správania):
    getsebool -a # Zoznam všetkých booleanov
    setsebool -P <boolean_name> on/off # Trvalé nastavenie booleanu (-P)
    

Pri nastavovaní nových služieb alebo aplikácií, ktoré nie sú kompatibilné s aktuálnou politikou SeLinux, uprednostňujem vytvorenie/aktualizáciu lokálnej politiky (modulu) namiesto úplného vypnutia SeLinux. Je to bezpečnejší prístup.

Postupy na vytvorenie lokálnej politiky:

  1. Nainštalovať potrebné utility:
    yum install policycoreutils policycoreutils-python
    
  2. Prepnúť SeLinux do Permissive režimu na sledovanie porušení:
    setenforce 0
    
  3. Vykonať akcie, ktoré spôsobujú porušenia.
  4. Vygenerovať politiku na základe logov audit.log:
    grep <service_name> /var/log/audit/audit.log | audit2allow -M my_service_policy
    
    kde <service_name> je názov služby, ktorá spôsobuje porušenia.
  5. Nainštalovať vygenerovanú politiku:
    semodule -i my_service_policy.pp
    
  6. Vrátiť SeLinux do Enforcing režimu:
    setenforce 1
    

Takže, moja stratégia je používať SeLinux v Enforcing režime a doladiť ho podľa potreby.