Firma Google opublikowała HIBA, dodatek OpenSSH do uwierzytelniania opartego na certyfikatach

Google opublikowało kod źródłowy projektu HIBA (Host Identity Based Authorization), który proponuje wdrożenie dodatkowego mechanizmu autoryzacji umożliwiającego organizację dostępu użytkowników poprzez SSH w połączeniu z hostami (sprawdzanie, czy dostęp do konkretnego zasobu jest dozwolony, czy nie podczas uwierzytelniania za pomocą kluczy publicznych). Integrację z OpenSSH zapewnia się poprzez określenie procedury obsługi HIBA w dyrektywie AuthorizedPrincipalsCommand w pliku /etc/ssh/sshd_config. Kod projektu napisany jest w języku C i rozpowszechniany na licencji BSD.

HIBA wykorzystuje standardowe mechanizmy uwierzytelniania oparte na certyfikatach OpenSSH do elastycznego i scentralizowanego zarządzania autoryzacją użytkowników w stosunku do hostów, ale nie wymaga okresowych zmian w plikach autoryzowanych_kluczy i autoryzowanych_użytkowników po stronie hostów, z którymi nawiązywane jest połączenie. Zamiast przechowywać listę ważnych kluczy publicznych i warunków dostępu w plikach autoryzowanych_(klucze|użytkowników), HIBA integruje informacje o powiązaniach użytkownik-host 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żytkownikowi.

Sprawdzanie po stronie hosta jest inicjowane przez wywołanie procedury obsługi hiba-chk określonej w dyrektywie AuthorizedPrincipalsCommand. Procesor ten dekoduje rozszerzenia wbudowane w certyfikaty i na ich podstawie podejmuje decyzję o przyznaniu lub zablokowaniu dostępu. Reguły dostępu ustalane są centralnie na poziomie urzędu certyfikacji (CA) i integrowane z certyfikatami na etapie ich generowania.

Po stronie centrum certyfikacji prowadzona jest ogólna lista dostępnych uprawnień (hostów, z którymi dozwolone są połączenia) oraz lista użytkowników, którzy mogą z tych uprawnień korzystać. Do generowania certyfikowanych certyfikatów ze zintegrowaną informacją o referencjach zaproponowano narzędzie hiba-gen, a funkcjonalność niezbędną do utworzenia urzędu certyfikacji zawarto w skrypcie iba-ca.sh.

Gdy użytkownik łączy się, uprawnienia określone w certyfikacie są potwierdzane cyfrowym podpisem urzędu certyfikacji, co pozwala na przeprowadzenie wszystkich kontroli całkowicie po stronie hosta docelowego, z którym nawiązywane jest połączenie, bez konieczności uciekania się do usług zewnętrznych. Listę kluczy publicznych urzędu certyfikacji certyfikującego certyfikaty SSH określa dyrektywa TrustedUserCAKeys.

Oprócz bezpośredniego łączenia użytkowników z hostami, HIBA umożliwia definiowanie bardziej elastycznych reguł dostępu. Na przykład informacje takie jak lokalizacja i typ usługi można powiązać z hostami, a podczas definiowania reguł dostępu użytkowników można zezwolić na połączenia ze wszystkimi hostami z danym typem usługi lub z hostami w określonej lokalizacji.

Firma Google opublikowała HIBA, dodatek OpenSSH do uwierzytelniania opartego na certyfikatach
Firma Google opublikowała HIBA, dodatek OpenSSH do uwierzytelniania opartego na certyfikatach


Źródło: opennet.ru

Dodaj komentarz