Professional Documents
Culture Documents
SELinux by YIn Thu (Xero Cool) PDF
SELinux by YIn Thu (Xero Cool) PDF
https://www.facebook.com/linuxninja45
ခုကေန စလို႔ SELinux အေၾကာင္းကို က်ေနာ္တို႔ ေလ့လာၾကရေအာင္။ ဒီလို ေလ့လာဖို႔ အတြက္ Linux
ကို Foundation Level ေလာက္ Knowledge ရွိထားဖို႔ေတာ့၊ လိုအပ္ပါတယ္ေနာ္။ ကဲ ! စၾကရေအာင္။
ဦးဆံုး အသိေပးခ်င္တာက၊
SELinux သည္ Antivirus မဟုတ္ပါဘူး။ Password, Firewall နဲ႔ တျခား Security System ေတြကို
အစားထိုးဖို႔ မဟုတ္ပါဘူး။ ၿပီးေတာ့ all-in-one security solution တစ္ခု မဟုတ္ပါဘူး။
SELinux (Security-Enhanced Linux) ဆိုတာ Security အတြက္ ထပ္မံ အထူးျပဳထားတဲ့ အလႊာ ၁ ခုလို႔
ေျပာပါရေစ။ security က်ိဳးေပါက္သြားလ်ွင္ေသာ္မွ impact ျဖစ္မယ့္ scope ကို ေလ်ွာ႔ခ်ေပးတယ္ေပါ့ေနာ္။
SELinux သည္ Red Hat, Centos, Fedora linux ေတြမွာ default အေနနဲ႔ ပါရွိၿပီး၊ Ubuntu, Kali စေသာ
distro ေတြမွာလည္း သြင္းယူ အသံုးျပဳႏိုင္ပါတယ္။ ဒါ့အျပင္ က်ေနာ္တို႔ ေန႔စဥ္ အသံုးျပဳေနတဲ့ Android
Phone ေတြမွာ Android Version 4.3 ကေန စၿပီး SELinux ကို ထည့္သြင္းထားပါတယ္။
SELinux စတင္ခဲ့တဲ့ ေနရာကေတာ့၊ အေမရိကန္ႏိုင္ငံရဲ႕ NSA : National Security Agency ကပါ။ အဲ့ေ
နာက္ပိုင္း NSA ဟာ LSM : Linux Security Modules ဆိုတဲ့ frame work ကို အသံုးျပဳ ၿပီး SELinux ကို
Linux Kernel ဆီ ေပါင္းစပ္ခဲ့ပါတယ္။ Linus Torvalds ရဲ႕ အႀကံဥာဏ္ေတြလည္း ပါတာေပါ့ေလ။
ေနာက္ပိုင္းမွာ NSA နဲ႔ Red Hat တို႔ ပူးေပါင္းၿပီး SELinux ကို ျပည့္စံုသည္ထက္ျပည့္စံုေအာင္ ႀကိဳးပမ္းခဲ့ၾ
ကတယ္ေပါ့ေနာ္။ ဒါ့ေၾကာင့္ SELinux ရဲ႕ Author က NSA ျဖစ္ၿပီး Developer က Red Hat လို႔ ဆိုရမွာပါ။
Initial release ကို 2000 ခုႏွစ္ December လ 22 ရက္ေန႔မွာ စတင္ခဲ့ၿပီး၊ stable release ကိုေတာ့ 2018 ခုႏွ
စ္ May လ 24 ရက္ေန႔မွာ စတင္ခဲ့ပါတယ္။ အဲ့ဒီအေၾကာင္းေတြကို အေသးစိတ္ သိလိုရင္
https://en.wikipedia.org/wiki/Security-Enhanced_Linux မွာ ဝင္ေလ့လာႏိုင္ပါတယ္။
[ #DAC and #MAC ]
SELinux အေၾကာင္း ဆက္မေျပာခင္ DAC နဲ႔ MAC အေၾကာင္း အရင္ ေျပာရေအာင္။ ဒါမွ အဆင္ေျပမ
ယ္ေလ။
#DAC
DAC : Discrertionary Access Control ဆိုတာ user အေနနဲ႔ မိမိဖာသာ သတ္မွတ္တဲ့ security access
control ကို ေျပာတာပါ။ chmod command ကို အသံုးျပဳ ၿပီး၊ file, folder ေတြကို ပိုင္တဲ့ user, group နဲ႔
other user စတာေတြ အလိုက္ read write execute သို႔မဟုတ္ read only စသည္ျဖင့္ သတ္မွတ္တာေတြ၊
Special Permission သတ္မွတ္တာေတြ၊ username နဲ႔ password ေပၚ မူတည္တဲ့ လုပ္ပိုင္ခြင့္ေတြကို DAC
လို႔ ေခၚပါတယ္။ setfacl, getfacl စသည္ျဖင့္ ACL နဲ႔ Permission ေတြ ထပ္မံ ကန္႔သတ္တာေတြသည္
လည္း DAC ပါပဲ။
DAC မွာ owner ျဖစ္တဲ့ user သည္ အခ်က္အလက္ (Objects) ေတြအေပၚ access control ကို သူ႔စိတ္ႀကိဳ
က္ ဖန္တီးတာ၊ အျခား user ေတြဆီ လႊဲေျပာင္းေပးတာ၊ စတာေတြကို လုပ္ေဆာင္ႏိုင္ပါတယ္။ အတို ေျပာ
ရရင္ေတာ့၊ DAC ဆိုတာ file, folder ေတြရဲ႕ Owner ျဖစ္သူ user ဆံုးျဖတ္ခ်က္နဲ႔ သတ္မွတ္တဲ့ Object
Access Privileges ေတြပါပဲ။
#MAC
MAC : Mandatory Access Control စည္းမ်ဥ္းစည္းကမ္း တရပ္နဲ႔ ထိန္းခ်ဳပ္တယ္ ဆိုတာကေတာ့၊
Security Strategy လံုၿခံဳေရး မဟာဗ်ဴ ဟာ တရပ္ပါ။ Lower Level Access Control ျဖစ္တဲ့ DAC အေပၚ
ကို MAC ထပ္မံ အထူးျပဳထားတယ္ေပါ့။ DAC နဲ႔ အရင္ စစ္ေဆးၿပီး MAC နဲ႔ ထပ္မံ စစ္ေဆးတဲ့ သေဘာ
ပါ။
MAC အတြက္ criteria ေတြကို ဘယ္သူက သတ္မွတ္သလဲဆိုေတာ့၊ System Administrator ကေန
သတ္မွတ္ၿပီး၊ Operating System နဲ႔ Security Kernel ေတြက လိုက္နာ ေဆာင္႐ြက္ ေပးပါတယ္။ ဒါကို တျ
ခား user ေတြ အေနနဲ႔ ေျပာင္းလဲလို႔ မရပါဘူး။
MAC ဟာ user, file, folder, service ေတြ အေပၚ label ေတြ role ေတြနဲ႔ စီမံ ခန္႔ခြဲပါတယ္။
ဥပမာ ေပးရရင္ -->
၁။ Airline (Subject/Service) တစ္ခုဆီကေန၊ ေလယာဥ္လက္မွတ္ ထိုင္ခံုေနရာ (object) ၁ ခုကို လူတစ္
ဦး (user) က လက္မွတ္ (label) ဝယ္ယူၿပီးသြားတယ္။
၂။ Airline (subject/service) အေနနဲ႔ အဲ့ေနရာ (object) ကို တျခားသူ ၁ ဦးက ပိုက္ဆံ ဘယ္ေလာက္ေပးေ
ပး ေရာင္းခြင့္ မရွိေတာ့ဘူး။ အဲ့ဒီ လက္မွတ္ (label) ကိုင္ထားသူကိုပဲ အဲ့မွာ ေနရာခ်လို႔ရမယ္။
၃။ လက္မွတ္ (label) ကိုင္ထားသူ (user) သည္လည္း တျခား Airline (Subject/service) က ခံုေနရာ
(object) ကို သြားထိုင္လို႔ မရဘူး။
user, subject နဲ႔ object ၾကားမွာ label ေလး ၁ ခုကို အေျချပဳ ၿပီး အျပန္အလွန္ ထိန္းခ်ဳပ္သြားတယ္။ ဒီသေ
ဘာပါ။
ခုေလာက္ဆိ၊ု DAC နဲ႔ MAC ကို ခြဲျခား သိျမင္မယ္လို႔ ယူဆပါတယ္။ DAC ဆိုရင္ user based MAC ဆိုရ
င္ policy based အဲ့သလို မွတ္ယူႏိုင္ပါတယ္။ ဆက္ရရင္ SELinux သည္ MAC အေနနဲ႔ Linux Kernel ေ
ပၚမွာ အလုပ္လုပ္တယ္ေပါ့ေနာ္။
ဒါ့ေၾကာင္၊့ SELinux ကို Security အထူး တင္းၾကပ္တဲ့၊ Government နဲ႔ Military တို႔လို Organization ေ
တြမွာ အသံုးျပဳပါတယ္။ SELinux သည္ Military Grade ပါ။ SELinux ကို disabled ေပးထားမယ့္အစား
သူ႔ရဲ႕ အသီးအပြင့္ေတြကို ခံစားပါလို႔ အဆိုျပဳပါရေစ။
ကဲ ! SELinux အေၾကာင္း မိတ္ဆက္ Introduction ကို ဒီမ်ွနဲ႔ အဆံုးသတ္ပါရေစနာ္။
PS --> [ Post ကို ႏွစ္သက္ရင္ Like, Comment, Share လုပ္ႏိုင္ပါတယ္။ Page က တင္သမ်ွကို ျမင္ရဖို႔
Page ကို Like အျပင္ see first လုပ္ထားေပးဖို႔ လိုအပ္ပါတယ္ ]
အားလံုး အဆင္ေျပပါေစ။
Yin Thu