IV. Tường lửa (Firewall)
2. Các công nghệ Firewall
a. Tường lửa lọc gói tin (Packet Filtering)
Nguyên lý hoạt động
Tường lửa hoạt động chặt chẽ với giao thức TCI/IP do nó làm nhiệm vụ lưu thông dữ liệu giữa các mạng với nhau. 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, SNMP, NFS...) thành các gói dữ liệu (data packets) rồi gán cho các gói này những địa chỉ để có thể nhận dạng, tái lập lại ở đích cần gửi đến. Các loại tường lửa cũng liên quan rất nhiều đến các gói tin và địa chỉ của chúng.
Bộ lọc gói tin cho phép hay từ chối mỗi gói tin 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ó thoả mãn một trong số các luật lệ của lọc gói tin hay không.
Nguyên lý hoạt động của tường lửa lọc gói tin
Bộ lọc gói tin hoạt động ở lớp 3 trong mô hình OSI, cung cấp chứng năng chính là kiểm soát truy cập mạng dựa trên các thông trong gói tin:
- Địa chỉ IP nguồn (ví dụ địa chỉ IP 10.0.0.15) dạng địa chỉ lớp 3
- Địa chỉ IP đích (ví dụ địa chỉ IP 192.168.1.2) dạng địa chỉ lớp 3
- Giao thức truyền tin (TCP, UDP, ICMP, IP)
- Một số thông tin trong phiên giao tiếp của tầng 4 ví dụ như địa chỉ cổng TCP/UDP nguồn, cổng TCP/UDP đích.
- Dạng thông báo ICMP ( ICMP message type).
- Giao diện gói tin đến, giao diện gói tin đi. Các thông số này thường hữu ích cho các bộ định tuyến có ba giao diện mạng trở lên.
Tường lửa lọc gói tin hoạt động ở tầng 2 và 3 của mô hình OSI
Nếu các điều kiện lọc gói tin được thoả mãn thì gói tin được chuyển qua tường lửa, ngược lại thì gói tin sẽ bị bỏ đi. Nhờ vậy mà tường lửa có thể ngăn cản được các kết nối vào các máy chủ hoặc mạng nhất định, hoặc khoá việc truy cập vào hệ thống mạng nội bộ từ những địa chỉ không cho phép. Hơn nữa, việc kiểm soát các cổng làm cho tường lửa có khả năng chỉ cho phép một số loại kết nối nhất định vào các loại máy chủ nào đó, hoặc chỉ có những dịch vụ nào đó (Telnet, SMTP, FTP...) được phép mới được chạy trên hệ thống mạng cục bộ.
Ưu điểm của tường lửa lọc gói tin:
Đa số các hệ thống tường lửa đều sử dụng công nghệ lọc gói tin vì các ưu điểm sau:
- Tốc độ xử lý nhanh do các bộ lọc gói thường ít khi xử lý dữ liệu ở các lớp 4 trở lên.
- Phần lớn các giao thức mới đều hoạt động từ lớp 3 trở lên nên các bộ lọc gói thường trong suốt đối với người sử dụng và các ứng dụng
- Khả năng ngăn chặn các tấn công từ chối dịch vụ tốt
Với các ưu điểm ở trên, công nghệ lọc gói tin rất hay được tích hợp vào các các bộ định tuyến vành đai(boundary router) kết nối đến các vùng mạng không tin cậy. Các bộ định tuyến này đảm nhận nhiệm vụ ngăn chặn một số tấn công, kiểm soát truy cập mức đơn giản, lọc “thô” bớt các giao thức không được phép, sau đó chuyển dữ liệu lọc vào cho các tường lửa bên trong xử lý tiếp.
Hạn chế của tường lửa lọc gói tin
Công nghệ lọc gói tin có một số điểm hạn chế:
- Các tường lửa dựa trên công nghệ lọc gói tin không kiểm soát dữ liệu tại từ lớp 4 trở lên nên không kiểm soát được ứng dụng theo từng chức năng, không chống được các tấn công lợi dụng điểm yếu của ứng dụng. Ví dụ: một tường lửa lọc gói tin không thể ngăn chặn việc thực hiện từng lệnh bên trong một ứng dụng, việc cho phép một ứng dụng đi qua tường lửa đồng nghĩa với việc cho phép thực hiện bất cứ hành
- Khả năng đưa ra các thông tin nhật ký hạn chế do tường lửa chỉ kiểm soát một số lượng rất giới hạn các thông tin trong gói tin. Các gói tin nhật ký thường chỉ giới hạn trong số các thông tin dùng để tạo lên chính sách điều khiển truy cập (địa chỉ nguồn, đích, kiểu dữ liệu)
- Phần lớn các tường lửa lọc gói tin không hỗ trợ các tính năng xác thực người dùng.
- Không ngăn chặn được các tấn công lợi dụng các điểm yếu trong giao thức TCP/IP như tấn công giả mạo địa chỉ. Nhiều tường lửa lọc gói tin không thể phát hiện được một gói tin đã bị thay đổi các thông tin địa chỉ lớp 3. Loại tấn công giả mạo địa chỉ này cho phép kẻ tấn công vượt qua được rất nhiều các chính sách bảo mật cài đặt trên tường lửa
- 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 header của gói tin, và các giá trị cụ thể trên mỗi trường. Khi số lượng các quy tắc lọc trở nên dài và phức tạp thì mức độ phức tạp trong quản lý tăng lên, xác suất nhầm lẫn xảy ra rất cao.
b. Dịch vụ uỷ quyền (Proxy Service)
Nguyên lý hoạt động
Đây là một công nghệ tường lửa được thiết kế để tăng cường chức năng kiểm soát các loại dịch vụ, giao thức được phép trong hệ thống mạng. Các dịch vụ ủy quyền là các chương trình đặc biệt nhận các yêu cầu của người dùng về các dịch vụ Internet (như http, FTP,…) và chuyển tiếp chúng tới các máy chủ cung cấp dịch vụ trên Internet. Vì lý do này mà các dịch vụ ủy quyền còn được gọi là cổng vào ra uỷ quyền mức ứng dụng Application-Proxy Gateway.
Nguyên lý hoạt động của dịch vụ Proxy
Cổng vào ra uỷ quyền mức ứng dụng phối hợp giữa kiểm soát truy cập mức thấp với các chức năng lớp cao (lớp 7 - lớp ứng dụng).
Các tầng trong mô hình OSI được sử dụng
Mỗi chương trình uỷ quyền mức ứng dụng đơn lẻ, còn gọi là các chương trình uỷ quyền con (proxy agent), sẽ giao tiếp trực tiếp với tập luật kiểm soát trên tường lửa để xác định một luồng dữ liệu có được phép đi qua tường lửa hay không. Kèm theo các tập luật, mỗi chương trình uỷ quyền con này có khả năng yêu cầu người dùng xác thực theo nhiều cách khác nhau:
- Xác thực theo định danh người dùng và mật khẩu
- Xác thực theo thẻ (dạng phần cứng hoặc phần mềm)
- Xác thực theo địa chỉ nguồn
- Xác thực theo biện pháp sinh trắc học. Ưu điểm của Proxy Service
Cổng vào ra uỷ quyền mức ứng dụng có nhiều ưu điểm:
- Khả năng lưu các thông tin nhật ký phong phú vì tường lửa dựa trên công nghệ Cổng vào ra uỷ quyền mức ứng dụng có thể kiểm tra toàn bộ gói tin chứ không hạn chế đến địa chỉ mạng và các cổng như công nghệ lọc gói tin. Ví dụ: Thông tin nhật ký của các cổng vào ra mức ứng dụng có thể chứa thông tin về từng lệnh sử dụng trong ứng dụng
- Cho phép người quản trị lựa chọn giải pháp xác thực phù hợp nhất
- 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 với khả năng can thiệp đến bộ lệnh của từng dịch vụ. Sự vắng mặt của các chương trình uỷ quyền con đồng nghĩa với việc các dịch vụ tương ứng bị khoá.
- Khả năng kiểm soát nội dung tốt
- Các điều kiện lọc trong dịch vụ ủy quyền dễ dàng cấu hình và kiểm tra hơn so với bộ lọc gói tin.
Các chương trình uỷ quyền con Hạn chế của Proxy Service
Các ưu điểm của Cổng vào ra uỷ quyền mức ứng dụng cũng là nguyên nhân của nhiều hạn chế:
- Do khả năng kiểm soát gói tin trên nhiều lớp, Cổng vào ra uỷ quyền mức ứng dụng phải tiêu tốn khá nhiều thời gian để đọc và kiểm tra gói tin. Vì lý do này, nó ít khi phù hợp cho các vị trí cần tốc độ xử lý cao hoặc các ứng dụng thời gian thực.
- Khả năng hỗ trợ cho giao thức UDP hạn chế
- Số lượng dịch vụ được Cổng vào ra uỷ quyền mức ứng dụng hỗ trợ bị hạn chế, nhất là đối với các ứng dụng, giao thức mới. Mỗi ứng dụng cần một chương trình uỷ quyền con riêng biệt. Thông thường, các nhà cung cấp các tường lửa dựa trên công nghệ Cổng vào ra uỷ quyền mức ứng dụng tạo ra một số các chương trình uỷ quyền chung cho một số ứng dụng và giao thức mạng chưa hỗ trợ. Những chương trình con loại này chỉ đơn giản tạo một đường ống trên tường lửa để các ứng dụng, giao thức chưa hỗ trợ đi qua.
- Khả năng trong suốt với người dùng cuối hạn chế. Các máy trạm có thể phải thay đổi lại cấu hình, ví dụ: người dùng phải cấu hình địa chỉ máy chủ uỷ quyền (Proxy Server) trong trình duyệt web.
c. Lọc trạng thái gói tin (Stateful packet filtering)
Nguyên lý hoạt động
Công nghệ kiểm soát trạng thái là công nghệ kết hợp giữa công nghệ lọc gói tin với xử lý các thông tin trong lớp 4 mô hình OSI
Kiểm soát trạng thái phát triển từ các đặc tính của giao thức TCP/IP. Khi một ứng dụng sử dụng giao thức TCP để tạo một kết nối tới một máy chủ ở xa, một cổng được tạo trên máy tính đó (máy yêu cầu kết nối). Cổng này là cổng nhận các các lưu thông mạng (network traffic) trả lại từ hệ thống đích (máy chủ ở xa).
Các tầng trong mô hình OSI được sử dụng
Các tường lửa lọc gói phải cho phép mọi gói tin (lưu thông mạng đi vào) trả lại từ hệ thống đích khi kết nối diễn ra. Điều này khiến cho chúng phải mở nhiều cổng, dẫn đến rủi ro xâm nhập vào hệ thống từ các người dùng trái phép. Tường lửa kiểm soát trạng thái giải quyết vấn đề này bằng cách tạo một bảng các kết nối TCP đi ra (outbound) tương ứng với mỗi cổng của mỗi phiên kết nối. “Bảng trạng thái” này được sử dụng để kiểm tra các lưu thông đi vào. Giải pháp kiểm soát trạng thái này là an toàn hơn bởi tường lửa kiểm tra từng cổng riêng biệt của các client chứ không mở mọi cổng cho các lưu thông đi vào (inbound). Tường lửa kiểm soát trạng thái có thể phù hợp với các giao thức mạng khác tương tự như tường lửa lọc gói, nhưng trên thực tế công nghệ này phù hợp cho các hệ thống sử dụng giao thức TCP/IP. Các công nghệ tường lửa stateful inspection hiện đại còn có khả năng thực thi kiểm soát trạng thái với cả các giao thức “stateless” như UDP, ICMP.
Ưu điểm của Statefull packet filtering
- Kiểm soát nội dung gói tin nhiều hơn so với công nghệ lọc gói tin
- Độc lập với phần lớn các ứng dụng
- Khả năng ghi nhật ký tốt hơn so với công nghệ lọc gói tin
- Tốc độ xử lý tốt
- Không phải thay đổi cấu hình trên các máy trạm. Hạn chế của Statefull packet filtering
- Cho phép các vùng kết nối đến tường lửa có thể nói chuyện với nhau trực tiếp. Đây là một lỗ hổng có thể bị lợi dụng
- Thiết lập các quy tắc bảo mật phức tạp hơn so với công nghệ lọc gói tin.