Linux: wydajni sysadmini bez rootowania (zabezpieczenie własności intelektualnej)?


66

Czy jest jakiś sposób, aby sprawić, że doświadczony syadmin Linuksa będzie produktywny bez zapewnienia mu pełnego dostępu do roota?

To pytanie pochodzi z perspektywy ochrony własności intelektualnej (IP), która w moim przypadku jest całkowicie kodem i / lub plikami konfiguracyjnymi (tj. Małymi plikami cyfrowymi, które można łatwo skopiować). Nasz sekretny sos sprawił, że odnieśliśmy większy sukces niż sugerowałby nasz niewielki rozmiar. Podobnie jesteśmy raz ugryzieni, dwukrotnie nieśmiali od kilku byłych pozbawionych skrupułów pracowników (nie sysadminów), którzy próbowali ukraść IP. Stanowisko najwyższego kierownictwa jest w gruncie rzeczy „Ufamy ludziom, ale ze względu na własny interes nie możemy pozwolić sobie na ryzyko, by dać każdej osobie większy dostęp, niż jest to absolutnie konieczne do wykonywania pracy”.

Po stronie programisty można stosunkowo łatwo podzielić partycje i poziomy dostępu, dzięki czemu ludzie mogą być produktywni, ale widzą tylko to, co potrzebują. Tylko najlepsi ludzie (faktyczni właściciele firmy) mają możliwość łączenia wszystkich składników i tworzenia specjalnego sosu.

Ale nie byłem w stanie wymyślić dobrego sposobu na zachowanie tej tajemnicy IP po stronie administratora Linuksa. W szerokim zakresie korzystamy z GPG dla kodu i poufnych plików tekstowych ... ale co powstrzyma administratora przed (na przykład) przesłaniem do użytkownika i przeskoczeniem sesji Tmux lub GNU Screen i zobaczeniem, co robią?

(Mamy również wyłączony dostęp do Internetu wszędzie, co może mieć kontakt z wrażliwymi informacjami. Ale nic nie jest idealne, i mogą istnieć luki otwarte dla sprytnych administratorów lub błędów po stronie administratora sieci. A nawet dobrego starego USB. oczywiście istnieje wiele innych środków, ale są one poza zakresem tego pytania.)

Najlepsze, co mogę wymyślić, to w zasadzie korzystanie ze spersonalizowanych kont w sudo , podobnie jak opisano w wielu systemach Linux działających jako root . W szczególności: nikt oprócz właścicieli firmy nie miałby bezpośredniego dostępu do konta root. Inni administratorzy mieliby spersonalizowane konto i możliwość sudo do rootowania. Ponadto ustanowiono by zdalne rejestrowanie, a logi trafiałyby na serwer, do którego dostęp mieli tylko właściciele firmy. Wyłączenie rejestrowania uruchomiłoby pewnego rodzaju alerty.

Sprytny administrator może prawdopodobnie znaleźć pewne dziury w tym schemacie. Poza tym nadal jest raczej reaktywny niż proaktywny . Problem z naszym IP polega na tym, że konkurenci mogą z niego bardzo szybko skorzystać i spowodować bardzo duże szkody w bardzo krótkim czasie.

Tak więc jeszcze lepiej byłby mechanizm, który ogranicza to, co może zrobić administrator. Ale zdaję sobie sprawę, że jest to delikatna równowaga (szczególnie w świetle rozwiązywania problemów i rozwiązywania problemów produkcyjnych, które należy teraz rozwiązać ).

Nie mogę się nie zastanawiać, jak inne organizacje z bardzo wrażliwymi danymi zarządzają tym problemem? Na przykład sysadmini wojskowi: jak zarządzają serwerami i danymi, nie widząc poufnych informacji?

Edycja: W początkowej fazie postu chciałem zapobiegawczo odnieść się do komentarzy „praktyki zatrudniania”, które zaczynają się pojawiać. Po pierwsze, ma to być pytanie techniczne , a praktyki zatrudniania IMO są bardziej ukierunkowane na pytania społeczne . Ale po drugie, powiem tak: uważam, że robimy wszystko, co rozsądne do zatrudniania ludzi: rozmowa z wieloma osobamiludzie w firmie; kontrole przeszłości i odniesienia; wszyscy pracownicy podpisują wiele dokumentów prawnych, w tym jeden, który mówi, że przeczytał i zrozumiał nasz podręcznik, który szczegółowo opisuje obawy dotyczące własności intelektualnej. Teraz jest to poza zakresem tego pytania / strony, ale jeśli ktoś może zaproponować „idealne” praktyki zatrudniania, które odfiltrowują 100% złych aktorów, jestem cały w uszach. Fakty są następujące: (1) Nie wierzę, że istnieje tak doskonały proces zatrudniania; (2) ludzie się zmieniają - dzisiejszy anioł może być jutrzejszym diabłem; (3) próba kradzieży kodu wydaje się w tej branży dość rutynowa.


