Usar o serviço Bastion para acessar recursos em uma sub-rede privada

O Oracle Cloud Infrastructure Bastion fornece acesso SSH privado e limitado por tempo a recursos que não têm pontos finais públicos.

Bastions são gateways ou proxies. Elas são entidades lógicas que fornecem acesso seguro a recursos na nuvem que você não pode alcançar de outra forma pela internet. Os bastions residem em uma sub-rede pública e estabelecem a infraestrutura da rede necessária para conectar um usuário a um recurso em uma sub-rede privada. O OCI Bastion é um serviço de infraestrutura que pode substituir um servidor bastion que você mesmo cria na Oracle Cloud Infrastructure (OCI).

A integração com o Oracle Cloud Infrastructure Identity and Access Management (IAM) permite controlar quem pode gerenciar um bastion ou uma sessão em um serviço bastion. A integração com o Oracle Cloud Infrastructure Audit oferece uma maneira de monitorar ações administrativas relacionadas ao serviço bastion e às sessões bastion.

Arquitetura

Essa arquitetura mostra duas maneiras de estabelecer conexão com sub-redes privadas: uma é estabelecer conexão por meio de uma sub-rede de destino intermediária e a outra é estabelecer conexão diretamente com a sub-rede que contém os recursos protegidos.

Ao usar o OCI Bastion, você pode especificar uma lista de permissões de bloqueio de roteamento entre domínios sem classes (CIDR) e um TTL (tempo máximo de vida útil da sessão). O OCI Bastion cria um caminho de rede entre a VCN bastion e a VCN do cliente por meio de uma conexão reversa. As sessões geralmente são criadas por usuários ou operadores.

O diagrama a seguir ilustra essa arquitetura de referência.

Veja a seguir a descrição da arquitetura-uso-bastion-service.png
Descrição da ilustração Architecture-use-bastion-service.png

arquitetura-uso-bastion-service-oracle.zip

A arquitetura tem os seguintes componentes:

  • Região da OCI

    Uma região do OCI é uma área geográfica localizada que contém um ou mais data centers, hospedando domínios de disponibilidade. Regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou mesmo continentes).

  • Domínio de disponibilidade

    Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, uma falha em um domínio de disponibilidade não deve afetar os outros domínios de disponibilidade na região.

  • Domínio de falha

    Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas no servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.

  • VCN (rede virtual na nuvem) e sub-redes

    VCN (rede virtual na nuvem) é uma rede personalizável definida por software que você configura em uma região do OCI. Assim como as redes tradicionais do data center, as VCNs dão a você controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos de CIDR (Classless Inter-domain Routing) não sobrepostos que você pode alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • OCI Bastion

    O Oracle Cloud Infrastructure Bastion fornece acesso seguro restrito e por tempo limitado a recursos que não têm pontos finais públicos e que exigem controles rigorosos de acesso a recursos, como bare metal e máquinas virtuais, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Cloud Infrastructure Kubernetes Engine (OKE) e qualquer outro recurso que permita o acesso ao SSH (Secure Shell Protocol). Com o serviço OCI Bastion, você pode ativar o acesso a hosts privados sem implantar e manter um jump host. Além disso, você obtém uma postura de segurança aprimorada com permissões baseadas em identidade e uma sessão SSH centralizada, auditada e com limite de tempo. O OCI Bastion elimina a necessidade de um IP público para acesso ao bastion, eliminando o incômodo e a potencial superfície de ataque ao fornecer acesso remoto.

  • Backend do Serviço Bastion

    O backend do Oracle Cloud Infrastructure Bastion armazena a configuração da sessão e as chaves públicas SSH que são usadas para conceder acesso aos sistemas de destino. Os sistemas de destino, quando necessário, usam o gateway de serviço para acessar o backend do OCI Bastion.

  • Ponto Final Privado

    Um ponto final privado conecta o Bastion do OCI às sub-redes de destino. A sub-rede de destino pode ser uma sub-rede separada para controle mais granular ou na mesma sub-rede das instâncias que você deseja acessar.

Recomendações

