2.2 Segurança

Passar da pré-produção à produção em geral envolve o fortalecimento dos aspectos de segurança do sistema. É possível que você tenha usado o protocolo HTTP normal em seu ambiente de teste para conectar o driver do aplicativo de usuário ao JBoss, ou então, tenha usado um certificado com auto-assinatura (como medida temporária) na comunicação driver/servidor de aplicativos. Por outro lado, é provável que, no ambiente de produção, você utilize conexões seguras, com autenticação de servidor baseada no certificado da Verisign (ou de outro provedor confiável) de sua empresa.

Tipicamente, os certificados X.509 podem ser usados em diversos lugares no ambiente do aplicativo de usuário do Identity Manager, conforme mostra o diagrama a seguir.

Descrição: Descrição: Ilustração

As comunicações entre o aplicativo de usuário e o cofre de identidade são protegidos por padrão usando TLS (Transport Layer Security). A instalação do certificado do cofre de identidade (eDirectory) no keystore do JBoss é feita automaticamente no momento da instalação. A menos que você especifique o contrário, o instalador do aplicativo de usuário coloca uma cópia do certificado do eDirectory no armazenamento cacerts padrão do JRE.

O certificado do servidor precisa estar em diversos locais para que as comunicações sejam seguras, como mostra o diagrama. Diversas etapas de configuração podem ser necessárias se você pretende usar um certificado auto-assinado nos vários locais indicados no diagrama por uma caixa JBoss cert ou se prefere usar um certificado emitido por uma AC (autoridade de certificação) confiável como a Verisign.

Certificados auto-assinados

Se você utiliza um certificado de um emissor conhecido e confiável (por exemplo, a Verisign), não são necessárias etapas especiais de configuração. Porém, se você pretende criar e usar um certificado auto-assinado, precisa seguir estas etapas:

  1. Crie um keystore com um certificado auto-assinado usando uma sintaxe de linha de comando semelhante a esta:

    keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore jboss.jks -dname "cn=JBoss,ou=exteNd,o=Novell,l=Waltham,s=MA,c=US" -keypass changeit
    

    Lembre-se de que você está criando o arquivo “jboss.jks”, bem como o certificado.

  2. Copie o arquivo de keystore (jboss.jks) para o diretório do aplicativo de usuário do JBoss, por exemplo:

    cp jboss.jks ~/jboss-4.0.2/server/spitfire/conf
    

Ativando o SSL no JBoss

Para habilitar o SSL no JBoss, localize o arquivo jbossweb-tomcat55.sar em [IDM]/jboss/server/IDM/deploy/. Procure o arquivo server.xml e abra-o em um editor de texto. Para habilitar o SSL, retire o comentário ou adicione uma seção parecida com esta:

<Connector port="8443" address="${jboss.bind.address}" maxThreads="100" strategy="ms" maxHttpHeaderSize="8192" emptySessionPath="true" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/spitfire/conf/jboss.jks" keystorePass="changeit" sslProtocol = "TLS" />

Ativando a segurança SOAP

Em IDM.war, procure o arquivo web.xml e abra-o em um editor de texto. Na parte inferior do arquivo, retire o comentário da seguinte seção:

<security-constraint> <web-resource-collection> <web-resource-name>IDMProv</web-resource-name> <url-pattern>/*</url-pattern> <http-method>POST</http-method> <http-method>GET</http-method> <description>IDM Provisioning Edition</description> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport guarantee> </user-data-constraint> </security-constraint>

Grave o arquivo e o arquivamento. Reinicie o Jboss.

2.2.1 Autenticação mútua

O aplicativo de usuário do Identity Manager oferece suporte a cenários tradicionais de autenticação de servidor (normalmente usada em sessões https com páginas da Web seguras na Web), mas não oferece suporte imediato à autenticação de certificado bidirecional. Contudo, essa função pode ser obtida com o Novell iChain. Portanto, por exemplo, se em sua organização for necessário que os usuários efetuem login com um certificado de usuário, e não com uma senha, isso será possível se você adicionar o iChain ao ambiente.

Para obter mais informações, consulte o representante da Novell.