15
pierwsza rzecz, jaka przyszła ci do głowy podczas czytania twojego ostatniego pytania ... Snowden.
Hrvoje Špoljar

33
Możesz przejść daleko, stosując odpowiednie polityki SELinuksa, ale wdrożenie tego będzie dość kosztowne. Na koniec sysadmini muszą mieć dostęp do systemu i znajdujących się na nim plików, aby wykonywać swoje zadania. Twój problem nie jest techniczny, jest w trakcie procesu rekrutacji.
Michael Hampton

6
Wojsko używa poświadczeń bezpieczeństwa i integralności dwóch osób . Nawet wtedy czasami dochodzi do naruszeń. Szanse, że obie osoby będą miały niecne plany, są znacznie mniejsze.
Steve

14
Pachnie to jak problem ludzi, ponieważ jest to problem ludzi.
Sirex

6
Po to są NDA.
Michael Martinez

Odpowiedzi:


19

To, o czym mówisz, znane jest jako ryzyko „Zła Sysadmin”. Długi i krótki to:

  • Sysadmin to ktoś, kto ma podwyższone uprawnienia
  • Technicznie biegły, do poziomu, który uczyniłby z nich dobrego „hakera”.
  • Interakcja z systemami w nietypowych scenariuszach.

Połączenie tych rzeczy zasadniczo uniemożliwia powstrzymanie złośliwych działań. Nawet audyt staje się trudny, ponieważ nie masz „normalnego” do porównania. (I szczerze mówiąc - zepsuty system mógł równie dobrze zepsuć kontrolę).

Istnieje kilka kroków łagodzących:

  • Rozdzielenie uprawnień - nie możesz powstrzymać faceta z rootem przed robieniem czegokolwiek w systemie. Ale możesz sprawić, że jeden zespół będzie odpowiedzialny za tworzenie sieci, a drugi za „systemy operacyjne” (lub osobno dla systemu Unix / Windows).
  • Ogranicz fizyczny dostęp do zestawu do innego zespołu, który nie otrzymuje kont administratora ... ale zadbaj o całą pracę rąk.
  • Rozdziel odpowiedzialność na komputer i serwer. Skonfiguruj pulpit, aby blokować usuwanie danych. Administratorzy pulpitu nie mają dostępu do wrażliwych, administratorzy serwera mogą go ukraść, ale muszą skakać przez obręcze, aby wydostać się z budynku.
  • Audyt do systemu z ograniczonym dostępem - syslogi audyt na poziomie zdarzenia - do systemu stosunkowo odpornego na manipulacje, do którego nie mają uprzywilejowanego dostępu. Ale zbieranie ich nie wystarcza, musisz je monitorować - i szczerze mówiąc, istnieje wiele sposobów na „kradzież” informacji, które mogą nie pojawić się na radarze kontrolnym. (Poacher vs. gamekeepers)
  • zastosuj szyfrowanie „w spoczynku”, aby dane nie były przechowywane „w sposób jawny” i wymaga dostępu do systemu na żywo. Oznacza to, że osoby z fizycznym dostępem nie mogą uzyskać dostępu do systemu, który nie jest aktywnie monitorowany, i że w „anomalnym” scenariuszu, w którym pracuje nad nim sysadmin, dane są mniej narażone. (np. jeśli baza danych nie działa, dane prawdopodobnie nie są czytelne)
  • Rządy dwóch osób - jeśli nie masz nic przeciwko marnej produktywności i podobnemu morale. (Poważnie - widziałem, jak to zrobiono, a utrzymujący się stan pracy i bycia obserwowanym sprawia, że ​​warunki pracy są niezwykle trudne).
  • Zweryfikuj swoich administratorów - w zależności od kraju mogą istnieć różne kontrole akt. (Sprawdzanie rejestrów karnych, może się okazać, że w niektórych przypadkach możesz ubiegać się o poświadczenie bezpieczeństwa, co spowoduje sprawdzenie)
  • Opiekuj się swoimi administratorami - absolutną ostatnią rzeczą, którą chcesz zrobić, jest powiedzenie „zaufanej” osobie, że im nie ufasz. I z pewnością nie chcesz zaszkodzić morale, ponieważ zwiększa to ryzyko złośliwego zachowania (lub „niezupełnie zaniedbania, ale poślizgnięcia się czujności”). Płać jednak zgodnie z obowiązkami i zestawem umiejętności. Zastanów się nad „dodatkami”, które są tańsze niż wynagrodzenie, ale prawdopodobnie są bardziej cenione. Jak bezpłatna kawa lub pizza raz w tygodniu.
  • możesz też spróbować zastosować warunki umowy, aby to powstrzymać, ale uważaj na powyższe.

Ale zasadniczo - musisz zaakceptować, że jest to kwestia zaufania, a nie kwestia techniczna. Twoi administratorzy zawsze będą dla ciebie potencjalnie bardzo niebezpieczni w wyniku tej doskonałej burzy.


