Grupos de Segurança de Rede

O serviço Networking oferece duas funcionalidades de firewall virtuais para controlar o tráfego no nível do pacote:

  • Grupos de segurança de rede: detalhes nesse tópico. Os grupos de segurança de rede só são suportados para serviços específicos.
  • Listas de segurança: o tipo original de firewall virtual oferecido pelo serviço Networking. Consulte Listas de Segurança.

Essas duas funcionalidades usam regras de segurança. Para obter informações importantes sobre como as regras de segurança funcionam e verificar uma comparação geral entre listas de segurança e grupos de segurança de rede, consulte Regras de Segurança.

Destaques

  • Os grupos de segurança de rede (NSGs) agem como firewall virtual para as suas instâncias de computação e outros tipos de recursos. Um NSG consiste em um conjunto de regras de segurança de entrada e saída que só se aplicam a um conjunto de VNICs da sua escolha em uma única VCN (por exemplo: todas as instâncias de computação que agem como servidores Web na camada Web de um aplicativo de várias camadas na VCN).
  • Em comparação com as listas de segurança, os NSGs permitem que você separe a arquitetura da sub-rede da VCN dos requisitos de segurança do seu aplicativo. Consulte Comparação entre Listas de Segurança e Grupos de Segurança de Rede.
  • Você pode usar NSGs com determinados tipos de recursos. Para obter mais informações, consulte Suporte para Grupos de Segurança de Rede.
  • As regras de segurança NSG funcionam da mesma forma que as regras de lista de segurança. No entanto, para a origem de uma regra de segurança NSG (para regras de entrada) ou para o destino de uma de regra de segurança NSG (para regras de saída), você pode especificar um NSG em vez de um CIDR. Isso significa que você pode criar facilmente regras de segurança para controlar o tráfego entre dois NSGs na mesma VCN ou o tráfego em um único NSG. Consulte Partes de uma Regra de Segurança.
  • Diferentemente das listas de segurança, a VCN não tem um NSG padrão. Além disso, inicialmente, cada NSG é criado vazio. Ele não tem regras de segurança padrão.
  • Em comparação com as listas de segurança, os grupos de segurança de rede têm limites separados e distintos. Consulte Limites da Lista de Segurança.

Suporte para Grupos de Segurança de Rede

Os NSGs estão disponíveis para você criar e usar. No entanto, eles ainda não são suportados por todos os serviços relevantes do Oracle Cloud Infrastructure.

Atualmente, os seguintes tipos de recursos pais suportam o uso de NSGs:

  • Instâncias do Compute: ao criar uma instância, você pode especificar um ou mais NSGs para a VNIC principal da instância. Se você adicionar uma VNIC secundária a uma instância, poderá especificar um ou mais NSGs para essa VNIC. Você também pode atualizar VNICs existentes em uma instância para que elas estejam em um ou mais NSGs.
  • Balanceadores de carga: ao criar um balanceador de carga, você pode especificar um ou mais NSGs para o balanceador de carga (e não para o conjunto backend). Você também pode atualizar um balanceador de carga existente para usar um ou mais NSGs.
  • Sistemas de Banco de Dados: ao criar um sistema de Banco de Dados, você pode especificar um ou mais NSGs. Você também pode atualizar um sistema de banco de dados existente para usar um ou mais NSGs.
  • Autonomous Database s: Quando você cria um Autonomous Database no Exadata Infrastructure dedicado, é possível especificar um ou mais NSGs para o recurso de infraestrutura. Você também pode atualizar uma instância existente do Exadata Infrastructure dedicado para usar NSGs.
  • Pontos de acesso NFS: Ao criar um ponto de acesso NFS para um sistema de arquivos, você pode especificar um ou mais NSGs. Você também pode atualizar um ponto de acesso NFS existente para usar um ou mais NSGs.
  • Ponto final do resolvedor de DNS: Ao criar um ponto final para um resolvedor de DNS privado, você pode especificar um ou mais NSGs. Você também pode atualizar um ponto final existente para usar um ou mais NSGs.
  • Clusters do Kubernetes: Ao criar um cluster do Kubernetes usando o Container Engine for Kubernetes, você pode especificar um ou mais NSGs para controlar o acesso ao ponto final da API do Kubernetes e aos nós de trabalho. Você também pode especificar NSGs ao definir um balanceador de carga para um cluster.
  • Gateways de API: Ao criar um gateway de API, você pode especificar um ou mais NSGs para controlar o acesso ao gateway de API.
  • Funções: Ao configurar um aplicativo no serviço OCI Functions, você pode especificar um ou mais NSGs para definir regras de entrada e saída que se aplicam a todas as funções desse aplicativo específico.
  • Implantações do GoldenGate: Ao criar uma implantação do GoldenGate, você pode especificar um ou mais NSGs para controlar o acesso à implantação.
  • Clusters Redis: Ao criar um cluster Redis, você pode especificar um ou mais NSGs para controlar o acesso ao cluster Redis. Você também pode atualizar um cluster existente para usar um ou mais NSGs

