Integrando com Segurança do WebSphere Application Server Usando um Interceptor Customizado

Esta seção descreve como criar um interceptor SSO para integrar com a segurança do WebSphere Application Server.

Antes de Iniciar

Você deve estar configurado no WebSphere Application Server com credenciais LDAP de usuário.
Nota: Você deve tornar o domínio LDAP do Build Forge que contém os usuários do WebSphere Application Server o servidor LDAP "padrão". Para isso, acesse este domínio LDAP do Build Forge e selecione Tornar Padrão.

Sobre Esta Tarefa

O Interceptor SSO do Formulário fornecido autentica usuários com uma página de login baseada em formato. Segue um exemplo de como criar um interceptor de SSO customizado. O interceptor customizado usa uma classe de interceptor customizado.

A classe do interceptor acessa o WebSphere Application Server para obter credenciais de usuário autenticado. Após essas credenciais serem obtidas, elas são armazenadas em cache. Os logins subsequentes usam as credenciais em cache.

Protegendo o Serviço de Autorização (AuthServlet)

O Build Forge normalmente executa seus serviços como um aplicativo no servidor de aplicativos Apache Tomcat fornecido.

Sobre Esta Tarefa

As instruções a seguir configuram o Build Forge para usar o WebSphere Application Server em vez de Tomcat. Siga as instruções na seção Usando o WebSphere Application Server, em vez do Apache Tomcat, com uma exceção: o arquivo jas.war contém um arquivo chamado web.xml que é necessário para extrair e modificar para incluir uma restrição de segurança. Antes de instalar este aplicativo em WebSphere Application Server, o arquivo war deve ser gerado novamente após modificá-lo para usar a versão protegida deste arquivo.

Para gerar novamente o arquivo war, conclua as etapas a seguir.