2
Czasami noszę czapkę sysadmin. Uważam, że konieczne jest trzymanie potężnych narzędzi w miejscu, w którym mogę się do nich dostać, z których niektóre mają na celu obejście kontroli dostępu do systemu (na wypadek, gdyby komuś udało się oczywiście zablokować wszystkim stację roboczą). Ponieważ sam charakter ich działalności, audyt jest osłabiony lub nieskuteczny.
joshudson

3
Tak. Ze wszystkich powodów, dla których ślusarze mogą włamać się do twojego domu legalnie, sysadmini mogą potrzebować włamać się do sieci.
Sobrique,

@Sobrique: jest coś, czego wciąż nie rozumiem: dlaczego słyszymy o nieuczciwych sysadminach kradnących dużo danych, a nie o tym, że takie same robią nieuczciwe pokojówki (mogłyby to zrobić w czasie, gdy wszystko było na papierze) .
user2284570

Objętość - terabajty wydruków są duże. I uszkodzenia. Sabotowanie systemu IT może dosłownie zrujnować firmę.
Sobrique

51

Wszystko, co do tej pory powiedziano tutaj, jest dobre, ale istnieje jeden „łatwy” nietechniczny sposób, który pomaga negować nieuczciwego administratora systemu - zasada czterech oczu, która zasadniczo wymaga obecności dwóch sysadminów dla każdego podwyższonego dostępu.

EDYCJA: Dwa największe elementy, które widziałem w komentarzach, dotyczą kosztów i możliwości zmowy. Jednym z największych sposobów, które rozważałem, aby uniknąć obu tych problemów, jest korzystanie z usług firmy zarządzanej używanej tylko do weryfikacji podjętych działań. Wykonane prawidłowo, technicy się nie znają. Zakładając techniczną sprawność, jaką powinien posiadać MSP, łatwo byłoby podpisać się na podjęte działania ... może nawet tak proste jak tak / nie dla nikczemnych.


17
@Sirex: Tak, to jest problem z bezpieczeństwem - zawsze ma swój koszt.
sleske

10
Nie, pracowałem w dość małych (100-1000 osób) organizacjach, które właśnie to zrobiły. Po prostu zaakceptowali, że ich procedury spowodują, że cała aktywność sysadmina będzie kosztować od czterech do dziesięciu razy więcej pieniędzy niż w innym przypadku, i zapłacili.
MadHatter

10
To jedyna prawdziwa odpowiedź. Nasz zestaw znajduje się w bezpiecznych lokalizacjach rządowych i (między innymi) używamy tego podejścia, aby zapewnić, że nikt nie będzie miał dostępu do podwyższonego terminalu. Zostaje zgłoszona szczegółowa prośba o wykonanie pracy, wiele osób podpisuje się na niej (50+, westchnienie ), a następnie dwóch administratorów zbiera się i wykonuje zmianę. Minimalizuje ryzyko (a także głupie błędy). Wykonanie czegokolwiek jest kosztowne i ogromnie trudne, ale taka jest cena bezpieczeństwa. Re: ponad 50 sygnatariuszy, w tym zespół sieci, zespół DC, kierownicy projektów, bezpieczeństwo, pamięć masowa, tester pióra, sprzedawca oprogramowania itp.
Podstawowy

4
Prawdopodobnie miałbyś problem z zatrudnieniem, tak. Byłby to dla mnie natychmiastowy przystanek, ponieważ lubię robić rzeczy i utrudniałbym przyjemność z pracy.
Sirex,

3
Pamiętaj, że zwiększone koszty nie dotyczą każdej akcji sysadmin. Dotyczy to jednak zarówno samych podwyższonych działań, jak i ich przygotowania. IOW, nie można powiedzieć: „sysadmin pracuje 40 godzin tygodniowo, 4 z nich są podwyższone, więc wzrost kosztów wyniósłby tylko 10%”. Z drugiej strony, schemat wykrywa również normalne, uczciwe błędy. To oszczędza pieniądze.
MSalters

27

Jeśli ludzie naprawdę potrzebują dostępu administratora do systemu, niewiele można zrobić, aby ograniczyć ich działania w tym polu.

Większość organizacji robi zaufanie, ale sprawdza - możesz dać ludziom dostęp do części systemu, ale używasz nazwanych kont administratora (np. Nie dajesz im bezpośredniego dostępu do roota ), a następnie kontrolujesz ich działania w dzienniku, który oni nie może przeszkadzać.

Występuje tutaj równowaga; być może trzeba będzie chronić swoje systemy, ale trzeba też ufać ludziom, że wykonają swoją pracę. Jeśli firma została wcześniej „ugryziona” przez pozbawionego skrupułów pracownika, może to sugerować, że praktyki zatrudniania firm są w pewien sposób słabe, a praktyki te prawdopodobnie zostały stworzone przez „najwyższych kierowników”. Zaufanie zaczyna się w domu; co robią, aby naprawić swoje wybory dotyczące zatrudnienia?


