ACL with multiple CIDRs does not honor rule id
- Ngôn ngữ chính
- Java
- Star
- 3.1k
- Fork
- 1.4k
- Merge trung bình
- 6 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 32
Mô tả
### 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
Hướng dẫn đóng góp
Hướng nghiên cứu
Tái hiện vấn đề bằng hai quy tắc ACL trong báo cáo, sau đó kiểm tra chuỗi ACL_OUTBOUND_eth12 được tạo trong router ảo. Theo dõi cách nhiều CIDR trong một quy tắc được sắp xếp và xác minh rằng DROP của quy tắc không đứng trước phần so khớp CIDR còn lại; được xem là hoàn tất khi tất cả CIDR trong quy tắc allow được đánh giá trước quy tắc tiếp theo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Lĩnh vực
- authorization, networking, security
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100