
Tarjamahan tina artikel disusun pikeun siswa tangtu
SELinux atanapi Kaamanan anu Ditingkatkeun Linux MAC nyaĂ©ta mĂ©kanisme kontrol aksĂ©s anu ditingkatkeun anu dikembangkeun ku Badan Kaamanan Nasional AS (NSA) pikeun nyegah gangguan jahat. Ăta nerapkeun modĂ©l kontrol aksĂ©s wajib (MAC) di luhur modĂ©l kontrol aksĂ©s diskresioner (DAC) anu tos aya, anu kalebet idin maca, nyerat, sareng ngaĂ©ksekusi.
Di SELinux Aya tilu modeu:
- Ngalaksanakeun - panolakan aksés dumasar kana aturan kawijakan.
- permisif - ngajaga log lampah nu ngalanggar kawijakan, nu bakal dilarang dina mode enforcing.
- cacad â mareuman SE sacara lengkepLinux.
Sacara standar, setélan aya dina /etc/selinux/config
Ngaganti modeu SELinux
Pikeun manggihan mode ayeuna, ngajalankeun
$ getenforcePikeun ngarobah mode permisif ngajalankeun paréntah di handap ieu
$ setenforce 0atawa, pikeun ngarobah mode tina permisif dina maksakeun, vypolnite
$ setenforce 1Upami anjeun kedah mareuman SE sacara lengkepLinux, maka ieu ngan ukur tiasa dilakukeun ngalangkungan file konfigurasi
$ vi /etc/selinux/configPikeun nganonaktipkeun, robih parameter SELINUX sapertos kieu:
SELINUX=disabledNyetél SELinux
Unggal file sareng prosés ditandaan ku kontéks SELinux, anu ngandung inpormasi tambahan sapertos pangguna, peran, jinis, jsb. Upami anjeun ngaktipkeun SE pikeun anu mimitiLinux, teras anjeun kedah ngonpigurasikeun kontéks sareng labél heula. Prosés masihan labél sareng kontéks katelah panyiri. Pikeun ngamimitian panyiri, robih modeu dina file konfigurasi ka permisif.
$ vi /etc/selinux/config
SELINUX=permissiveSanggeus nyetel mode permisif, Jieun hiji file disumputkeun kosong dina root kalawan nami autorelabel
$ touch /.autorelabeljeung balikan deui komputer
$ init 6Catetan: Kami nganggo modeu permisif pikeun nyirian, saprak pamakéan mode maksakeun tiasa nyababkeun sistem ngadat nalika reboot.
Tong hariwang upami undeuran macét dina sababaraha file, nyirian peryogi sakedik. Saatos nyirian parantos réngsé sareng sistem anjeun di-boot, anjeun tiasa angkat kana file konfigurasi sareng nyetél modeu maksakeunsarta ogé ngajalankeun:
$ setenforce 1Ayeuna anjeun parantos suksés ngaktipkeun SELinux dina komputer anjeun.
Ngawaskeun log
Anjeun panginten mendakan sababaraha kasalahan nalika méré labél atanapi nalika sistem nuju dijalankeun. Pikeun mariksa naha SE anjeun tiasa dianggoLinux Anjeun kedah mariksa logna pikeun ningali naha éta leres sareng naha éta ngahalangan aksés ka port, aplikasi, jsb. SE LogLinux Nagara ieu aya di /var/log/audit/audit.log, tapi anjeun teu perlu maca sakabeh hal pikeun manggihan kasalahan. Anjeun tiasa nganggo utilitas audit2why pikeun milarian kasalahan. Jalankeun paréntah di handap ieu:
$ audit2why < /var/log/audit/audit.logHasilna, anjeun bakal nampa daptar kasalahan. Upami teu aya kasalahan dina log, maka moal aya pesen anu bakal ditingalikeun.
Nyetél kawijakan SELinux
Kawijakan SELinux â nyaĂ©ta sakumpulan aturan anu nungtun mĂ©kanisme kaamanan SELinuxKawijakan nangtukeun sakumpulan aturan pikeun lingkungan anu khusus. Ayeuna urang bakal diajar kumaha ngonpigurasikeun kawijakan pikeun ngamungkinkeun aksĂ©s ka layanan anu diwatesan.
1. Nilai logika (switch)
Boolean ngamungkinkeun anjeun pikeun ngarobih bagian tina kawijakan nalika runtime, tanpa kedah ngadamel kawijakan Ă©nggal. Ăta ngamungkinkeun anjeun pikeun ngadamel parobihan tanpa nga-reboot atanapi nyusun ulang kawijakan SE.Linux.
conto
Hayu urang sebutkeun urang hoyong ngabagikeun diréktori utama pangguna via FTP pikeun aksés maca sareng nyerat, sareng urang parantos ngabagikeunana, tapi nalika urang nyobian ngaksésna, urang henteu ningali nanaon. Ieu kusabab kawijakan SELinux nyegah server FTP maca sareng nyerat kana diréktori utama pangguna. Urang kedah ngarobih kawijakan pikeun ngamungkinkeun server FTP ngaksés diréktori utama. Hayu urang tingali naha aya saklar pikeun ieu ku ngajalankeun
$ semanage boolean -lParéntah ieu bakal daptar saklar anu sayogi sareng kaayaan ayeuna (on atanapi pareum) sareng pedaran. Anjeun tiasa nyaring pilarian Anjeun ku nambahkeun grep pikeun manggihan hasil ftp-hijina:
$ semanage boolean -l | grep ftptur anjeun bakal manggihan di handap
ftp_home_dir -> off Allow ftp to read & write file in user home directoryswitch ieu ditumpurkeun, jadi kami bakal ngaktipkeun eta kalawan setsebool $ setsebool ftp_home_dir on
Ayeuna daemon ftp urang bakal tiasa ngaksés diréktori bumi pangguna.
Catetan: Anjeun oge bisa meunangkeun daptar switch sadia tanpa katerangan ku ngalakukeun getsebool -a
2. Label jeung konteks
Ieu mangrupikeun cara anu paling umum pikeun ngalaksanakeun kawijakan SE.LinuxUnggal file, folder, prosés, sareng port ditandaan ku kontéks SE.Linux:
- Pikeun file sareng polder, labél disimpen salaku atribut anu diperpanjang dina sistem file sareng tiasa ditingali ku paréntah di handap ieu:
$ ls -Z /etc/httpd - Pikeun prosés sareng palabuhan, panyiri diurus ku kernel, sareng anjeun tiasa ningali labél ieu sapertos kieu:
proses
$ ps âauxZ | grep httpdpalabuhan
$ netstat -anpZ | grep httpdconto
Ayeuna hayu urang tingali conto pikeun langkung ngartos labĂ©l sareng kontĂ©ksna. Hayu urang sebutkeun urang gaduh server wĂ©b, anu tinimbang katalog /var/www/html/ ĐžŃĐżĐŸĐ»ŃĐ·ŃĐ”Ń /home/dan/html/. SELinux bakal nganggap ieu palanggaran kawijakan, sareng anjeun moal tiasa ningali halaman wĂ©b anjeun. Ieu kusabab kami henteu acan nyetel kontĂ©ks kaamanan anu aya hubunganana sareng file HTML. Pikeun ningali kontĂ©ks kaamanan standar, anggo parĂ©ntah ieu:
$ ls âlz /var/www/html
-rw-rârâ. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/Di dieu urang meunang httpd_sys_content_t salaku konteks pikeun file html. Urang kedah nyetĂ©l kontĂ©ks kaamanan ieu pikeun dirĂ©ktori urang ayeuna, anu ayeuna gaduh kontĂ©ks ieu:
-rw-rârâ. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/ParĂ©ntah alternatif pikeun mariksa kontĂ©ks kaamanan file atanapi dirĂ©ktori:
$ semanage fcontext -l | grep '/var/www'Kami ogé bakal nganggo semanage pikeun ngarobih kontéks saatos mendakan kontéks kaamanan anu leres. Pikeun ngarobah kontéks /home/dan/html, jalankeun paréntah di handap ieu:
$ semanage fcontext -a -t httpd_sys_content_t â/home/dan/html(/.*)?â
$ semanage fcontext -l | grep â/home/dan/htmlâ
/home/dan/html(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
$ restorecon -Rv /home/dan/htmlSaatos kontéks dirobih nganggo semanage, paréntah restorecon bakal ngamuat kontéks standar pikeun file sareng diréktori. Pangladén wéb kami ayeuna bakal tiasa maca file tina polder /home/dan/htmlsabab konteks kaamanan pikeun folder ieu geus robah jadi httpd_sys_content_t.
3. Jieun kawijakan lokal
Meureun aya kaayaan dimana metodeu di luhur henteu aya gunana pikeun anjeun sareng anjeun nampi kasalahan (avc/denial) dina audit.log. Nalika ieu kajadian, Anjeun kudu nyieun kawijakan lokal. Anjeun tiasa mendakan sadaya kasalahan nganggo audit2why, sapertos anu dijelaskeun di luhur.
Anjeun tiasa nyieun kawijakan lokal pikeun ngabéréskeun kasalahan. Contona, urang meunang kasalahan nu patali jeung httpd (Apache) atawa smbd (samba), urang grep kasalahan sarta nyieun kawijakan pikeun aranjeunna:
apache
$ grep httpd_t /var/log/audit/audit.log | audit2allow -M http_policy
samba
$ grep smbd_t /var/log/audit/audit.log | audit2allow -M smb_policyIeu tĂ©h http_policy Đž smb_policy â ieu nami-nami kawijakan lokal anu urang jieun. Ayeuna urang kedah ngamuat kawijakan lokal anu didamel ieu kana kawijakan SE ayeuna.Linux. Ieu bisa dipigawĂ© saperti kieu:
$ semodule âI http_policy.pp
$ semodule âI smb_policy.ppKabijakan lokal urang parantos diunduh sareng urang henteu kedah nampi avc atanapi denail di audit.log.
Ieu mangrupikeun usaha kuring pikeun ngabantosan anjeun ngartos SELinuxKuring miharep saatos maca tulisan ieu anjeun bakal ngarasa nyaman sareng SELinux langkung nyaman.
sumber: www.habr.com