3
To świetna obserwacja - dobra kontrola pozwala ludziom wykonywać swoją pracę, a jednocześnie pozostaje odpowiedzialna za swoje działania.
Steve Bonds

1
Właściwe korzystanie z audytu i syslog może również przejść długą drogę. Te dane mogą być monitorowane przez niezliczone narzędzia bezpieczeństwa, aby znaleźć dziwne lub wyraźnie złe zachowanie.
Aaron

3
Prawdziwy problem z audytem polega na tym, że jest DUŻO hałasu. Po kilku miesiącach nikt nie będzie przeglądał dzienników, chyba że coś się wydarzyło.
TomTom

1
Zgadzam się z TomTom, uzyskanie właściwego stosunku sygnału do szumu w dziennikach bezpieczeństwa to problem, ale myślę, że nadal musisz się zalogować. @Sobrique Powiedziałbym jednak, że „źli sysadmini” to głównie kwestia zatrudnienia, a nie technologia; musisz zamknąć obie strony luki, więc wymagałbym „najlepszych praktyk” każdego dnia i usprawnienia procesu zatrudniania, rozważ „4 oczy” dla prawdziwych tajnych sosów, o których wspominał Tim, oraz przesiewanych dzienników
Rob Moir

1
Trochę, ale pamiętaj o „cyklu pracy”, który poprzedni aktor działający w dobrej wierze może zmienić w złośliwy. To więcej o pozbawieniu praw obywatelskich i morale niż o samych praktykach zatrudniania. Rzeczy, które czynią kogoś dobrym sysadminem, również uczynią z niego dobrego hakera. Więc może w tym punkcie - zatrudnienie miernych administratorów to droga naprzód?
Sobrique

18

Nie zmuszając się do szalonego technicznego skrętu umysłu, aby spróbować znaleźć sposób, by dać sysadminowi moc bez dawania im mocy (prawdopodobnie jest to wykonalne, ale ostatecznie byłoby w jakiś sposób wadliwe).

Z punktu widzenia praktyki biznesowej istnieje zestaw prostych rozwiązań. Nie tanie rozwiązanie, ale proste.

Wspomniałeś, że części IP, o które się martwisz, są podzielone i tylko ludzie na górze mają moc ich zobaczyć. To jest zasadniczo twoja odpowiedź. Powinieneś mieć wielu administratorów, a ŻADNY z nich nie powinien być administratorem w wystarczającej liczbie systemów, aby stworzyć pełny obraz. Będziesz oczywiście potrzebował co najmniej 2 lub 3 administratorów na każdą sztukę, na wypadek, gdyby administrator był chory, miał wypadek samochodowy lub coś takiego. Może nawet je rozłóż. powiedzmy, że masz 4 administratorów i 8 informacji. admin 1 może uzyskać dostęp do systemów, które mają część 1 i 2, admin 2 może dostać się do części 2 i 3, admin 3 może dostać się do 3 i 4, a admin 4 może dostać się do 4 i 1. Każdy system ma zapasowego administratora, ale nie Administrator może skompromitować cały obraz.

Jedną z technik stosowanych również w wojsku jest ograniczenie przenoszenia danych. W newralgicznym obszarze może znajdować się tylko jeden system, który jest w stanie nagrać dysk lub użyć dysku flash USB, wszystkie inne systemy są ograniczone. A możliwość korzystania z tego systemu jest bardzo ograniczona i wymaga szczególnej udokumentowanej zgody wyższego szczebla, zanim ktokolwiek będzie mógł umieścić jakiekolwiek dane na czymkolwiek, co mogłoby doprowadzić do rozlania informacji. W tym samym tokenie zapewniasz, że ruch sieciowy między różnymi systemami jest ograniczony zaporami sprzętowymi. Administratorzy sieci, którzy kontrolują ściany przeciwpożarowe, nie mają dostępu do systemów, które kierują, więc nie mogą uzyskać dostępu do informacji, a administratorzy serwera / stacji roboczej zapewniają, że wszystkie dane do i z systemu są skonfigurowane do szyfrowania,

Wszystkie laptopy / stacje robocze powinny mieć zaszyfrowane dyski twarde, a każdy pracownik powinien mieć osobistą szafkę, w której muszą zamykać dyski / laptopy pod koniec nocy, aby upewnić się, że nikt nie przyjdzie wcześnie / nie spóźni się i nie uzyska dostępu do czegoś nie powinni.

Każdy serwer powinien co najmniej znajdować się w swoim zamkniętym szafie, jeśli nie we własnym, zamkniętym pomieszczeniu, aby dostęp do niego mieli tylko administratorzy odpowiedzialni za każdy serwer, ponieważ pod koniec dnia fizyczny dostęp przebija wszystko.

