Índice
Introdução à ativação do TLS na R12.1
- Os dados entre o navegador da Web e o servidor da Web viajam sem criptografia no aplicativo R12. Assim, a senha e outras informações podem ser rastreadas pelo sniffer. Estamos evitando isso implementando o TLS no R12.
- Com a implementação do TLS, os dados trafegam nos formulários criptografados e somente o navegador da Web e o servidor da Web podem descriptografá-los. A implementação requer o certificado SSL e a configuração no ambiente R12 conforme a configuração
Segurança da Camada de Transporte (TLS)
O Transport Layer Security, ou TLS, é o sucessor do SSL. TLS, como SSL, é um protocolo que criptografa o tráfego entre um cliente e um servidor. O TLS cria uma conexão criptografada entre duas máquinas, permitindo que informações privadas sejam transmitidas sem problemas de espionagem, adulteração de dados ou falsificação de mensagens.
O que é SSL?
SSL é uma tecnologia que define as funções essenciais de autenticação mútua, criptografia de dados e integridade de dados para transações seguras. A troca de dados entre o cliente e o servidor em tais transações seguras é chamada de Secure Sockets Layer (SSL). Isso foi preterido em favor da referência TLS preferida daqui para frente.
Como o SSL/TLS funciona
- O cliente envia uma solicitação ao servidor usando o modo de conexão HTTPS.
- O servidor apresenta seu certificado digital ao cliente. Este certificado contém as informações de identificação do servidor, como nome do servidor, organização e chave pública do servidor e assinatura digital da chave privada da CA
- O cliente (navegador da web) possui as chaves públicas de todas as CA. Descriptografa a chave privada do certificado digital Esta verificação comprova que o remetente teve acesso à chave privada e, portanto, é provável que seja a pessoa associada à chave pública. Se a verificação for boa, o servidor será autenticado como um servidor confiável.
- O cliente envia ao servidor uma lista dos níveis de criptografia, ou cifras, que ele pode usar.
- O servidor recebe a lista e seleciona o nível mais forte de criptografia que eles têm em comum.
- O cliente criptografa um número aleatório com a chave pública do servidor e envia o resultado para o servidor (que somente o servidor deve conseguir descriptografar com sua chave privada); ambas as partes usam o número aleatório para gerar uma chave de sessão exclusiva para criptografia e descriptografia subsequentes de dados durante a sessão
Portanto, fica claro a partir das etapas acima, precisaremos de um certificado digital para o servidor web.
Observação importante
Já também lemos o artigo
Como ativar SSL ou TLS no Oracle Apps R12
- O artigo acima fornece as etapas de implementação para SSL V3 /TLS1.0 com Oracle Apps R12.0 e R12.1 Version.
- Este artigo aborda especificamente as etapas para implementação do TLS 1.0/1.1/1.2 na R12.1
A ativação do TLS no R12.1 dependerá da topologia da implementação do R12. Estou aqui destacando todos os principais.
- Uma única implantação de servidor da Web.
Isso é bem simples. Vamos precisar do certificado digital para o servidor web. Os passos são diretos. O tráfego entre o navegador da web e o servidor da web será criptografado
- Ter um balanceador de carga que está servindo para 2 ou mais servidores web torna isso um pouco complicado
Neste caso, poderíamos ter as seguintes opções
- Criptografia de tráfego de ponta a ponta
Todo o fluxo de tráfego, ou seja, do navegador para o balanceador de carga e do balanceador de carga para o servidor web é criptografado
Existem duas maneiras de fazê-lo
- Configuração de passagem :O balanceamento de carga neste caso não descriptografa/criptografa a mensagem. Apenas passa pelo tráfego para o servidor da web
- Descriptografia/criptografia :O balanceamento de carga, neste caso, descriptografa o tráfego no nível do balanceador de carga e, em seguida, criptografa-o novamente e envia-o para o servidor da Web, que o descriptografa novamente
- Terminador SSL:o tráfego entre o navegador da Web e o balanceador de carga é apenas criptografado. O balanceamento de carga atua como terminador de SSL e encerra o SSL no nível do balanceador de carga e passa o tráfego não criptografado para o servidor da web.
As etapas para ativar o TLS no R12.1 em cada topologia são fornecidas abaixo
Uma única implantação de servidor da Web
Etapa 0 :Pré-requisito
1) Atualize para um mínimo de Java Development Kit (JDK) 7.
Para fazer isso, siga as instruções em My Oracle Support Document 1467892.1, Using JDK 7.0 Latest Update with Oracle E-Business Suite Release 12.0 and 12.1.
2) – Atualizar para Oracle HTTP Server (OHS) 10.1.3.5.
Para fazer isso, siga as instruções em My Oracle Support Knowledge Document 454811.1, Upgrading to the Latest Oracle AS 10g 10.1.3.x Patch Definido no Oracle E-Business Suite Release 12.
3) – Aplique a CPU de outubro de 2015 ou uma CPU posterior ao Oracle Fusion Middleware 10.1.3.5.
Baixe o Patch 21845960 para UNIX ou o Patch 21845962 para Windows em Meu Suporte da Oracle e siga as instruções no Documento 2051000.1, Oracle E-Business Suite Releases 11i e 12 Critical Patch Update Knowledge Document (outubro de 2015).
4) – Aplique atualizações específicas da plataforma.
Para AIX e HP Apenas Itanium, aplique também o Patch 21948197 ao Oracle Fusion Middleware 10.1.3.5.
Somente para Windows, aplique também o Patch 22251660 ao Oracle Fusion Middle ware 10.1.3.5.
5) – Aplique o patch 22447165 e 22458773 ao Oracle Fusion Middleware 10.1.3.5.
6) – Aplique patches específicos do produto.
•Oracle Workflow – Aplique o patch 22974534:R12.OWF.B para resolver um problema do Oracle Workflow Notification Mailer.
•Oracle iProcurement – Aplique os patches mencionados no My Oracle Support Knowledge Document 1937220.1, Punch-out no Oracle iProcurement e Exchange falha após a migração do site do fornecedor de SSLv3 para Protocolo TLS (com SSL Handshake SSLIOClosedOverrideGoodbyeKiss), que correspondem à versão apropriada dos aplicativos.
•Oracle iPayment – Certifique-se de atender aos requisitos listados no Documento 1573912.1, All About Oracle Payments Release 12 Wallets and Payments Data Encryption, for Payments configuration . Além disso, aplique o patch 22724663:R12.IBY.B.
•Oracle XML Gateway – Para requisitos de patch do Oracle E-Business Suite Versão 12.1, consulte o Documento 1961140.1, Configurando o Oracle XML Gateway para autenticação SSL/TLS no Oracle E - Versão Business Suite 12.1. Além disso, aplique o patch 22922530:R12.ECX.B.
Etapa 1
Defina seu ambiente
- Faça logon no nível do aplicativo como o usuário do SO que possui os arquivos do nível do aplicativo.
- Origem do arquivo de ambiente da camada do aplicativo (APPS
.env) localizado no diretório APPL_TOP. - Navegue até $INST_TOP/ora/10.1.3 e obtenha o arquivo
.env para definir suas variáveis 10.1.3 ORACLE_HOME. - Vá para o diretório $INST_TOP/certs/Apache
crie um arquivo de configuração OpenSSL específico do host nesse diretório como o seguinte
cat new.cnf [req] prompt = no default_md = sha256 distinguished_name = dn req_extensions = ext [dn] CN = www.example.com O = Example Inc OU = Key Team L = San Diego ST = California C = US [ext] subjectAltName = DNS:www.example.com,DNS:example.com
Explicação
[req] prompt = no do not prompt default_md = sha256 the default message digest should be sha256 based distinguished_name = dn get the Distinguished Name from the [dn] section req_extensions = ext get the extensions from the [ext] section [dn] CN = www.example.com set Common Name to your full hostname O = Example Inc set the Organization to your company name OU = Key Team set Organizational Unit to any team or division within your company L = San Diego set Location to the city of your company's head quarters ST = California set State to the state or province or territory of your company's head quarters C = US set Country to the ISO country code of the county [ext] subjectAltName = DNS:www.example.com,DNS:example.com specify alternate hostnames.If the hostname of your site is WWW.<domain> also add the domain without the leading WWW. here.Otherwise just repeat the Common Name.
Para nosso caso, o arquivo seria
cat new.cnf
[req]
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = ext
[dn]
CN = www.techgoeasy.com
O = techgoeasy
OU = tech
L = Los Angles
ST = California
C = US
[ext]
subjectAltName = DNS: www.techgoeasy.com,DNS:techgoeasy.com
Se você se lembra, isso é semelhante ao que fazemos na carteira com SSL
Etapa 2 Crie o arquivo CSR para geração de certificação
(a) Atualizar PATH
PATH=$<10.1.3 OH>/Apache/open_ssl/bin:$PATH
(b) Certifique-se de que LD_LIBRARY_PATH contenha um caminho para o Oracle Fusion Middleware 10.1.3 ORACLE_HOME/lib.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:< FMW 10.1.3 ORACLE_HOME>/lib
(c) Agora, execute o seguinte comando:
openssl req -newkey rsa:2048 -nodes -keyout server.key -sha256 -out new.csr -config new.cnf
Envie o csr para a autoridade de certificação para obter o certificado
Não estamos usando a carteira Oracle aqui
Etapa 3 Receba o certificado do servidor e os arquivos da cadeia de certificados da CA.
Da CA, você receberá o seguinte:
1) Um certificado de servidor assinado por CA
2) O certificado da CA raiz
3) Os certificados de quaisquer CAs intermediárias necessárias
Se você acabou de receber um arquivo, você pode criar esses arquivos pelo método abaixo
Criação do certificado da sua autoridade de certificação
Para criar ca.crt
- Copie server.crt para o seu PC (se necessário) usando um dos seguintes métodos:
ftp (em modo binário) server.crt para o seu pc
copie o conteúdo de server.crt e cole no bloco de notas do PC. Salve o arquivo como server.crt
- Clique duas vezes em server.crt para abri-lo com a extensão Cyrpto Shell.
- Na guia Caminho de certificação, clique na primeira linha (superior) e depois em Exibir certificado.
- Na guia Detalhes, clique em Copiar para arquivo, isso iniciará o assistente de exportação.
- Clique em Avançar para continuar.
- Selecione X.509 codificado em Base64 (.CER) e clique em Avançar.
- Clique em Procurar e navegue até o diretório de sua escolha.
- Digite ca.crt como o nome e clique em ok para exportar o certificado.
- Feche o assistente.
- Copie ca.crt de volta para o diretório da sua carteira (se necessário) usando um dos seguintes métodos:
ftp (no modo binário) ca.crt para o diretório da carteira da camada do aplicativo. Copie o conteúdo de ca.crt e cole em um novo arquivo no diretório wallet da camada do aplicativo usando um editor de texto. Salve o arquivo como ca.crt
Coloque os arquivos acima no mesmo diretório que contém a chave privada do servidor:server.key.
Você deve garantir que o arquivo de certificado do servidor seja chamado server.crt, o certificado de CA raiz seja chamado ca.crt e que os certificados intermediários estejam em um arquivo chamado intermediario.crt.
Se você não tiver um certificado intermediário , execute o seguinte comando para criar um arquivo intermediário.crt vazio
echo -n > intermediate.crt
Verifique se o diretório $INST_TOP/certs/Apache contém os seguintes arquivos
server.key
new.csr
server.crt
intermediate.crt
ca.crt
Crie um arquivo de certificado para OPMN contendo o certificado do servidor e qualquer certificado intermediário executando o seguinte:
cat server.crt intermediário.crt ca.crt> opmn.crt
Etapa 4 Atualizar o arquivo de contexto
Use o E-Business Suite – Editor de Contexto do Oracle Applications Manager (OAM) para alterar as variáveis relacionadas ao SSL, conforme mostrado nesta tabela:
Variáveis relacionadas a SSL no arquivo de contexto | ||
Variável | Valor não SSL | Valor SSL |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | igual a s_webport | igual a s_webssl_port |
s_webssl_port | não aplicável | o padrão é 4443 |
s_https_listen_parameter | não aplicável | igual a s_webssl_port |
s_login_page | url construído com protocolo http e s_webport | url construído com protocolo https e s_webssl_port |
s_external_url | url construído com protocolo http e s_webport | url construído com protocolo https e s_webssl_port |
Etapa 5 Execute a configuração adicional .
Copie os arquivos originais de
Replace this line in the template:
<ssl enabled="true" wallet-file="%s_web_ssl_directory%/opmn"/>
With the following:
<ssl enabled="true" openssl-certfile="%s_web_ssl_directory%/Apache/opmn.crt" openssl-keyfile="%s_web_ssl_directory%/Apache/server.key" openssl-password="dummy" openssl-lib="%s_weboh_oh%/lib" ssl-versions="TLSv1.0,TLSv1.1,TLSv1.2" ssl-ciphers="AES128-SHA,DES-CBC3-SHA"/>
The instructions here are to comment out one line and to add a new line to reference mod_ssl.so. Modify the following <IfDefine SSL> LoadModule ossl_module libexec/mod_ossl.so </IfDefine> To the following: <IfDefine SSL> #LoadModule ossl_module libexec/mod_ossl.so LoadModule ssl_module libexec/mod_ssl.so </IfDefine>
Step 1 - Comment out the following line in the template: #SSLWallet file:%s_web_ssl_directory%/Apache Step 2 - Add the following 3 lines into the template: SSLCertificateFile %s_web_ssl_directory%/Apache/server.crt SSLCertificateKeyFile %s_web_ssl_directory%/Apache/server.key SSLCertificateChainFile %s_web_ssl_directory%/Apache/intermediate.crt Step 3 - Replace the following: SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM With the following: SSLCipherSuite HIGH:MEDIUM:!aNULL:!RC4:!SEED:!IDEA:!CAMELLIA:+HIGH:+MEDIUM tep 4 - Replace the following: SSLProtocol -all +TLSv1 +SSLv3 With the following: SSLProtocol all -SSLv2 -SSLv3
Etapa 6 Execute configurações adicionais para ativar TLS1.1 e TLS 1.2
A modificação a seguir habilitará os protocolos TLS 1.1 e TLS 1.2 que não são habilitados por padrão no Java 7.
Copie os arquivos originais mencionados na tabela abaixo de
Arquivo de modelo personalizado | Modificação |
( | Adicionar: https.protocols=TLSv1,TLSv1.1,TLSv1.2 |
Etapa 7 Atualize os TrustStores b64InternetCertificate.txt .
Adicione o conteúdo do arquivo ca.crt ao arquivo b64InternetCertificate.txt localizado no diretório 10.1.2 ORACLE_HOME/sysman/config:
$ cat ca.crt>> <10.1.2 ORACLE_HOME>/sysman/config/b64InternetCertificate.txt |
Etapa 8 – Atualize o cacerts TrustStore .
Se você comprou seu certificado de servidor de uma CA comercial, provavelmente não precisará executar esta etapa, pois o certificado de CA raiz já estará presente em cacerts. O comando keytool informará se você tentar adicionar um certificado já presente em cacerts.
Siga estas etapas para garantir que esses requisitos sejam atendidos:
- Navegue até o diretório $OA_JRE_TOP/lib/security.
- Faça backup do arquivo cacerts existente.
- Copie seus arquivos ca.crt para este diretório e emita o comando a seguir para garantir que cacerts tenha permissões de gravação
$ chmod u+w cacerts
Adicione seu Apache ca.crt a cacerts:
$ keytool -importcert -alias ApacheRootCA -file ca.crt -v -keystore cacerts
Quando solicitado, digite a senha do keystore (a senha padrão é “changeit”).
Adicione seu Apache ca.crt a cacerts:
$ keytool -importcert -alias ApacheRootCA -file ca.crt -v -keystore cacerts
Quando solicitado, digite a senha do keystore (a senha padrão é “changeit”).
Adicione seu Apache ca.crt a cacerts:
$ keytool -importcert -alias ApacheRootCA -file ca.crt -v -keystore cacerts
Quando solicitado, digite a senha do keystore (a senha padrão é “changeit”).
$ chmod u-w cacerts
Etapa 9 – Executar a configuração automática
A configuração automática pode ser executada usando o script adautocfg.sh no diretório de camada de aplicativo $ADMIN_SCRIPTS_HOME.
Etapa 10 – Reinicie os serviços do nível de aplicativo
Use o script adapcctl.sh no diretório $ADMIN_SCRIPTS_HOME para parar e reiniciar os serviços do Application Tier Apache.
Etapas a serem usadas ao usar o terminador SSL
Não há necessidade de criação e instalação de certificados no servidor web. Nesse caso, só precisamos definir o parâmetro do arquivo de contexto fornecido abaixo
Mudanças ao usar um Acelerador SSL | ||
Variável | Valor não SSL | Valor SSL |
s_url_protocol | http | http |
s_local_url_protocol | http | http |
s_webentryurlprotocol | http | https |
s_active_webport | igual a s_webport | valor da porta de interface externa do Acelerador SSL |
s_webentryhost | igual a s_webhost | Nome do host do Acelerador SSL |
s_webentrydomain | igual a s_domainname | Nome de domínio do Acelerador SSL |
s_enable_sslterminator | # | remova o '#' para usar ssl_terminator.conf em ambientes terminados em ssl |
s_login_page | url construído com protocolo http e s_webport | url construído com protocolo https, s_webentryhost, s_webentrydomain, s_active_webport |
s_external_url | url construído com protocolo http e s_webport | url construído com protocolo https, s_webentryhost, s_webentrydomain, s_active_webport |
Executar configuração automática
A configuração automática pode ser executada usando o script adautocfg.sh no diretório de camada de aplicativo $ADMIN_SCRIPTS_HOME.
Reinicie os serviços do nível de aplicativo
Use o script adapcctl.sh no diretório $ADMIN_SCRIPTS_HOME para parar e reiniciar os serviços do Application Tier Apache.
Etapas para criptografia de ponta a ponta com configuração de passagem no Load Balancer
1) Todas as etapas fornecidas para um único servidor web precisam ser executadas.
2) O certificado precisa ser criado com o nome do balanceador de carga
3) Podemos executar as etapas do certificado em um nó e depois copiar todas as etapas para os outros nós
Mudanças de valor de contexto
Variáveis relacionadas a SSL no arquivo de contexto | ||
Variável | Valor não SSL | Valor SSL |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | igual a s_webport | igual a s_webssl_port |
s_webssl_port | não aplicável | o padrão é 4443 |
s_https_listen_parameter | não aplicável | igual a s_webssl_port |
s_login_page | url construído com protocolo http e s_webport | url construído com protocolo https e s_webssl_port |
s_external_url | url construído com protocolo http e s_webport | url construído com protocolo https e s_webssl_port |
Executar configuração automática
A configuração automática pode ser executada usando o script adautocfg.sh no diretório de camada de aplicativo $ADMIN_SCRIPTS_HOME.
Reinicie os serviços do nível de aplicativo
Use o script adapcctl.sh no diretório $ADMIN_SCRIPTS_HOME para parar e reiniciar os serviços do Application Tier Apache.
Etapas para criptografia de ponta a ponta com criptografia/descriptografia no Load Balancer
1) Todas as etapas fornecidas para um único servidor web precisam ser executadas.
2) O certificado precisa ser criado no nível do balanceador de carga e no nível do nó da web também. Ele precisa ser criado com o nome do balanceador de carga em ambos os lados
3) Podemos executar as etapas do certificado em um nó da Web e depois copiar todas as etapas para os outros nós
4) O balanceamento de carga deve ter o certificado SSL do cliente para o certificado do nó da Web
Mudanças de valor de contexto
Variáveis relacionadas a SSL no arquivo de contexto | ||
Variável | Valor não SSL | Valor SSL |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | igual a s_webport | igual a s_webssl_port |
s_webssl_port | não aplicável | o padrão é 4443 |
s_https_listen_parameter | não aplicável | igual a s_webssl_port |
s_login_page | url construído com protocolo http e s_webport | url construído com protocolo https e s_webssl_port |
s_external_url | url construído com protocolo http e s_webport | url construído com protocolo https e s_webssl_port |
Executar configuração automática
A configuração automática pode ser executada usando o script adautocfg.sh no diretório de camada de aplicativo $ADMIN_SCRIPTS_HOME.
Reinicie os serviços do nível de aplicativo
Use o script adapcctl.sh no diretório $ADMIN_SCRIPTS_HOME para parar e reiniciar os serviços do Application Tier Apache.
Configuração adicional
Configuração do nível do banco de dados
Produtos Oracle, como Oracle Configurator, Order Management, Order Capture, Quoting, iPayment, iStore e Pricing, estão aproveitando o banco de dados como um cliente HTTP. A implementação do TLS para o Oracle Database Server (que atua como um cliente enviando solicitações ao servidor Web) faz uso do Oracle Wallet Manager para configurar uma carteira Oracle.
Para habilitar a solicitação do cliente HTTPS do banco de dados usando UTL_HTTP, você precisa estabelecer um armazenamento confiável no formato de carteira. Você não precisa de um certificado de servidor para esta carteira. Você só precisa importar o certificado de CA raiz para as CAs raiz que são a âncora de confiança para os sites aos quais você precisa de UTL_HTTP para se conectar.
- Depois de definir seu ambiente para a camada de banco de dados, navegue até o diretório $ORACLE_HOME/appsutil.
- Crie um novo diretório de carteira chamado wallet.
- Navegue até o diretório de carteira recém-criado.
- Abra o Oracle Wallet Manager como um processo em segundo plano.
owm &
- No menu do Oracle Wallet Manager, navegue até Wallet> Novo .
Responda NÃO para:Seu diretório de carteira padrão não existe. Deseja criá-lo agora? A tela da nova carteira agora solicitará que você insira uma senha para sua carteira. Clique em NÃO quando solicitado:Uma nova carteira vazia foi criada. Deseja criar uma solicitação de certificado neste momento? - Se você precisar importar ca.crt, no menu do Oracle Wallet Manager, navegue até Operações> Importar certificado confiável . Clique em OK . Clique duas vezes em ca.crt para importá-lo.
- Salvar a carteira:no menu do Oracle Wallet Manager, clique em Carteira . Verifique o Login automático caixa de seleção está marcada. Clique em Salvar .
Para testar se a carteira está configurada corretamente e acessível, faça login no SQLPLUS como o usuário do aplicativo e execute o seguinte:
SQL>select utl_http.request('[address to access]', '[proxy address]', 'file:[full path to wallet directory]', null) de dual;
onde:
'[endereço para acesso]' =a URL do seu Portal de Instalação Rápida do Oracle E-Business Suite.
‘[endereço do proxy] ' =o URL do seu servidor proxy ou NULL se não estiver usando um servidor proxy.
'file:[full path to wallet directory]' =a localização do diretório da sua carteira (não especifique os arquivos reais da carteira).
O parâmetro final é a senha da carteira, que é definida como nula por padrão.
Exemplos:
SQL>select utl_http.request('https://www.oracle.com/robots.txt','http://www-proxy.com:80', 'file:/d1/oracle/db/tech_st/12.1.0/appsutil/wallet', null) from dual;
SQL>select utl_http.request('https://www.oracle.com/robots.txt',null, 'file:/d1/oracle/db/tech_st/12.1.0/appsutil/wallet', null) from dual;
Se a carteira foi configurada corretamente, você receberá os primeiros 2.000 caracteres da página HTML.
Links relacionados
Habilitando SSL ou TLS no Oracle E-Business Suite Release 12 (Doc ID 2143099.1)
Como encontrar componentes R12 Versão
40 Adpatch pergunta que todo DBA deve saber
comando awk
Comando Keytool