Applicazione delle regole del gruppo di protezione agli indirizzi IP di origine e di destinazione

Le regole del gruppo di sicurezza ora supportano indirizzi IP locali. Ciò significa che le norme possono consentire specifici indirizzi IP locali invece di consentire tutti gli indirizzi IP locali. Le regole del gruppo di sicurezza supportano gli indirizzi IP locali per le regole di ingresso e uscita.

Consentire specifici indirizzi IP locali o intervalli di indirizzi con una regola del gruppo di sicurezza è utile quando:

  • Hai indirizzi IP privati secondari associati a una singola interfaccia di rete virtuale
  • Sono presenti instradamenti personalizzati che inoltrano pacchetti a un'interfaccia con lo spoofing IP consentito

Puoi applicare una regola del gruppo di sicurezza in entrata che consente solo specifici indirizzi IP di destinazione locali. Puoi anche applicare una regola del gruppo di sicurezza in uscita che consente solo specifici indirizzi IP di origine locali.

È possibile applicare le regole dei gruppi di sicurezza (in entrata e in uscita) utilizzando la console, la CLI, l'API e Terraform.

Suggerimenti:

  • Vengono valutate tutte le regole, indipendentemente dall'ordine in cui sono state aggiunte.
  • Le regole sono con stato, il che significa che il traffico di ritorno in risposta al traffico consentito viene automaticamente autorizzato. Ad esempio, hai creato una regole che consente il traffico TCP in entrata sulla porta 80. Tale regola consente anche di replicare il traffico TCP in uscita sulla porta 80 nuovamente all'host di origine, senza la necessità di un'altra regola.
  • Per le immagini Windows, assicurarsi che il gruppo di sicurezza associato all'istanza consenta il traffico in entrata e in uscita del protocollo Remote Desktop Protocol (porta TCP 3389 ).

Casi di utilizzo

Quando crei una regola del gruppo di sicurezza, hai la scelta di consentire uno specifico indirizzo IP locale o CIDR. Simile alla proprietà remota, c'è una proprietà locale che può essere una delle seguenti:

  • Un indirizzo IP - La regola si applica a un indirizzo IP di destinazione specifico (per una regola in entrata) o a un indirizzo IP di origine (per una regola in uscita)
  • Un CIDR - La regola si applica a uno specifico CIDR di destinazione (per una regola in entrata) o CIDR di origine (per una regola in uscita)

La figura 1 illustra una regola in uscita del gruppo di protezione con un indirizzo IP local. Il traffico è consentito dall'indirizzo IP locale 10.243.0.1 a qualsiasi indirizzo remoto nell'intervallo 10.243.200.0/24. La linea verde del percorso dati mostra il traffico consentito; la linea rossa indica il traffico non consentito.

Figura delle regole del gruppo di sicurezza che gestiscono il
regola del gruppo di sicurezza che gestisce il traffico in

La Figura 2 descrive una regola in entrata del gruppo di protezione con un indirizzo IP local. Il traffico destinato all'indirizzo IP locale 10.243.0.1 da qualsiasi indirizzo remoto nell'intervallo 10.243.200.0/24 è consentito. Il traffico verso altri indirizzi IP locali non è consentito.

Figura delle regole del gruppo di sicurezza che gestiscono il
in ingresso*Regola del gruppo di sicurezza che gestisce il traffico in

Creazione delle regole del gruppo di sicurezza nella console

