Google udostępniło kod źródłowy HIBA, mechanizmu autoryzacji tożsamości dla SSH

Kilka dni temu Google zaprezentował za pośrednictwem wpisu na blogu aktualności wydanie kodu źródłowego projektu HIBA (Host Identity Based Authorization), który proponuje zaimplementowanie dodatkowego mechanizmu autoryzacji w celu zorganizowania dostępu użytkowników przez SSH w odniesieniu do hostów (sprawdzenie, czy dostęp do określonego zasobu jest dozwolony podczas przeprowadzania uwierzytelniania z użyciem kluczy publicznych).

Integracja z OpenSSH jest dostarczana przez określenie sterownika HIBA w dyrektywie AuthorizedPrincipalsCommand w /etc/ssh/sshd_config. Kod projektu jest napisany w C i jest rozpowszechniany na licencji BSD.

O HIBA

HIBA wykorzystuje standardowe mechanizmy uwierzytelniania oparte na certyfikatach OpenSSH do elastycznego i scentralizowanego zarządzania autoryzacją użytkowników w odniesieniu do hostów, ale nie wymaga okresowych zmian w plikach autoryzowanych_kluczy i autoryzowanych_użytkowników po stronie hostów, do których jest podłączony.

Zamiast przechowywać listę kluczy Poprawne warunki publiczne i dostępowe w autoryzowanych plikach (hasła | użytkownicy), HIBA integruje informacje o powiązaniu hosta bezpośrednio z samymi certyfikatami. W szczególności zaproponowano rozszerzenia dla certyfikatów hosta i certyfikatów użytkownika, które przechowują parametry hosta i warunki przyznawania dostępu użytkownikom.

Chociaż OpenSSH udostępnia wiele metod, od prostego hasła po użycie certyfikatów, każda z nich sama w sobie stanowi wyzwanie.

Zacznijmy od wyjaśnienia różnicy między uwierzytelnianiem a autoryzacją. Pierwszy to sposób na pokazanie, że jesteś istotą, za którą się podajesz. Zwykle osiąga się to poprzez podanie tajnego hasła powiązanego z Twoim kontem lub przez podpisanie wyzwania, które pokazuje, że masz klucz prywatny odpowiadający kluczowi publicznemu. Autoryzacja to sposób decydowania, czy jednostka ma uprawnienia dostępu do zasobu, zwykle odbywa się po uwierzytelnieniu.

Weryfikacja po stronie hosta rozpoczyna się od wywołania sterownika hiba-chk określone w dyrektywie AuthorizedPrincipalsCommand. Ten przewodnik dekoduje rozszerzenia wbudowane w certyfikaty i na ich podstawie podejmuje decyzję o udzieleniu lub zablokowaniu dostępu. Reguły dostępu są definiowane centralnie na poziomie urzędu certyfikacji (CA) i są integrowane z certyfikatami na etapie ich generowania.

Po stronie centrum certyfikacji dostępna jest ogólna lista uprawnień (hosty, z którymi możesz się połączyć) oraz listę użytkowników, którzy mogą korzystać z tych uprawnień. Zaproponowano narzędzie hiba-gen do generowania certyfikatów z wbudowanymi informacjami o uprawnieniach, a funkcjonalność wymagana do utworzenia urzędu certyfikacji została przeniesiona do skryptu hiba-ca.sh.

Podczas połączenia użytkownika poświadczenia określone w certyfikacie są potwierdzane podpisem cyfrowym urzędu certyfikacji, który umożliwia pełne przeprowadzenie wszystkich weryfikacji po stronie hosta docelowego z którym nawiązywane jest połączenie, bez kontaktu z usługami zewnętrznymi. Lista kluczy publicznych CA, które poświadczają certyfikaty SSH, jest określona przez dyrektywę TrustedUserCAKeys.

HIBA definiuje dwa rozszerzenia dla certyfikatów SSH:
Tożsamość HIBA dołączona do certyfikatów hosta zawiera listę właściwości definiujących tego hosta. Będą używane jako kryteria przyznawania dostępu.
Przyznanie HIBA dołączone do certyfikatów użytkownika zawiera listę ograniczeń, które musi spełnić host, aby uzyskać dostęp.

Oprócz bezpośredniego łączenia użytkowników z hostamiHIBA umożliwia definiowanie bardziej elastycznych reguł dostępu. Na przykład hosty mogą być powiązane z takimi informacjami, jak lokalizacja i typ usługi, a poprzez zdefiniowanie reguł dostępu użytkownika zezwalać na połączenia ze wszystkimi hostami z określonym typem usługi lub z hostami w określonej lokalizacji.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat o notatce możesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.