< Anterior | Próximo >

Lição 2.2: Configurar a Segurança do Servidor de Catálogos

Um servidor de catálogos contém dois níveis de informações de segurança: O primeiro nível contém as propriedades de segurança que são comuns a todos os servidores do WebSphere eXtreme Scale, incluindo o serviço de catálogo e os servidores de contêiner. O segundo nível contém as propriedades de segurança que são específicas para o servidor de catálogos.

As propriedades de segurança que são comuns aos servidores de catálogos e aos servidores de contêiner são configuradas no arquivo descritor XML de segurança. Um exemplo das propriedades comuns é a configuração do autenticador, que representa o registro do usuário e o mecanismo de autenticação. Consulte o Arquivo XML Descritor de Segurança para obter mais informações sobre as propriedades de segurança.

Para configurar o arquivo descritor XML de segurança em um ambiente Java SE, use uma opção -clusterSecurityFile quando executar o comando startOgServer. Especifique um valor em um formato de arquivo, como samples_home/security_extauth/security3.xml.

security3.xml file

Neste tutorial, o arquivo securityWAS2.xml está no diretório samples_home/security_extauth. O conteúdo do arquivo security3.xml com os comentários removidos é o seguinte:
<securityConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://ibm.com/ws/objectgrid/config/security ../objectGridSecurity.xsd"
	xmlns="http://ibm.com/ws/objectgrid/config/security">

	<security securityEnabled="true">
		<authenticator
	className="com.ibm.websphere.objectgrid.security.

plugins.builtins.KeyStoreLoginAuthenticator"> </authenticator> </security> </securityConfig>
As seguintes propriedades são definidas no arquivo security3.xml:
securityEnabled
A propriedade securityEnabled é configurada para true, indicando que a segurança global do WebSphere eXtreme Scale do servidor de catálogos foi ativada.
autenticador
O autenticador é configurado como a classe com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginAuthenticator. Com essa implementação integrada do plug-in Autenticador, o ID do usuário e senha são passados para verificar se ele está configurado no arquivo keystore. A classe KeyStoreLoginAuthenticator usa um alias de módulo de login KeyStoreLogin, portanto, uma configuração de login do Java Authentication and Authorization Service (JAAS) é necessária.

Arquivo catServer3.props

O arquivo de propriedades do servidor armazena as propriedades específicas do servidor, dentre elas as propriedades de segurança específicas do servidor. Consulte o Arquivo de Propriedades do Servidor para obter informações adicionais. É possível usar a opção -serverProps para especificar a propriedade do servidor de catálogos quando executar o comando startOgServer. Para este tutorial, um arquivo catServer3.props é incluído no diretório. O conteúdo do arquivo catServer3.props com os comentários removidos é o seguinte:
securityEnabled=true
credentialAuthentication=Required
transportType=TCP/IP
secureTokenManagerType=none
authenticationSecret=ObjectGridDefaultSecret
securityEnabled
A propriedade securityEnabled é configurada para true para indicar que este servidor de catálogos é um servidor seguro.
credentialAuthentication
A propriedade credentialAuthentication é configurada para Necessária, portanto, qualquer cliente que esteja conectado ao servidor precisa fornecer uma credencial. No arquivo de propriedades do cliente, o valor credentialAuthentication é configurado para Suportado, portanto, o servidor recebe as credenciais que são enviados pelo cliente.
secureTokenManagerType
O secureTokenManagerType está configurado para none para indicar que o segredo da autenticação não é criptografado quando junta os servidores existentes.
authenticationSecret
A propriedade authenticationSecret está configurada para ObjectGridDefaultSecret. Esta sequência secreta é usada para juntar o cluster de servidores eXtreme Scale. Quando um servidor junta a grade de dados, ele é desafiado a apresentar a sequência secreta. Se a sequência secreta do servidor de junção corresponder à sequência no servidor de catálogos, o servidor de junção será aceito. Se a cadeia não corresponder, o pedido de junção é rejeitado.
transportType
A propriedade transportType é configurada inicialmente para TCP/IP. Posteriormente no tutorial, a segurança de transporte é ativada.

