Aplicación de reglas de grupo de seguridad a direcciones IP de origen y destino
Las reglas de grupo de seguridad ahora dan soporte a direcciones IP locales. Esto significa que las reglas pueden permitir direcciones IP locales específicas en lugar de permitir todas las direcciones IP locales. Las reglas de grupo de seguridad dan soporte a las direcciones IP locales para las reglas de entrada y salida.
Permitir direcciones IP o rangos de direcciones locales específicos con una regla de grupo de seguridad es útil cuando:
- Tiene direcciones IP privadas secundarias que están asociadas con una única interfaz de red virtual
- Tiene rutas personalizadas que reenvían paquetes a una interfaz con la suplantación de IP permitida
Puede aplicar una regla de grupo de seguridad de entrada que solo permita direcciones IP de destino local específicas. También puede aplicar una regla de grupo de seguridad de salida que solo permita direcciones IP de origen local específicas.
Puede aplicar reglas de grupos de seguridad (entrantes y salientes) mediante la consola, CLI, API y Terraform.
Sugerencias:
- Se evalúan todas las reglas, independientemente del orden en el que se añadan.
- Las reglas son con estado, lo que significa que el tráfico de retorno en respuesta al tráfico permitido se autoriza automáticamente. Por ejemplo, supongamos que ha creado una regla que permite el tráfico TCP de entrada en el puerto 80. Esta regla también permite que se responda al tráfico TCP de salida en el puerto 80 al host de origen, sin necesidad de otra regla.
- Para las imágenes de Windows, asegúrese de que el grupo de seguridad asociado a la instancia permita el tráfico entrante y saliente del Protocolo de escritorio remoto (puerto TCP
3389).
Casos de uso
Cuando crea una regla de grupo de seguridad, tiene la opción de permitir una dirección IP local específica o CIDR. De forma similar a la propiedad remota, hay una propiedad local que puede ser una de las siguientes:
- Una dirección IP-La regla se aplica a una dirección IP de destino específica (para una regla de entrada) o dirección IP de origen (para una regla de salida)
- Un CIDR-La regla se aplica a un CIDR de destino específico (para una regla de entrada) o a un CIDR de origen (para una regla de salida)
La figura 1 ilustra una regla de salida de grupo de seguridad con una dirección IP de local. El tráfico se permite desde la dirección IP local 10.243.0.1 a cualquier dirección remota del rango 10.243.200.0/24.
La línea de vía de acceso de datos verde muestra el tráfico que está permitido; la línea roja muestra el tráfico que no está permitido.
La Figura 2 muestra una regla de entrada de grupo de seguridad con una dirección IP de local. Se permite el tráfico destinado a la dirección IP local 10.243.0.1 desde cualquier dirección remota del rango 10.243.200.0/24.
El tráfico a otras direcciones IP locales no está permitido.
Creación de reglas de grupo de seguridad en la consola
Puede crear reglas de entrada y salida durante o después del suministro de un grupo de seguridad.
-
En el navegador, abra la consola deIBM Cloud.
-
Seleccione el
menú de navegación, luego haga clic en el ícono de Infraestructura
> Red > Grupos de seguridad.
-
En la tabla Grupos de seguridad para VPC, elija uno de los siguientes:
- Para crear reglas al suministrar un nuevo grupo de seguridad, pulse Crear y, a continuación, siga las instrucciones de Configuración de un grupo de seguridad para el recurso.
- Para crear reglas para un grupo de seguridad existente, pulse el nombre del grupo de seguridad para ver su página Detalles y, a continuación, continúe en el paso 4.
-
Para crear y gestionar reglas, seleccione la pestaña Reglas.
-
Elija una de las siguientes opciones:
-
Para crear una regla de entrada, seleccione Crear en la tabla Reglas de entrada y complete los campos siguientes. A continuación, pulse en Crear.
- Protocolo: especifique el protocolo que se debe aplicar ( ICMP_TCP_UDP, ANY o uno de los otros IPv4 protocolos).
- Puerto: especifique los puertos a los que se aplica la regla. Seleccione Cualquiera o especifique un Rango de puertos (valores mínimo y máximo de puertos). Los valores de puerto para TCP y UDP deben ser números entre 1 y 65535. Los valores de puerto válidos para ICMP son de 0 a 254.
- Tipo de fuente: seleccione el conjunto de interfaces de red desde las que esta regla permite el tráfico. Puede seleccionar Cualquiera, dirección IP o Bloque CIDR para el tráfico permitido de entrada. Como alternativa, puede especificar un grupo de seguridad en la misma VPC para permitir el tráfico de entradas o de salida de todas las instancias conectadas al grupo de seguridad seleccionado.
- Tipo de destino: seleccione Cualquiera, dirección IP o Bloque CIDR.
-
Para crear una regla de salida, seleccione Crear en la tabla de reglas de salida y complete los campos siguientes. A continuación, pulse en Crear.
- Protocolo: especifique el protocolo que se debe aplicar ( TCP, UDP, ICMP o TCP-UDP-ICMP ).
- Puerto: especifique los puertos a los que se aplica la regla. Seleccione Cualquiera o especifique un Rango de puertos (valores mínimo y máximo de puertos). Los valores de puerto para TCP y UDP deben ser números entre 1 y 65535. Los valores de puerto válidos para ICMP son de 0 a 254.
- Tipo de destino: seleccione Cualquiera, dirección IP, Bloque CIDR o Grupo de seguridad.
- Tipo de origen-Seleccione Cualquiera, dirección IP o Bloque CIDR.
-
Creación de reglas de grupo de seguridad desde la CLI
Para crear reglas de grupo de seguridad (de entrada y salida) utilizando la CLI, especifique el mandato siguiente.
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]
Donde:
GROUP- ID o nombre del grupo de seguridad.
DIRECTION- Dirección del tráfico que se va a imponer. Uno de:
inbound,outbound. PROTOCOL- Protocolo al que se aplica la norma. Uno de:
tcp,udp,icmp,icmp_tcp_udp,gre,ip_in_ip,ah,esp,l2tp,rsvp,sctp,vrrp, onumber_<N>. --vpc- ID o nombre de la VPC. Esta opción solo es necesaria para especificar el recurso único por su nombre dentro de esta VPC.
--local- Dirección IP local o rango de direcciones IP locales a las que esta regla permite el tráfico entrante (o desde las que, para el tráfico saliente). Se puede especificar como una dirección IP o un bloque CIDR. Uno de:
LOCAL_ADDRESS,CIDR_BLOCK. Un bloque CIDR de0.0.0.0/0permite el tráfico a todas las direcciones IP locales (o desde todas las direcciones IP locales, para las reglas de salida). --remote- El conjunto de interfaces de red desde las que esta regla permite el tráfico. Se puede especificar como,
REMOTE_ADDRESSCIDR_BLOCK, oSECURITY_GROUP. Si no se especifica, se permite el tráfico desde cualquier origen (o hacia cualquier origen, para las reglas de salida). --icmp-type- Tipo de tráfico ICMP que se va a permitir. Valores válidos desde
0hasta254. Esta opción solo se especifica cuando el protocolo está configurado enicmp. Si no se especifica, se permiten todos los tipos. --icmp-code- Código de tráfico ICMP que se va a permitir. Valores válidos desde
0hasta255. Esta opción solo se especifica cuando el protocolo especificado es icmp. Si no se especifica, se permiten todos los códigos. -port-min- Número mínimo de puerto. Los valores válidos son desde
1hasta65535. Esta opción solo se especifica cuando el protocolo está configurado entcpoudp. Si no se especifica, se permiten todos los puertos (valor predeterminado:1). --port-max- Número máximo de puerto. Los valores válidos son desde
1hasta65535. Esta opción solo se especifica cuando el protocolo está configurado entcpoudp. Si no se especifica, se permiten todos los puertos (valor predeterminado:65535). --output- Formato de salida. Uno de
JSON. --q, --quiet- Suprimir la salida detallada.
Ejemplos de 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
Creación de reglas de grupo de seguridad con la API
La solicitud POST de regla de grupo de seguridad acepta una propiedad opcional denominada local, que tiene dos propiedades:
address- La dirección IP a la que esta regla permite el tráfico de entrada (o desde la que, para las reglas de salida).
cidr_block- El rango de direcciones IP al que esta regla permite el tráfico de entrada (o desde el cual, para las reglas de salida).
Si no se especifica la propiedad local, el valor predeterminado es cidr_block: 0.0.0.0/0.
Puede crear reglas de grupo de seguridad utilizando la API:
-
Configure el entorno de API con las variables correctas.
-
Almacene el identificador de grupo de seguridad en una variable que se utilizará en los mandatos de API:
export security_group_id=<security_group_id> -
Para crear una regla de grupo de seguridad que permita el tráfico TCP de entrada desde el rango de direcciones remotas
10.1.2.0/24a la dirección IP local192.168.1.100, ejecute el mandato siguiente: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" } }'Salida de ejemplo:
{ "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" } }
Creación de reglas de grupo de seguridad con Terraform
Para utilizar Terraform, descargue la CLI de Terraform y configure el IBM Cloud complemento del proveedor. Para obtener más información, consulte Cómo empezar con Terraform.
El siguiente ejemplo de Terraform muestra cómo crear reglas de grupo de seguridad de entrada. El parámetro local del recurso acepta una dirección IP o un bloque CIDR y también está en el estado de respuesta y respuesta de los orígenes
de datos ibm_is_security_group_rules y 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
}
}