apache / apache/cloudstack

ACL with multiple CIDRs does not honor rule id

Aperta
#12,668 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
component:virtual-router status:needs-reproducing
Lingua principale
Java
Stelle
3.1k
Fork
1.4k
Merge medio
6g 19h
PR unite (30g)
32

Descrizione

### problem

If you have a CIDR list like:

rule 1: [ "1.2.3.4/32", "2.3.4.5/32"] tcp allow port 22
rule 65535: [ "0.0.0.0/0"] deny port any

What you end up with when inspecting the VR is:

```
-A ACL_OUTBOUND_eth12 -d 1.2.3.4/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A ACL_OUTBOUND_eth12 -j DROP
-A ACL_OUTBOUND_eth12 -d 2.3.4.5/32 -p tcp -m tcp --dport 22 -j ACCEPT
```

This is clearly not the desired behavior.

### versions

Cloudstack 4.22.0

### The steps to reproduce the bug

See description

### What to do about it?

Don't use more than one CIDR per rule

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Riproduci il problema utilizzando le due regole ACL del report, quindi ispeziona la catena ACL_OUTBOUND_eth12 generata nel router virtuale. Traccia l’ordine di più CIDR in una regola e verifica che il DROP della regola non preceda la corrispondenza CIDR rimanente; l’attività è completata quando tutti i CIDR nella regola di allow vengono valutati prima della regola successiva.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
authorization, networking, security
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.