È possibile creare regole in entrata e in uscita durante o dopo il provisioning di un gruppo di sicurezza.

  1. Dal tuo browser, apri la consoleIBM Cloud.

  2. Selezionare il menu di navigazione Icona del menu di navigazione, quindi fare clic su Icona Infrastruttura VPC > Rete > Gruppi di sicurezza.

  3. Dalla tabella Gruppi di protezione per VPC, scegliere uno dei seguenti:

    • Per creare regole durante il provisioning di un nuovo gruppo di sicurezza, fai clic su Crea, quindi segui le istruzioni in Configurazione di un gruppo di sicurezza per la tua risorsa.
    • Per creare regole per un gruppo di sicurezza esistente, fare clic sul nome del gruppo di sicurezza per visualizzare la pagina Dettagli, quindi continuare con il passo 4.
  4. Per creare e gestire regole, selezionare la scheda Regole.

  5. Scegli una delle seguenti opzioni:

    • Per creare una regola in entrata, selezionare Crea nella tabella Regole in entrata e completare i seguenti campi. Quindi, fai clic su Create.

      • Protocollo - Specificare il protocollo da applicare ( ICMP_TCP_UDP, ANY o uno degli altri IPv4 protocolli).
      • Porta - Specifica le porte a cui si applica la regola. Selezionare Qualsiasi o specificare un Intervallo di porte (valori minimi e massimi della porta). I valori di porta per TCP e UDP devono essere numeri compresi tra 1 e 65535. I valori di porta validi per ICMP sono compresi tra 0 e 254.
      • Tipo di origine: selezionare l'insieme di interfacce di rete da cui questa regola consente il traffico. Puoi selezionare Qualsiasi, Indirizzo IP o Blocco CIDR per il traffico in entrata consentito. In alternativa, puoi specificare un gruppo di sicurezza nello stesso VPC per consentire il traffico da o verso tutte le istanze collegate al gruppo di sicurezza selezionato.
      • Tipo di destinazione - Selezionare Qualsiasi, Indirizzo IP o Blocco CIDR.
    • Per creare una regola in entrata, selezionare Crea nella tabella delle regole in uscita e completare i seguenti campi. Quindi, fai clic su Create.

      • Protocollo: specificare il protocollo da applicare ( TCP, UDP, ICMP o TCP-UDP-ICMP ).
      • Porta - Specifica le porte a cui si applica la regola. Selezionare Qualsiasi o specificare un Intervallo di porte (valori minimi e massimi della porta). I valori di porta per TCP e UDP devono essere numeri compresi tra 1 e 65535. I valori di porta validi per ICMP sono compresi tra 0 e 254.
      • Tipo di destinazione - Selezionare Qualsiasi, Indirizzo IP, Blocco CIDR o Gruppo di protezione.
      • Tipo di origine - Selezionare Qualsiasi, Indirizzo IP o Blocco CIDR.

Creazione di regole del gruppo di sicurezza dalla CLI

Per creare regole del gruppo di sicurezza (in entrata e in uscita) utilizzando la CLI, immetti il seguente comando.

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]

Dove:

GROUP
ID o nome del gruppo di sicurezza.
DIRECTION
Direzione del traffico da applicare. Uno tra: inbound, outbound.
PROTOCOL
Protocollo a cui si applica la regola. Uno dei seguenti: tcp, udp, icmp, icmp_tcp_udp gre, ip_in_ip,, ah, esp, l2tp rsvp, sctp, vrrp,, o number_<N>.
--vpc
ID o nome del VPC. Questa opzione è necessaria solo per specificare la risorsa univoca in base al nome all'interno di questa VPC.
--local
Indirizzo IP locale o intervallo di indirizzi IP locali a cui questa regola consente il traffico in entrata (o da cui, per il traffico in uscita). Può essere specificato come un indirizzo IP o un blocco CIDR. Uno dei seguenti: LOCAL_ADDRESS, CIDR_BLOCK. Un blocco CIDR di 0.0.0.0/0 consente il traffico verso tutti gli indirizzi IP locali (o da tutti gli indirizzi IP locali, per le regole in uscita).
--remote
La serie di interfacce di rete da cui questa regola consente il traffico. Può essere specificato come, REMOTE_ADDRESS CIDR_BLOCK, o SECURITY_GROUP. Se non specificata, il traffico è consentito da qualsiasi origine (o verso qualsiasi origine, per le regole in uscita).
--icmp-type
Tipo di traffico ICMP da consentire. Valori validi da 0 a 254. Questa opzione è specificata solo quando il protocollo è impostato su icmp. Se non specificata, sono consentiti tutti i tipi.
--icmp-code
Codice traffico ICMP da consentire. Valori validi da 0 a 255. Questa opzione è specificata solo quando il protocollo è impostato su icmp. Se non specificata, sono consentiti tutti i codici.
-port-min
Numero minimo di porte. I valori validi sono compresi tra 1 e 65535. Questa opzione è specificata solo quando il protocollo è impostato su tcp o udp. Se non specificato, tutte le porte sono consentite (impostazione predefinita: 1).
--port-max
Numero massimo di porte. I valori validi sono compresi tra 1 e 65535. Questa opzione è specificata solo quando il protocollo è impostato su tcp o udp. Se non è specificata, tutte le porte sono consentite (valore predefinito: 65535).
--output
Formato di output. Uno di JSON.
--q, --quiet
Sopprimi l'output dettagliato.

