Zawsze moją ideologią było to, że jako użytkownik możesz robić w Linuksie wszystko, co chcesz, a do wszystkiego innego zawsze jest sudo
. sudo
pozwala na wykonanie kilku rzeczy tak, jak niektórzy inni użytkownicy, najczęściej przypadki root
dotyczące administracji systemu. sudo
stanowi większą zaletę, ponieważ deleguję niektóre z moich rutynowych zadań i uprawnień jako użytkownik (root) innym użytkownikom i pomaga lepiej zarządzać moim czasem, a innym lepiej, bez zwiększania uprawnień do poziomu wykraczającego poza to, co jest wymagane. Jednocześnie moje zaufanie do nich utrzymuje ich wpisy wsudoers
plik konfiguracyjny. Nie jestem pewien, czy można to powiązać, ale mogę powiedzieć, że sudo daje lepszą perspektywę bezpieczeństwa dla tego, kto i co mogą zrobić ze swoimi zaufanymi uprawnieniami. Nawet jeśli coś pójdzie nie tak, są odpowiedzialni. (Zawsze mogę zrobić coś podstępnego z logiem sudoers, aby znaleźć winowajców). Moi faceci zawsze wyrażali obawy, że muszą pisać sudo we wszystkim, co chcą robić z podwyższonymi uprawnieniami w środowisku Linux. Tutaj też znalazłem to samo pytanie.
Aby zobaczyć rozwiązania i moje poszukiwania alternatyw, natknąłem się na Kontrolę dostępu opartą na zasobach,RBAC
ale w innej krainie przygód Solaris
z narzędziami takimi jak pfexec
itp. Takie podejście jest lepsze, ponieważ pozwoliłoby to zachować uprawnienia użytkowników już podniesione i zaufać na sumieniu i czujności tego, co sysadmini chcieliby zrobić ze swoimi przywilejami.
Biorąc pod uwagę dostępne rozwiązania RBAC i jego implementacje w świecie Linuksa, natknąłem się na to
SELinux http://www.ibm.com/developerworks/linux/library/l-rbac-selinux/
grsecurity http://en.wikipedia.org/wiki/Grsecurity
i chociaż istnieją inne implementacje, rozważę je w najwyższej kolejności na liście. Wdrożenie RBAC jest bardzo pracochłonne w organizacji, zwłaszcza gdy jest wielu użytkowników. RBAC wydaje się lepszym rozwiązaniem w jednorodnych środowiskach. Jeśli jednak w sieci występują heterogeniczne instalacje systemu Unix, a baza danych użytkowników jest wspólna, być może to się nie powiedzie. Ponieważ SELinux nie jest skalowalny / zaimplementowany w systemie Solaris, a narzędzia RBAC / pfexec nie są zaimplementowane w systemie Linux. Istnieją różne podejścia do robienia jednej rzeczy. Na przykład: http://blogs.oracle.com/darren/entry/opensolaris_rbac_vs_sudo_howto
Różne instalacje w sieci mogą nie obsługiwać tego podejścia (jednak openrbac można uznać za wspólne podejście do implementacji), tak jak sudoers jest podejściem z jednym hostem lub nie jest w stanie scentralizowanej konfiguracji w sieci / domenie./etc/sudoers
muszą być synchronizowane za każdym razem, gdy nastąpi zmiana. Ponadto podczas korzystania z pliku sudoers wymagana jest baza wiedzy. Konieczne jest zrozumienie języka strategii konfiguracji sudoers, aby nie popełniać błędów i nie zezwalać na żadne granty. RBAC może oferować do pewnego stopnia scentralizowane podejście, podczas gdy profile zabezpieczeń mogą być wspólne, dodawanie / usuwanie użytkownika z przyznanej roli można wykonać z jednego miejsca (to jest miejsca, w którym przechowywane są informacje o użytkowniku / passwd / grupie domena taka jak LDAP, NIS lub AD). Wymagałoby to również domyślnie zrozumienia poleceń wymaganych do działania na bazie danych RBAC, takich jak smexec, smmultiuser, ponieważ jest ich niewiele.
Sudo może zaoferować więcej podejścia międzyplatformowego, mimo że działa na wszystkich platformach typu Unix / podobnych, które oferują funkcje setuid. Zarówno sudo
i RBAC
uda się dając użytkownikom innym niż root niektóre przywileje, które można zrobić z zewnątrz dając root
samego hasła. Sudo może zastosować bardziej precyzyjne / bardziej szczegółowe podejście do argumentów wiersza poleceń, których można użyć podczas uruchamiania poleceń i ograniczyć wyłącznie do tego, które polecenie z argumentami można uruchomić z podwyższonymi uprawnieniami. Podczas gdy RBAC może ograniczać się do korzystania z zainstalowanych poleceń lub plików binarnych, ale nie może mieć żadnej kontroli nad argumentami wiersza poleceń. Audyt jest znacznie lepszy i jest wbudowany w środowisko RBAC, natomiastsudo
, zależy to od konfiguracji, a także podjętych ograniczeń bezpieczeństwa (takich jak nieprzyznanie powłoki, a zwłaszcza hosty mogą bez problemu logować się na innych hostach). To tylko niektóre z różnic, które mógłbym zacytować, a ja osobiście mam skłonność do używania sudo niż RBAC, chociaż przy wspomnianych ograniczeniach mogłem niejednokrotnie wprowadzać różne rozwiązania. Dopóki wszystkie problemy nie zostaną rozwiązane przez RBAC dla lepszej korzyści sudo, nie sądzę, że sudo odejdzie, ponieważ jest to proste.