11 thg 5, 2008

Tổng quan về Firewall

Firewall là gì ?
Thuật ngữ Firewall có nguồn gốc từ một kỹ thuật thiết kế trong xây dựng để ngăn chặn, hạn chế hỏa hoạn. Trong công nghệ thông tin, Firewall là một kỹ thuật được tích hợp vào hệ thống mạng để chống sự truy cập trái phép, nhằm bảo vệ các nguồn thông tin nội bộ và hạn chế sự xâm nhâp không mong muốn vào hệ thống. Firewall được miêu tả như là hệ phòng thủ bao quanh với các “chốt” để kiểm soát tất cả các luồng lưu thông nhập xuất. Có thể theo dõi và khóa truy cập tại các chốt này.

Các mạng riêng nối với Internet thường bị đe dọa bởi những kẻ tấn công. Để bảo vệ dữ liệu bên trong người ta thường dùng firewall. Firewall có cách nào đó để cho phép người dùng hợp đi qua và chặn lại những người dùng không hợp lệ.
Firewall có thể là thiết bị phần cứng hoặc chương trình phần mềm chạy trên host bảo đảm hoặc kết hợp cả hai. Trong mọi trường hợp, nó phải có ít nhất hai giao tiếp mạng, một cho mạng mà nó bảo vệ, một cho mạng bên ngoài. Firewall có thể là gateway hoặc điểm nối liền giữa hai mạng, thường là một mạng riêng và một mạng công cộng như là Internet. Các firewall đầu tiên là các router đơn giản.

Chức năng của Firewall
Chức năng chính của Firewall là kiểm soát luồng thông tin từ giữa Intranet và Internet. Thiết lập cơ chế điều khiển dòng thông tin giữa mạng bên trong (Intranet) và mạng Internet.
• Cho phép hoặc cấm những dịch vụ truy cập ra ngoài.
• Cho phép hoặc cấm những dịch vụ từ ngoài truy cập vào trong.
• Theo dõi luồng dữ liệu mạng giữa Internet và Intranet
• Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập
• Kiểm soát người sử dụng và việc truy cập của người sử dụng. Kiểm soát nội dung thông tin lưu chuyển trên mạng.
Một firewall khảo sát tất cả các luồng lưu lượng giữa hai mạng để xem nó có đạt chuẩn hay không. Nếu nó đạt, nó được định tuyến giữa các mạng, ngược lại nó bị hủy. Một bộ lọc firewall lọc cả lưu lượng ra lẫn lưu lượng vào. Nó cũng có thể quản lý việc truy cập từ bên ngoài vào nguồn tài nguyên mạng bên trong. Nó có thể được sử dụng để ghi lại tất cả các cố gắng để vào mạng riêng và đưa ra cảnh báo nhanh chóng khi kẻ thù hoặc kẻ không được phân quyền đột nhập. Firewall có thể lọc các gói dựa vào địa chỉ nguồn, địa chỉ đích và số cổng của chúng. Điều này còn được gọi là lọc địa chỉ. Firewall cũng có thể lọc các loại đặc biệt của lưu lượng mạng. Điều này được gọi là lọc giao thức bởi vì việc ra quyết định cho chuyển tiếp hoặc từ chối lưu lượng phụ thuộc vào giao thức được sử dụng, ví dụ HTTP, FTP hoặc Telnet. Firewall cũng có thể lọc luồng lưu lượng thông qua thuộc tính và trạng thái của gói.
Một số firewall có chức năng thú vị và cao cấp, đánh lừa được những kẻ xâm nhập rằng họ đã phá vỡ được hệ thống an toàn. Về cơ bản, nó phát hiện sự tấn công và tiếp quản nó, dẫn dắt kẻ tấn công đi theo bằng tiếp cận “nhà phản chiếu” (hall of mirrors). Nếu kẻ tấn công tin rằng họ đã vào được một phần của hệ thống và có thể truy cập xa hơn, các hoạt động của kẻ tấn công có thể được ghi lại và theo dõi.
Nếu có thể giữ kẻ phá hoại trong một thời gian, người quản trị có thể lần theo dấu vết của họ. Ví dụ, có thể dùng lệnh finger để theo vết kẻ tấn công hoặc tạo tập tin “bẫy mồi” để họ phải mất thời gian truyền lâu, sau đó theo vết việc truyền tập tin về nơi của kẻ tấn công qua kết nối Internet.

