Segurança do Amazon RDS

Saiba mais sobre os recursos de segurança no Amazon RDS

O Amazon RDS é um serviço gerenciado de banco de dados relacional que fornece oito mecanismos de banco de dados conhecidos para você escolher, incluindo: Amazon Aurora, edição compatível com PostgreSQLAmazon Aurora, edição compatível com MySQLRDS para PostgreSQLRDS para MySQLRDS para MariaDBRDS para SQL ServerRDS para Oracle e RDS para Db2.

O Amazon RDS e o Amazon Aurora fornecem um conjunto de atributos para garantir que seus dados sejam armazenados e acessados com segurança. Execute seu banco de dados na Amazon Virtual Private Cloud (VPC) para isolamento em nível de rede. Use grupos de segurança para controlar quais endereços IP ou instâncias do Amazon EC2 podem se conectar aos seus bancos de dados. Esse firewall integrado impede qualquer acesso ao banco de dados, exceto por meio de regras que você especifica.

Use políticas do AWS Identity and Access Management (IAM) para atribuir permissões que determinam quem tem permissão para gerenciar recursos do Amazon RDS. Use os atributos de segurança do seu mecanismo de banco de dados para controlar quem pode fazer login nos bancos de dados, da mesma forma que você faria se o banco de dados estivesse na sua rede local. Você também pode mapear usuários de bancos de dados a perfis do IAM para acesso federado.

Use conexões Secure Socket Layer / Transport Layer Security (SSL/TLS) para criptografar dados em trânsito. Criptografe seu armazenamento de banco de dados e backups em repouso usando o Amazon Key Management Service (KMS). Monitore a atividade do banco de dados e faça integrações com aplicações de segurança de banco de dados de parceiros com o Database Activity Streams.

Criptografia de dados em repouso

O Amazon RDS criptografa seus bancos de dados usando chaves que você gerencia com o AWS Key Management Service (KMS). Em uma instância de banco de dados em execução com a criptografia do Amazon RDS, os dados ociosos mantidos no armazenamento subjacente são criptografados, bem como os backups automáticos, as réplicas de leitura e os snapshots desses dados. A criptografia do Amazon RDS usa o algoritmo de criptografia AES-256 padrão do setor para criptografar seus dados no servidor que hospeda sua instância do Amazon RDS.

O Amazon RDS também é compatível com Transparent Data Encryption (TDE) para SQL Server (SQL Server Enterprise Edition e Standard Edition) e Oracle (opção Oracle Advanced Security no Oracle Enterprise Edition). Com a TDE, o servidor de banco de dados criptografa automaticamente os dados antes de serem gravados no armazenamento e os descriptografa automaticamente quando são lidos do armazenamento.

Criptografia de dados em trânsito

Criptografe as comunicações entre sua aplicação e instância de banco de dados usando SSL/TLS. O Amazon RDS cria um certificado SSL e o instala na instância de banco de dados quando a instância é provisionada. Para iniciar o cliente mysql no MySQL, use o parâmetro --ssl_ca para referência à chave pública a fim de criptografar as conexões. No SQL Server, faça download da chave pública e importe o certificado para o sistema operacional Windows. O RDS para Oracle usa criptografia de rede nativa da Oracle com uma instância de banco de dados. Basta adicionar a opção de criptografia de rede nativa a um grupo de opções e associar esse grupo à instância de banco de dados. Após estabelecer uma conexão criptografada, os dados transferidos entre a instância de banco de dados e sua aplicação serão criptografados durante a transferência. Além disso, é possível definir que sua instância de banco de dados aceite apenas conexões criptografadas.

Controle de acesso

O Amazon RDS é integrado ao AWS Identity and Access Management (IAM) e oferece a capacidade de controlar as ações que seus usuários e grupos do AWS IAM podem realizar em recursos específicos (por exemplo, instâncias de banco de dados, snapshots de banco de dados, grupos de parâmetros de banco de dados, assinaturas de eventos de banco de dados e grupos de opções de banco de dados). Além disso, você pode marcar recursos e controlar as ações que os usuários e grupos do IAM podem realizar em grupos de recursos que têm a mesma etiqueta (e valor de etiqueta). Para obter mais informações sobre a integração do IAM, consulte a documentação sobre autenticação de banco de dados do IAM.

