Procurar Resultados :

×

Registrar Contato

Quando um usuário faz login em um site Joomla por meio do SSO OAuth, o provedor de identidade envia um código de autorização pelo navegador. O aplicativo, então, troca esse código por um token de acesso. Isso funciona bem na maioria dos casos, mas há um problema: se alguém conseguir interceptar esse código de autorização antes que ele chegue ao aplicativo, poderá usá-lo para obter um token de acesso.

A PKCE (Proof Key for Code Exchange) impede isso. Antes do login ser iniciado, o aplicativo gera um segredo aleatório, envia uma versão criptografada dele para o provedor de identidade e, em seguida, prova que possui o original ao trocar o código por um token. Um código de autorização interceptado é inútil sem essa prova, pois somente o aplicativo original o possui.

A extensão miniOrange Joomla OAuth Client oferece suporte nativo ao PKCE. Habilitá-la adiciona essa camada de segurança à sua configuração SSO existente sem alterar nada na forma como os usuários fazem login.

Para habilitar o SSO OAuth protegido por PKCE em um site Joomla, você precisará do seguinte:

logotipo do cartão de caso de uso

Extensão miniOrange OAuth Client para Joomla

Baixar extensão

A maioria dos sites Joomla que utilizam SSO OAuth usa o fluxo de código de autorização padrão sem PKCE. Isso funciona bem em muitos cenários, mas cria alguns riscos reais que vale a pena entender.

Os códigos de autorização são transmitidos pelo navegador como parâmetros de URL, o que significa que podem acabar no histórico do navegador, nos registros do servidor e nos cabeçalhos de referência. Existe uma janela de oportunidade, mesmo que breve, em que ficam expostos. Para aplicações que não conseguem armazenar um segredo do cliente com segurança, como aplicativos de página única ou fluxos de SSO baseados em navegador, o código de autorização torna-se a única barreira entre a conta de um usuário e um invasor que tenha obtido acesso a ela.

O OAuth 2.1, que reflete as melhores práticas de segurança atuais, torna o PKCE obrigatório para todos os fluxos de código de autorização. Espera-se cada vez mais que organizações que buscam conformidade com padrões como SOC 2 ou ISO 27001 tenham essa configuração implementada.

Sem o PKCE, também não há prova criptográfica de que o cliente que conclui a troca de tokens seja o mesmo que iniciou o login. Essa lacuna dificulta a realização de auditorias de segurança imparciais.

Configurar o PKCE através da extensão miniOrange OAuth Client é simples. Veja como a configuração é feita.


1. Habilitando PKCE na extensão: Nas configurações do provedor OAuth dentro da extensão miniOrange, existe uma opção específica para habilitar o PKCE. Uma vez ativado, a extensão cuida de tudo automaticamente: ela gera um verificador de código aleatório no início de cada login, cria um desafio criptografado a partir dele e envia esse desafio ao provedor de identidade como parte da solicitação de autorização. Quando a troca de tokens ocorre, o verificador original é enviado junto com o código de autorização para que o provedor de identidade possa confirmar a correspondência.


2. Escolhendo o Método de Desafio de Código: A extensão suporta dois métodos: S256 e simples. O método S256 aplica um hash SHA-256 ao verificador de código antes de enviar o desafio, o que significa que o segredo original nunca é transmitido. O método simples envia o verificador diretamente como desafio, o que não oferece proteção real. Para qualquer site Joomla em produção, o método S256 é a escolha certa, e a maioria dos provedores de identidade modernos o suporta.


3. Atualizando a Configuração do Provedor de Identidade: No lado do provedor de identidade, o registro do aplicativo deve ser atualizado para exigir PKCE. Isso geralmente significa marcar o aplicativo como um cliente público ou habilitar a aplicação de PKCE nas configurações do aplicativo. Os passos exatos variam de acordo com o provedor. Tornar o PKCE obrigatório no nível do provedor é importante porque significa que qualquer troca de token tentada sem um verificador de código válido será rejeitada, mesmo que o código de autorização tenha sido capturado.


4. Testando o Fluxo: Um login bem-sucedido com PKCE habilitado é idêntico a um login SSO comum do ponto de vista do usuário. Para confirmar se está funcionando, verifique se a URL da solicitação de autorização inclui os parâmetros `code_challenge` e `code_challenge_method`. Para testar a garantia de segurança, tente reproduzir um código de autorização capturado sem o verificador de código; o provedor de identidade deve rejeitar a troca de tokens com um erro.

O PKCE é uma das atualizações de segurança mais práticas disponíveis para o SSO OAuth no Joomla, pois resolve um problema real sem adicionar qualquer atrito para os usuários. A experiência de login permanece exatamente a mesma, mas o código de autorização se torna inútil para qualquer pessoa que o intercepte. À medida que o PKCE se torna o padrão esperado para implementações OAuth, habilitá-lo por meio da extensão miniOrange OAuth Client mantém sua configuração de SSO do Joomla em conformidade com as melhores práticas atuais e facilita a defesa em uma auditoria de segurança.

  1. Segurança de acesso via compartimentação - Protocolo OAuth no Joomla!
  2. SAML vs OAuth no Joomla: qual você deve escolher?
  3. Consulte nossa documentação.

Entraremos em contato com você o mais breve possível

forma mo

 Obrigado pela sua resposta. Entraremos em contato em breve.

Algo deu errado. Envie sua consulta novamente.

Conteúdo

Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda