Chương 2: GIỚI THIỆU VỀ IPTABLE
2.4. Các thành phần và cơ chế hoạt động tường lửa
+ Cổng ứng dụng (Application gateway hay proxy server).
+ Cổng mạch (Circuit gateway).
+ Bộ lọc Sesion thông minh (Intelligent Session Filters)
Hình 2.9: Sơ đồ phần thành của firewall 2.4.1. Bộ lọc gói
Khi nói đến việc lưu thông dữ liệu giữa các mạng với nhau thông qua firewall thì điều đó có nghĩa rằng firewall hoạt động chặt chẽ với giao thức TCI/IP. Vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận được từ các ứng dụng trên mạng, hay nói chính xác hơn là các dịch vụ chạy trên các giao thức (Telnet, SMTP, DNS, SMNP, NFS…) thành các gói dữ liệu rồi gán cho các packet này những địa chỉ để có thể nhận dạng, tái lập lại ở đích cần gửi đến, do đó các loại firewall cũng liên quan rất nhiều đến các packet và những con số địa chỉ của chúng.
Firewall
Bộ lọc packet Cổng ứng dụng Cổng mạch Bộ lọc
Sesion thông minh
Hình 2.10: Gói tin ở tầng Network
Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được. Nó kiểm tra toàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thỏa mãn một trong số các luật lệ của lọc packet hay không. Các luật lệ lọc packet này là dựa trên các thông tin ở đầu mỗi packet (packet header), dùng để cho phép truyền các packet đó ở trên mạng.
Đó là:
- Địa chỉ nơi xuất phát hay còn gọi là địa chỉ nguồn (Source IP address).
- Địa chỉ nơi nhận hay còn gọi là địa chỉ đích (Destination IP address).
- Số cổng của nơi xuất phát (Source port).
- Số cổng của nơi nhận (Destination).
Ưu điểm :
- Chi phí thấp vì cơ chế lọc gói đã được bao gồm trong mỗi phần mềm router.
Ngoài ra, bộ lọc gói tin là trong suốt đối với người sử dụng và các ứng dụng, vì vậy nó không yêu cầu sự huấn luyện đặc biệt nào cả.
Nhược điểm :
-Việc định nghĩa các chế độ lọc gói tin là một việc khá phức tạp, đòi hỏi người quản trị mạng cần có hiểu biết chi tiết vể các dịch vụ internet, các dạng packet header, và các giá trị cụ thể có thể nhận trên mỗi trường. Khi đòi hỏi vể sự lọc càng lớn, các luật lệ vể lọc càng trở nên dài và phức tạp, rất khó để quản lý và điều khiển. Do làm việc dựa trên header của các gói tin, rõ ràng là bộ lọc gói tin không kiểm soát được nội dung thông tin của gói tin. Các gói tin chuyển qua vẫn có thể mang theo những hành động với ý đồ ăn cắp thông tin hay phá hoại của kẻ xấu.
2.4.2. Cổng ứng dụng Nguyên lý hoạt động:
- Kiểm soát các loại dịch vụ, giao thức được cho phép truy cập vào hệ thống mạng. Cơ chế hoạt động của nó dựa trên cách thức gọi là proxy service. Proxy service là các bộ code đặc biệt cài đặt trên từng ứng dụng. Nếu người quản trị mạng không cài đặt proxy code cho một ứng dụng nào đó, dịch vụ tương ứng sẽ không được cung cấp và do đó không thể chuyển thông tin qua firewall. Ngoài ra, proxy code có thể được định cấu hình để hỗ trợ chỉ một số đặc điểm trong ứng dụng mà người quản trị mạng cho là chấp nhận được trong khi từ chối những đặc điểm khác.
Hình 2.11: Tầng Application
Application gateway được thiết kế để tăng cường chức năng kiểm soát các loại dịch vụ vào giao thức được cho phép truy cập vào hệ thống mạng.
Proxy service hoạt động theo cơ chế: Một ứng dụng nào đó được đại diện bởi một proxy Service chạy trên các hệ thống máy chủ thì được quy chiếu đến application gateway của firewall. Cơ chế lọc của packet filtering phối hợp kiểm soát với cơ chế
“đại diện” application gateway cung cấp một khả năng an toàn hơn cho firewall trong việc giao tiếp thông tin với mạng ngoài.
Ví dụ một hệ thống mạng có chức năng lọc gói tin, nó sẽ ngăn các kết nối bằng telnet vào hệ thống chỉ trừ một cổng duy nhất. Telnet application gateway là được phép. Một người sử dụng dịch vụ telnet muốn kết nối vào hệ thống phải thực hiện các bước sau:
- Thực hiện dịch vụ telnet đến telnet application gateway rồi cho biết tên của máy chủ bên trong cần truy cập.
- Gateway kiểm tra địa chỉ IP nơi xuất phát của người truy cập rồi cho phép hoặc
- Người truy cập phải vượt qua được hệ thống kiểm tra xác định.
- Proxy service liên kết lưu thông giữa người truy cập với máy chủ.
Cơ chế hoạt động này có ý nghĩa quan trọng trong việc thiết kế an ninh hệ thống. Nó có thể cung cấp nhiều khả năng, ví dụ như: che dấu các thông tin: Người dùng chỉ có thể nhìn thấy trực tiếp các gateway được phép, tăng cường kiểm tra truy cập bằng các dịch vụ xác thực (authentication), giảm đáng kể giá thành cho việc phát triển các hệ quản trị xác thực vì hệ thống này được thiết kế chỉ quy chiếu đến application gateway, giảm thiếu các quy tắc kiểm soát của bộ lọc. Điều này làm tăng một cách đáng kể tốc độ hoạt động của firewall.
Ưu điểm:
- Cho phép người quản trị mạng hoàn toàn điều khiển được từng dịch vụ trên mạng, bởi vì ứng dụng proxy hạn chế bộ lệnh và quyết định những máy chủ nào có thể truy nhập được bởi các dịch vụ. Cho phép người quản trị mạng hoàn toàn điều khiển được những dịch vụ nào cho phép, bởi vì sự vắng mặt của các proxy cho các dịch vụ tương ứng có nghĩa là các dịch vụ ấy bị khoá. Cổng ứng dụng cho phép kiểm tra độ xác thực rất tốt, và nó có nhật ký ghi chép lại thông tin về truy nhập hệ thống.
Nhược điểm:
- Yêu cầu các users thay đổi thao tác, hoặc thay đổi phần mềm đã cài đặt trên máy client cho truy nhập vào các dịch vụ proxy. Chẳng hạn, telnet truy nhập qua cổng ứng dụng đòi hỏi hai bước để nối với máy chủ chứ không phải là một bước thôi. Tuy nhiên, cũng đã có một số phần mềm client cho phép ứng dụng trên cổng ứng dụng là trong suốt, bằng cách cho phép user chỉ ra máy đích chứ không phải cổng ứng dụng trên lệnh telnet.
2.4.3. Cổng mạch
Cổng mạch là một chức năng đặc biệt có thể thực hiện được bởi một cổng ứng dụng. Cổng mạch đơn giản chỉ chuyển tiếp (relay) các kết nối TCP mà không thực hiện bất kỳ một hành động xử lý hay lọc gói tin nào.
Cổng mạch đơn giản chuyển tiếp kết nối telnet qua firewall mà không thực hiện một sự kiểm tra, lọc hay điều khiển các thủ tục Telnet nào. Cổng mạch làm việc như một sợi dây, sao chép các byte giữa kết nối bên trong (Inside connection) và các kết nối bên ngoài (Outside connection). Tuy nhiên, vì sự kết nối này xuất hiện từ hệ thống firewall, nó che dấu thông tin về mạng nội bộ.
Hình 2.12: Ứng dụng cổng mạch ở lớp 4 trong mô hình OSI
Cổng mạch thường được sử dụng cho những kết nối ra ngoài, nơi mà các quản trị mạng thật sự tin tưởng những người dùng bên trong. Ưu điểm lớn nhất là một bastion host có thể được cấu hình như là một hỗn hợp cung cấp cổng ứng dụng cho những kết nối đến, và cổng mạch cho các kết nối đi. Điều này làm cho hệ thống bức tường lửa dễ dàng sử dụng cho những người trong mạng nội bộ muốn trực tiếp truy nhập tới các dịch vụ internet, trong khi vẫn cung cấp chức năng bức tường lửa để bảo vệ mạng nội bộ từ những sự tấn công từ bên ngoài.
Hình 2.13: Circuit Gateway 2.4.4. Bộ lọc sesion thông minh
Cơ chế hoạt động phối hợp giữa bộ lọc packet và cổng ứng dụng như đề cập ở trên cung cấp một chế độ an ninh cao tuy nhiên nó cũng tồn tại một vài hạn chế. Vấn đề chính hiện nay là làm sao để cung cấp đủ proxy service cho rất nhiều ứng dụng khác nhau đang phát triển ồ ạt. Điều này có nghĩa là nguy cơ, áp lực đối với việc firewall bị đánh lừa gia tăng lên rất lớn nếu các proxy không kịp đáp ứng.
Trong khi giám sát các gói tin ở những mức phía trên, nếu như lớp network đòi hỏi nhiều công sức đối với việc lọc các gói tin đơn giản, thì việc giám sát các giao dịch lưu thông ở mức mạng đòi hỏi ít công việc hơn. Cách này cũng loại bỏ được các dịch vụ đặc thù cho từng loại ứng dụng khác nhau.
Một sesion ở mức network được tạo bởi hai packet lưu thông hai chiều là:
- Kiểm soát các gói lưu thông từ máy trạm phát sinh ra nó đến máy chủ cần tới.
- Kiểm soát gói tin trở về từ máy chủ phát sinh.
- Bộ lọc thông minh sẽ nhận biết được rằng gói tin trở về theo chiều ngược lại.
Do vậy, cách tiếp nhận các packet không mong muốn sinh ra từ bên ngoài firewall sẽ khác biệt rất rõ với cách tiếp nhận cho các gói tin do những kết nối được phép ra bên ngoài. Và như vậy dễ dàng nhận dạng được các gói tin “bất hợp pháp”.