Esempi CLI

  • ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound any
  • ibmcloud is security-group-rule-add my-sg inbound any
  • ibmcloud is security-group-rule-add my-sg inbound any --vpc my-vpc
  • ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound icmp --icmp-type 8 --icmp-code 0
  • ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound any --remote 12.3.2.4
  • ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3 inbound any --remote 72b27b5c-f4b0-48aa-b954-5becc7c1dcb3
  • ibmcloud is security-group-rule-add my-sg inbound any --remote my-sg
  • ibmcloud is security-group-rule-add 72b27b5c-f4b0-48aa-b954-5beaa7c1dcb3 inbound tcp --port-min 4 --port-max 22 --output JSON
  • ibmcloud is security-group-rule-add --sg 72b27b5c-f4b0-48bb-b954-5beaa7c1dcb3 --direction inbound --protocol any --local 192.176.3.0
  • ibmcloud vpc-iaas security-group-rule-add --sg-id r134-028d1f0b-9648-41d1-b862-45d9b85b12b7 --direction inbound --protocol gre --local-address 192.176.3.0
  • ibmcloud vpc-iaas security-group-rule-add --sg-id r134-028d1f0b-9648-41d1-b862-45d9b85b12b7 --direction inbound --protocol any --remote-address 12.3.2.4
  • ibmcloud vpc-iaas security-group-rule-add --sg-id r134-028d1f0b-9648-41d1-b862-45d9b85b12b7 --direction inbound --protocol icmp_tcp_udp

Creazione delle regole del gruppo di sicurezza con l'API

La richiesta POST della regola del gruppo di sicurezza accetta una proprietà facoltativa denominata local, che ha due proprietà:

address
L'indirizzo IP a cui questa regola consente il traffico in entrata (o da cui, per le regole in uscita).
cidr_block
L'intervallo di indirizzi IP a cui questa regola consente il traffico in entrata (o da cui, per le regole in uscita).

Se la proprietà local non è specificata, il valore predefinito è cidr_block: 0.0.0.0/0.

Puoi creare le regole del gruppo di sicurezza utilizzando l'API:

  1. Imposta il tuo ambiente API con le variabili corrette.

  2. Memorizzare l'identificativo del gruppo di sicurezza in una variabile da utilizzare nei comandi API:

    export security_group_id=<security_group_id>
    
  3. Per creare una regola del gruppo di sicurezza che consente il traffico TCP in entrata dall'intervallo di indirizzi remoti 10.1.2.0/24 all'indirizzo IP locale 192.168.1.100, esegui questo comando:

       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"
               }
             }'
    

    Output di esempio:

    {
      "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"
      }
    }
    

Creazione di regole del gruppo di protezione con Terraform

Per utilizzare Terraform, scarica la CLI Terraform e configura il IBM Cloud plug-in Provider. Per ulteriori informazioni, vedi Introduzione a Terraform.

Il seguente esempio Terraform mostra come creare regole del gruppo di sicurezza in entrata. Il parametro local nella risorsa accetta un indirizzo IP o un blocco CIDR ed è anche nello stato di risposta e risposta delle origini dati 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
  }
}