Além disso, é possível atribuir tags aos recursos do Amazon RDS e controlar as ações que seus usuários e grupos do IAM podem executar em grupos de recursos com a mesma tag e o mesmo valor associado. Por exemplo, você pode configurar regras do IAM para assegurar que os desenvolvedores possam modificar as instâncias de "desenvolvimento" do banco de dados, mas que apenas os administradores do banco de dados possam modificar e excluir instâncias de "produção" do banco de dados.

Quando cria inicialmente uma instância de banco de dados no Amazon RDS, você também cria uma conta de usuário principal, que apenas é usada no contexto do Amazon RDS para controlar o acesso às suas instâncias de banco de dados. A conta de usuário principal é uma conta de usuário de banco de dados nativa que permite fazer login na instância de banco de dados com todos os privilégios do banco de dados. É possível especificar o nome do usuário principal e a senha que deseja associar a cada instância de banco de dados ao criar a instância de banco de dados. Após a criação da instância de banco de dados, você pode se conectar ao banco de dados usando as credenciais do usuário principal. Posteriormente, você poderá criar contas de usuários adicionais para restringir quem pode acessar sua instância de banco de dados.

Isolamento de rede e firewall de banco de dados

A Amazon Virtual Private Cloud (VPC) permite isolar as instâncias de banco de dados na sua própria rede virtual e conectá-las à infraestrutura de TI existente utilizando uma VPN IPsec criptografada com o padrão do setor.

A Amazon VPC permite que você isole suas Instâncias de BD ao especificar a faixa de IP que você deseja usar, além de conectar com sua infraestrutura de TI por meio do padrão IPsec VPN da indústria para criptografia. A execução do Amazon RDS em uma VPC permite que você tenha uma instância de banco de dados em uma sub-rede privada. Você também pode configurar um gateway privado virtual que estende sua rede corporativa até sua VPC e permite acesso à instância de banco de dados Amazon RDS nessa VPC. Consulte o Guia do usuário da Amazon VPC para obter mais detalhes. As instâncias de banco de dados implementadas em uma Amazon VPC podem ser acessadas a partir da Internet ou de instâncias do Amazon EC2 externas à VPC, por meio de VPNs ou bastion hosts que você pode executar em sua sub-rede pública. Para usar um bastion host, você precisará configurar uma sub-rede pública em uma instância do EC2 que atue como um SSH Bastion. Essa sub-rede pública deve ter um gateway da Internet e regras de roteamento que permitam que o tráfego seja direcionado utilizando o host SSH, o qual deve encaminhar solicitações para o endereço IP privado de sua instância de banco de dados do Amazon RDS. Os grupos de segurança de banco de dados podem ser usados para ajudar a proteger instâncias de banco de dados em um Amazon VPC. Além disso, é possível permitir ou negar o tráfego de rede que entrar e sair de cada sub-rede por meio de listas de controle de acesso (ACLs) de rede. Todo o tráfego de rede que entrar ou sair da Amazon VPC por meio de sua conexão VPN IPsec pode ser inspecionado por sua infraestrutura de segurança on-premises, incluindo firewalls de rede e sistemas de detecção de invasões.

Database Activity Streams

Além das ameaças externas à segurança, os bancos de dados gerenciados precisam fornecer proteção contra riscos internos dos administradores de banco de dados (DBAs). O Database Activity Streams, atualmente compatíveis com o Amazon Aurora e o Amazon RDS para Oracle, fornece um fluxo de dados em tempo real da atividade do banco de dados no seu banco de dados relacional. Quando integrado com ferramentas de monitoramento de atividades de banco de dados de terceiros, você pode monitorar e auditar a atividade do banco de dados para fornecer salvaguardas para seu banco de dados e atender a requisitos regulamentares e de conformidade.

O Database Activity Streams protege seu banco de dados contra ameaças internas, implementando um modelo de proteção que controla o acesso do DBA ao fluxo de atividades do banco de dados. Assim, a coleta, transmissão, armazenamento e subsequente processamento do fluxo de atividade de banco de dados está além do acesso dos administradores de banco de dados que gerenciam o banco de dados.

