This is an old revision of the document!
Lightweight Directory Access Protocol - usługa katalogowa, metoda przechowywania informacji “o czymkolwiek”. U nas na początek planujemy wykorzystywać do centralnego przechowywania informacji o użytkownikach, grupach, do czego kto ma dostęp…
Aktualnie drzewo jest dla dc=hackerspace,dc=pl
Planujemy tam trzymać:
- Użytkowników w
ou=People,dc=hackerspace,dc=pl
- Grupy w
ou=Group,dc=hackerspace,dc=pl
- Możliwe że aliasy? Wtedy w
ou=Aliases,dc=hackerspace,dc=pl
Aktualnie dostęp do odczytu do całego drzewa mają wszyscy, nawet użytkownicy nieautoryzowani - jedynym wyjątkiem jest hasło, gdzie dostęp masz (również do zapisu) tylko do swojego po udanej autoryzacji, albo każdy by próbować się zalogować (odpowiedź typu tak/nie, nie ma odczytu). Wszelkie zmiany może dokonywać wyłącznie użytkownik administracyjny. Jest to realizowane następującym ACL:
access to * attrs=userPassword by self write by * auth access to * by * read
Aktualnie z usługi korzystają:
- logowanie na itanic'a za pomocą PAM
- prosody (serwer XMPP)
- OpenVPN
- (testowo) dokuwiki na itanicu
Planowana funkcjonalność:
- Centralne miejsce przechowywania informacji o użytkownikach.
- Kto ma mieć prawo edytować informacje?
- Jak dobrze dodawać użytkowników? Chyba najtrudniejsze jest upewnienie się, że UIDy będą unikalne. Najprawdopodobniej da się to uzyskać za pomocą Attribute Uniqueness opisanego tutaj - obecnie włączone są te więzy na uidNumber i uid obiektów klasy posixAccount. może grupy też warto by tym objąć?
- Kontrola kto ma dostęp do czego
- Lista dostępów
- Stworzenie odpowiednich grup
- Upewnienie się, że potrafimy odpowiednio po grupach filtrować
- Znalazłem 2 polecane metody kontroli dostępu do serwerów:
- Obiekt Host per maszyna, ludzie dodawani do memberOf, w PAM filtrowanie po członkostwie
- Każdy użytkownik ma właściwość 'host' gdzie wpisuje sie maszyny na jakie może się zalogować, w PAM łatwo włączyć sprawdzanie tego (require_host ??)
- Integracja z systemami
- PAM @ itanic
- Dokuwiki @ itanic
- XMPP @ itanic
- Wordpress @ itanic
- OpenVPN @ itanic
- mail @ itanic
- checkinator @ proliant
Pytania:
- Jakie grupy tworzymy?
- Czy aliasy też chcemy przetrzymywać?
- Jaki ma być dostęp dla “świata” i użytkowników niezalogowanych?
- Jaki ma być dostęp dla poszczególnych usług (i czy tworzymy dla nich dedykowane loginy?)
- Kto ma mieć prawo edytować jakie informacje?
- Jakie procedury potrzebujemy zdefiniować? (nowy członek, czasowy lockout, nowy wikipedysta…?)