Procedimento

  1. Navegue até o diretório que contém seu arquivo jas.war (o diretório webapps em sua raiz do servidor Tomcat). Copie este arquivo em um local temporário, como C:\jas.
  2. Expanda o arquivo WAR. A partir da linha de comandos, execute o comando: %IBM_JAVA_HOME%\jar –xvf jas.war para expandir o conteúdo do arquivo war.
    Nota: Java deve estar disponível e a variável de ambiente IBM_JAVA_HOME deve ter sido criada.
  3. Salve o arquivo jas.war para recuperar posteriormente:
    1. Windows: copy jas.war jas.war.bak
    2. UNIX ou Linux: cp jas.war jas.war.bak
  4. Localize o arquivo web.xml no diretório WEB-INF (dos arquivos expandidos do arquivo war). Edite esse arquivo para incluir um contexto de segurança. Por exemplo, inclua as seguintes linhas no final do arquivo log antes da tag </web-app>:
    <security-constraint id="SecurityConstraint_1">
             <web-resource-collection id="WebResourceCollection_1">
                <web-resource-name>/*</web-resource-name>
                <url-pattern>/AuthServlet/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
                <http-method>PUT</http-method>
                <http-method>DELETE</http-method>
             </web-resource-collection>
             <auth-constraint id="AuthConstraint_1">
                <description>myconstraint:+:</description>
                <role-name>User</role-name>
             </auth-constraint>
             <user-data-constraint id="UserDataConstraint_1">
                <transport-guarantee>NONE</transport-guarantee>
             </user-data-constraint>
          </security-constraint>
          <login-config id="LoginConfig_1">
             <auth-method>BASIC</auth-method>
             <realm-name>full-qualified-domain</realm-name>
          </login-config>
          <security-role id="SecurityRole_1">
             <role-name>User</role-name>
          </security-role>
    Nota: O <auth-method> pode ser qualquer método de autenticação J2EE suportado por WebSphere Application Server. O método de autenticação mais comum é FORM, que requer parâmetros adicionais de configuração. Consulte sua documentação do WebSphere Application Server para obter instruções sobre configurar FORM em seu aplicativo.
  5. A partir de uma linha de comandos, gere novamente o arquivo war (chamado do mesmo diretório que foi extraído) executando o comando a seguir:
    %IBM_JAVA_HOME%\jar –cvf  jas.war

    Agora, você deve ter uma nova versão do jas que foi modificada para proteger o AuthServlet com restrições J2EE. Complete as instruções de instalação para execução com WebSphere Application Server e instale esta versão do jas.war via Aplicativos->Instalar Novo Aplicativo. Assegure-se de que o Build Forge não esteja em execução ao configurar o WebSphere Application Server.

    Após a instalação, acesse Aplicativos > Aplicativos Corporativos. Clique no nome do aplicativo para configurá-lo. Em Propriedades Detalhadas, clique no link Função de segurança para mapeamento de usuário/grupo. Selecione a caixa de opção Todos Autenticados para Usuário. Após fazer esta mudança, salve a mudança para a configuração principal.

    A segurança do aplicativo também precisa ser ativada em WebSphere Application Server. Para isso, acesse Segurança > Administração, aplicativos e infraestrutura seguros. Certifique-se de que Ativar segurança do aplicativo esteja marcado.

    Neste momento, reinicie o WebSphere Application Server e reinicie o servidor do Build Forge.
    Nota: O jas agora inicia como parte do processo de inicialização do WebSphere Application Server, portanto, inicie o WebSphere Application Server antes do Build Forge.

Criando uma Nova Configuração SSO

Crie uma nova configuração SSO para usar o interceptor.

Procedimento

  1. No console do Build Forge, acesse Administração > Segurança > SSO.
  2. Clique em Incluir Configuração SSO.
  3. Defina as propriedades da configuração.
    • Nome - Digite um nome para essa configuração.
    • Classe Java - Digite com.buildforge.services.server.sso.was.WebSphereSSOInterceptor
    • Ativo - Selecione Sim.
  4. Clique em Salvar.
  5. Mova essa configuração para aparecer como primeira da lista. No menu à esquerda do nome de configuração, selecione Mover para Cima.

Mapeando Usuários LDAP ou um Grupo LDAP para Usuários Locais

Mapeie usuários LDAP ou um grupo LDAP para usuários locais, como o usuário raiz local.

Sobre Esta Tarefa

Após criar um interceptor SSO do WebSphere Application Server, é possível configurar o interceptor para:
  • Mapear os usuários LDAP para usuários locais, incluindo o raiz
  • Mapear um grupo LDAP para um usuário local, como o raiz

Para configurar um mapeamento, defina um ambiente e depois faça referência a esse ambiente no interceptor.

Definindo um Ambiente

Procedimento

  1. No console do Build Forge, clique em Ambientes.
  2. Especifique um nome para o ambiente e clique em Salvar Ambiente.
  3. Para mapear usuários LDAP para usuários locais, defina e salve as seguintes variáveis:
    1. Defina ldap_user_list_mapping para LDAP_user1|local_user1;LDAP_user2|local_user2;LDAP_user3|local_user3
    2. Defina ldap_realm_name para LDAP_domain_name
    Por exemplo, suponha que o seguinte ambiente está definido:
    	ldap_user_list_mapping = user1|root;user2|root;user3|root
    	ldap_realm_name = bluepages.ibm.com:389

    Nesse caso, LDAP user1, user2 e user3 são todos mapeados para o usuário raiz local.

  4. Para mapear membros de um grupo LDAP específico para um usuário local, defina e salve as seguintes variáveis:
    1. Defina ldap_group_name_mapping para LDAP_group|local_user
    2. Defina ldap_realm_name para LDAP_domain_name
    Nota: Se você usar ambos os tipos de mapeamento, o mapeamento do usuário tem precedência sobre o mapeamento do grupo.
    Para um exemplo de um mapeamento de grupo, suponha que o seguinte ambiente esteja definido:
    	ldap_group_name_mapping = cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com|root
    	ldap_realm_name = bluepages.ibm.com:389

    Nesse caso, os usuários que são membros do grupo LDAP cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com são mapeados para o usuário raiz local.

Referenciando o Ambiente

Procedimento

  1. No console do Build Forge, clique em Administração > Segurança > SSO.
  2. Clique no nome do interceptor SSO do WebSphere Application Server.
  3. Defina a propriedade Ambiente para a configuração do ambiente que você acabou de definir.
  4. Clique em Salvar.
  5. Mova essa configuração para aparecer como primeira da lista. No menu à esquerda do nome de configuração, selecione Mover para Cima.

Executando o Interceptor Customizado de SSO

Agora é possível efetuar login usando suas novas configurações.

Sobre Esta Tarefa

Este interceptor SSO customizado agora permite que as técnicas de segurança do WebSphere Application Server autentiquem o usuário, por meio de uma solicitação AuthServlet a ser passada ao Build Forge como um usuário.

Procedimento

  1. Abra seu navegador da web e insira o endereço http://localhost. Em vez do formulário de login do Build Forge, agora você vê uma página de autenticação.
  2. Insira suas credenciais de usuário e clique em Inserir.
    Nota: Após a autenticação, o login ocorre automaticamente.

    Após o logout, a página padrão jsp é exibida em vez do formulário de login. Os logins subsequentes são automáticos se você ainda estiver autenticado.

Revertendo para SSO Baseado em Formulário

É possível reverter para usar o formulário de login do SSO.

Sobre Esta Tarefa

Para reconfigurar os sistemas para usar o Login de Formulário, em WebSphere Application Server você deve desinstalar jas e reinstalar o arquivo original jas.war. No Build Forge, assegure-se de que o interceptor de SSO baseado em formulário esteja ativado e listado como o primeiro item. Desative o interceptor customizado do WebSphere Application Server. Para ativar suas mudanças, você deve reiniciar o WebSphere Application Server e o Build Forge.

Procedimento

  1. Desinstale jas e reinstale o arquivo original jas.war.
  2. No Build Forge, assegure-se de que o interceptor de SSO por formulário esteja ativado e listado como o primeiro item (consulte "Configurações de Segurança de SSO do Build Forge", descrito anteriormente).
  3. Desative o interceptor customizado do WebSphere Application Server.
  4. Reinicie o WebSphere Application Server.
  5. Reinicie o Build Forge.

Feedback