Nguyên lý hoạt động của Firewall
Firewall hoạt động chặt chẽ với giao thức TCP/IP, vì giao thức này làm việc theo thuật tó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 (data packets) 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.
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 (header), dùng để cho phép truyền các packet đó ở trên mạng. Bao gồm:
• Địa chỉ IP nơi xuất phát (Source)
• Địa chỉ IP nơi nhận ( Destination)
• Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel …)
• Cổng TCP/UDP nơi xuất phát
• Cổng TCP/UDP nơi nhận
• Dạng thông báo ICMP
• Giao diện packet đến
• Giao diện packet đi
Nếu packet thỏa các luật lệ đã được thiết lập trước của Firewall thì packet đó được chuyển qua, nếu không thỏa thì sẽ bị loại bỏ. Việc kiểm soát các cổng làm cho Firewall có khả năng chỉ cho phép một số loại kết nối nhất định được phép mới vào được hệ thống mạng cục bộ. Cũng nên lưu ý là do việc kiểm tra dựa trên header của các packet nên bộ lọc không kiểm soát được nội dụng thông tin của packet. Các packet 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. Trong các phần sau chúng ta sẽ cùng tìm hiểu các kỹ thuật để vượt tường lửa.

Firewall trong các mô hình mạng OSI và TCP/IP
Firewall hoạt động ở các lớp khác nhau sử dụng các chuẩn khác nhau để hạn chế lưu lượng. Lớp thấp nhất mà firewall hoạt động là lớp 3. Trong mô hình OSI đây là lớp mạng. Trong mô hình TCP/IP đây là lớp IP (Internet Protocol). Lớp này có liên quan tới việc định tuyến các gói tới đích của chúng. Ở lớp này, một firewall có thể xác định rằng một gói từ một nguồn đáng tin cậy, nhưng không xác định gói chứa những gì. Ở lớp transport, firewall biết một ít thông tin về gói và có thể cho phép hoặc từ chối truy cập dựa vào các tiêu chuẩn. Ở lớp ứng dụng, firewall biết nhiều về những gì đang diễn ra và có sự lựa chọn trong việc gán quyền truy cập.

IP spoofing (sự giả mạo IP)
Nhiều firewall nghiên cứu các địa chỉ IP nguồn của các gói để xác nhận nếu chúng hợp lý. Một firewall có thể cho phép luồng lưu thông nếu nó đến từ một host đáng tin cậy. Một cracker giả mạo địa chỉ IP nguồn của các gói gửi tới firewall. Nếu firewall nghĩ rằng các gói đến từ một host tin cậy, nó có thể cho chúng đi qua trừ khi một vài chuẩn khác không thỏa. Tất nhiên cracker muốn tìm hiểu về luật của firewall để khai thác vào điểm yếu này.
Một biện pháp hiệu quả chống lại sự giả mạo IP là việc sử dụng giao thức mạng riêng ảo (Virtual Private Network - VPN) như là IPSec. Biện pháp này đòi hỏi việc mã hóa dữ liệu trong các gói cũng như địa chỉ nguồn. Phần mềm hoặc phần sụn VPN giải mã gói và địa chỉ nguồn để tiến hành một cuộc kiểm tra (checksum). Nếu cả dữ liệu lẫn địa chỉ nguồn đã bị giả mạo thì gói sẽ bị hủy.

IPSec
IPSec có vai trò rất quan trọng trong việc giải quyết các vấn đề mà chúng ta cố giải quyết nó với firewall.
IPSec (IP Security) đề ra một tập các chuẩn được phát triển bởi Internet Engineering Tast Force (IETF). IPSec giải quyết hai vấn đề gây hại cho bộ giao thức IP: Sự xác thực host-to-host (cho các host biết là chúng đang nói chuyện với nhau mà không phải là sự giả mạo) và việc mã hóa (ngăn chặn những kẻ tấn công xem dữ liệu trong luồng lưu lượng giữa hai máy).
Đây là các vấn đề mà firewall cần giải quyết. Mặc dù firewall có thể làm giảm nguy cơ tấn công trên Internet mà không cần sự xác thực và mã hóa, nhưng vẫn còn hai vấn đề lớn ở đây: tính toàn vẹn và sự riêng tư của thông tin đang truyền giữa hai host và sự giới hạn trong việc đặt ra các loại kết nối giữa các mạng khác nhau. IPSec giúp giải quyết các vấn đề này.
Có vài khả năng đặc biệt khi chúng ta xem xét sự kết hợp giữa các firewall với các host cho phép IPSec. Cụ thể là, VPN, việc lọc gói tốt hơn (lọc những gói mà có tiêu đề xác thực IPSec), và các firewall lớp ứng dụng sẽ cung cấp sự xác minh host tốt hơn bằng cách sử dụng tiêu đề xác thực IPSec thay cho “just trusting


http://www.hocquantrimang.net/forum/showthread.php?t=244

Không có nhận xét nào: