Aplicando regras de grupo de segurança para endereços IP de origem e de destino
As regras do grupo de segurança agora suportam os endereços IP locais Isso significa que regras podem permitir endereços IP locais específicos em vez de permitir todos os endereços IP locais. As regras do grupo de segurança suportam endereços IP locais para regras de ingresso e egresso.
Permitir endereços IP locais específicos ou intervalos de endereços com uma regra de grupo de segurança é útil quando:
- Você tem endereços IP privados secundários que estão associados a uma única interface de rede virtual
- Você tem rotas customizadas que encaminham pacotes para uma interface com spoofing de IP permitido
É possível aplicar uma regra do grupo de segurança de entrada que permite apenas endereços IP de destino locais específicos Também é possível aplicar uma regra de grupo de segurança de saída que permite apenas endereços IP de origem locais específicos
Você pode aplicar regras de grupo de segurança (entrada e saída) usando o console, a CLI, a API e o Terraform.
Dicas:
- Todas as regras são avaliadas, independentemente da ordem em que elas são incluídas.
- As regras são stateful, o que significa que o tráfego de retorno em resposta ao tráfego permitido é autorizado automaticamente. Por exemplo, você criou uma regra que permite o tráfego TCP de entrada na porta 80. Ela também permite que a resposta do tráfego TCP de saída na porta 80 seja enviada ao host de origem, sem a necessidade de outra regra.
- Para imagens do Windows, certifique-se de que o grupo de segurança associado à instância permita o tráfego de entrada e saída do Protocolo de Área de Trabalho Remota (porta TCP
3389).
Casos de uso
Quando você cria uma regra de grupo de segurança, você tem a opção de permitir um endereço IP local ou CIDR específico Semelhante à propriedade remota, há uma propriedade local que pode ser uma das seguintes:
- Um endereço IP-A regra se aplica a um endereço IP de destino específico (para uma regra de entrada) ou endereço IP de origem (para uma regra de saída)
- Um CIDR-A regra se aplica a um CIDR de destino específico (para uma regra de entrada) ou CIDR de origem (para uma regra de saída)
A Figura 1 ilustra uma regra de saída de grupo de segurança com um endereço IP local. O tráfego é permitido do endereço IP local 10.243.0.1 para qualquer endereço remoto no intervalo 10.243.200.0/24. A
linha de caminho de dados verde mostra o tráfego que é permitido; a linha vermelha mostra o tráfego não permitido.
A Figura 2 descreve uma regra de entrada do grupo de segurança com um endereço IP do local. O tráfego destinado ao endereço IP local 10.243.0.1 de qualquer endereço remoto no intervalo 10.243.200.0/24 é
permitido. O tráfego para outros endereços IP locais não é permitido
Criando regras de grupo de segurança no console
É possível criar regras de entrada e de saída durante ou após o fornecimento de um grupo de segurança
-
Em seu navegador, abra o IBM Cloud console.
-
Selecione o
de navegação Menu de navegação e clique no
de infraestrutura > Rede > Grupos de segurança.
-
Na tabela Grupos de segurança para VPC, escolha um dos seguintes:
- Para criar regras ao fornecer um novo grupo de segurança, clique em Criar e, em seguida, siga as instruções em Configurando um grupo de segurança para seu recurso.
- Para criar regras para um grupo de segurança existente, clique no nome do grupo de segurança para visualizar sua página Detalhes, em seguida, continue na etapa 4.
-
Para criar e gerenciar regras, selecione a guia Regras..
-
Escolha uma das seguintes opções:
-
Para criar uma regra de entrada, selecione Criar na tabela de regras de entrada e preencha os campos a seguir: Em seguida, clique em Criar.
- Protocolo - Especifique o protocolo a ser aplicado ( ICMP_TCP_UDP, ANY ou um dos outros IPv4 protocolos).
- Porta-Especificar as portas às quais a regra se aplica Selecione Qualquer ou especifique um Intervalo de portas (valores mínimo e máximo de portas). Os valores de porta para TCP e UDP devem ser números entre 1 e 65535. Os valores de porta válidos para ICMP são de 0 a 254.
- Tipo de origem - Selecione o conjunto de interfaces de rede a partir das quais esta regra permite o tráfego. É possível selecionar Qualquer, Endereço IP ou Bloco CIDR para tráfego de entrada permitido. Como alternativa, é possível especificar um grupo de segurança na mesma VPC para permitir o tráfego de entrada e saída para todas as instâncias conectadas ao grupo de segurança selecionado.
- Tipo de destino-Selecione Qualquer, Endereço IP, ou Bloco CIDR
-
Para criar uma regra de saída, selecione Criar na tabela de regras de saída e preencha os campos a seguir: Em seguida, clique em Criar.
- Protocolo - Especifique o protocolo a ser aplicado ( TCP, UDP, ICMP ou TCP-UDP-ICMP ).
- Porta-Especificar as portas às quais a regra se aplica Selecione Qualquer ou especifique um Intervalo de portas (valores mínimo e máximo de portas). Os valores de porta para TCP e UDP devem ser números entre 1 e 65535. Os valores de porta válidos para ICMP são de 0 a 254.
- Tipo de destino-Selecione Qualquer, Endereço IP, Bloco do CIDR ou Grupo de segurança
- Tipo de origem-Selecione Qualquer, Endereço IP, ou Bloco CIDR
-
Criando regras de grupo de segurança por meio CLI
Para criar regras do grupo de segurança (entrada e saída) usando a CLI, insira o comando a seguir.
ibmcloud is security-group-rule-add GROUP DIRECTION PROTOCOL [--vpc VPC] [--local LOCAL_ADDRESS | CIDR_BLOCK] [--remote REMOTE_ADDRESS | CIDR_BLOCK | SECURITY_GROUP] [--icmp-type ICMP_TYPE [--icmp-code ICMP_CODE]] [--port-min PORT_MIN] [--port-max PORT_MAX] [--output JSON] [-q, --quiet]
Em que:
GROUP- ID ou nome do grupo de segurança.
DIRECTION- Direção do tráfego a ser impingido. Um dos seguintes:
inbound,outbound. PROTOCOL- Protocolo ao qual a regra se aplica. Um dos seguintes:
tcp,udp,icmp,icmp_tcp_udpgre,ip_in_ip,ah,esp,l2tp,rsvp,sctp,vrrp, ounumber_<N>. --vpc- ID ou nome da VPC. Essa opção é necessária apenas para especificar o recurso exclusivo pelo nome dentro dessa VPC.
--local- Endereço IP local ou intervalo de endereços IP locais para os quais esta regra permite tráfego de entrada (ou dos quais, para tráfego de saída). Pode ser especificado como um endereço IP ou bloco CIDR. Um dos seguintes:
LOCAL_ADDRESS,CIDR_BLOCK. Um bloco CIDR de0.0.0.0/0permite tráfego para todos os endereços IP locais (ou de todos os endereços IP locais, para regras de saída). --remote- O conjunto de interfaces de rede a partir da qual essa regra permite o tráfego. Pode ser especificado como,
REMOTE_ADDRESSCIDR_BLOCK, ouSECURITY_GROUP. Se não especificado, o tráfego será permitido de qualquer origem (ou para qualquer origem, para regras de saída). --icmp-type- Tipo de tráfego ICMP a ser permitido. Valores válidos de
0a254. Essa opção será especificada apenas quando o protocolo estiver configurado comoicmp. Se não especificado, todos os tipos serão permitidos. --icmp-code- Código do tráfego ICMP a ser permitido. Valores válidos de
0a255. Essa opção é especificada apenas quando o protocolo está configurado como ICMP. Se não especificado, todos os códigos serão permitidos. -port-min- Número mínimo da porta. Os valores válidos são de
1a65535. Essa opção será especificada apenas quando o protocolo estiver configurado comotcpouudp. Se não for especificado, todas as portas serão permitidas (padrão:1). --port-max- Número máximo da porta. Os valores válidos são de
1a65535. Essa opção será especificada apenas quando o protocolo estiver configurado comotcpouudp. Se não for especificado, todas as portas serão permitidas (padrão:65535). --output- Formato de saída. Um dos
JSON. --q, --quiet- Suprimir a saída detalhada.
Exemplo da CLI
ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound anyibmcloud is security-group-rule-add my-sg inbound anyibmcloud is security-group-rule-add my-sg inbound any --vpc my-vpcibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound icmp --icmp-type 8 --icmp-code 0ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound any --remote 12.3.2.4ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound any --remote 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3ibmcloud is security-group-rule-add my-sg inbound any --remote my-sgibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5beaa7c1dcb3 inbound tcp --port-min 4 --port-max 22 --output JSONibmcloud is security-group-rule-add --sg 72b27b5c-f4b0-48bb-b954-5beaa7c1dcb3 --direction inbound --protocol any --local 192.176.3.0ibmcloud vpc-iaas security-group-rule-add --sg-id r134-028d1f0b-9648-41d1-b862-45d9b85b12b7 --direction inbound --protocol gre --local-address 192.176.3.0ibmcloud vpc-iaas security-group-rule-add --sg-id r134-028d1f0b-9648-41d1-b862-45d9b85b12b7 --direction inbound --protocol any --remote-address 12.3.2.4ibmcloud vpc-iaas security-group-rule-add --sg-id r134-028d1f0b-9648-41d1-b862-45d9b85b12b7 --direction inbound --protocol icmp_tcp_udp
Criando regras de grupo de segurança com a API.
A solicitação POST de regra do grupo de segurança aceita uma propriedade opcional denominada local, que possui duas propriedades:
address- O endereço IP para o qual essa regra permite tráfego de entrada (ou a partir do qual, para regras de saída).
cidr_block- O intervalo de endereço IP para o qual essa regra permite tráfego de entrada (ou a partir do qual, para regras de saída).
Se a propriedade local não for especificada, o valor padrão será cidr_block: 0.0.0.0/0.
É possível criar regras de grupo de segurança usando a API:
-
Configure seu Ambiente de API com as variáveis corretas.
-
Armazene o identificador do grupo de segurança em uma variável a ser usada nos comandos da API:..
export security_group_id=<security_group_id> -
Para criar uma regra de grupo de segurança que permita o tráfego TCP de entrada do intervalo de endereço remoto
10.1.2.0/24para o endereço IP local192.168.1.100execute o comando a seguir:curl -sX POST "$vpc_api_endpoint/v1/security_groups/$security_group_id/rules?version=$version&generation=2" \ -H "Authorization: Bearer ${iam_token}" \ -d '{ "direction": "inbound", "local": { "address": "192.168.1.100" } "protocol": "tcp", "remote": { "cidr_block": "10.1.2.0/24" } }'Saída de amostra:
{ "direction": "inbound", "href": "https://us-south.iaas.cloud.ibm.com/v1/security_groups/r006-568b4cc2-b6d1-4ee4-898a-841be283a4cd/rules/r006-8d123cf9-9a4e-48d9-ad5e-dabf1e5b5773", "id": "r006-8d123cf9-9a4e-48d9-ad5e-dabf1e5b5773", "ip_version": "ipv4", "local": { "address": "192.168.1.100" } "protocol": "tcp", "remote": { "cidr_block": "10.1.2.0/24" } }
Criando regras de grupo de segurança com Terraform
Para usar o Terraform, baixe o Terraform CLI e configure o IBM Cloud plug-in Provider. Para obter mais informações, consulte Introdução ao Terraform.
O exemplo do Terraform a seguir mostra como criar regras do grupo de segurança de entrada O parâmetro local no recurso aceita um endereço IP ou bloco CIDR e também está no estado de resposta e resposta de origens de dados ibm_is_security_group_rules e ibm_is_security_group_rule.
resource "ibm_is_security_group_rule" "example2" {
group = ibm_is_security_group.example.id
direction = "inbound"
remote = "127.0.0.1"
local = "192.168.3.0/24"
udp {
port_min = 805
port_max = 807
}
}