apache / apache/cloudstack

ACL with multiple CIDRs does not honor rule id

Aberta
#12,668 1 comentário 0 reações 0 responsáveis Ver no GitHub
component:virtual-router status:needs-reproducing
Linguagem predominante
Java
Estrelas
3.1k
Forks
1.4k
Merge médio
7d 14h
PRs com merge (30d)
31

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Reproduza o problema usando as duas regras ACL do relatório e, em seguida, inspecione a cadeia ACL_OUTBOUND_eth12 gerada no roteador virtual. Rastreie como vários CIDRs em uma regra são ordenados e verifique se o DROP da regra não precede a correspondência CIDR restante; considera-se concluído quando todos os CIDRs na regra de allow são avaliados antes da próxima regra.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Domínio
authorization, networking, security
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.