Cấu trúc IPTables

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu giải pháp an toàn thông tin cho hệ thống tính toán lưới Luận văn ThS. Công nghệ thông tin 60 48 05 (Trang 45 - 49)

2.1.3 .2Ủy quyền

3.3 Cấu trúc IPTables

- Iptables được chia làm 3 bảng (table):

 Bảng FILTER dùng để lọc gói dữ liệu.

 Bảng NAT dùng để thao tác với các gói dữ liệu được NAT nguồn hay NAT đích.

 Bảng MANGLE dùng để thay đổi các thông số trong gói IP.

- Mỗi table gồm nhiều mắc xích (chain). Chain gồm nhiều luật (rule) để thao tác với các gói dữ liệu. Rule có thể là ACCEPT (chấp nhận gói dữ liệu), DROP (thả gói), REJECT (loại bỏ gói) hoặc tham chiếu (reference) đến một chain khác.

3.3.1 Bảng MANGLE

Được sử dụng để thay đổi thông tin của gói tin. Người dùng có thể thay đổi nội dung gói tin và phần header của gói tin đó. Bảng này gồm 5 chuỗi luật được xây dựng sẵn.

- PREOUTING: Được sử dụng để thay đổi gói tin khi chúng vừa vào Bức tường lửa và trước khi chúng qua bước quyết định dẫn đường.

- POSTROUTING: Được sử dụng để thay đổi thông tin gói tin ngay sau khi tất cả các quyết định dẫn đường được thực hiện.

- INPUT: Sử dụng để thay đổi thông tin gói tin sau khi chúng đã được dẫn tới bản thân máy cục bộ, nhưng trước khi được gửi tới tiến trình ứng dụng.

- FORWARD: Sử dụng thay đổi thông tin gói tin sau khi chúng đã sang bước quyết định dẫn đường đầu tiên, nhưng trước khi chúng chịu tác động của quyết định dẫn đường cuối cùng.

- OUTPUT: Sử dụng thay đổi thông tin của các gói tin được phát sinh cục bộ trước khi chúng được chuyển sang bước quyết định dẫn đường.

Người dùng không sử dụng bảng này để thực hiện lọc gói tin và cũng không thực hiện chuyển đổi địa chỉ NAT hay Masquerading trong bảng này. Các hành động có thể được

sử dụng trong bảng này bao gồm:TOS, TTL, MARK, chúng chỉ hợp lệ trong bảng mangle.

- TOS: Dùng xác lập một byte (8 - bit) TOS (Type of service) trong phần tiêu đề IP của gói tin. Nó không thực sự hoàn hảo trên thực tế nó không sử dụng trên internet và hầu hết các router không quan tâm đến giá trị trong trường này, và đôi khi chúng thực hiện sai trên thông tin chúng nhận được.

- TTL: Dùng thay đổi trường TTL (Time To Live) của gói tin.

- MARK: Dùng xác lập các giá trị cho trường điểm đặc biệt cho gói tin. Những điểm này được nhận diện bởi các chương trình iprouter2 để thực hiện dẫn đường khác nhau trên gói tin phụ thuộc vào mark mà chúng có. Chúng ta cũng có thể giới hạn băng thông và class based queuing trên những mark này.

- SECMARK: Được sử dụng để thiết lập an ninh khi đánh dấu một gói tin sử dụng trong SELinux và các hệ thống an ninh có thể xử lý những điểm đánh dấu đó.

- CONNSECMARK: Được sử dụng để sao chép phạm vi an toàn cho 1 gói tin hay toàn bộ kết nối. Điều này sau đó sẽ được sử dụng bởi SELinux (Security-Enhanced Linux: thực hiện các chính sách an ninh kiểm soát truy cập, thông qua việc sử dụng Linux Security Modules (LSM) trong hạt nhân Linux. Nó không phải là một phiên bản Linux, nhưng là một bộ sửa đổi, bổ sung có thể được áp dụng cho UNIX-như hệ điều hành, chẳng hạn như Linux và BSD.) và các hệ thống an ninh .

3.3.2 Bảng NAT

Chỉ được sử dụng để chuyển đổi địa chỉ tĩnh hoặc động trên những gói tin. Nói cách khác, nó chỉ được dùng để chuyển đổi trường địa chỉ nguồn hay trường địa chỉ đích của gói tin, tuỳ theo luật được chỉ ra. Các gói tin trong một dòng dữ liệu (stream) chỉ đi qua bảng này một lần. giả sử gói đầu tiên của một dòng dữ liệu được cho phép (chỉ có gói đầu tiên trong một dòng dữ liệu sẽ vấp phải chuỗi này). Phần gói còn lại trong dòng dữ liệu sẽ được tự động thay đổi địa chỉ và sẽ phải chịu cùng các tác động như gói đầu tiên.

- Khi một máy bên trong mạng nội bộ truy cập vào tài nguyên bên ngoài thì gói tin được gửi đến IP NAT, IP NAT sẽ thay đổi địa chỉ nguồn của gói tin bằng một địa chỉ hợp lệ trong dãy địa chỉ được cấp trên Internet nếu còn.

