Grupos de Segurança de Rede
O serviço Networking oferece duas recursos virtuais de firewall 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 (NSGs) 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.
Você pode usar o ZPR (Zero Trust Packet Routing) junto com ou no lugar de grupos de segurança de rede para controlar o acesso à rede aos recursos do OCI aplicando atributos de segurança a eles e criando políticas de ZPR para controlar a comunicação entre eles. Para obter mais informações, consulte Roteamento do Pacote de Confiança Zero.
Se um ponto final tiver um atributo de segurança ZPR, o tráfego para o ponto final deverá atender às regras de ZPR e também a todas as regras de NSG e lista de segurança. Por exemplo, se você já estiver usando NSGs e aplicar um atributo de segurança a um ponto final, assim que o atributo for aplicado, todo o tráfego para o ponto final será bloqueado. A partir daí, uma política de ZPR deve permitir o tráfego para o ponto final.
Destaques
- Os Grupos de Segurança de Rede (NSGs) atuam como um firewall virtual para instâncias do serviço Compute e outros tipos de recursos. Um NSG consiste de um conjunto de regra de segurança de entrada e saída que se aplicam apenas a um conjunto de VNICs em uma única VCN (por exemplo: todas as instâncias do serviço Compute que atuam como servidores Web na camada web de um aplicativo multicamadas em uma VCN).
- Em comparação com listas de segurança, os NSGs permitem que você separe uma arquitetura de sub-rede de uma VCN dos requisitos da segurança do 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 de 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 têm suporte de todos os serviços relevantes da Oracle Cloud Infrastructure.
Os seguintes tipos de recursos pais suportam o uso de NSGs:
- Autonomous Recovery Service (Sub-redes do Recovery Service): Ao registrar uma sub-rede do Recovery Service, você pode associar um ou mais NSGs (no máximo cinco) que contêm as regras de entrada do Recovery Service.
- 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 as VNICs existentes em uma instância para que elas fiquem em um ou mais NSGs.
- Balanceadores de carregamento: Ao criar um Balanceador de Carga, você pode especificar um ou mais NSGs para o Balanceador de Carga (não o conjunto de 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.
- Bancos de Dados Autônomos: Ao criar um Autonomous Database na infraestrutura dedicada do Exadata, você pode especificar um ou mais NSGs do recurso de infraestrutura.
- 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 Kubernetes Engine, 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.
- Gateway 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 GoldenGate: Ao criar uma implantação 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 tipos de recursos que ainda Não suportam NSGs, continue a usar 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 do serviço Compute que executam as mesmas tarefas e, portanto, todas precisam 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 do serviço Compute que 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á escrever regras de segurança NSG para controlar o tráfego entre os recursos com uma postura em comparação com outra. Por exemplo, no diagrama a seguir, NSG1 tem VNICs em execução em um nível de um aplicativo da arquitetura multicamadas. NSG2 tem VNICs em execução em uma segunda camada. Ambos NSGs devem pertencer à mesma VCN. A suposição é que ambos os NSGs precisam iniciar conexões com o 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.
O diagrama anterior pressupõe que cada NSG precisa para iniciar conexões com o outro NSG.
O próximo diagrama pressupõe que você deseja permitir apenas conexões iniciadas de NSG1 a 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.
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.
Uma VNIC pode ter no máximo cinco NSGs. Um pacote será permitido se qualquer regra em qualquer NSG da VNIC permitir o tráfego (ou se o tráfego for parte de uma conexão existente que está sendo rastreada), a menos que as listas contenham regras de segurança com monitoramento de estado e sem monitoramento de estado que abranjam o mesma tráfego. Para obter mais informações, consulte Comparado com Monitoramento de Estado com Regras 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.
Regras de Segurança
Se ainda não estiver familiarizado com os conceitos básicos das regras de segurança NSG, consulte estas seções no tópico sobre regras de segurança:
Usando a API
Para obter informações sobre o uso da API e solicitações de assinatura, 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 o uso da API e solicitações de assinatura, consulte a documentação da API REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.
Algumas diferenças no modelo de API REST para NSGs comparadas às lista de segurança:
- As listas de segurança têm um objeto de
IngressSecurityRule
e um objeto deEgressSecurityRule
separado. Os grupos de segurança de rede só têm um objetoSecurityRule
, e o atributodirection
do objeto mostra se a regra se destina ao 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 (comoUpdateSecurityList
). Com NSGs, as regras não integram o objetoNetworkSecurityGroup
. Em vez disso, você usa operações separadas para trabalhar com as regras de um determinado NSG (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 em um grupo em particular tem um identificador exclusivo designado pelo 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 você chamaUpdateSecurityList
, você deve passar na lista inteira de regras, incluindo regras que não estejam sendo atualizadas na chamada. - O limite de 25 regras de segurança ao chamar as operações para adicionar, remover ou atualizar.
Como Trabalhar com Grupos de Segurança de Rede
Processo Geral para Trabalhar com NSGs
- Crie um NSG.
- Adicione regras de segurança ao NSG.
- Adicione recursos pais (como 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 nenhuma VNIC ou recurso pai. Quando um recurso pai (ou uma VNIC da instância de Computação) é excluído, ele será removido automaticamente dos NSGs em que estava. Talvez você não tenha permissão para excluir determinado recurso pai. Entre em contato com o administrador da tenancy para localizar quem possui um recurso específico.
Política do Serviço IAM Necessária
Para usar o Oracle Cloud Infrastructure, um administrador deve ser membro de um grupo com acesso de segurança concedido em uma política por um administrador da tenancy. Esse acesso será necessário se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você receber uma mensagem de que não tem permissão ou que não está autorizado, verifique com o administrador da tenancy qual tipo de acesso você tem e em qual compartimento seu acesso funciona.
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 ao grupo NSGAdmins criar ou excluir VCNs nem trabalhar com recursos de 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.