Para os tipos de recursos que ainda não suportam NSGs, continue usando listas de segurança para controlar o tráfego de entrada e saída desses recursos pais.

Visão Geral de Grupos de Segurança de Rede

Um grupo de segurança de rede (NSG) fornece um firewall virtual para um conjunto de recursos de nuvem que todos têm a mesma postura de segurança. Por exemplo: um grupo de instâncias de computação em que todas executam as mesmas tarefas e, portanto, todas devem usar o mesmo conjunto de portas.

Um NSG consiste em dois tipos de itens:

  • VNICs: Uma ou mais VNICs (por exemplo, as VNICs anexadas ao conjunto de instâncias de computação em que todas têm a mesma postura de segurança). Todas as VNICs devem estar na mesma VCN que o NSG. Consulte também Comparação entre Listas de Segurança e Grupos de Segurança de Rede.
  • Regras de segurança: As Regras de segurança do NSG que definem os tipos de tráfego permitidos dentro e fora das VNICs do grupo. Por exemplo: tráfego de entrada SSH na porta TCP 22 proveniente de uma origem específica.

Se você tiver recursos com diferentes posturas de segurança na mesma VCN, poderá criar regras de segurança NSG para controlar o tráfego entre os recursos com uma postura e os recursos com outra postura. Por exemplo, no diagrama a seguir, NSG1 tem VNICs em execução em uma camada de um aplicativo de arquitetura de várias camadas. NSG2 tem VNICs em execução em uma segunda camada. Ambos NSGs devem pertencer à mesma VCN. O pressuposto é que ambos os NSGs precisam iniciar conexões com outro NSG.

Para NSG1, você configura regras de segurança de saída que especificam NSG2 como destino e regras de segurança de entrada que especificam NSG2 como origem. Assim como NSG2, você configura regras de segurança de saída que especificam NSG1 como destino e regras de segurança de entrada que especificam NSG1 como origem. Pressupõe-se que as regras nesse exemplo têm monitoramento de estado.

Você pode configurar regras de segurança para controlar o tráfego entre dois grupos de segurança de rede.

O diagrama anterior pressupõe que cada NSG precisa iniciar conexões com o outro NSG.

O próximo diagrama presume que, em vez disso, você só deseja permitir conexões iniciadas de NSG1 para NSG2. Para fazer isso, remova a regra de entrada de NSG1 e a regra de saída de NSG2. As regras restantes não permitem conexões iniciadas de NSG2 para NSG1.

Essas regras de segurança permitem conexões iniciadas em apenas uma direção: de NSG1 para NSG2.

O próximo diagrama pressupõe que você queira controlar o tráfego entre VNICs no mesmo NSG. Para fazer isso, defina a origem da regra (para entrada) ou o destino (para saída) como o próprio NSG da regra.

Você pode configurar regras de segurança para controlar o tráfego entre VNICs no mesmo NSG.

Uma VNIC pode ter no máximo cinco NSGs. Um pacote será permitido se qualquer regra em qualquer um dos NSGs da VNIC permitir o tráfego (ou se o tráfego fizer parte de uma conexão existente que está sendo rastreada). Haverá uma limitação se as listas contiverem regras de segurança com e sem monitoramento de estado que abranjam o mesmo tráfego. Para obter mais informações, consulte Regras com e sem Monitoramento de Estado.

Os grupos de segurança de rede são entidades regionais. Para obter limites relacionados aos grupos de segurança de rede, consulte Comparação entre Listas de Segurança e Grupos de Segurança de Rede.

Consulte Limites do Grupo de Segurança de Rede e Solicitando um Aumento do Limite do Serviço para obter informações relacionadas a limites.

Usando a API

Para obter informações sobre como usar a API e assinar solicitações, consulte a documentação da API REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.

Para obter informações sobre como usar a API e assinar solicitações, consulte a documentação da API REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.