O fluxo é enviado para um stream de dados do Amazon Kinesis, que é criado em nome do seu banco de dados. A partir do Kinesis Data Firehose, o fluxo de atividades do banco de dados pode então ser consumido pelo Amazon CloudWatch ou por aplicações de parceiros para gerenciamento de conformidade, como o IBM Security Guardium. Essas aplicações de parceiros podem usar as informações do stream de atividade de banco de dados para gerar alertas e oferecer auditoria de toda a atividade dos bancos de dados do Amazon Aurora.

Você pode saber mais sobre o uso do Database Activity Streams para as edições do Aurora compatíveis com PostgreSQL e MySQL na página da documentação e, para o Amazon RDS para Oracle, na página de documentação.

Conformidade

O Amazon RDS está comprometido em oferecer aos clientes uma framework de conformidade sólida, ferramentas avançadas e medidas de segurança que os clientes podem usar para avaliar, atender e demonstrar conformidade com os requisitos legais e regulamentares aplicáveis. Os clientes devem analisar o Modelo de Responsabilidade Compartilhada da AWS e mapear suas responsabilidades e as do Amazon RDS. Os clientes também podem usar o AWS Artifact para acessar os relatórios de auditoria do RDS e realizar sua avaliação das responsabilidades de controle.

Para obter mais informações, acesse a página de conformidade da AWS.

Perguntas frequentes

O Amazon RDS fornece orientação sobre práticas recomendadas analisando a configuração e as métricas de uso das suas instâncias de banco de dados. As recomendações abrangem áreas como segurança, criptografia, IAM e VPC. Você pode navegar pelas recomendações disponíveis e executar uma ação recomendada imediatamente, programá-la para a próxima janela de manutenção ou simplesmente ignorá-la.

A Amazon VPC permite criar um ambiente de rede virtual em uma seção privada e isolada da Nuvem AWS, onde poderá exercer controle total sobre aspectos como intervalos de endereços IP privados, sub-redes, tabelas de roteamento e gateways de rede. Com a Amazon VPC, você pode definir uma topologia de rede virtual e personalizar a configuração da rede para que ela se assemelhe a uma rede IP tradicional, que poderá ser operada em seu próprio datacenter.

Uma das maneiras de usar a VPC é quando você quer executar uma aplicação Web voltada ao público, mantendo os servidores de back-end em uma sub-rede privada sem acesso público. Você pode criar uma sub-rede pública para seus servidores web que têm acesso à Internet, e colocar as suas instâncias de banco de dados do Amazon RDS de backend em uma sub-rede privada. Para obter mais informações sobre a Amazon VPC, consulte o Guia do usuário da Amazon Virtual Private Cloud.

Se a sua conta da AWS foi criada antes de 04/12/2013, pode ser possível executar o Amazon RDS em um ambiente Amazon Elastic Compute Cloud (EC2)-Classic. A funcionalidade básica do Amazon RDS é a mesma para ambientes EC2-Classic ou EC2-VPC. O Amazon RDS gerencia backups, correções de software, detecção e recuperação de erros automáticas, réplicas de leitura, seja suas instâncias de banco de dados implantadas dentro ou fora de uma VPC. Para obter mais informações sobre as diferenças entre o EC2-Classic e o EC2-VPC, consulte a documentação do EC2.

Um grupo de sub-redes de banco de dados é uma coleção de sub-redes que você pode designar para as instâncias de banco de dados do Amazon RDS em uma VPC. Cada grupo de sub-redes de banco de dados deve ter, no mínimo, uma sub-rede para cada zona de disponibilidade em uma determinada região. Ao criar uma instância de banco de dados em uma VPC, você precisará selecionar um grupo de sub-redes de banco de dados. O Amazon RDS utiliza esse grupo de sub-redes de banco de dados e sua zona de disponibilidade preferencial para selecionar uma sub-rede e um endereço IP naquela sub-rede. O Amazon RDS cria e associa uma interface de rede elástica para sua Instância de Banco de Dados com esse endereço de IP.

Observe que é altamente recomendado que você use o nome do DNS para se conectar à instância de banco de dados, pois o endereço IP subjacente pode ser alterado (por exemplo, durante um failover).

