Đồ án tốt nghiệp Tìm hiểu lý thuyết và xây dựng Firewall trên nền Linux


III. IPTables 3.1. Giới thiệu iptables



tải về 0.55 Mb.
trang14/18
Chuyển đổi dữ liệu19.08.2016
Kích0.55 Mb.
1   ...   10   11   12   13   14   15   16   17   18

III. IPTables

3.1. Giới thiệu iptables


Để sử dụng Firewall xây dựng trong Linux, chúng ta phải chắc chắn rằng hệ điều hành có cài đặt gói chức năng iptables. IPtables là firewall Linux thông dụng nhất. Hầu hết các bản phân phối Linux đều cài đặt phần này như một mặc địmh.

IPtables là một lệnh thông báo cho lõi hệ thống – xử lý lưu thông mạng như thế nào.ví dụ bạn có thể xử dụng iptables để drop các gói IP, forward chúng hoặc thực hiện chuyển đổi địa chỉ ( NAT ).

Các khái niệm cần thiết, và các thành phần của Linux :


  • Tables : còn gọi là bảng lọc – filter table.Nơi lưu trữ tập hợp các luật.Nơi mà chúng ta định nghĩa hầu hết các luật mà áp dụng cho lưu thông mạng đi vào và ra.Nếu chúng ta không định nghĩa một bảng cụ thể thì bảng mặc định sẽ được sử dụng. The NAT table chứa các luật dành cho NAT. The MANGLE table nhiệm vụ dẫn đường tăng cường.

  • Chains : tại lõi của Linux firewall. Linux sử dụng các chain như một tập hợp các luật mà Linux áp dụng khi lọc lưu thông mạng.Bao gồm 3 chains chính, mỗi cái trong chúng là một phần của filter table.

  • Input chain : Chain này áp dụng cho tất cả lưu lượng mạng đích cho firewall.Ví dụ nếu chúng ta muốn cho admin điều khiển firewall của chúng ta thông qua phương thức remote, chúng ta sẽ cấu hình một luật cho input chain để cho phép mọi thứ lưu lượng mạng mà công cụ của admin sử dụng.

  • Output chain : áp dụng cho mọi lưu lượng mạng đi ra khỏi firewall. Ví dụ nếu firewall muốn liên lạc DNS server cho name lookups, chúng ta cần cấu hình output chain để cho phép lưu thông này.

  • Forward chain : áp dụng cho tất cả lưu lượng mạng mà Linux firewall quản lý cho các máy tính khác. Ví dụ như nếu firewall của chúng ta lưu thông mạng từ các máy tính clients ra ngoài mạng Internet, chúng ta phải cấu hình the forward chain để cho phép lưu thông này.

  • SNAT, DNAT, và Masquerading : Các phần này là một kiểu khác của NAT. SNAT biến đổi địa chỉ nguồn của một gói trước khi gửi nó đi, thông thường là giấu địa chỉ IP của client khi kết nối với bên ngoài. DNAT chuyển địa chỉ đích của gói mà thông thường để làm trong suốt proxy server đối với client. Masquerading cũng ẩn các client mạng bên trong với thế giới bên ngoài và được sử dụng khi địa chỉ IP bên ngoài của chúng ta thay đổi mỗi lần kết nối- ví dụ kết nối quay số đến Internet.

3.2. Quá trình di chuyển của gói tin qua lõi của hệ thống


Ta xét quá trình di chuyển của một gói trong các trường hợp sau:



  • Destination local host :

Bảng 1


Step

Table

Chain

Comment

1







Trên đường truyền ( ví dụ Internet )

2







Đi vào giao diện mạng ( ví dụ như eth0,eth1…)

3

Mangle

PREROUTING

Chain này được sử dụng để biến đổi các gói như biến đổi loại dịch vụ ( TOS )

4

Nat

PREROUTING

Sử dụng cho DNAT không nên sử dụng cho chức năng lọc gói tại chain này

5







Quyết định dẫn đường

6

Mangle

INPUT

Sử dụng để biến đổi các gói trước khi đưa đến các tiến trình xử lý chúng

7

Filter

INPUT

Tại đây lọc tất cả lưu lượng vào

8







Tiến trình hay các ứng dụng xử lý các gói.




  • Source localhost :

Bảng 2


Step

Table

Chain

Comment

1







Tiến trình /ứng dụng cục bộ ( ví dụ như chương trình server/client)

2







Quyết định dẫn đường.Địa chỉ nhuồn sử dụng,giao diện mạng sử dụng là gì.

3

Mangle

OUTPUT

Biến đổi các gói

4

Nat

OUTPUT

Biến đổi NAT cho các gói đi ra mạng bên ngoài

5

Filter

OUTPUT

Lọc toàn bộ lưu lượng mạng ra ngoài

6

Mangle

POSTROUTING

Chain này được sử dụng khi chúng ta muốn biến đổi các gói trước khi chúng rời khỏi host

7

Nat

POSTROUTING

Thực hiện biến đỏi địa chỉ nguồn SNAT

8







Đi ra qua giao diện mạng ( eth0 …)

9







Trên đường truyền ( ví dụ Internet )




  • Forwarded packets :

Bảng 3


Step

Table

Chain

Comment

1







Trên đường truyền ( ví dụ Internet )

2







Đi vào giao diện mạng ( ví dụ eth0)

3

Mangle

PREROUTING

Chain này được sử dụng để biến đổi các gói như thay đổi TOS

4

Nat

PREROUTING

Chain này chủ yếu sử dụng cho mục đích DNAT

5







Quyết định dẫn đường : như gói tin có đích đến là localhost hay được chuyển tiếp

6

Mangle

FORWARD

Chain này được sử dụng cho một số nhu cầu đặc biệt, biến đổi các gói tin sau quyết định dẫn đường ban đầu nhưng trước quyết định dẫn đường cuối cùng để đưa gói ra đường truyền bên ngoài.

7

Filter

FORWARD

Chỉ có các gói tin forward đi vào chain này, tại đây chúng ta thực hiện các luật lọc đối với các gói.

8

Mangle

POSTROUTING

Dùng để thực hiện các yêu cầu đặc biệt sau tất cả các quyết định dẫn đường nhưng gói tin vẫn ở trong máy.

9

Nat

POSTROUTING

Chain này sử dung cho mục đích SNAT

10







Đi ra giao diện mạng ( ví dụ như eth1)

11







Trên đường truyền ( ví dụ LAN )

Ta có thể minh hoạ bằng sơ đồ sau :



Hình 3-4 : Quá trình gói tin trong lõi hệ thống Linux


1   ...   10   11   12   13   14   15   16   17   18


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2019
được sử dụng cho việc quản lý

    Quê hương