Uwierzytelnianie OpenBSD w Active Directory


24

Edycja: sformatowano to jako pytania i odpowiedzi. Jeśli ktokolwiek może zmienić to z Wiki Wiki na typowe pytanie, prawdopodobnie jest to również bardziej odpowiednie.

Jak mogę uwierzytelnić OpenBSD w Active Directory?


Bardzo dobrze! To wygląda na bardzo dokładne i dobrze napisane. Nie używam OpenBSD, ale części AD wyglądają idealnie.
Evan Anderson

+1 za fajny przewodnik, chociaż tak naprawdę nie jest to pytanie.
David Schmitt

Powinieneś zmienić to na format pytań i odpowiedzi.
Doug Luxem,

Zmieniono, chociaż wciąż jest to Wiki Wiki. Jeśli ktoś inny może to zmienić, śmiało.
sh-beta,

Odpowiedzi:


17

Przedmowa

Uwierzytelnianie w Active Directory za pomocą Kerberos jest dość proste w systemach korzystających z PAM, ale OpenBSD nie i utrudnia. Z tcpdump wygląda na to, że systemy PAM po prostu wykonują wstępne uwierzytelnianie, podczas gdy system bsd_auth OpenBSD wykorzystuje cały proces uwierzytelniania Kerberos.

W każdym razie zajęło mi to trochę czasu, aby dowiedzieć się, więc mam nadzieję, że niektóre zwięzłe instrukcje pozwolą ci zaoszczędzić czas.

Kilka krótkich notatek, zanim zaczniemy:

  • Użytkownicy muszą istnieć w systemie OpenBSD przed próbą zalogowania. Nie są tworzone automatycznie.
  • Jeśli chcesz, aby użytkownicy tworzyli się automatycznie, zajrzyj do Samba / Winbind. Nie miałem nic poza kłopotami (niewytłumaczalne awarie, poważne spamowanie dziennika, nierzetelne uwierzytelnianie), więc używam go tylko wtedy, gdy muszę.
  • Zostało to przetestowane na OpenBSD 4.5 i Windows Server 2003. Jestem prawie pewien, że będzie działać z Win2k, ale YMMV.
  • Ta wersja OpenBSD wykorzystuje Heimdal 0.7.2. Wszystko poza ścieżkami i login.conf prawdopodobnie będzie działało na innych * nixach z tym samym Heimdalem, ale znowu YMMV.

Instrukcje

