Sobes.tech
Middle+

CentOS Linux-ում, ինչպես եք կառավարում ceiling (սահմանափակիչները)? Նրանք միշտ անջատված են կամ ակտիվ?

sobes.tech AI

Պատասխան AI-ից

SeLinux (Security-Enhanced Linux) — մեխանիզմ ուժեղացված մուտքի վերահսկման (MAC): Առաջին հերթին այն ակտիվ է և աշխատում է հետևյալ ռեժիմներից մեկում.

  • Enforcing: Անհրաժեշտ է անվտանգության քաղաքականությունների կպցնելը: Ամեն արգելված գործողությունը խոչընդոտվում է.
  • Permissive: արգելված գործողությունները չեն խոչընդոտվում, բայց առաջացնում են նախազգուշացումներ և գրանցվում են լոգերում.
  • Disabled: SeLinux ամբողջությամբ անջատված է.

Практиկայում ես փորձում եմ պահել SeLinux-ը ակտիվ Enforcing ռեժիմում արտադրական սերվերներում: Սա ավելացնում է անվտանգության լրացուցիչ մակարդակ: SeLinux-ի անջատումը — крайняя միջոց, որը կիրառվում է միայն Troubleshooting կամ հատուկ, լիովին վերահսկվող միջավայրերում:

SeLinux-ի կառավարման համար օգտագործվում են командեր:

  • Տեկստային ռեժիմում ստուգում և ռեժիմի փոփոխություն:
    sestatus
    # SeLinux-ի կարգավիճակ և ընթացիկ ռեժիմ
    
  • Ռեժիմների միջև անցում (առանց վերաբեռնաբերման):
    setenforce 0 # Permissive ռեժիմ
    setenforce 1 # Enforcing ռեժիմ
    
  • Դեֆոլտ ռեժիմի փոփոխություն (պահանջում է վերաբեռնաբերում), /etc/selinux/config ֆայլի խմբագրում:
    nano /etc/selinux/config
    # փոխել SELINUX=enforcing Permissive կամ Disabled
    
  • Բուլյան կարգավորումների կառավարում (թույլատրում կամ արգելում որոշ քաղաքականություններ):
    getsebool -a # Բոլոր բուլյանների ցուցակ
    setsebool -P <boolean_name> on/off # Բուլյանների մշտական կարգավորում (-P)
    

Նոր ծառայությունների կամ հավելվածների կարգավորումը, որոնք անհամատեղելի են ընթացիկ SeLinux քաղաքականության հետ, ես նախընտրում եմ ստեղծել/թարմացնել տեղական քաղաքականություն (մոդուլ) փոխարենը ամբողջական անջատման:

Տեղական քաղաքականության ստեղծման քայլեր:

  1. Անհրաժեշտ utility-ների տեղադրում:
    yum install policycoreutils policycoreutils-python
    
  2. SeLinux-ը տեղափոխել Permissive ռեժիմ՝ խախտումները հետևելու համար:
    setenforce 0
    
  3. Կատարել այն գործողությունները, որոնք առաջացնում են խախտումներ:
  4. Գեներացնել քաղաքականություն audit.log-ի հիման վրա:
    grep <service_name> /var/log/audit/audit.log | audit2allow -M my_service_policy
    
    որտեղ <service_name> նույն ծառայության անունն է, որը խախտումներ է առաջացնում:
  5. Տեղադրել գեներացված քաղաքականությունը:
    semodule -i my_service_policy.pp
    
  6. Վերադառնալ SeLinux-ը Enforcing ռեժիմին:
    setenforce 1
    

Այսպիսով, իմ ռազմավարությունը — օգտագործել SeLinux-ը Enforcing ռեժիմում և անհրաժեշտության դեպքում կատարել կարգավորումներ։