Firewall – Các khái niệm, tính chất, nguyên lý và cách sử dụng

Posted: September 29, 2007 in Mạng máy tính (Network)
Tags: , ,

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ế hoả hoạn. Trong công nghệ mạng 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. Cũng có thể hiểu Firewall là một cơ chế (mechanism) để bảo vệ mạng tin t­ởng (Trusted network) khỏi các mạng không tin t­ởng (Untrusted network).

Thông th­ờng Firewall đ­ợc đặt giữa mạng bên trong (Intranet) của một công ty, tổ chức, ngành hay một quốc gia, và Internet. Vai trò chính là bảo mật thông tin, ngăn chặn sự truy nhập không mong muốn từ bên ngoài (Internet) và cấm truy nhập từ bên trong (Intranet) tới một số địa chỉ nhất định trên Internet.

Chức năng chính

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. Cụ thể là:

Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet ra Internet).
Cho phép hoặc cấm những dịch vụ phép truy nhập vào trong (từ Internet vào Intranet).
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 nhập của ng­ời sử dụng.
Kiểm soát nội dung thông tin thông tin l­u chuyển trên mạng.
Các thành phần

Firewall chuẩn bao gồm một hay nhiều các thành phần sau đây:

Bộ lọc packet (packet-filtering router)
Cổng ứng dụng (application-level gateway hay proxy server)
Cổng mạch (circuite level gateway)
Bộ lọc paket (Paket filtering router)

Nguyên lý

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 (data pakets) rồi gán cho các paket 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ó thoả 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ỉ IP nơi xuất phát ( IP Source address)
Địa chỉ IP nơi nhận (IP Destination address)
Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)
Cổng TCP/UDP nơi xuất phát (TCP/UDP source port)
Cổng TCP/UDP nơi nhận (TCP/UDP destination port)
Dạng thông báo ICMP ( ICMP message type)
Giao diện packet đến ( incomming interface of packet)
Giao diện packet đi ( outcomming interface of packet)
Nếu luật lệ lọc packet đ­ợc thoả mãn thì packet đ­ợc chuyển qua firewall. Nếu không packet sẽ bị bỏ đi. Nhờ vậy mà Firewall có thể ngăn cản đ­ợc các kết nối vào các máy chủ hoặc mạng nào đó đ­ợc xác đị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 Firewall 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 chạy đ­ợc trên hệ thống mạng cục bộ.

Ưu điểm

Đa số các hệ thống firewall đều sử dụng bộ lọc packet. Một trong những ­u điểm của ph­ơng pháp dùng bộ lọc packet là chi phí thấp vì cơ chế lọc packet đã đ­ợc bao gồm trong mỗi phần mềm router.
Ngoài ra, bộ lọc packet 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ả.

Hạn chế

Việc định nghĩa các chế độlọc package 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 packet, rõ ràng là bộ lọc packet không kiểm soát đ­ợc nôi dung 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.
Cổng ứng dụng (application-level getway)

Nguyên lý

Đây là một loại Firewall đ­ợ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 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 gateway cho 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.

Một cổng ứng dụng th­ờng đ­ợc coi nh­ là một pháo đài (bastion host), bởi vì nó đ­ợc thiết kế đặt biệt để chống lại sự tấn công từ bên ngoài. Những biện pháp đảm bảo an ninh của một bastion host là:

Bastion host luôn chạy các version an toàn (secure version) của các phần mềm hệ thống (Operating system). Các version an toàn này đ­ợc thiết kế chuyên cho mục đích chống lại sự tấn công vào Operating System, cũng nh­ là đảm bảo sự tích hợp firewall.
Chỉ những dịch vụ mà ng­ời quản trị mạng cho là cần thiết mới đ­ợc cài đặt trên bastion host, đơn giản chỉ vì nếu một dịch vụ không đ­ợc cài đặt, nó không thể bị tấn công. Thông th­ờng, chỉ một số giới hạn các ứng dụng cho các dịch vụ Telnet, DNS, FTP, SMTP và xác thực user là đ­ợc cài đặt trên bastion host.
Bastion host có thể yêu cầu nhiều mức độ xác thực khác nhau, ví dụ nh­ user password hay smart card.
Mỗi proxy đ­ợc đặt cấu hình để cho phép truy nhập chỉ một sồ các máy chủ nhất định. Điều này có nghĩa rằng bộ lệnh và đặc điểm thiết lập cho mỗi proxy chỉ đúng với một số máy chủ trên toàn hệ thống.
Mỗi proxy duy trì một quyển nhật ký ghi chép lại toàn bộ chi tiết của giao thông qua nó, mỗi sự kết nối, khoảng thời gian kết nối. Nhật ký này rất có ích trong việc tìm theo dấu vết hay ngăn chặn kẻ phá hoại.
Mỗi proxy đều độc lập với các proxies khác trên bastion host. Điều này cho phép dễ dàng quá trình cài đặt một proxy mới, hay tháo gỡ môt proxy đang có vấn để.
Ư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.
Luật lệ lọc filltering cho cổng ứng dụng là dễ dàng cấu hình và kiểm tra hơn so với bộ lọc packet.
Hạn chế

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.
Cổng vòng (circuit-Level Gateway)

Cổng vòng 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 vòng đơ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 packet nào.

Hình d­ới đây minh hoạ một hành động sử dụng nối telnet qua cổng vòng. Cổng vòng đơ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 vòng 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ộ.

Cổng vòng 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 vòng 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 bên ngoài.

Những hạn chế của firewall

Firewall không đủ thông minh nh­ con ng­ời để có thể đọc hiểu từng loại thông tin và phân tích nội dung tốt hay xấu của nó. Firewall chỉ có thể ngăn chặn sự xâm nhập của những nguồn thông tin không mong muốn nh­ng phải xác định rõ các thông số địa chỉ.
Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công này không “đi qua” nó. Một cách cụ thể, firewall không thể chống lại một cuộc tấn công từ một đ­ờng dial-up, hoặc sự dò rỉ thông tin do dữ liệu bị sao chép bất hợp pháp lên đĩa mềm.
Firewall cũng không thể chống lại các cuộc tấn công bằng dữ liệu (data-drivent attack). Khi có một số ch­ơng trình đ­ợc chuyển theo th­ điện tử, v­ợt qua firewall vào trong mạng đ­ợc bảo vệ và bắt đầu hoạt động ở đây.
Một ví dụ là các virus máy tính. Firewall không thể làm nhiệm vụ rà quét virus trên các dữ liệu đ­ợc chuyển qua nó, do tốc độ làm việc, sự xuất hiện liên tục của các virus mới và do có rất nhiều cách để mã hóa dữ liệu, thoát khỏi khả năng kiểm soát của firewall.
Tuy nhiên, Firewall vẫn là giải pháp hữu hiệu đ­ợc áp dụng rộng rãi.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s