Następnie jest praktyka, która może albo zranić / pomóc. Umowy ograniczone Jeśli uważasz, że możesz zapłacić wystarczająco dużo, aby nadal przyciągać nowe talenty, opcja zatrzymania każdego administratora przez określony czas (IE 6 miesięcy, 1 rok, 2 lata) pozwoliłaby ci ograniczyć czas, jaki ktoś miałby próbować zebrać wszystkie elementy twojego adresu IP.

Mój osobisty projekt byłby czymś w rodzaju ... Podziel dane na dowolną liczbę elementów, powiedzmy ze względu na liczbę 8, masz 8 serwerów git, każdy z własnym zestawem nadmiarowego sprzętu, każdy administrowany przez inny zestaw administratorów.

Zaszyfrowane dyski twarde dla wszystkich stacji roboczych, które będą dotykać adresu IP. z konkretnym katalogiem „projektu” na dysku, który jest jedynym katalogiem, w którym użytkownicy mogą umieszczać swoje projekty. Pod koniec każdej nocy są zobowiązani do sanacji katalogów projektu za pomocą bezpiecznego narzędzia do usuwania, a następnie dyski twarde są usuwane i zamknięty (tylko dla bezpieczeństwa).

Do każdego bitu projektu przypisany jest inny administrator, więc użytkownik będzie mógł wchodzić w interakcje tylko z administratorem stacji roboczej, do którego jest przypisany, jeśli ich przypisanie projektu ulegnie zmianie, ich dane zostaną wyczyszczone, przypisany zostanie nowy administrator. Ich systemy nie powinny mieć możliwości nagrywania i powinny używać programu zabezpieczającego, aby uniemożliwić korzystanie z dysków flash USB do przesyłania danych bez autoryzacji.

weź z tego co chcesz.


2
Dziękuję, dużo dobrych rzeczy i wiele robimy. Chociaż podoba mi się pomysł wielu administratorów, nie jesteśmy wystarczająco duże, aby tego potrzebować. Naprawdę potrzebuję tylko jednego administratora, więc gdybym miał czterech, byliby na ogół znudzeni. Jak znaleźć najlepszego talentu, którego potrzebujemy, a jednocześnie sprawić, by był malutki? Obawiam się, że mądrzy ludzie szybko się nudzą i przechodzą na bardziej zielone pastwiska.
Matt

2
Tak, to duży problem, a tak naprawdę cierpi na tym rząd. Miejsce, w którym zaczynałem jako administrator, było często nazywane „drzwiami obrotowymi”. Cała sprawa jest trudnym problemem do rozwiązania. Ogólnie rzecz biorąc, zapewnienie informacji jest dość trudne do zgryzienia: \
Gravy

@Matt How do we find the top-tier talent we want, but only give them a teeny-tiny workload?Do pewnego stopnia możesz to złagodzić, oferując im także duże środowisko testowe / badawczo-rozwojowe, dostęp do nowych fajnych zabawek i zachęcając je do spędzania znacznej części dnia roboczego na rozwijaniu umiejętności technicznych. Efektywne obciążenie 25% prawdopodobnie przesuwa to za daleko, ale byłbym absolutnie za daleko od zadania, które jest w 50% rzeczywistą pracą i 50% rozwojem technicznym / badaniami i rozwojem (zakładając, że wynagrodzenie jest na tym samym poziomie, co normalne ~ 100% ” praca rzeczywista).
HopelessN00b

11

Byłoby to podobne do wyzwania, jakim jest wynajęcie dozorcy budynku. Woźny otrzymuje wszystkie klucze, może otworzyć dowolne drzwi, ale powodem jest to, że dozorca potrzebuje ich do wykonania pracy. To samo z administratorami systemu. Symetrycznie można pomyśleć o tym odwiecznym problemie i spojrzeć na to, jak historycznie zaufanie jest udzielane.

Chociaż nie ma jednoznacznego rozwiązania technicznego, fakt, że nie ma żadnego, nie powinien być powodem, dla którego nie próbujemy, agregacja niedoskonałych rozwiązań może dać nieco świetne wyniki.

Model, w którym zdobywa się zaufanie :

  • Przyznaj mniej uprawnień na początek
  • Stopniowo zwiększaj uprawnienia
  • Umieść plaster miodu i monitoruj, co stanie się w najbliższych dniach
  • Jeśli sysadmin zgłosi to zamiast próbować nadużywać, to dobry początek

Wdrożenie kilku poziomów uprawnień administracyjnych :

  • Poziom 1: Może modyfikować niższą warstwę plików konfiguracyjnych
  • Poziom 2: Może modyfikować nieco wyższą warstwę plików konfiguracyjnych
  • Poziom 3: Może modyfikować nieco wyższą warstwę plików konfiguracyjnych i ustawień systemu operacyjnego

Zawsze twórz środowisko, w którym całkowity dostęp jednej osoby nie jest możliwy :

  • Podziel systemy w klastrach
  • Nadaj uprawnienia administratora klastra różnym grupom
  • Minimum 2 grupy