Para implantações multi-AZ, a definição de uma sub-rede para todas as zonas de disponibilidade em uma região permitirá ao Amazon RDS criar um novo banco de dados em espera em outra zona de disponibilidade, caso seja necessário. Você precisa fazer isso mesmo para implementações Single-AZ, caso queira convertê-las em implementações Multi-AZ em algum momento.

Para ver um procedimento que orienta você nesse processo, consulte Criar uma instância de banco de dados em uma VPC no Guia do usuário do Amazon RDS.

Visite a seção Grupos de segurança do Guia do usuário do Amazon RDS para saber mais sobre as diferentes maneiras de controlar o acesso às suas instâncias de banco de dados.

Instâncias de banco de dados implantadas em uma VPC podem ser acessadas por instâncias do EC2 implantadas na mesma VPC. Caso essas instâncias de EC2 estejam implantadas em uma sub-rede pública com IPs elásticos associados, você poderá acessar as instâncias de EC2 por meio da Internet. As instâncias de banco de dados implantadas em uma VPC podem ser acessadas através da Internet ou de instâncias do EC2 externas à VPC utilizando uma VPN ou bastion hosts, que você pode executar em sua sub-rede pública, ou pela opção Acessível publicamente do Amazon RDS:

  • Para usar um host bastion, você precisará configurar uma sub-rede pública com uma instância do EC2 que atue como um Bastion SSH. Essa sub-rede pública deve ter um gateway da Internet e regras de roteamento que permitam que o tráfego seja direcionado via host SSH, que deve então encaminhar as solicitações ao endereço IP privado da sua instância de banco de dados do Amazon RDS.
  • Para usar conectividade pública, basta criar suas instâncias de banco de dados com a opção publicamente acessível definida como sim. Com a opção publicamente acessível ativa, as suas instâncias de banco de dados de uma VPC estarão totalmente acessíveis de fora da VPC por padrão. Isso significa que você não precisa configurar uma VPN ou um bastion host para permitir o acesso às suas instâncias. 

Você também pode configurar um gateway de VPN que estenda sua rede corporativa para sua VPC, e permita o acesso para a instância de banco de dados do Amazon RDS naquele VPC. Consulte o Guia do usuário da Amazon VPC para obter mais detalhes.

Observe que é altamente recomendável que você use um nome de DNS para conectar com sua Instância de Banco de Dados conforme o endereço de IP subjacente pode ser alterado (p.ex., durante um failover).

Se a sua instância de banco de dados não estiver localizada em uma VPC, será possível usar o Console de Gerenciamento da AWS para transferir facilmente a instância de banco de dados para a VPC. Consulte o Guia do usuário do Amazon RDS para obter mais detalhes. Você pode também criar um snapshot da sua instância de banco de dados fora da VPC e restaurá-la na VPC ao especificar o grupo de sub-rede de banco de dados que você deseja usar. Como alternativa, você também pode realizar a operação "Restore to Point in Time".

A migração de instâncias de banco de dados da VPC interna para externa não é compatível. Por motivos de segurança, um snapshot de banco de dados de uma instância de banco de dados da VPC interna não pode ser restaurado para a VPC externa. O mesmo se aplica à funcionalidade de restauração para point-in-time. 

Você é responsável por modificar as tabelas de roteamento e as ACLs de rede em sua VPC para garantir que a instância de banco de dados seja acessível usando as instâncias de cliente na VPC. Para implantações multi-AZ, após um failover, a instância de cliente do EC2 e a instância de banco de dados do Amazon RDS podem estar em diferentes zonas de disponibilidade. Você deve configurar suas ACLs de rede para garantir que a comunicação entre as zonas de disponibilidade seja possível.

Um grupo de sub-rede de banco de dados existente pode ser atualizado para adicionar mais sub-redes para zonas de disponibilidade existentes ou para novas zonas de disponibilidade adicionadas após a criação da instância de banco de dados. Remover sub-redes de um grupo de sub-redes de banco de dados existente pode causar indisponibilidade em instâncias, caso elas estejam sendo executadas em uma AZ específica removida do grupo de sub-redes. Consulte o Guia do usuário do Amazon RDS para obter mais informações.

