fbpx

Segurança do Amazon RDS

dbsec1
Compartilhar no facebook
Compartilhar no linkedin
Compartilhar no twitter
Compartilhar no whatsapp

O Amazon Relational Database Service (Amazon RDS) permite criar rapidamente uma Instância de banco de dados relacional (Instância de banco de dados) e escalar com flexibilidade os recursos de computação associados e a capacidade de armazenamento para atender à demanda de aplicativos.

O Amazon RDS gerencia a instância do banco de dados em seu nome, executando backups, manipulando o failover e mantendo o software do banco de dados.

Até o momento em que este artigo foi escrito, o Amazon RDS estava disponível para os mecanismos de banco de dados MySQL, Oracle, Microsoft SQL Server, MariaDB, Amazon Aurora e PostgreSQL.

O Amazon RDS possui vários recursos que aprimoram a confiabilidade de bancos de dados críticos de produção, incluindo grupos de segurança de banco de dados, permissões, conexões SSL, backups automatizados, snapshots de banco de dados e várias implantações da Zona de Disponibilidade (Multi-AZ).

As instâncias de banco de dados também podem ser implantadas em um Amazon VPC para isolamento adicional da rede.

 

Controle de acesso

Quando você cria uma Instância de banco de dados pela primeira vez no Amazon RDS, cria uma conta de usuário principal, que é usada apenas 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 nativa do banco de dados que permite fazer logon na sua Instância de Banco de Dados com todos os privilégios do banco de dados.

Você pode especificar o nome de usuário mestre e a senha que deseja associar a cada Instância de banco de dados ao criar a Instância de banco de dados. Depois de criar sua Instância de banco de dados, você pode se conectar ao banco de dados usando as credenciais de usuário principal. Posteriormente, você pode criar contas de usuário adicionais para restringir quem pode acessar sua instância de banco de dados.

Você pode controlar o acesso à instância do Amazon RDS DB via grupos de segurança do DB, que são semelhantes aos grupos de segurança do Amazon EC2, mas não são intercambiáveis. Os grupos de segurança do banco de dados agem como um firewall que controla o acesso da rede à sua instância de banco de dados. Os grupos de segurança do banco de dados são padrão para negar todo o modo de acesso, e os clientes devem autorizar especificamente a entrada na rede.

Há duas maneiras de fazer isso:

  • Autorizando um intervalo de IP de rede
  • Autorizando um grupo de segurança existente do Amazon EC2

Os grupos de segurança do banco de dados permitem apenas o acesso à porta do servidor de banco de dados (todos os outros estão bloqueados) e podem ser atualizados sem reiniciar a Instância de banco de dados do Amazon RDS, o que fornece controle contínuo do acesso ao banco de dados.

Usando o AWS IAM, você pode controlar ainda mais o acesso às suas instâncias do Amazon RDS DB. O AWS IAM permite controlar as operações do Amazon RDS que cada usuário do AWS IAM tem permissão para chamar.

 

Isolamento de rede

Para controle de acesso à rede adicional, você pode executar suas instâncias de banco de dados em um Amazon VPC. O Amazon VPC permite isolar suas instâncias de banco de dados especificando o intervalo de IPs que você deseja usar e se conectar à sua infraestrutura de TI existente por meio da VPN IPsec criptografada padrão do setor.

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 estenda sua rede corporativa à sua VPC e permita acesso à instância do RDS DB nessa VPC.

Para implantações Multi-AZ, a definição de uma sub-rede para todas as zonas de disponibilidade em uma região permitirá que o Amazon RDS crie um novo modo de espera em outra zona de disponibilidade, se necessário. Você pode criar grupos de sub-rede de banco de dados, que são coleções de sub-redes que você pode designar para suas instâncias de banco de dados do Amazon RDS em um Amazon VPC.

Cada grupo de sub-rede de banco de dados deve ter pelo menos uma sub-rede para cada zona de disponibilidade em uma determinada região. Nesse caso, quando você cria uma instância de banco de dados em um Amazon VPC, você seleciona um grupo de sub-rede de banco de dados; O Amazon RDS usa esse grupo de sub-redes do banco de dados e sua Zona de disponibilidade preferida para selecionar uma sub-rede e um endereço IP dentro dessa sub-rede.

O Amazon RDS cria e associa uma interface de rede elástica à sua instância de banco de dados com esse endereço IP.

