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.