Podczas wprowadzania podstawowych zmian na wysokim poziomie stosuj zasadę dwóch osób :

Zaufaj i zweryfikuj :

  • Zaloguj wszystko
  • Monitorowanie dzienników i alarmowanie
  • Upewnij się, że wszystkie działania są rozróżnialne

Formalności :

  • Poproś, aby podpisali dokumentację, aby system prawny mógł ci pomóc, pozywając ich, jeśli cię skrzywdzą, daje większą motywację, aby tego nie robić

Nie tylko rejestruj wszystko, ale coś musi monitorować i alarmować w tych logach, najlepiej w sposób łatwy dla ludzi.
Aaron

9

Bardzo trudno jest zabezpieczyć hosty przed dostępem administracyjnym. Podczas gdy narzędzia takie jak PowerBroker próbują to zrobić, kosztem jest dodanie czegoś innego, co może złamać ORAZ dodanie barier w próbach jego naprawy. Twój dostępność systemu BĘDZIE upuścić kiedy zaimplementować coś takiego tak ustawione, że oczekiwanie na początku jako koszt ochrony rzeczy.

Inną możliwością jest sprawdzenie, czy aplikacja może działać na hostach jednorazowych za pośrednictwem dostawcy chmury lub w prywatnej chmurze lokalnie hostowanej. Kiedy ktoś się psuje, zamiast wysyłać administratora, aby go naprawić, wyrzuca się go i automatycznie buduje zamiennik. Będzie to wymagało sporo pracy po stronie aplikacji, aby je uruchomić w tym modelu, ale może rozwiązać wiele problemów operacyjnych i bezpieczeństwa. Jeśli zrobione źle, może powodować poważne problemy z bezpieczeństwem, więc skorzystaj z doświadczonej pomocy, jeśli pójdziesz tą drogą.


4

Oto podstawowa dyskusja: https://security.stackexchange.com/questions/7801/keeping-secrets-from-root-on-linux

Rozdzielasz swoją odpowiedzialność, mając inżynierów bezpieczeństwa, których zadaniem jest konfigurowanie i instalowanie systemów, ale nie otrzymują oni poświadczeń ani dostępu do maszyn w produkcji. Obsługują również infrastrukturę audytu.

Masz administratorów produkcji, którzy otrzymują systemy, ale nie mają kluczy do uruchomienia komputera bez aktywnych zasad SELinux. Zabezpieczenia nie dostają kluczy do odszyfrowania poufnych danych przechowywanych w spoczynku na dysku w przypadku wycofania z eksploatacji uszkodzonej maszyny.

Skorzystaj ze scentralizowanego systemu uwierzytelniania z silnymi kontrolami, takimi jak Vault, i skorzystaj z jego operacji kryptograficznych. Rozdaj urządzenia Yubikey, aby klucze były całkowicie prywatne i nieczytelne.

Maszyny są albo wycierane po zepsuciu, albo obsługiwane przez operacje i zabezpieczenia razem, a jeśli czujesz potrzebę nadzoru wykonawczego.


2