Seus requisitos podem ser diferentes da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.

  • VCN

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar às sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.

    Selecione blocos CIDR que não se sobreponham a qualquer outra rede (no Oracle Cloud Infrastructure, seu data center on-premises ou outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como um limite de segurança.

    Usar sub-redes regionais.

    Observe que cada bastion provisionado obtém dois endereços IP da sub-rede de destino. Escolha o bloco CIDR com base em quantos bastions você deseja provisionar em uma sub-rede específica. Por exemplo, se você tiver uma sub-rede com /30 CIDR, isso significa que você tem dois endereços utilizáveis e, se nesse CIDR você tiver um recurso de destino, não terá endereços suficientes para provisionar um bastion. Nesse caso, o provisionamento do bastion falhará. Recomendamos que a sub-rede de destino seja maior que /29.

  • Cloud Guard

    Clone e personalize as receitas padrão fornecidas pela Oracle para criar receitas personalizadas de detector e respondedor. Essas receitas permitem especificar quais tipos de violações de segurança geram uma advertência e quais ações podem ser executadas nelas. Por exemplo, talvez você queira detectar buckets do OCI Object Storage que tenham visibilidade definida como pública.

    Aplique o Oracle Cloud Guard no nível da tenancy para cobrir o escopo mais amplo e reduzir a carga administrativa de manutenção de várias configurações.

    Você também pode usar o recurso Lista gerenciada para aplicar determinadas configurações aos detectores.

  • Zonas de Segurança

    Para recursos que exigem segurança máxima, a Oracle recomenda o uso de zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita de políticas de segurança definidas pela Oracle que se baseiam nas melhores práticas. Por exemplo, os recursos de uma zona de segurança não devem ser acessíveis pela internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você cria e atualiza recursos em uma zona de segurança, o OCI valida as operações em relação às políticas na receita e impede operações que violem qualquer uma das políticas.

  • OCI Bastion

    Especificar o tempo de vida (TTL) no nível do bastion garante que nenhuma das sessões criadas no contexto desse bastion tenha um TTL mais longo do que o próprio bastion. Defina o TTL como o limite mínimo para seu caso de uso. O valor mínimo é 30 min e o valor máximo é 3 horas. O TTL também pode ser configurado no nível da sessão.

    O bloco CIDR usado para uma lista de permissões deve ser o mais restrito possível para seu cenário. Isso permite restringir os intervalos de endereços IP para conexões SSH que podem acessar os recursos de destino privado.

    Considere o tamanho da sub-rede de destino associada ao OCI Bastion e o número de instâncias do bastion que você deseja. Cada instância do OCI Bastion recebe 2 endereços IP. Então, é melhor ter o intervalo /29 (pelo menos) para que ele tenha 6 endereços IP utilizáveis. /30 teria 2 endereços IP, mas se no futuro você quiser que a segunda instância do bastion aponte para a mesma sub-rede, você não poderá criá-la. A sub-rede de destino pode ser a sub-rede na qual seu recurso de destino está localizado ou outras sub-redes na VCN de destino.

    Recomendações de políticas de segurança:

    • As regras de entrada na sub-rede que tem os recursos de destino devem permitir o tráfego TCP de entrada de apenas um endereço IP que é o IP do ponto final privado do bastion.
    • Especifique a porta exata em um destino, como 22 para Linux, 3389 para Windows, 33060 para MySql e assim por diante. Evite usar ALL para portas.

    Use políticas específicas do IAM para cenários de administrador e operador.

Considerações

  • Região

    O Oracle Cloud Infrastructure Bastion é um serviço regional. Por exemplo, crie um bastion na região PHX para acessar recursos na região PHX. Um bastion dentro de uma região não pode ser usado para acessar recursos em outra região.

  • Desempenho

    A criação do OCI Bastion deve estar no SLO (2 minutos na criação da solicitação). A criação/desligamento da sessão deve estar dentro do SLO. O encaminhamento de porta é de 1 minuto (cenário de emergência) e a sessão SSH gerenciada é de 3 minutos (uso normal).

  • Segurança

    O tráfego do OCI Bastion se origina do ponto final privado na sub-rede. Para permitir o tráfego de bastions, permita o tráfego de entrada e saída desse ponto final privado para os IPs que precisam ser acessados usando bastions. Políticas detalhadas que restringem o acesso a um subconjunto de instâncias ajudam a garantir o nível certo de acesso.

  • Disponibilidade

    O serviço deve fornecer alta disponibilidade para criar/encerrar bastions e sessões (com base na taxa de erros da API). A disponibilidade alvo é de 99,9%.

  • Custo

    Não há custo para usar o OCI Bastion. Você pode criar até cinco bastions por região por tenancy. Cada bastion atende aos recursos de destino em uma VCN.

  • Cenários de Uso

    Se você quiser acessar hosts de destino privados que estejam executando imagens nativas do OCI ou sejam baseadas no Linux e executando o agente OCA v2 (com o plug-in bastion ativado nele), poderá usar sessões SSH gerenciadas. Se quiser acessar recursos de destino privados que não tenham o agente em execução, sejam Baseados no Windows ou que exijam acesso a bancos de dados (ATP ou MySQL), você poderá usar sessões SSH de encaminhamento de porta.

Alterar Log

Este log lista alterações significativas: