O Google publicou o HIBA, um complemento OpenSSH para autenticação baseada em certificado

O Google publicou o código-fonte do projeto HIBA (Host Identity Based Authorization), que propõe a implementação de um mecanismo de autorização adicional para organizar o acesso do usuário via SSH em conexão com hosts (verificar se o acesso a um recurso específico é permitido ou não ao autenticar usando chaves públicas). A integração com OpenSSH é fornecida especificando o manipulador HIBA na diretiva AuthorizedPrincipalsCommand em /etc/ssh/sshd_config. O código do projeto é escrito em C e distribuído sob a licença BSD.

O HIBA utiliza mecanismos de autenticação padrão baseados em certificados OpenSSH para gerenciamento flexível e centralizado da autorização do usuário em relação aos hosts, mas não requer alterações periódicas nos arquivosauthorized_keys eauthorized_users no lado dos hosts aos quais a conexão é feita. Em vez de armazenar uma lista de chaves públicas válidas e condições de acesso em arquivos autorizados_(chaves|usuários), o HIBA integra informações sobre ligações usuário-host diretamente nos próprios certificados. Em particular, foram propostas extensões para certificados de host e certificados de usuário, que armazenam parâmetros de host e condições para conceder acesso de usuário.

A verificação no lado do host é iniciada chamando o manipulador hiba-chk especificado na diretiva AuthorizedPrincipalsCommand. Este processador decodifica extensões integradas aos certificados e, com base nelas, toma a decisão sobre a concessão ou bloqueio do acesso. As regras de acesso são determinadas centralmente ao nível da autoridade de certificação (CA) e são integradas nos certificados na fase da sua geração.

Do lado do centro de certificação, é mantida uma lista geral de poderes disponíveis (hosts aos quais são permitidas conexões) e uma lista de usuários que estão autorizados a usar esses poderes. Para gerar certificados certificados com informações integradas sobre credenciais, é proposto o utilitário hiba-gen, e a funcionalidade necessária para criar uma autoridade de certificação está incluída no script iba-ca.sh.

Quando um utilizador se liga, a autoridade especificada no certificado é confirmada por uma assinatura digital da autoridade certificadora, o que permite que todas as verificações sejam realizadas inteiramente do lado do host alvo ao qual a ligação é feita, sem recorrer a serviços externos. A lista de chaves públicas da autoridade de certificação que certifica certificados SSH é especificada por meio da diretiva TrustedUserCAKeys.

Além de vincular diretamente os usuários aos hosts, o HIBA permite definir regras de acesso mais flexíveis. Por exemplo, informações como localização e tipo de serviço podem ser associadas a hosts e, ao definir regras de acesso de usuários, conexões podem ser permitidas a todos os hosts com um determinado tipo de serviço ou a hosts em um local especificado.

O Google publicou o HIBA, um complemento OpenSSH para autenticação baseada em certificado
O Google publicou o HIBA, um complemento OpenSSH para autenticação baseada em certificado


Fonte: opennet.ru

Adicionar um comentário