Administratorzy ze względu na charakter pracy mają dostęp do wszystkiego. Widzą każdy plik w systemie plików z poświadczeniami administratora. Potrzebny jest więc sposób szyfrowania plików, aby administratorzy nie mogli go zobaczyć, ale pliki są nadal użyteczne przez zespoły, które powinny je zobaczyć. Zajrzyj do Vormetric Transparent Encryption ( http://www.vormetric.com/products/transparent-encryption )

Jego sposób działania polega na tym, że znajduje się on między systemem plików a aplikacjami, które uzyskują do niego dostęp. Kierownictwo może utworzyć zasadę, która mówi: „Tylko użytkownik httpd, działający demon serwera WWW, może zobaczyć pliki niezaszyfrowane”. Następnie administrator z poświadczeniami administratora może spróbować odczytać pliki i uzyskać tylko zaszyfrowaną wersję. Ale serwer sieciowy i wszelkie potrzebne mu narzędzia nie są zaszyfrowane. Może nawet sumę kontrolną pliku binarnego, aby utrudnić administratorowi poruszanie się.

Oczywiście należy włączyć inspekcję, aby w przypadku, gdy administrator spróbuje uzyskać dostęp do plików, wiadomość zostanie oflagowana, a ludzie o tym wiedzą.


1
Kto zatem może aktualizować pliki? Jak oni to robią?
Michael Hampton

3
Plus ... Jeśli jestem rootem na tym polu, istnieje prawdopodobieństwo, że mogę obalić demona serwera WWW. Nawet jeśli sprawdza binarne wartości skrótu, aby upewnić się, że nie zastąpiłem demona, będzie sposób, aby nakłonić serwer WWW do złożenia pozornie uzasadnionego żądania danych.
Podstawowy

1
W rzeczywistości SysAdmins może nie mieć dostępu do wszystkich plików - C2, a lepiej zabezpieczone systemy mogą blokować administratorów. Mogą WYMUSZAĆ dostęp, ale jest to nieodwołalne (ustawienie ich jako użytkownika) i pozostawia ślady (dziennik, który można usunąć, ale nie można go łatwo zmienić).
TomTom

Nie pomogłoby to, ponieważ administrator może stać się httpd ... Administratorzy mogą również czytać / dev / mem, a zatem wszystkie klucze.
John Keates

2
@TomTom: Możliwość systemu operacyjnego spełniającego wymagania C2 jest mitem. Windows NT4 przeszedł certyfikację, ale okazało się, że była to nieuczciwa przepustka. Możliwość wycofania się z wymuszonego dostępu zawsze istniała, a ja z niej korzystałem i mamy procedurę, która zależy od tego, czy działa, ponieważ jakiś program próbuje go użyć, aby sprawdzić, czy jego pliki nie zostały zmienione, ale musimy to zmienić im.
joshudson

2

Jedynym praktycznym sposobem jest ograniczenie, kto może robić to, co w sudo. Możesz potencjalnie zrobić większość tego, co chcesz z selinux, ale prawdopodobnie zajmie to wieczność, aby ustalić prawidłową konfigurację, co może sprawić, że będzie to niepraktyczne.

Umowa poufności. Zatrudnij sysadmina, muszą podpisać NDA, jeśli złamią obietnicę, zabierz ich do sądu. Nie może to uniemożliwić im kradzieży tajemnic, ale wszelkie szkody, które z tego powodu spowodują, można odzyskać w sądzie.

Administratorzy wojskowi i rządowi muszą uzyskać poświadczenia bezpieczeństwa różnych stopni, w zależności od wrażliwości materiału. Chodzi o to, że osoba, która może uzyskać zezwolenie, jest mniej skłonna do kradzieży lub oszukiwania.


Chodzi o to, że 1) zdobycie i utrzymanie tej odprawy ogranicza ich zdolność do prowadzenia podejrzanych interesów; 2) miejsca pracy wymagające wyższych poświadczeń bezpieczeństwa płacą lepiej, co oznacza silną motywację do utrzymania tego poświadczenia niezależnie od tego, czy podoba ci się twój obecny pracodawca.
Shadur

To powiedziawszy, znowu OP powiedział konkretnie, że prosi o środki zapobiegawcze - oczywiście, możesz później pozwać ich o naruszenie NDA, ale czy sysadmin wydaje ci się prawdopodobne, że zarobisz wystarczająco dużo pieniędzy, aby odzyskać poniesione przez siebie szkody?
Shadur

nie tylko odzyskujesz straty od administratora, ale od kogokolwiek lub jakiejkolwiek innej firmy zarabia na tych tajemnicach.
Michael Martinez

To bardzo tajemnicze środowisko na początek. Powiedzmy, że zły sysadmin kradnie tajny sos, tropienie, kogo sprzedał, jest w zasadzie niemożliwe. Co się stanie, jeśli ukradnie kod, odejdzie na dobrych warunkach, sprzeda kod konkurentowi? Nagle nasze zyski maleją, ale nie wiemy jak (to finanse, anonimowy rynek).
Matt

@Matt Takie samo ryzyko dla osób odpowiedzialnych, jak dla tych, którzy nie są. Ludzie z tajnym sosem martwiący się o to, że ktoś go ukradnie, gdy równie prawdopodobne jest to, że jeden z nich to zrobi.
Michael Martinez

1

Innym sposobem na obniżenie ryzyka (skorzystaj z tych wymienionych wcześniej, a nie zamiast) jest wypłacenie dobrych pieniędzy swoim administratorom. Zapłać im tak dobrze, że nie chcą kraść z twojego adresu IP i cię zostawić.


2
Widzę, skąd pochodzisz, ale myślę, że większość z nas ma bardziej profesjonalną etykę niż to. Nie kradnę tajemnic moich klientów, ale nie dlatego, że płacą mi wystarczająco, że nie czuję potrzeby, to dlatego, że byłoby to niewłaściwe; Podejrzewam, że nie jestem tu jedyną osobą, która tak się czuje.
MadHatter

1
Tak, jak napisał kiedyś Ben Franklin: „Nigdy nie naliczaj nikomu więcej niż kosztuje cię zabicie”. Ale na odwrót.
Bruce Ediger

Nie można przekupić kogoś do uczciwości. To po prostu nie zadziała. Jak powiedział kiedyś mądry człowiek: ustaliliśmy, jakim jesteś człowiekiem, teraz po prostu targujemy się o cenę. Ale możesz zdobyć czyjąś lojalność, postępując właściwie. Płacenie jest częścią tego, ale jest też wiele rzeczy. Autonomia i mistrzostwo - dają swobodę, szkolenie i rozwój. Problem polega na tym, że istnieje pokusa, aby uciskać ich, aby nie zbłądzili, a następnie przekupić ich, aby „naprawili” to. Ale jak wszystkie obraźliwe relacje, to się odwróci.
Sobrique,