- Khi một máy của mạng bên ngoài truy cập tài nguyên của mạng cục bộ qua IP NAT, khi gói tin đến IP NAT nó sẽ thay đổi địa chỉ đích của gói tin bằng một địa chỉ của mạng nội bộ.

Để chuyển đổi trường địa chỉ nguồn hoặc đích trong gói tin chúng ta sử dụng 3 chuỗi luật được xây dựng sẵn:

 Chuỗi luật PREOUTING: dùng để chuyển đổi địa chỉ các gói tin ngay sau khi đi vào bức tường lửa.

 Chuỗi luật POSROUTING: Dùng để thay đổi địa chỉ gói tin trước khi chúng ra khỏi bức tường lửa.

 Chuỗi luật OUTPUT: Dùng để thay đổi địa chỉ các gói tin được phát sinh cục bộ (trên firewall) trước khi định tuyến.

3.3.3 Bảng FILTER

Bảng filter dùng để lọc các gói tin. Giúp người dùng có thể kiểm tra và lọc các gói tin tương ứng và lọc gói chúng theo cách mà chúng ta muốn. Đây là nơi người dùng thật sự thực hiện hành động trên các gói tin và kiểm tra nội dung của gói tin và loại bỏ (DROP) hoặc chấp nhận(ACCEPT) chúng. Có 3 chuỗi luật được xây dựng sẵn trong bảng này là:

- INPUT được áp dụng cho tất cả các gói tin đến bức tường lửa. Gói tin cho host được chuyển qua chain input. Chú ý rằng tất cả các gói tin đến máy này đều phải thông của chuỗi input, không cần biết đến giao tiếp mạng nào hay hướng đến của chúng.

- FORWARD được áp dụng trên tất cả các gói tin sẽ đi qua bức tường lửa (các gói tin không được phát sinh trên máy Bức tường lửa và có đích đến ngoài máy bức tường lửa). Là gói tin được nhận bởi host mà nó được định cho một host khác thì nó sẽ được chuyển sang chain này.

- OUTPUT được áp dụng cho tất cả các gói tin được phát sinh từ các tiến trình cục bộ tức là gói tin được tạo từ host và chuyển cho host khác thì được chuyển qua chain output.

* Phần lớn tất cả các hành động áp dụng lên gói tin đều có thể được sử dụng trong chuỗi luật này tuy nhiên những hành động đã được nêu ở phần trên chỉ có thể được sử dụng trong bảng riêng của nó.

3.4Các thành phần của IPTables

3.4.1 Targets

Bức tường lửa kiểm tra mỗi gói IP và sau đó sẽ nhận dạng hoạt động của các gói IP đó. Sau khi đã được nhận dạng, các gói IP sẽ nhảy để thực hiện các xử lý tiếp. Bảng sau liệt kê các targets mà iptables sử dụng.

Target Miêu tả Ý nghĩa

ACCEPT  Iptables ngừng xử lý dữ liệu.

hành để xử lý.

DROP  Iptables ngừng xử lý dữ liệu.

 Gói dữ liệu bị chặn, loại bỏ LOG  Thông tin gói dữ liệu được

đưa vào syslog để kiểm tra.

 iptables tiếp tục xử lý gói dữ liệu với những luật kế tiếp.

 Người dùng không thể LOG và DROP được cùng một lúc, nó là 2 câu lệnh tương tự nhau. Đầu tiên sẽ log gói tin, tiếp đó sẽ drop nó.

--log-prefix "string"

iptables sẽ thêm vào log message một chuỗi do người dùng định sẵn. Thông thường là để thông báo vì sao gói bị bỏ.

REJECT  Làm việc tương tự như DROP, nhưng nó sẽ gửi trả về cho phía người gửi một thông báo lỗi rằng gói đã bị chặn và loại bỏ.

--reject-with qualifier

Tham số qualifier sẽ cho biệt loại thông báo gửi trả lại phía người gửi. Qualifier gồm các loại sau:

icmp-port-unreachable (default) icmp-net-unreachable icmp-host-unreachable icmp-proto-unreachable icmp-net-prohibited icmp-host-prohibited tcp-reset echo-reply

DNAT  Dùng để thực hiện destination network address translation, địa chỉ phía đích của gói dữ liệu sẽ được viết lại.

--to-destination ipaddress

Iptables sẽ viết lại địa chỉ ip address vào địa chỉ đích của gói dữ liệu.

SNAT  Dùng để thực hiện source network address translation viết lại địa chỉ nguồn của gói tin.

 Địa chỉ IP nguồn do người dùng định nghĩa.

--to-source<address>[-<address>] [:<port>-<port>]

Miêu tả địa chỉ IP và các cổng được dùng bởi SNAT.

MASQUERADE  Dùng để thực hiện Source Network Address Translation.

 Mặc định thì địa chỉ IP nguồn sẽ giống như IP nguồn của bức tường lửa.

[--to-ports <port>[-<port>]]

Xác định phạm vi của cổng nguồn và cổng đích.

Bảng 3.1 : Miêu tả các target mà iptable thường dùng nhất.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu giải pháp an toàn thông tin cho hệ thống tính toán lưới Luận văn ThS. Công nghệ thông tin 60 48 05 (Trang 45 - 49)

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

(74 trang)