Para começar a utilizar o Amazon RDS, é necessário ter uma conta de desenvolvedor da AWS. Se você não tiver uma antes de se cadastrar para o Amazon RDS, você será solicitado a criar uma ao iniciar o processo de cadastramento. Uma conta de usuário principal é diferente de uma conta de desenvolvedor da AWS e é usada somente no contexto do Amazon RDS para controlar o acesso à(s) sua(s) instância(s) de banco de dados. A conta de usuário principal é uma conta de usuário de banco de dados nativa que você pode utilizar para se conectar à sua instância de banco de dados. 

É possível especificar o nome do usuário principal e a senha que deseja associar a cada instância de banco de dados ao criar a instância de banco de dados. Após criar sua instância de banco de dados, é possível conectar-se ao banco de dados utilizando as credencias de usuário principal. Consequentemente, você também pode desejar criar contas de usuário adicionais para restringir quem pode acessar sua Instância de banco de dados.

Para o MySQL, os privilégios padrão para o usuário principal incluem: criar, remover, referências, evento, alterar, excluir, indexar, inserir, selecionar, atualizar, criar tabelas temporárias, bloquear tabelas, disparar, criar visualização, exibir visualização, alterar rotina, criar rotina, executar, disparar, criar usuário, processar, exibir banco de dados, conceder opção.

Para o Oracle, a função “dba” é concedida ao usuário principal. O usuário principal herda a maioria dos privilégios associados com a função. Leia o Guia do usuário do Amazon RDS para ver a lista de privilégios restritos e as alternativas correspondentes para realizar tarefas administrativas que podem exigir esses privilégios.

Para o SQL Server, um usuário que criar um banco de dados receberá a função de “db_owner”. Leia o Guia do usuário do Amazon RDS para obter a lista de privilégios restritos e as alternativas correspondentes para realizar tarefas administrativas que podem exigir esses privilégios.

Não, tudo funciona da mesma maneira que com um banco de dados relacional que você mesmo gerencia.

Sim. Você deve ativar intencionalmente a capacidade de acessar o banco de dados pela internet configurando os Grupos de segurança. Você pode autorizar acesso somente para IPs, faixas de IP ou sub-redes específicos correspondentes a servidores em seu próprio datacenter.

Sim, essa opção é compatível com todos os mecanismos do Amazon RDS. O Amazon RDS gera um certificado SSL/TLS para cada instância de banco de dados. Após estabelecer uma conexão criptografada, os dados transferidos entre a instância de banco de dados e sua aplicação serão criptografados durante a transferência. Apesar do SSL/TLS oferecer benefícios de segurança, tenha em mente que a criptografia SSL é uma operação intensiva computacionalmente que aumentará a latência de sua conexão com o banco de dados. O Amazon RDS oferece suporte ao SSL/TLS para criptografar a conexão entre a aplicação e a instância de banco de dados, e não deve ser usado para autenticar a própria instância de banco de dados.

Para obter detalhes sobre como estabelecer uma conexão criptografada com o Amazon RDS, acesse o Guia do Usuário do Amazon RDS para MySQL, MariaDB, PostgreSQL ou Oracle.

O Amazon RDS oferece suporte à criptografia de dados em repouso para todos os mecanismos de banco de dados usando chaves gerenciadas por você no AWS Key Management Service (KMS). Em uma instância de banco de dados em execução com a criptografia do Amazon RDS, os dados ociosos mantidos no armazenamento subjacente são criptografados, bem como os backups automáticos, as réplicas de leitura e os snapshots desses dados. A criptografia e a descriptografia são processadas de forma transparente. Para obter mais informações sobre o uso do KMS com o Amazon RDS, consulte o Guia do usuário do Amazon RDS.

Você também pode adicionar criptografia a uma instância ou cluster de banco de dados previamente não criptografado criando um DB snapshot, criando uma cópia desse snapshot e especificando uma chave de criptografia do KMS. Em seguida, você pode restaurar uma instância ou um cluster de banco de dados criptografado a partir do snapshot criptografado.

