Oracle Native Network Encryption
O Amazon RDS oferece suporte para a Oracle Native Network Encryption (NNE). Com criptografia de rede nativa, você pode criptografar dados à medida que eles entram e saem de uma instância de banco de dados. O Amazon RDS é compatível com a NNE para todas as edições do Oracle Database.
Uma discussão detalhada sobre a Oracle Native Network Encryption está além do escopo deste guia, mas você deve compreender os pontos fortes e fracos de cada algoritmo e chave antes de decidir sobre uma solução para a sua implantação. Para obter informações sobre os algoritmos e as chaves que estão disponíveis pela Oracle Native Network Encryption, consulte Configurar a criptografia de dados de rede
nota
Você pode usar a Native Network Encryption ou a Secure Sockets Layer, mas não ambas. Para ter mais informações, consulte Oracle Secure Sockets Layer.
Configurações de opção do NNE
Você pode especificar requisitos de criptografia no servidor e no cliente. A instância de banco de dados pode atuar como um cliente quando, por exemplo, usa um link de banco de dados para se conectar a outro banco de dados. Você pode preferir evitar forçar a criptografia no lado do servidor. Por exemplo, talvez você não queira forçar todas as comunicações do cliente a usar criptografia porque o servidor exige isso. Nesse caso, você pode forçar a criptografia no lado do cliente usando as opções do SQLNET.*CLIENT
.
O Amazon RDS oferece suporte para as seguintes configurações da opção NNE.
nota
Ao usar vírgulas para separar valores para uma configuração de opção, não coloque um espaço após a vírgula.
Configuração da opção | Valores válidos | Valores padrão | Descrição |
---|---|---|---|
|
|
|
O comportamento do servidor quando um cliente que usa uma cifra não segura tenta se conectar ao banco de dados. Se for Se a configuração for
|
|
|
|
O comportamento do servidor quando um cliente que usa uma cifra não segura tenta se conectar ao banco de dados. As seguintes cifras são consideradas não seguras:
Se a configuração for Se a configuração for
|
|
|
|
O comportamento de integridade de dados quando uma instância de banco de dados se conecta ao cliente ou um servidor atuando como um cliente. Quando uma instância de banco de dados usa um link de banco de dados, ela atua como um cliente.
|
|
|
|
O comportamento de integridade de dados quando um cliente, ou um servidor atuando como um cliente, conecta-se à instância de banco de dados. Quando uma instância de banco de dados usa um link de banco de dados, ela atua como um cliente.
|
|
|
|
Uma lista de algoritmos de soma de verificação. É possível especificar um valor ou uma lista de valores separados por vírgulas. Se você usar uma vírgula, não insira um espaço após a vírgula; caso contrário, você receberá um erro Este parâmetro e o |
|
|
|
Uma lista de algoritmos de soma de verificação. É possível especificar um valor ou uma lista de valores separados por vírgulas. Se você usar uma vírgula, não insira um espaço após a vírgula; caso contrário, você receberá um erro Este parâmetro e o |
|
|
|
O comportamento de criptografia do cliente quando um cliente, ou um servidor atuando como cliente, se conecta à instância de banco de dados. Quando uma instância de banco de dados usa um link de banco de dados, ela atua como um cliente.
|
|
|
|
O comportamento de criptografia do servidor quando um cliente, ou um servidor atuando como cliente, se conecta à instância de banco de dados. Quando uma instância de banco de dados usa um link de banco de dados, ela atua como um cliente.
|
|
|
|
Uma lista de algoritmos de criptografia usados pelo cliente. Para descriptografar a entrada do servidor, o cliente experimenta cada algoritmo, em ordem, até que um deles seja bem-sucedido ou até atingir o final da lista. O Amazon RDS usa a seguinte lista padrão do Oracle. O RDS inicia com
É possível especificar um valor ou uma lista de valores separados por vírgulas. Se você usar uma vírgula, não insira um espaço após a vírgula; caso contrário, você receberá um erro Este parâmetro e o |
|
|
|
Uma lista de algoritmos de criptografia usados pela instância de banco de dados. A instância de banco de dados usa cada algoritmo, em ordem, para tentar descriptografar a entrada do cliente até que um algoritmo seja bem-sucedido ou até atingir o final da lista. O Amazon RDS usa a seguinte lista padrão do Oracle. Você pode alterar a ordem ou restringir os algoritmos que o cliente aceitará.
É possível especificar um valor ou uma lista de valores separados por vírgulas. Se você usar uma vírgula, não insira um espaço após a vírgula; caso contrário, você receberá um erro Este parâmetro e o |
Adicionar a opção do NNE
O processo geral para adicionar as opções do NNE a uma instância de banco de dados é o seguinte:
Crie um novo grupo de opções, ou copie ou modifique um existente.
Adicione a opção ao grupo de opções.
Associe o grupo de opções à instância de banco de dados.
Quando o grupo de opções estiver ativo, a NNE ficará ativa.
Para adicionar a opção NNE a uma instância de banco de dados usando o AWS Management Console
-
Para Engine (Mecanismo), escolha a edição do Oracle que deseja usar. NNE é compatível em todas as edições.
-
Para Major engine version (Versão do mecanismo principal), escolha a versão da sua instância de banco de dados.
Para ter mais informações, consulte Criar um grupo de opções.
-
Adicione a opção NNE ao grupo de opções. Para mais informações sobre a adição de opções, consulte Adicionar uma opção a um grupo de opções.
nota
Depois de adicionar a opção NNE, você não precisará reiniciar suas instâncias de banco de dados. Assim que o grupo de opções estiver ativo, o NNE ficará ativo.
-
Aplique o grupo de opções a uma instância de banco de dados nova ou existente:
-
Para uma nova instância de banco de dados, você aplica o grupo de opções ao executar a instância. Para ter mais informações, consulte Criar uma instância de banco de dados do Amazon RDS.
-
Para uma instância de banco de dados existente, você aplica o grupo de opções modificando a instância e anexando o novo grupo de opções. Depois de adicionar a opção NNE, você não precisará reiniciar sua instância de banco de dados. Assim que o grupo de opções estiver ativo, o NNE ficará ativo. Para ter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.
-
Como definir valores de NNE no sqlnet.ora
Com a Oracle Native Network Encryption, você pode configurar a criptografia de rede no lado do servidor e no lado do cliente. O cliente é o computador usado para realizar a conexão com a instância de banco de dados. Você pode especificar as seguintes configurações de cliente no slqnet.ora:
-
SQLNET.ALLOW_WEAK_CRYPTO
-
SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS
-
SQLNET.CRYPTO_CHECKSUM_CLIENT
-
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT
-
SQLNET.ENCRYPTION_CLIENT
-
SQLNET.ENCRYPTION_TYPES_CLIENT
Para obter informações, consulte Configurar a criptografia de dados da rede e a integridade para clientes e servidores Oracle
Às vezes, a instância de banco de dados rejeita uma solicitação de conexão de uma aplicação. Por exemplo, uma rejeição pode ocorrer quando os algoritmos de criptografia no cliente e no servidor não correspondem. Para testar a Oracle Native Network Encryption, adicione as seguintes linhas ao arquivo sqlnet.ora no cliente:
DIAG_ADR_ENABLED=off TRACE_DIRECTORY_CLIENT=/tmp TRACE_FILE_CLIENT=nettrace TRACE_LEVEL_CLIENT=16
Quando ocorre uma tentativa de conexão, as linhas anteriores geram um arquivo de rastreamento no cliente chamado /tmp/nettrace*
. O arquivo de rastreamento contém informações sobre a conexão. Para ter mais informações sobre problemas de conexão quando você estiver usando a Oracle Native Network Encryption, consulte About negotiating encryption and integrity
Como modificar configurações de opção da NNE
Depois de habilitar o NNE, é possível modificar as configurações. Atualmente, você pode modificar as configurações da opção NNE somente com a AWS CLI ou a API do RDS. Não é possível usar o console. Para saber como modificar as configurações da opção usando a CLI, consulte AWS CLI. Para ter mais informações sobre cada configuração, consulte Configurações de opção do NNE.
Modificar valores de CRYPTO_CHECKSUM_*
Se você modificar as configurações de opções de NNE, certifique-se de que as seguintes configurações de opções tenham pelo menos uma cifra comum.
-
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER
-
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT
O exemplo a seguir mostra um cenário no qual você modifica SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER
. A configuração é válida porque CRYPTO_CHECKSUM_TYPES_CLIENT
e CRYPTO_CHECKSUM_TYPES_SERVER
usam SHA256
.
Configuração da opção | Valores antes da modificação | Valores após modificação |
---|---|---|
|
|
Sem alterações |
|
|
SHA1,MD5,SHA256 |
Como outro exemplo, suponha que você queira modificar SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER
de sua configuração padrão para SHA1,MD5
. Nesse caso, certifique-se de que tenha definido SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT
como SHA1
ou MD5
. Esses algoritmos não são incluídos nos valores padrão para SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT
.
Modificar as configurações de ALLOW_WEAK_CRYPTO*
Para definir as opções SQLNET.ALLOW_WEAK_CRYPTO*
do valor padrão para FALSE
, certifique-se de que as seguintes condições sejam atendidas:
-
SQLNET.ENCRYPTION_TYPES_SERVER
eSQLNET.ENCRYPTION_TYPES_CLIENT
têm um método de criptografia segura correspondente. Um método é considerado seguro se não forDES
,3DES
ouRC4
(todos os comprimentos de chaves). -
SQLNET.CHECKSUM_TYPES_SERVER
eSQLNET.CHECKSUM_TYPES_CLIENT
têm um método de soma de verificação segura correspondente. Um método é considerado seguro se não forMD5
. -
O cliente é corrigido com a PSU de julho de 2021. Se o cliente não for corrigido, o cliente perderá a conexão e receberá o erro
ORA-12269
.
O exemplo a seguir mostra as configurações de NNE de exemplo. Suponha que você queira definir SQLNET.ENCRYPTION_TYPES_SERVER
e SQLNET.ENCRYPTION_TYPES_CLIENT
para FALSE, bloqueando conexões não seguras. As configurações da opção de soma de verificação atendem aos pré-requisitos porque ambas têm SHA256
. No entanto, SQLNET.ENCRYPTION_TYPES_CLIENT
e SQLNET.ENCRYPTION_TYPES_SERVER
usam os métodos de criptografia DES
, 3DES
e RC4
, que não são seguros. Portanto, para definir as opções de SQLNET.ALLOW_WEAK_CRYPTO*
para FALSE
, primeiro defina SQLNET.ENCRYPTION_TYPES_SERVER
e SQLNET.ENCRYPTION_TYPES_CLIENT
para um método de criptografia seguro, como AES256
.
Configuração da opção | Valores |
---|---|
|
|
|
SHA1,MD5,SHA256 |
|
|
|
|
Remover a opção NNE
Você pode remover o NNE de uma instância de banco de dados.
Para remover o NNE de uma instância de banco de dados, siga um destes procedimentos:
-
Para remover o NNE de várias instâncias de bancos de dados, remova a opção NNE do grupo de opções ao qual elas pertencem. Essa alteração afeta todas as instâncias de bancos de dados que usam o grupo de opções. Depois de remover a opção NNE, você não precisará reiniciar suas instâncias de banco de dados. Para ter mais informações, consulte Remover uma opção de um grupo de opções.
-
Para remover o NNE de uma única instância de banco de dados, modifique essa instância e especifique um grupo de opções diferente que não inclua a opção NNE. Você pode especificar um grupo de opções padrão (vazio) ou criar um grupo de opções personalizado diferente. Depois de remover a opção NNE, você não precisará reiniciar sua instância de banco de dados. Para ter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.