Cơ chế xử lý parkage trong Iptables

Một phần của tài liệu Quản lý tưởng lửa trong linux với iptables (Trang 29 - 33)

Việc kiểm tra gói tin được thực hiện bởi IPTables bằng cách dùng các bảng tuần tự xây dựng sẵn để xử lý. Mỗi hàng đợi là dành riêng cho một loại hình cụ thể của hoạt động gói và được điều khiển bởi một chuyển đổi gói tin liên quan dây chuyền lọc.

Tập luật

Iptables Netfilter

- Đầu tiên là bảng Mangle có trách nhiệm cho những thay đổi về chất lượng dịch vụ của các bit trong phần đầu của TCP

- Bảng xếp thứ 2 là bộ lọc có trách nhiệm lọc gói. Nó được xây dựng trong các chuỗi trong đó bạn có thể đặt các quy tắc chính sách tường lửa của bạn, đây là những :

 Chuyển tiếp chuỗi : Bộ lọc các gói dữ liệu đến máy chủ được bảo vệ bởi tường lửa.

 Nhập chuỗi: bộ lọc gói tin cho tường lửa.

 Đầu ra chuỗi: bộ lọc có nguồn gốc từ các bức tường lửa.

- Bảng xếp thứ 3 là NAT có trách nhiệm dịch địa chỉ mạng. Nó có hai chuỗi được xây dựng trong các dây chuyền đó là:

 Dự bị định tuyến chuỗi: NAT gói tin khi địa chỉ đích của gói tin cần phải được thay đổi.

 Post – routing chain: NAT gói tin khi địa chỉ nguồn gói tin cần phải được thay đổi.

Loại hàng đợi

Chức năng Queue

Gói chuyển đổi chuỗi trong Queue

Chức năng chuỗi

Filter Lọc gói

Forward Bộ lọc các gói dữ liệu đến các máy chủ có thể truy cập bởi một NIC trên tường lửa Input Bộ lọc gói đến tường lửa

Output Bộ lọc gói đi ra tường lửa ( gói dữ liệu có nguồn gốc từ các bức tường lửa ).

NAT Biên dịch địa chỉ mạng

Pre-routing

Thay đổi địa chỉ đích xảy ra trước khi định tuyến. Tạo điều kiện cho việc đổi địa chỉ ip đích tương thích với bảng định tuyến của tường lửa. Được sử dụng với NAT của địa chỉ IP đích còn được gọi là destination NAT hoặc DNAT

Post-routing

Thay đổi địa chỉ đích xảy ra sau khi định tuyến. Điều này có nghĩa rằng không cần phải thay đổi địa chỉ ip đích của gói tin như

trong định tuyến trước. Được sử dụng với NAT của địa chỉ IP nguồn bằng cách sử dụng một – một hoặc NAT – một hoặc nhiều. Điều này được gọi là source NAT, hoặc SNAT

Output NAT sử dụng cho các gói dữ liệu xuất phát từ tường lửa.

Mangle

Chỉnh sửa TCP header

Pre-pouting Post-pouting Kết quả Input Forward

Điều chỉnh các bit quy định chất lượng dịch vụ trước khi dẫn đường

Bảng 1: Các loại queues và chain cùng chức năng của nó

Bạn cần xác định các bảng và chuỗi cho mỗi nguyên tắc tường lửa bạn tạo ra.

Có một ngoại lệ : Hầu hết các quy tắc có liên quan đến lọc, do đó giả định rằng bất kỳ iptables chuỗi đó là quy định mà không có một bảng liên quan sẽ là một phần của bảng lọc. Bảng lọc vì thế là mặc định.

Để thực hiện điều này rõ ràng hơn, hãy xem cách các gói dữ liệu được xử lý bởi iptables.

Parket in

Yes No

Firewall reply

Parket out Hình 9: Iptables gói lưu lượng sơ đồ

Network A

Nat table Post-routing chain

Mangle Table Post-routing

Routing Nat table Pre-routing Chain

Mangle table Pre-routing Chain

Mangle table Input Chain

Filter table Input chain Local Processing

Of data Routing Mangle table Output chain Nat table Output chain Filter Table Output Chain

Nat table Post-routing chain

Mangle table Post-routing chain

Filter tables Forward chain

Mangle table Forward chain

Network B

Data for the firewall ?

Trong hình 9 có một gói tin TCP từ Internet về đến giao diện của tường lửa trên mạng A để tạo một kết nối dữ liệu.

Gói tin này được kiểm tra bởi quy tắc đầu tiên trong chuỗi Mangle Table Pre- routing chain ( nếu có ). Sau đó nó được kiểm tra bởi các quy tắc trong chuỗi NAT Table Pre-routing chain để xem liệu gói tin có yêu cầu DNAT không. DNAT sẽ thay đổi địa chỉ đích của gói dữ liệu , sau đó nó được định tuyến Routing.

Nếu gói dữ liệu đưa vào một mạng lưới bảo vệ, sau đó nó được lọc theo các quy tắc trong chuỗi Forward của bảng lọc ,nếu cần thiết gói trải qua SNAT trong chuỗi Post-routing để thay đổi IP nguồn trước khi đến mạng B.

Khi máy chủ đích quyết định trả lời, gói trải qua cùng một trình tự các bước. Cả hai Forward và Post-routing có thể được cấu hình để thực hiện chất lượng dịch vụ các tính năng trong bảng mangle.

Nếu gói dữ liệu được định hướng đi vào bên trong tường lửa, nó được kiểm tra qua các bảng mangle của chuỗi Input. Nếu gói dữ liệu đó thành công vượt qua các thử nghiệm này sau đó nó được xử lý bởi các ứng dụng định trên tường lửa.

Tại một số điểm, tường lửa cần phải trả lời. Trả lời này được định tuyến và kiểm tra bởi quy tắc trong chuỗi Output của bảng Mangle. Tiếp theo các quy tắc trong chuỗi Output của bảng NAT xác định xem DNAT là cần thiết và các quy tắc trong chuỗi Output của bảng này sau đó được kiểm tra bộ lọc giới hạn các gói dữ liệu trái phép.

Một phần của tài liệu Quản lý tưởng lửa trong linux với iptables (Trang 29 - 33)

Tải bản đầy đủ (PDF)

(57 trang)