O Amazon RDS para Oracle e SQL Server oferecem suporte às tecnologias Transparent Data Encryption (TDE)desses mecanismos. Para obter mais informações, consulte o Guia do usuário do Amazon RDS para Oracle e SQL Server.

Não, uma instância Oracle no Amazon RDS não pode ser integrada ao AWS CloudHSM. Para usar a Transparent Data Encryption (TDE) com o AWS CloudHSM, o banco de dados Oracle precisa ser instalado no Amazon EC2.

Você controla as ações que usuários e grupos do AWS IAM podem executar nos recursos do Amazon RDS. Faça isso referenciando os recursos do Amazon RDS nas políticas do AWS IAM aplicadas a seus usuários e grupos. Os recursos do Amazon RDS que podem ser referenciados em uma política do IAM da AWS incluem instâncias de banco de dados, snapshots de banco de dados, réplicas de leitura, grupos de segurança de banco de dados, grupos de opções de banco de dados, grupos de parâmetros de banco de dados, assinaturas de eventos e grupos de sub-redes de banco de dados. 

Além disso, você pode marcar esses recursos para adicionar outros metadados aos seus recursos. Usando a marcação, você pode classificar seus recursos (por exemplo, instâncias de banco de dados de “Desenvolvimento”, instâncias de banco de dados de “Produção” e instâncias de banco de dados de “Teste”), bem como escrever políticas do AWS IAM que listam as permissões (por exemplo, ações) que podem ser realizadas nos recursos com as mesmas etiquetas. Para obter mais informações, consulte Marcar recursos do Amazon RDS.

Sim. O AWS CloudTrail é um serviço Web que registra as chamadas de API da AWS para a sua conta e envia os arquivos de log para você. O histórico de chamadas de APIs da AWS gerado pelo CloudTrail possibilita análises de segurança, rastreamento de alteração de recursos e auditoria de conformidade. 

Sim, todos os mecanismos de banco de dados do Amazon RDS são qualificados para HIPAA, portanto, você pode usá-los para criar aplicações compatíveis com a HIPAA e armazenar informações relacionadas à saúde, incluindo informações de saúde protegidas (PHI), mediante assinatura de um Business Associate Agreement (BAA - acordo de associado comercial) com a AWS.

Se você já tiver um BAA assinado, nenhuma ação será necessária para começar a usar esses serviços nas contas abrangidas pelo seu BAA. Se você não tiver um BAA assinado com a AWS ou tiver qualquer dúvida sobre aplicações em conformidade com a HIPAA na AWS, entre em contato com
seu gerente de conta.

  • Imperva

    A proteção de dados da Imperva se alimenta de eventos do AWS Database Activity Stream (DAS), bem como de várias outras fontes da AWS, adicionando contexto de segurança por meio de analytics poderosas e criadas com propósito específico. A Imperva detecta atividades mal-intencionadas, comportamentos evasivos e uso indevido de privilégios, que podem ser indicadores de contas comprometidas e elementos de ameaças internas. Os benefícios adicionais incluem exploração interativa de dados, automação avançada e pronta para uso e resposta integrada por meio de manuais que reduzem o TCO e preenchem as lacunas de habilidades que a maioria das empresas enfrenta ao migrar para a nuvem.” – Dan Neault, vice-presidente sênior e gerente geral da unidade de negócios de segurança de dados da Imperva.

    Para saber mais, acesse a página sobre segurança de dados da Imperva. »
  • IBM

    O IBM Security® Guardium® Data Protection ajuda a garantir a segurança, a privacidade e a integridade de dados críticos em uma ampla variedade de ambientes, desde bancos de dados a sistemas de big data, híbridos ou na nuvem, de arquivos e muito mais. Estamos entusiasmados com a integração com o AWS Database Activity Streams (DAS). Essa integração proporcionará aos nossos clientes conjuntos visibilidade quase em tempo real da atividade do banco de dados e permitirá que eles identifiquem rapidamente as ameaças e adotem uma abordagem consistente e estratégica para a proteção de dados em ambientes on-premises e na nuvem.” – Benazeer Daruwalla, gerente de ofertas para portfólio de proteção de dados da IBM Security.

    Para saber mais, acesse a página sobre segurança da IBM. »