1. Conexão segura Mule para IBM i / AS400
Qualquer pessoa que tenha sido no fim de recepção de uma auditoria PCI sabe que
a criptografia de dados em trânsito é uma coisa sensata a fazer. É um requisito
deve ter para dados de clientes sensíveis, informações de identificação pessoal e
como regra geral deve ser aplicada por defeito a menos que haja uma razão
convincente para não. Neste artigo vou mostrar como se conectem com segurança
Mule para IBM i (AS / 400, iSeries, System i).
fluxos de mula comunicar normalmente com IBM i dados e lógica de negócios
através dos seguintes transportes:
• conector AS400 - trabalha com filas de dados e comandos do sistema
• conector de banco de dados - facilita o acesso direto a dados de aplicativos e
chamadas para procedimentos armazenados do DB2
• Outros protocolos baseados TCP (HTTP, etc FTP)
Neste artigo, vou mostrar como configurar criptografia i servidor IBM e Banco de
Dados Mule seguro e comunicações fila de dados.
IBM i é conhecida por recursos de segurança à prova de bala. A interface de
clientes remotos com o sistema através de servidores host que gerem o acesso ao
tipo específico de IBM i recursos, tais como banco de dados DB2, sistemas de
arquivos, filas de dados, etc. Os servidores Host pode ser configurado para suportar
ou exigir conexões SSL, tanto para os dados criptografia e autenticação do cliente.
Todos os servidores host podem usar o mesmo certificado ou certificados
individuais.
A fim de conectar com segurança Mule para IBM i, os certificados devem ser
configurados e aplicada a servidores host apropriado. Em caso de certificados auto-
assinados criados no IBM i, o cliente precisa confiar no certificado (s) IBM i
autoridade de certificação usada para criptografia de configuração do Host Service.
IBM Navigator para i, a ferramenta de configuração do servidor baseado em
navegador, inclui Gestor de Certificados Digitais que suporta um número de opções
de criptografia e autenticação para IBM i recursos. Para mais informações consulte
o manual de DCM.
IBM i configuração
2. Vamos começar com a criação e atribuição IBM i certificado para servidores host do
banco de dados e fila de dados usando o Gerenciador de Certificado Digital.
Aponte seu navegador para IBM Navigator para i em http: //
your_ibmi_server_name: 2001
Na parte inferior do menu de navegação à esquerda, selecione as opções de
ligação à Internet, em seguida, selecionar o link Gestor de Certificados Digitais
(DCM) na página principal.
Alternativamente, aponte o navegador diretamente para DCM em http: //
your_ibmi_server_name: 2001 / QIBM / ICSS / Cert / Admin / qycucm1.ndm / Main0
As telas abaixo podem ter um olhar pouco diferente e sentir dependendo IBM i
versão, mas funções essenciais permanecem as mesmas.
Click on Select Certificate Store and select *SYSTEM.
3. Se não há nenhuma loja * sistema disponível, crie uma clicando em Criar Novo
Certificado loja e seguir as instruções. Ao criar a loja, optar por não criar o
certificado ainda.
Criar Autoridade de Certificação novo local se não já criado. Siga as instruções para
criar uma nova CA. local Chegar à página onde o sistema pede para criar * loja
OBJECTSIGNING e pressione Cancelar.
Clique no botão Select Certificate Store novamente para voltar à loja * SYSTEM.
Agora estamos prontos para criar novo certificado para criptografar as
comunicações servidores host. Clique em Criar novo certificado servidor ou cliente,
use de autoridade de certificação local para assinatura. Siga as instruções. Na
página Aplicativos, atribuir o certificado recém-criado para os servidores que
necessitam de utilizar este certificado para conexões SSL, por exemplo servidor de
banco de dados, servidor de fila de dados, servidor de comando remoto, servidor
Signon e QIBM_HTTP_SERVER_ <http nome do servidor>. Para esta
demonstração Eu só aplicado o certificado a todos os servidores host.
Em seguida, reiniciar servidores host no IBM i para que as novas regras de
certificado terá um efeito
Instalação do cliente Mule
Grande, o nosso servidor IBM i agora suporta comunicações seguras! Em seguida,
a fim de conectar com segurança Mule para IBM i, precisamos exportar e instalar o
certificado da CA local.
No IBM i Gestor de Certificados Digitais, selecione * SYSTEM armazenamento de
certificados, em seguida, clique em Instalar Certificado de CA Local no seu PC, em
seguida, selecione Copiar e colar certificado
4. Copiar / colar o conteúdo do certificado em um arquivo de texto <nome do
arquivo de certificado> em seu sistema de arquivos.
Criar uma nova truststore ou certificado de importação em truststore existente
keytool -import -alias IBMICERT -file <certificate file name> -
keystore <truststore name>
Fornecer a senha loja e confirmar que esse certificado deve ser confiável.
A fim de conectar com segurança Mule para IBM i hospedar servidores via
canal criptografado, Mule JVM deve usar o truststore com certificado do IBM i.
Para implantações on-prem, o truststore podem ser salvos em qualquer lugar
no servidor de mula, e para aplicações rodando em CloudHub armazenamento
de confiança deve ser empacotado como parte da aplicação.
A maneira rápida e suja é apenas para passar truststore nome e senha como
parâmetros de inicialização JVM javax.net.ssl.trustStore e
javax.net.ssl.trustStorePassword. Esta opção pode não ser ideal para
5. ambientes de produção, uma vez que globalmente define o truststore para
todas as aplicações de mula destacadas para o tempo de execução on-prem,
e exigiria um monte de saltar através dos aros para implantações CloudHub.
Em vez disso, vamos importar truststore na pasta / app src / principal do nosso
aplicativo e definir o contexto SSL padrão na inicialização do aplicativo para
apontar para este truststore. Desta forma, ele vai ser consistente em on-prem
e implantações CloudHub.
Nós vamos adicionar truststore para o contexto SSL aplicativo em tempo de
inicialização usando o componente Java personalizado definido na aplicação
de mula:
<spring:beans>
<spring:bean id="SSLBean" name="SSLBean"
class="IBMiSSLDemo.CustomTrustStore">
<spring:property name="pwd" value="qqqqqq12" />
<spring:property name="path" value="${app.home}/truststore" />
</spring:bean>
</spring:beans>
A classe Java precisa implementar org.mule.api.lifecycle.Initialisable e cargas
TrustStore como contexto SSL padrão no método inicia:
public void initialise() throws InitialisationException{
try {
InputStream trustStream = new FileInputStream(path);
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(trustStream, pwd.toCharArray());
TrustManagerFactory trustFactory = TrustManagerFactory
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustFactory.init(trustStore);
TrustManager[] trustManagers = trustFactory.getTrustManagers();
SSLContext sslContext = SSLContext.getInstance("SSL");
6. sslContext.init(null, trustManagers, null);
SSLContext.setDefault(sslContext);
} catch (Exception e) {
e.printStackTrace();
}
Fila de dados e Comando de encriptação de chamadas
Na maioria dos casos, os eventos que são passados através de filas de dados
contêm apenas a referência de transação. O pedido e resposta de dados reais
é encenado no banco de dados IBM i. Para cenários onde os dados sensíveis
são transmitidos através das filas ou chamadas de comando, a próxima versão
do AS400 Connector introduz nova opção de configuração
"SecureConnection". Quando definido como verdadeiro, o conector irá
criptografar os dados durante a comunicação com IBM i servidores Host. O
certificado CA usada para proteger a fila de dados e servidores Host Chamada
de comando remoto no IBM i lado deve estar disponível para o Mule JVM onde
o aplicativo é executado.
<as400:config name="AS400__Configuration_type_strategy"
endpoint="${endpoint}" userid="${userid}" password="${password}"
doc:name="AS400: Configuration type strategy" libraryList="${libl}"
secureConnection="true">
Conexão de banco de dados seguro
O caso de uso típico é para criptografar os dados em trânsito para as
operações de banco de dados de mula, incluindo leitura e gravação de dados,
bem como DB2 armazenado chamadas de procedimento. Para habilitar a
conexão banco de dados seguro, adicione parâmetro jdbc seguro =
true:jdbc:as400://<ibm i server name>/<default library name>;secure=true
Assim como na configuração do conector AS400, mula deve carregar o certificado
CA confiável para IBM i servidor de banco de dados do host.
7. Para verificar se Mule se conecta ao IBM i através de uma ligação segura, procure
QZDASSINIT emprego no subsistema QUSRWRK, que lida com conexão SSL DB,
ao contrário de QZDASOINIT canal texto claro:
Para recapitular, estamos habilitados a criptografia SSL para IBM i hospedar
servidores usando o Gerenciador de Certificado Digital, conector AS400 Mule, em
seguida, configurado e conector de banco de dados para comunicar através do
canal criptografado. Agora podemos conectar com segurança Mule para IBM i /
servidor As400 para banco de dados, filas de dados, chamada de comando remoto,
e outras comunicações com base TCP.