2
Właśnie napisałem, że to inny sposób, a nie dobry. Myślę, że kiedy ktoś zatrudnia nowego administratora, musi być zaufanie. Ponieważ sysadmin jest - obok CEO i CFO - kimś, kto może zniszczyć firmę w kilka minut. Dobry administrator nie będzie pracował za małe pieniądze (a może ktoś z was?), A sysadmin, który będzie pracował za małe pieniądze, jest bardziej niebezpieczny.
Ondra Sniper Flidr

1

Myślę, że odpowiedź na to pytanie może być niemożliwa bez dodatkowych szczegółów, takich jak:

Ilu sysadminów spodziewasz się „ograniczyć”?

Do czego ludzie potrzebują dostępu „sysadmin”?

Przede wszystkim pamiętaj, co możesz zrobić z sudo. Dzięki sudo możesz zezwolić podwyższonym uprawnieniom na uruchamianie tylko jednego polecenia (lub jego odmian, takich jak polecenia zaczynające się na „mount -r”, ale inne polecenia nie są dozwolone). Za pomocą kluczy SSH można przypisać poświadczenia, które pozwalają osobie uruchomić tylko określone polecenie (na przykład „sudo mount -r / dev / sdd0 / media / backup”). Dlatego istnieje stosunkowo łatwy sposób, aby pozwolić praktycznie każdemu (kto ma klucz SSH) na wykonanie określonych operacji bez konieczności wykonywania absolutnie wszystkiego innego.

Sprawy stają się nieco trudniejsze, jeśli chcesz, aby technicy naprawiali to, co jest zepsute. Zwykle może to wymagać większej liczby uprawnień i być może dostępu do uruchamiania szerokiej gamy poleceń i / lub zapisu do różnych plików.

Sugeruję rozważenie podejścia do systemów opartych na sieci, takich jak CPanel (który jest używany przez wielu dostawców usług internetowych) lub systemów opartych na chmurze. Często mogą powodować problemy na maszynie, powodując jej odejście. Tak więc osoba może być w stanie uruchomić polecenie, które zastępuje maszynę (lub przywraca maszynę do znanego dobrego obrazu), niekoniecznie dając tej osobie dostęp do odczytu dużej ilości danych lub wprowadzając niewielkie zmiany (takie jak połączenie drobnej poprawki z wprowadzeniem nieautoryzowanych tylnych drzwi). Następnie musisz zaufać ludziom, którzy robią obrazy, ale zmniejszasz liczbę osób, którym musisz ufać, aby robić mniejsze rzeczy.

Ostatecznie jednak pewna niezerowa liczba osób, które pomagają zaprojektować system i działają na najwyższym poziomie, musi uzyskać pewne zaufanie.

Jedną z rzeczy, które robią duże firmy, jest poleganie na takich rzeczach, jak serwery SQL, które przechowują dane, do których można uzyskać dostęp z większej liczby komputerów. Następnie większa liczba techników może mieć pełny dostęp do roota na niektórych komputerach, bez dostępu do roota do serwerów SQL.

Innym podejściem jest być zbyt dużym, by upaść. Nie myśl, że duże wojsko lub gigantyczne korporacje nigdy nie mają incydentów związanych z bezpieczeństwem. Wiedzą jednak, jak:

  • wyzdrowieć,
  • ogranicz obrażenia (oddzielając cenne rzeczy)
  • mieć środki zaradcze, w tym groźby sporów sądowych
  • dysponować procesami, które pomagają ograniczyć niepożądaną ekspozycję na prasę, i planować, w jaki sposób wpłynąć na obrót powstających negatywnych historii

Podstawowym założeniem jest to, że powstałe szkody są po prostu ryzykiem i kosztem prowadzenia działalności. Oczekują, że będą nadal działać, a ciągłe zmiany i ulepszenia na przestrzeni lat ograniczą, o ile szkody pojedyncze zdarzenie mogą faktycznie wpłynąć na ich długoterminową wartość w pewnym okresie czasu.



0

Umieść maszynę administracyjną do rootowania w pokoju zamkniętym dwoma kluczami i podaj tylko jeden dla każdego z dwóch administratorów. Administratorzy zawsze będą współpracować, obserwując nawzajem swoje działania. Powinien to być jedyny komputer zawierający klucz prywatny, aby zalogować się jako root.

Niektóre działania mogą nie wymagać praw root, więc tylko część pracy wymagałaby przejścia do tego pokoju w celu „programowania par”

Możesz także nagrywać filmy w tym pokoju, głównie po to, aby mieć pewność, że nikt nie pracuje sam (tyle jest dobrze widoczne). Upewnij się również, że miejsce pracy jest takie, aby ekran był dobrze widoczny dla obu osób (być może duży ekran telewizora z dużymi czcionkami).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.