Em comparação com as listas de segurança, há algumas diferenças no modelo da API REST para NSGs:

  • Com listas de segurança, há um objeto IngressSecurityRule e um objeto EgressSecurityRule separados. Com grupos de segurança de rede, só há um objeto SecurityRule e o atributo direction do objeto determina se a regra se destina a tráfego de entrada ou saída.
  • Com as listas de segurança, as regras fazem parte do objeto SecurityList e você trabalha com as regras chamando as operações da lista de segurança (como UpdateSecurityList). Com NSGs, as regras não fazem parte do objeto NetworkSecurityGroup. Em vez disso, você usa operações separadas para trabalhar com as regras do NSG fornecido (exemplo: UpdateNetworkSecurityGroupSecurityRules).
  • O modelo para atualização das regras de segurança existentes é diferente para listas de segurança e NSGs. Com NSGs, cada regra de um grupo específico tem um identificador exclusivo designado pelo sistema Oracle (exemplo: 04ABEC). Quando chama UpdateNetworkSecurityGroupSecurityRules, você fornece os IDs das regras específicas que deseja atualizar. Para fins de comparação, com listas de segurança, as regras não têm identificador exclusivo. Quando chamar UpdateSecurityList, você deverá passar na validação da lista de regras completa, incluindo as regras que não estão sendo atualizadas na chamada.
  • Há um limite de 25 regras durante a chamada das operações para adicionar, remover ou atualizar regras de segurança.

Como Trabalhar com Grupos de Segurança de Rede

Processo Geral para Trabalhar com NSGs

  1. Crie um NSG.
  2. Adicione regras de segurança ao NSG.
  3. Adicione recursos pais (ou mais especificamente, VNICs) ao NSG. Você pode fazer isso quando criar o recurso pai ou atualizar o recurso pai e adicioná-lo a um ou mais NSGs. Quando você cria uma instância do serviço Compute e a adiciona a um NSG, a VNIC principal da instância é adicionada ao NSG. Separadamente, você pode criar VNICs secundárias e, opcionalmente, adicioná-las a NSGs.

Excluindo NSGs

Para excluir um NSG, ele não deve conter VNICs ou recursos pais. Quando um recurso principal (ou uma VNIC de instância de computação) é excluído, ele é automaticamente removido dos NSGs em que estava. Talvez você não tenha permissão para excluir determinado recurso pai. Entre em contato com o administrador para determinar quem é o proprietário de determinado recurso.

Política do IAM Necessária

Para usar o Oracle Cloud Infrastructure, você deve receber acesso de segurança em uma política  por um administrador. Esse acesso será necessário se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Caso receba uma mensagem de que você não tem permissão ou de que não está autorizado, verifique com o administrador o tipo de acesso que você tem e em qual compartimento  deve trabalhar.

Para administradores: a política em Permitir que os administradores de rede gerenciem uma rede na nuvem abrange o gerenciamento de todos os componentes do serviço Networking, incluindo NSGs.

Se tiver administradores de segurança que precisam gerenciar NSGs, mas não outros componentes do serviço Networking, você poderá criar uma política mais restritiva:

Allow group NSGAdmins to manage network-security-groups in tenancy
			
Allow group NSGAdmins to manage vcns in tenancy 
      where ANY {request.operation = 'CreateNetworkSecurityGroup',
                 request.operation = 'DeleteNetworkSecurityGroup'}

Allow group NSGAdmins to read vcns in tenancy

Allow group NSGAdmins to use VNICs in tenancy

A primeira instrução permite que o grupo NSGAdmins crie e gerencie NSGs e as regras de segurança.

A segunda instrução é necessária porque a criação ou exclusão de um NSG afeta a VCN em que o NSG está. A instrução restringe as permissões relacionadas à VCN somente àquelas necessárias para criar ou excluir um NSG. A instrução não permite que o grupo NSGAdmins crie ou exclua VCNs ou trabalhe com qualquer recurso em uma VCN, exceto NSGs.

A terceira instrução é necessária para listar as VCNs, que é um pré-requisito para criar ou deletar um NSG em uma VCN. Para obter informações sobre por que a segunda e a terceira instruções são obrigatórias, consulte Condições.

A quarta instrução é necessária se o grupo NSGAdmins precisar colocar VNICs em um NSG. Quem cria o recurso pai da VNIC (por exemplo, uma instância do serviço Compute) já deverá ter esse nível de permissão para criar o recurso pai.

Para obter mais informações sobre políticas do serviço Networking, consulte Políticas do IAM para o Serviço Networking.