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] Tường lửa ưu tiên (CIDR + dải cổng)

    Tường lửa nâng cao: ưu tiên, CIDR và dải cổng

    Mỗi luật: <PRIO> <ALLOW|DENY> <srcCIDR> <dstCIDR> <portLo> <portHi> <PROTO>. Một luật khớp gói <src> <dst> <port> <proto> nếu: src thuộc srcCIDR, dst thuộc dstCIDR, portLo ≤ port ≤ portHi, và PROTO là * hoặc trùng.

    Trong các luật khớp, chọn luật có PRIO lớn nhất; nếu bằng nhau chọn luật xuất hiện trước trong danh sách. Không luật nào khớp → DENY.

    Ví dụ

    Luật 10 ALLOW 0.0.0.0/0 10.0.0.0/8 80 443 TCP. Gói 1.2.3.4 10.1.1.1 100 TCP khớp (100 ∈ [80,443]) → ALLOW.

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

      Dòng 1: n. n dòng luật (7 trường). Dòng tiếp: q. q dòng: <src> <dst> <port> <proto>.

    • Ràng buộc đầu vào:

      0 ≤ n, q ≤ 3000. 0 ≤ port ≤ 65535. PRIO là số nguyên.

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

      q dòng: ALLOW hoặc DENY.

    Ví dụ:

    Đầu vào:

    1
    10 ALLOW 0.0.0.0/0 10.0.0.0/8 80 443 TCP
    1
    1.2.3.4 10.1.1.1 100 TCP
    

    Đầu ra:

    ALLOW

    Giải thích:

    Gói khớp: dst ∈ 10.0.0.0/8, port 100 ∈ [80,443], proto TCP → ALLOW.

    Đang tải editor...