Administrowanie systemami komputerowymi
11
Temat: Systemy autoryzacji
Zadania:
Data:
Autor:
Piotr Gębala
1 2 3 4 5 6 7 8 9 10 27 XI 2013
Autor:
Mateusz Macięga
E E M M M M M M M -
10:00-12:15
Przygotowanie ćwiczenia.
Uruchamiamy system ASK i logujemy się na konto administratora.
Zadanie 1. PAM flagi kontrolne cz.1 (moduł: pam_nologin.so).
Sprawdzamy czy w pliku /etc/pam.d/login znajduje się reguła pozwalająca na zablokowanie
możliwości logowania zwykłym użytkownikom. Okazuje się, że taka istnieje i korzysta z flagi
kontrolnej requisite (niepowodzenie powoduje natychmiastowe przerwanie autentykacji).
Blokujemy możliwość logowania tworząc plik /etc/nologin, co prowadzi to braku
możliwości zalogowania się zwykłego użytkownika. Aby proces login pytał o hasło, należy
przenieść regułę auth na koniec pliku.
Zadanie 2. PAM flagi kontrolne cz.2 (moduł: pam_rootok.so).
Aby użytkownik root był zmuszony do podawania hasła w momencie wykonania polecenia
su, należy z pliku /etc/pam.d/su usunąć regułę:
auth sufficient pam_rootok.so
Zadanie 3. PAM przykład autoryzacji – plik użytkowników (moduł: pam_listfile.so).
Tworzymy plik /etc/pam.d/ssh_users, w którym zapisujemy nazwy użytkowników (każda w
nowej linii). Następnie otwieramy plik /etc/pam.d/sshd i dodajemy w nim regułę autentykacji
wykorzystującą moduł pam_listfile.so. Wynikiem tych działań jest brak możliwości (sense=deny)
lub zezwolenie (sense=allow) na zalogowanie się przez ssh użytkownikom wymienionym w pliku
ssh_users.
Zadanie 4. PAM przykład autoryzacji – baza użytkowników (moduł: pam_pgsql.so).
Jako użytkownik postgres tworzymy tabelę konta (id, nazwa, hasło) i dodajemy do niej dane
użytkownika lab1 (1, lab1, lab1). Sprawdzamy czy dane zostały dodane poprawnie.
Modyfikujemy plik konfiguracyjny PAM dodając regułę wykorzystująca moduł pam_pgsql.so, a
następnie dodajemy konto użytkownika lab3 do bazy danych i testujemy logowanie przez ssh.
Kolejnym krokiem jest dodanie szyfrowania haseł w bazie (zamiana w pliku
konfiguracyjnym pw_type=clear na pw_type=crypt, oraz dodanie wygenerowanego hasła do bazy
danych).
Zadanie 5. Kerberos – konfiguracja serwera KDC (Key Distribution Center).
Konfigurujemy pliki /etc/krb5.conf oraz /etc/krb5kdc/kdc.conf wg tego co zamieszczone jest
w instrukcji. Następnie tworzymy plik kadm5.acl z linią */admin@ITILAB *.
Tworzymy początkową bazę danych Kerberos czego wynikiem jest:
Dodajemy konto administratora programem kadmin.local. Aby
system zadziałał uruchamiamy dwa demony obsługujące żądania jego klientów (krb5-kdc oraz
krb-admin-server).
Zadanie 6. Kerberos – pobieranie i niszczenie ticket'ów.
Analogicznie jak w poprzednim ćwiczeniu, przy pomocy programu kadmin, dodajemy konto
zwykłego użytkownika do bazy Kerberosa. Logujemy się na nowo dodane konto i używamy
programu klist do wyświetlenia listy ticket'ów (jest pusta). Następnie pobieramy tickety (kinit) i
znowu wyświetlamy (klist). Na końcu niszczymy wszystkie tickety poleceniem kdestroy.
Zadanie 7. Hasła jednorazowe.
Ustawiamy wartość opcji ChallengeResponseAuthentication w pliku sshd_config na yes i
uruchamiamy serwer ponownie, a pliku konfiguracyjnym PAM dodajemy wpis auth sufficient
pam_opie.so. Po zalogowaniu się jako użytkownik lab1 tworzymy mu hasło jednorazowe
poleceniem opiepasswd:
Następnie generujemy listę dziesięciu haseł i logujemy się dzięki nim
na konto użytkownika lab1 przez ssh.
Zadanie 8. Konfiguracja serwera OpenLDAP.
Sprawdzamy, czy serwer LDAP jest uruchomiony
oraz czy nasłuchuje na odpowiednim porcie.
Następnie sprawdzamy, czy możemy się połączyć
z serwerem LDAP:
Tworzymy jednostki People i Group modyfikując plik ou.ldif
wg instrukcji laboratoryjnej. Do umieszczenia plików na
serwerze używamy polecenia slapadd, natomiast do
sprawdzenia, czy wpisy zostały utworzone, korzystamy z
polecenia ldapsearch.
Zadanie 9. Tworzenie kont użytkowników w Open LDAP.
Tworzymy plik /var/tmp/uzytkownik1.ldif i wypełniamy go
wg instrukcji laboratoryjnej. Umieszczamy go na serwerze,
ustalamy hasło nowego użytkownika (polecenie ldappasswd) i
sprawdzamy, czy wpis został utworzony.
Wnioski.
Laboratorium udało się zrealizować. Były problemy z wykonaniem niektórych skryptów
jednak w końcu udało nam się je przeskoczyć. Wykonane zadania pozwoliły nam zgłębić naszą
wiedzę na temat systemów autoryzacji.