As instâncias de banco de dados implantadas em um Amazon VPC podem ser acessadas da Internet ou de instâncias do Amazon EC2 fora do Amazon VPC por meio de hosts VPN ou bastiões que você pode iniciar em sua sub-rede pública.

Para usar um host bastião, você precisará configurar uma sub-rede pública com uma instância do Amazon EC2 que atue como bastião SSH. Essa sub-rede pública deve ter um gateway da Internet e regras de roteamento que permitam direcionar o tráfego através do host SSH, que deve encaminhar solicitações para o endereço IP privado da sua instância do Amazon RDS DB.

Grupos de segurança de banco de dados podem ser usados ​​para ajudar a proteger instâncias de banco de dados dentro de um Amazon VPC. Além disso, o tráfego de rede que entra e sai de cada sub-rede pode ser permitido ou negado por meio de ACLs da rede. Todo o tráfego de rede que entra ou sai do Amazon VPC por meio da conexão VPN IPsec pode ser inspecionado pela infraestrutura de segurança local, incluindo firewalls de rede e sistemas de detecção de intrusão.

 

Criptografia

Você pode criptografar conexões entre seu aplicativo e sua Instância de banco de dados usando SSL. Para MySQL e SQL Server, o Amazon RDS cria um certificado SSL e instala o certificado na instância do banco de dados quando a instância é provisionada.

Para o MySQL, você inicia o cliente MySQL usando o parâmetro –ssl_ca para referenciar a chave pública para criptografar as conexões. Para o SQL Server, baixe a chave pública e importe o certificado para o sistema operacional Windows. O Oracle RDS usa criptografia de rede nativa Oracle com uma instância de banco de dados.

Você simplesmente adiciona a opção de criptografia de rede nativa a um grupo de opções e associa esse grupo de opções à instância do banco de dados. Depois que uma conexão criptografada é estabelecida, os dados transferidos entre a Instância do banco de dados e seu aplicativo serão criptografados durante a transferência.

Você também pode exigir que sua Instância de banco de dados aceite apenas conexões criptografadas.

O Amazon RDS suporta criptografia de dados transparente (TDE) para SQL Server (SQL Server Enterprise Edition) e Oracle (parte da opção Oracle Advanced Security disponível no Oracle Enterprise Edition).

O recurso TDE criptografa automaticamente os dados antes de serem gravados para armazenamento e descriptografa automaticamente os dados quando são lidos do armazenamento. Se você precisar que seus dados MySQL sejam criptografados enquanto estiver descansando no banco de dados, seu aplicativo deverá gerenciar a criptografia e descriptografia de dados.

Observe que o suporte a SSL no Amazon RDS é para criptografar a conexão entre seu aplicativo e sua instância de banco de dados; não deve ser invocado para autenticar a própria instância do banco de dados. Embora o SSL ofereça benefícios de segurança, lembre-se de que a criptografia SSL é uma operação intensiva em computação e aumentará a latência da sua conexão com o banco de dados.

Backups automatizados e snapshots de banco de dados O Amazon RDS fornece dois métodos diferentes para fazer backup e restaurar suas instâncias de banco de dados: backups automatizados e snapshots de banco de dados (snapshots de banco de dados). Ativado por padrão, o recurso de backup automatizado do Amazon RDS permite a recuperação point-in-time para sua Instância de banco de dados.

O Amazon RDS fará backup do banco de dados e dos logs de transações e armazenará ambos por um período de retenção especificado pelo usuário. Isso permite restaurar a instância do banco de dados a qualquer segundo durante o período de retenção, até os últimos cinco minutos.

Seu período de retenção de backup automático pode ser configurado para até 35 dias. Snapshots de banco de dados são backups iniciados pelo usuário da sua instância de banco de dados.

Esses backups completos do banco de dados são armazenados pelo Amazon RDS até que você os exclua explicitamente. Você pode copiar snapshots de banco de dados de qualquer tamanho e movê-los entre qualquer uma das regiões públicas da AWS ou copiar o mesmo snapshot para várias regiões simultaneamente. Você pode criar uma nova instância de banco de dados a partir de um snapshot de banco de dados sempre que desejar.

Durante a janela de backup, a E / S de armazenamento pode ser suspensa enquanto o backup dos dados está sendo feito. Essa suspensão de E / S normalmente dura alguns minutos. Essa suspensão de E / S é evitada nas implantações do Multi-AZ DB, porque o backup é retirado do modo de espera.

 

