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.
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.
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.
-
Dal tuo browser, apri la consoleIBM Cloud.
-
Selezionare il menu di navigazione
, quindi fare clic su Icona Infrastruttura
> Rete > Gruppi di sicurezza.
-
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.
-
Per creare e gestire regole, selezionare la scheda Regole.
-
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_udpgre,ip_in_ip,,ah,esp,l2tprsvp,sctp,vrrp,, onumber_<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 di0.0.0.0/0consente 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_ADDRESSCIDR_BLOCK, oSECURITY_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
0a254. Questa opzione è specificata solo quando il protocollo è impostato suicmp. Se non specificata, sono consentiti tutti i tipi. --icmp-code- Codice traffico ICMP da consentire. Valori validi da
0a255. 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
1e65535. Questa opzione è specificata solo quando il protocollo è impostato sutcpoudp. Se non specificato, tutte le porte sono consentite (impostazione predefinita:1). --port-max- Numero massimo di porte. I valori validi sono compresi tra
1e65535. Questa opzione è specificata solo quando il protocollo è impostato sutcpoudp. 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 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
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:
-
Imposta il tuo ambiente API con le variabili corrette.
-
Memorizzare l'identificativo del gruppo di sicurezza in una variabile da utilizzare nei comandi API:
export security_group_id=<security_group_id> -
Per creare una regola del gruppo di sicurezza che consente il traffico TCP in entrata dall'intervallo di indirizzi remoti
10.1.2.0/24all'indirizzo IP locale192.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
}
}