Stranica: 1/1.

unix/linux advanced file permissions

Postano: 06 kol 2011, 23:34
Postao/la stefan

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 09:00
Postao/la shrike
Zanimljivo štivo!

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 10:00
Postao/la stefan
shrike je napisao/la:Zanimljivo štivo!
Da, i meni je bilo...
Ima i nastavak.. Access Control Lists pa onda AppArmor i SELinux

Za ACL:
http://www.vanemery.com/Linux/ACL/linux-acl.html
http://www.unixsite.com/2011/03/14/linu ... -examples/

U AppArmor i SELinux ne zelim ni ulaziti...

Netko je bio spomenuo da se u NTFS permissionsima moze vise nego u linuxu? :D

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 11:48
Postao/la shrike
selinux je dosta zeznut. Ja sam se više puta sa njime bavio i konfiguracija je paklenska, a rizik da ti sustav postane nebootabilnim je dosta velik. Pozitivno je to što direktno preko selinuxa može ukinut funkcioniranje svih nepotrebnih servisa:D Čovjek ne bi vjerovao koliko se ubrzanje dobije za istu iskoristivost, samo sa 90% manje smeća koje se nepotrebno vrti u pozadini!!!!

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 19:18
Postao/la drade
shrike je napisao/la:selinux je dosta zeznut. Ja sam se više puta sa njime bavio i konfiguracija je paklenska, a rizik da ti sustav postane nebootabilnim je dosta velik. Pozitivno je to što direktno preko selinuxa može ukinut funkcioniranje svih nepotrebnih servisa:D Čovjek ne bi vjerovao koliko se ubrzanje dobije za istu iskoristivost, samo sa 90% manje smeća koje se nepotrebno vrti u pozadini!!!!
disableanje procesa preko selinux politika je besmisleno, radije ga disableas prilikom startanja sustava (rc-update, chkconfig, update-rc.d ... itd.), ili deinstaliras paket (kao sto to svaki "dobar" covjek radi s NetworkManager paketom :P).

selinux je "sandboxing" alat (mehanizam) i za to bi ga se trebalo koristiti, ili uopce ne.

Dodatak na OP; za izlistavanje selinux konteksta necega na sustavu koristi se (zapravo zamo -Z argument, ali ovako je meni prakticnije):

Kod: Označi sve

ls -laZ

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 19:58
Postao/la shrike
E da, ali selinux je nekako sveobuhvatniji. Nije samo stvar da se onemogući nešto iz rc, već u tome da selinux nekako zablokira brdo bespotrebnih poziva i funkcija biblioteka koje nešto korisno rade, ali imaju i neki beskorisni/bespotrebni element koji samo guši sustav zauzimanjem resursa. Nisam totalno ovo skužio, ali jesam vidio da selinux blokira brdo stvari od legitimni aplikacija, ALI da ja ne primjećujem da nešto nije u redu ili da se ne odvija. Ne znam kako to drugačije objasniti osim na način da su se blokirale bespotrebne kalkulacije unutar potrebnih elemenata.

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 22:00
Postao/la drade
shrike je napisao/la:E da, ali selinux je nekako sveobuhvatniji. Nije samo stvar da se onemogući nešto iz rc, već u tome da selinux nekako zablokira brdo bespotrebnih poziva i funkcija biblioteka koje nešto korisno rade, ali imaju i neki beskorisni/bespotrebni element koji samo guši sustav zauzimanjem resursa. Nisam totalno ovo skužio, ali jesam vidio da selinux blokira brdo stvari od legitimni aplikacija, ALI da ja ne primjećujem da nešto nije u redu ili da se ne odvija. Ne znam kako to drugačije objasniti osim na način da su se blokirale bespotrebne kalkulacije unutar potrebnih elemenata.
Mislim da se razilazimo u pojmovima. Nisam rekao da selinux blokira nesto iz rc, selinux je, kako sam napomenuo u svom prethodnom postu, "sandboxing" mehanizam kojime zapravo radis restrikciju tko/sto ima pristup cemu (u najjednostavnijem smislu).

Konceptualno, selinux je nesto poput internog vatrozida izmedju raznih programa na sustavu (ali nije vatrozid, "per se"). Dodatno, ti sam kao administrator sustava mozes kreirati politike kojima nesto uvjetujes na svom sustavu.

Na primjer, izlistavanje selinux konteksta servisnih portova:

Kod: Označi sve

semanage port -l | grep -i http
ce ti izlisatati na kojem servisnom portu (kako je uvjetovano selinux politikom) je dozvoljeno httpd daemonu slusati i primati konekcije.

To mozes izmjeniti (recimo httpd daemon):

Kod: Označi sve

semanage port -d -t http_port_t -p tcp 80
semanage port -a -t http_port_t -p udp 12345
Gore navedeni set komandi radi sljedece:
1. Onemogucava httpd daemonu da slusa i prima konekcije putem TCP-a na servisnom portu 80.
2. Omogucava httpd daemonu da slusa i prima konekcije na servisnom portu 12345 koristeci UDP.

Ovo mozes napraviti i sa FS resursima, npr. kojemu direktoriju/datoteci httpd daemon moze pristupati a kojima ne moze.

Kod: Označi sve

chcon --reference /originalni/httpd_dir /novi_httpd_dir
ili

Kod: Označi sve

chcon -R -t httpd_sys_content_t /novi_httpd_dir
Prva naredbena linija ce se referencirati na postojeci direktorij (recimo onaj u kojemu drzis root direktorije virtualnih hostova) i te iste dozvole dati novom direktoriju. Druga naredbena linija ce postaviti kontekst koji je potreban kako bi httpd daemon imao pristup navedenom direktoriju (kontekst se dobiva koristenjem komande ls -Z).

Bla, bla, bla, bla ... Pisanje vlastitih selinux politika je "biatch" u najmanjem smislu rijeci :D. Selinux je opsirna tema, a ovo su tek neke osnove.

Sto sam zapravo htio reci jest sljedece; za onemogucavanje nekog servisa/programa da se pokrece na sustavu koristi rc skripte ili deinstaliraj paket, a za "sandboxing" istog koristi selinux.

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 22:11
Postao/la shrike
Mislim da mi pričamo o dvije različite stvari. Ne koristim selinux za onemogućavanje servisa, već dajem komentar da sam primjetio da se sa selinuxom sve brže izvodi. Objašnjenje za to ubrzanje dajem u vidu toga da su neki aspekti aplikacija onemogućeni, no kako ja ne vidim nikakvu razliku pretpostavljam da su te sve stvari koje više ne rade i koje selinux blokira totalno redundantne.

Re: unix/linux advanced file permissions

Postano: 07 kol 2011, 22:36
Postao/la drade
Ne bih bas rekao da se sve brze izvodi. Managiram selinux enabled servere, nisam primjetio nikakve promjene "performance wise" imajuci selinux ukljucen ili iskljucen.