Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Mô phỏng luật tường lửa (Firewall ACL)

    Một tường lửa lọc gói tin dựa trên danh sách nnn luật ACL được xét theo đúng thứ tự khai báo; gói tin sẽ áp dụng hành động của luật đầu tiên khớp (first-match-wins). Nếu không luật nào khớp, mặc định DENY.

    Mỗi luật có dạng:

    ACTION PROTO CIDR PORT_RANGE
    
    • ACTION là ALLOW hoặc DENY.
    • PROTO là TCP, UDP, ICMP, hoặc ANY (khớp với mọi giao thức).
    • CIDR dạng A.B.C.D/p — luật khớp nếu địa chỉ nguồn của gói tin nằm trong dải này.
    • PORT_RANGE dạng lo-hi (bao gồm hai đầu mút) — luật khớp nếu cổng đích của gói tin nằm trong đoạn [lo,hi][lo, hi][lo,hi].

    Một luật khớp với gói tin khi và chỉ khi cả ba điều kiện (giao thức, địa chỉ nguồn, cổng đích) đều thoả mãn.

    Mỗi gói tin được cho dưới dạng:

    PROTO SRC_IP DST_PORT
    

    Ví dụ:

    Input:

    3
    ALLOW TCP 192.168.1.0/24 80-443
    ALLOW UDP 10.0.0.0/8 53-53
    DENY ANY 0.0.0.0/0 0-65535
    3
    TCP 192.168.1.10 443
    UDP 10.1.2.3 53
    TCP 8.8.8.8 22
    

    Output:

    ALLOW
    ALLOW
    DENY
    
    • Định dạng đầu vào:

      Dòng đầu là số nguyên nnn (1≤n≤10001 \le n \le 10001≤n≤1000) — số luật.

      nnn dòng tiếp theo là các luật theo đúng thứ tự áp dụng, mỗi dòng dạng ACTION PROTO CIDR PORT_RANGE.

      Dòng tiếp theo là số nguyên mmm (1≤m≤10001 \le m \le 10001≤m≤1000) — số gói tin.

      mmm dòng tiếp theo, mỗi dòng dạng PROTO SRC_IP DST_PORT (0≤DST_PORT≤655350 \le DST\_PORT \le 655350≤DST_PORT≤65535).

    • Định dạng đầu ra:

      In ra mmm dòng, mỗi dòng là ALLOW hoặc DENY — kết quả áp dụng luật cho gói tin tương ứng, theo đúng thứ tự đầu vào.

    Ví dụ:

    Đầu vào:

    1
    DENY TCP 1.2.3.0/24 22-22
    1
    TCP 5.5.5.5 22
    

    Đầu ra:

    DENY
    

    Đầu vào:

    3
    ALLOW TCP 192.168.1.0/24 80-443
    ALLOW UDP 10.0.0.0/8 53-53
    DENY ANY 0.0.0.0/0 0-65535
    3
    TCP 192.168.1.10 443
    UDP 10.1.2.3 53
    TCP 8.8.8.8 22
    

    Đầu ra:

    ALLOW
    ALLOW
    DENY
    

    Đang tải editor...