Patrzę na oprogramowanie, które zapewnia użytkownikowi jedną tożsamość na wielu komputerach. Oznacza to, że użytkownik powinien mieć takie same uprawnienia na każdym komputerze, a użytkownik powinien mieć dostęp do wszystkich swoich plików (domowy katalog mobilny) na każdym komputerze. Wydaje się, że istnieje wiele rozwiązań tego ogólnego pomysłu, ale staram się wybrać dla mnie najlepsze. Oto kilka szczegółów wraz z wymaganiami:
- Sieć maszyn to instancje Amazon EC2 z systemem Ubuntu.
- Dostęp do maszyn uzyskujemy za pomocą SSH.
- Niektóre maszyny w tej sieci LAN mogą mieć różne zastosowania, ale dyskutuję o maszynach tylko do określonego użytku (na platformie wielodostępnej).
- System niekoniecznie będzie miał stałą liczbę maszyn.
- Być może będziemy musieli trwale lub tymczasowo zmienić liczbę uruchomionych maszyn. To jest powód, dla którego szukam scentralizowanego uwierzytelniania / przechowywania.
- Wdrożenie tego efektu powinno być bezpieczne.
- Nie jesteśmy pewni, czy użytkownicy będą mieli bezpośredni dostęp do powłoki, ale ich oprogramowanie potencjalnie będzie działało (oczywiście pod ograniczonymi nazwami użytkowników Linuksa) w naszych systemach, co jest tak dobre, jak bezpośredni dostęp do powłoki.
- Załóżmy, że ze względu na bezpieczeństwo ich oprogramowanie może być potencjalnie złośliwe.
Słyszałem o kilku technologiach / kombinacjach, aby osiągnąć mój cel, ale nie jestem pewien, jakie będą konsekwencje każdej z nich.
- Starszy post ServerFault zalecał NFS i NIS, chociaż kombinacja ma problemy z bezpieczeństwem, zgodnie z tym starym artykułem firmy Symantec . Artykuł sugeruje przejście na NIS +, ale jak na to stare, w tym artykule w Wikipedii zacytowano wypowiedzi sugerujące odejście od NIS + od Sun. Zalecana wymiana to kolejna rzecz, o której słyszałem ...
- LDAP. Wygląda na to, że LDAP może służyć do zapisywania informacji o użytkownikach w scentralizowanej lokalizacji w sieci. NFS nadal musiałby być wykorzystywany do pokrycia wymogu „folderu domowego w roamingu”, ale widzę odniesienia do ich używania razem. Skoro artykuł w firmie Symantec wskazywał na problemy związane z bezpieczeństwem zarówno w NIS, jak i NFS, czy istnieje oprogramowanie zastępujące NFS, czy powinienem posłuchać sugestii tego artykułu dotyczących jego zablokowania? Skłaniam się ku LDAP, ponieważ inny podstawowy element naszej architektury, RabbitMQ, ma wtyczkę uwierzytelniania / autoryzacji dla LDAP. RabbitMQ będzie dostępny w ograniczony sposób dla użytkowników w systemie, dlatego chciałbym powiązać systemy bezpieczeństwa, jeśli to możliwe.
- Kerberos to kolejny bezpieczny protokół uwierzytelniania, o którym słyszałem. Dowiedziałem się o tym kilka lat temu na zajęciach z kryptografii, ale niewiele o tym pamiętam. Widziałem w Internecie sugestie, że można go połączyć z LDAP na kilka sposobów. Czy to konieczne? Jakie są zagrożenia bezpieczeństwa związane z LDAP bez Kerberos? Pamiętam też, że Kerberos był używany w innym oprogramowaniu opracowanym przez Carnegie Mellon University ...
- System plików Andrew lub AFS. OpenAFS jest dostępny do użycia, choć jego konfiguracja wydaje się nieco skomplikowana. Na mojej uczelni AFS spełnia oba wymagania ... Mogę zalogować się na dowolnym komputerze, a mój „folder AFS” jest zawsze dostępny (przynajmniej po uzyskaniu tokena AFS).
Czy wraz z sugestiami, na którą ścieżkę powinienem się zwrócić, czy ktoś ma jakieś przewodniki, które byłyby szczególnie pomocne? Jak wskazał pogrubiony tekst, LDAP wydaje się najlepszym wyborem, ale szczególnie interesują mnie szczegóły implementacji (Keberos? NFS?) W odniesieniu do bezpieczeństwa.