W tych krokach założono, że próbujesz uwierzytelnić mój_użytkownik@myhost.fqdn w domenie EXAMPLE.COM. Kontroler domeny to pdc.EXAMPLE.COM.

  1. Utwórz konto użytkownika usługi Active Directory o nazwie myhost (to nie literówka, te instrukcje nie będą działać z kontem komputera). Wyłącz wygasanie hasła i nie pozwól użytkownikowi zmienić własnego hasła. Ustaw hasło na cokolwiek zechcesz - wkrótce zostanie zmienione.

  2. Prawdopodobnie dobrym pomysłem jest utworzenie konta użytkownika w nowej jednostce organizacyjnej, usunięcie go z grupy Użytkownicy domeny i dodanie go do dedykowanej grupy. To wszystko zależy od gustu i układu zabezpieczeń.

  3. Na pdc.EXAMPLE.COM pobierz i zainstaluj Narzędzia obsługi systemu Windows Server (w szczególności potrzebujesz ktpass.exe)

  4. Na pdc.EXAMPLE.COM uruchom:

    ktpass -out c: \ temp \ myhost.keytab -princ host/myhost.fqdn@EXAMPLE.COM -mapuser mójhost -pTyp KRB5 _NT_PRINCIPAL + rndpass

    To aktualizuje hasło użytkownika myhost do czegoś losowego (+ rndpass), mapuje główny użytkownik Kerberos „host/myhost.fqdn@EXAMPLE.COM” na użytkownika „myhost” w usłudze Active Directory, a następnie zrzuca informacje o głównym i prywatnym kluczu do -out plik keytab.

  5. Bezpiecznie skopiuj c: \ temp \ myhost.keytab na myhost i usuń plik z pdc.EXAMPLE.COM

  6. Na moim hoście dodaj klucz AD do swojego głównego klucza:

    ktutil copy /path/to/myhost.keytab /etc/kerberosV/krb5.keytab

  7. Skonfiguruj /etc/krb5.conf. Poniżej znajduje się absolutne minimum, którego potrzebujesz. Dostępnych jest wiele opcji, więcej informacji można znaleźć na stronie podręcznika. To po prostu ustawia maksymalne dopuszczalne odchylenie zegara na 5 minut, czyni EXAMPLE.COM domeną domyślną i mówi Kerberosowi, jak tłumaczyć między DNS a domenami Kerberos.

    [libdefaults]
    clockskew = 300
    default_realm = EXAMPLE.COM

    [dziedziny]
    EXAMPLE.COM = {
    default_domain = EXAMPLE.COM
    }

    [domena_realistyczna]
    .EXAMPLE.COM = EXAMPLE.COM

  8. Sprawdź, czy możesz dostać bilet:

    # kinit Administrator@EXAMPLE.COM
    Administrator@EXAMPLE.COM's Password:
    # klist
    Credentials cache: FILE:/tmp/krb5cc_0
    Principal: Administrator@EXAMPLE.COM

    Issued Expires Principal
    Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/EXAMPLE.COM@EXAMPLE.COM

  9. Zmodyfikuj /etc/login.conf, aby korzystać z uwierzytelniania Kerberos. Twoja dokładna konfiguracja login.conf będzie się różnić w zależności od sposobu korzystania z systemu, ale aby przejść z instalacji waniliowej do korzystania z Kerberos, po prostu edytuj i skomentuj ten wiersz w domyślnej klasie logowania:

    :tc=auth-defaults:\

    I dodaj powyżej:

    :auth=krb5-or-pwd:\

    To sprawdza najpierw Kerberos, chyba że użytkownik jest rootem. Jeśli Kerberos zawiedzie, użyje lokalnych haseł.

  10. Dodaj użytkowników, których chcesz uwierzytelnić na tym hoście. Pozostaw hasła puste, chyba że chcesz, aby mogły korzystać zarówno z Active Directory, jak i haseł lokalnych (niezalecane).

    Możesz usunąć istniejące hasła użytkowników „chpass <user>” i zastąpić wartość „Encrypted password:” gwiazdką (*)

  11. Przetestuj SSH i Sudo. Oba powinny działać bezbłędnie z poświadczeniami Active Directory.

To wszystko.

Spinki do mankietów

Kilka przydatnych stron:


Wygląda na to, że 2008 R2 ma wypalony program ktpass.exe. Może również 2008, nie mogę powiedzieć na pewno na tym etapie. Jeśli ktokolwiek może to wyjaśnić, byłoby świetnie.
Aaron Mason

Ponadto, aby to zrobić od wersji 5.7, musisz zainstalować pakiet Heimdal - został on usunięty z bazy w wersji 5.6.
Aaron Mason

Dodatek do poprzedniego komentarza - musisz także zainstalować pakiet login_krb5 i skopiować login_krb5-or-pwddo /usr/libexec/auth- również pliki konfiguracyjne i keytab są teraz dostępne, /etc/heimdala nie /etc/kerberosVjak w poprzednich wersjach OpenBSD.
Aaron Mason

5

Aktualizacja powyższych instrukcji, ponieważ od tego czasu zmieniło się kilka rzeczy.

W OpenBSD 5.6 podjęto decyzję o usunięciu Heimdal z dystrybucji podstawowej z powodu obaw o jakość kodu i nikt nie chce poświęcić czasu na jego kontrolę. W 5.7 został udostępniony jako pakiet (dla 5.6 musisz zbudować ze źródła lub wymyślić, jak ponownie włączyć go w źródle). Dlatego przed wykonaniem powyższych instrukcji należy wykonać następujące dodatkowe kroki:

-3. Zainstaluj pakiety heimdali login_krb5ze swojego ulubionego lustra.

-2. Skopiuj /usr/local/libexec/auth/login_krb5*do /usr/libexec/auth.

-1. Jeśli zamierzasz często korzystać z narzędzi heimdal, dodaj /usr/local/heimdal/bindo ścieżki systemowej. W przeciwnym razie podczas korzystania z nich należy odwoływać się do narzędzi z pełną ścieżką.

Ponadto pliki krb5.confi krb5.keytabwchodzą do /etc/heimdalteraz.

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.