Replicação de Instância de Banco de Dados

Os recursos de computação em nuvem da AWS estão alojados em instalações de data center altamente disponíveis em diferentes regiões do mundo, e cada região contém vários locais distintos chamados Zonas de Disponibilidade.

Cada zona de disponibilidade é projetada para se isolar de falhas em outras zonas de disponibilidade e fornecer uma rede de baixo custo e baixa latência de conectividade com outras zonas de disponibilidade na mesma região.

Para projetar a alta disponibilidade de seus bancos de dados Oracle, PostgreSQL ou MySQL, você pode executar a instância do Amazon RDS DB em várias zonas de disponibilidade, uma opção chamada implantação Multi-AZ.

Quando você seleciona essa opção, a AWS provisiona e mantém automaticamente uma réplica síncrona em espera da sua Instância de banco de dados em uma zona de disponibilidade diferente.

A instância de banco de dados principal é replicada de forma síncrona nas zonas de disponibilidade para a réplica em espera. No caso de falha da instância do banco de dados ou da zona de disponibilidade, o Amazon RDS fará failover automaticamente no modo de espera, para que as operações do banco de dados possam ser retomadas rapidamente sem intervenção administrativa.

Para clientes que usam o MySQL e precisam escalar além das restrições de capacidade de uma única instância de banco de dados para cargas de trabalho de banco de dados com muita leitura, o Amazon RDS fornece uma opção de réplica de leitura.

Depois de criar uma réplica de leitura, as atualizações do banco de dados na Instância de banco de dados de origem são replicadas para a réplica de leitura usando a replicação assíncrona nativa do MySQL.

Você pode criar várias réplicas de leitura para uma determinada instância de banco de dados de origem e distribuir o tráfego de leitura do seu aplicativo entre elas. As réplicas de leitura podem ser criadas com implantações Multi-AZ para obter benefícios de escala de leitura, além da disponibilidade aprimorada de gravação no banco de dados e durabilidade dos dados fornecidos pelas implantações Multi-AZ.

Correção automática de software

O Amazon RDS garantirá que o software de banco de dados relacional que alimenta sua implantação permaneça atualizado com os patches mais recentes.

Quando necessário, os patches são aplicados durante uma janela de manutenção que você pode controlar. Você pode pensar na janela de manutenção do Amazon RDS como uma oportunidade de controlar quando ocorrem modificações na Instância do banco de dados (como a classe de instância do banco de dados de escala) e correções de software, em que o evento é solicitado ou necessário.

Se um evento de manutenção for agendado para uma determinada semana, ele será iniciado e concluído em algum momento durante a janela de manutenção de 30 minutos que você identificar.

Os únicos eventos de manutenção que exigem que o Amazon RDS coloque sua Instância de banco de dados offline são operações de computação em escala (que geralmente levam apenas alguns minutos do início ao fim) ou aplicação de patches de software.

O patch necessário é agendado automaticamente apenas para patches relacionados à segurança e durabilidade. Essas correções ocorrem com pouca frequência (geralmente uma vez a cada poucos meses) e raramente exigem mais do que uma fração da sua janela de manutenção.

Se você não especificar uma janela de manutenção semanal preferida ao criar sua Instância de banco de dados, um valor padrão de 30 minutos será atribuído. Se você deseja modificar quando a manutenção é executada em seu nome, você pode fazê-lo modificando sua Instância de banco de dados no AWS Management Console ou usando a API ModifyDBInstance.

Cada uma das suas instâncias de banco de dados pode ter diferentes janelas de manutenção preferenciais, se você escolher.

A execução da sua Instância de banco de dados em uma implantação Multi-AZ pode reduzir ainda mais o impacto de um evento de manutenção, pois o Amazon RDS realizará a manutenção através das seguintes etapas:

  1. Execute a manutenção no modo de espera.
  2. Promova o modo de espera para o primário.
  3. Execute a manutenção no primário antigo, que se torna o novo modo de espera.

Quando uma API de exclusão da instância do Amazon RDS DB (DeleteDBInstance) é executada, a instância do banco de dados é marcada para exclusão. Depois que a instância não indica mais o status de exclusão, ela foi removida. Nesse momento, a instância não está mais acessível e, a menos que uma cópia final do snapshot tenha sido solicitada, ela não poderá ser restaurada e não será listada por nenhuma das ferramentas ou APIs.

Comentários do Facebook

Conteúdos relacionados