Arquivo xsjaas3.config

Como a implementação KeyStoreLoginAuthenticator usa um módulo de login, você deve configurar o modelo de login com um arquivo de configuração de login de autenticação JAAS. O conteúdo do arquivo xsjaas3.config é:

KeyStoreLogin{
com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginModule required
     keyStoreFile="samples_home/security_extauth/sampleKS3.jks" debug = true;
};
Se um local para o samples_home diferente de /wxs_samples/for usado, será necessário atualizar o local do keyStoreFile. Esta configuração de login indica que o módulo com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginModule é usado como o módulo de login. O arquivo keystore é configurado para o arquivo sampleKS3.jks.

O arquivo keystore sampleKS3.jks de amostra armazena dois IDs do usuário e senhas: manager/manager1 e cashier/cashier1.

Os seguintes comandos keytool podem ser usados para criar esse keystore:
  • keytool -genkey -v -keystore ./sampleKS3.jks -storepass sampleKS1 
    -alias manager -keypass manager1 -dname CN=manager,O=acme,OU=OGSample 
    -validity 10000
  • keytool -genkey -v -keystore ./sampleKS3.jks -storepass sampleKS1 
    -alias operator -keypass operator1 -dname CN=operator,O=acme,OU=OGSample 
    -validity 10000

Iniciar o Servidor de Catálogos com a Segurança Ativada

Para iniciar o servidor de catálogos, emita o comando startOgServer com os parâmetros -clusterFile e -serverProps a serem passados nas propriedades de segurança.

Use uma instalação independente do WebSphere eXtreme Scale para executar o servidor de catálogos. Ao usar a imagem de instalação independente, o IBM SDK deve ser usado. É possível usar o SDK que está incluído com o WebSphere Application Server ao definir a variável JAVA_HOME para apontar para o IBM SDK. Por exemplo, set JAVA_HOME=was_root/IBM/WebSphere/AppServer/java/
  1. Acesse o diretório bin.
    cd wxs_home/bin
  2. Executar o comando startOgServer.
    [Linux][Unix]
    ./startOgServer.sh cs1 -listenerPort 16809 -JMXServicePort 16099 -catalogServiceEndPoints
    cs1:[HOST_NAME]:16601:16602 -clusterSecurityFile samples_home/security_extauth/security3.xml
    -serverProps samples_home/security_extauth/catServer3.props -jvmArgs 
    -Djava.security.auth.login.config="samples_home/security_extauth/xsjaas3.config"
    [Windows]
    startOgServer.bat cs1 -listenerPort 16809 -JMXServicePort 16099 -catalogServiceEndPoints
    cs1:[HOST_NAME]:16601:16602 -clusterSecurityFile samples_home/security_extauth/security3.xml
    -serverProps samples_home/security_extauth/catServer3.props -jvmArgs 
    -Djava.security.auth.login.config="samples_home/security_extauth/xsjaas3.config"
Depois de executar o comando startOgServer, um servidor seguro é iniciado com a porta listener 16809, porta do cliente 16601, porta de peer 16602 e a porta JMX 16099. Se existir um conflito de portas, altere o número da porta para um número de porta não usado.

Parar um Servidor de Catálogos com a Segurança Ativada

É possível usar o comando stopOgServer para parar o servidor de catálogos.

  1. Acesse o diretório bin.
    cd wxs_home/bin
  2. Execute o comando stopOgServer. [Linux][Unix]
    stopOgServer.sh cs1 -catalogServiceEndPoints localhost:16809 -clientSecurityFile 
    samples_home/security_extauth/client3.props


    [Windows]
    stopOgServer.bat cs1 -catalogServiceEndPoints localhost:16809 -clientSecurityFile 
    samples_home/security_extauth/client3.props

Ponto de verificação de lições

Você configurou a segurança do servidor de catálogos ao associar os arquivos security3.xml, catServer3.props e xsjaas3.config ao serviço de catálogo.

< Anterior | Próximo >