apache / apache/cloudstack

ACL with multiple CIDRs does not honor rule id

Abierto
#12,668 1 comentario 0 reacciones 0 asignados Ver en GitHub
component:virtual-router status:needs-reproducing
Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.4k
Merge medio
6 d 19 h
PR fusionados (30 d)
32

Descripción

### 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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Reproduce el problema utilizando las dos reglas ACL del informe y, a continuación, inspecciona la cadena ACL_OUTBOUND_eth12 generada en el router virtual. Rastrea cómo se ordenan varios CIDR en una regla y verifica que el DROP de la regla no preceda a la coincidencia CIDR restante; se considera terminado cuando todos los CIDR de la regla de allow se evalúan antes de la siguiente regla.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Área
authorization, networking, security
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.