Wednesday, December 15, 2010

MAC address filtering có thực sự an toàn?

Bài viết này thật sự không liên quan nhiều đến opensource, nhưng ít nhiều mang lại một cái nhìn, một cuộc tranh luận về bảo mật mạng dựa trên việc lọc MAC nói chung.. Tôi thực sự muốn nghe ý kiến của các bạn về đề tài này.
Dù ở môi trường nào đi nữa thì MAC filtering được sử dụng để ngăn chặn các thiết bị không được ấn định địa chỉ MAC trong danh sách accepted MAC truy cập vào hệ thống mạng. Nhìn qua thì phương pháp này tương đối an toàn, tuy nhiên người dùng có kinh nghiệm hoàn toàn có thể dùng các công cụ chuyên dụng để lấy địa chỉ MAC hợp lệ, thay đổi địa chỉ MAC và truy cập với quyền user. Lúc này lọc MAC trở nên vô dụng.

Không một phương pháp bảo mật nào là an toàn tuyệt đối. Vì thế trước khi ấn định mức độ bảo mật, cách bảo mật cho hệ thống, chúng ta cần xác định rõ môi trường, yêu cầu, mục tiêu cần tiến tới là gì. Tôi không nói đến vấn đề lọc địa chỉ MAC có cần thiết hay không? Trong bài viết này chúng ta chỉ bàn tới khía cạnh lọc MAC có thật sự an toàn không?


Gần đây tôi có đọc được các bài báo, thảo luận ở diễn đàn xung quanh vấn đề trên. Rõ ràng nếu hệ thống của bạn cần một mức độ bảo mật ở mức cao (Dữ liệu quan trọng được truy xuất, sửa, xóa, cấm truy cập với từng nhóm người dùng nhất định, hệ thống chỉ được quyền truy cập bởi những người dùng hợp lệ, hợp lệ ở đây dựa trên những tiêu chí được ấn định bỏi người quản trị hệ thống..) thì lọc MAC rõ ràng là không đủ, và không an toàn. MAC hoàn toàn có thể thay đổi và giả mạo, nếu lấy việc lọc địa chỉ MAC là cánh cửa duy nhất để bảo vệ hệ thống, việc bảo mật sụp đổ hoàn toàn.


Vậy thế nào là an toàn? Không có gì là an toàn tuyệt đối, nhưng có cách an toàn hơn: mã hóa, chứng thực và đặt ra thuộc quyền đối với từng người dùng nhất định (Encryption, Authentication, Authorization). Người có thể đăng nhập vào hệ thống, chưa chắc người đó có quyền thao tác trên dữ liệu được bảo vệ.


Đối với mạng không dây, phương pháp lọc địa chỉ MAC được sử dụng phổ biến. Nhiều câu hỏi đặt ra theo kiểu lọc MAC + không broadcast SSID có an toàn? Theo tôi là không, các gói tin được chuyển nhận trong mạng không dây vẫn bị sniff và những thông tin trên hoàn toàn có thể lấy được.


Các router wifi phổ biến hiện nay đều cung cấp các phương pháp mã hóa hiện đại, dữ liệu được truyền trong mạng được mã hóa, chỉ những người dùng đã chứng thực bằng preshared-key có thể đọc được. Hai phương pháp thông dụng là mã hóa WEP (Wired equivalent privacy) và WPA (Wireless Protection Access) . Hai phương pháp này đều bị qua mặt. Chi tiết các bạn có thể tham khảo tại website http://www.remote-exploit.org/. Chuẩn WPA2 được đưa ra để khắc phục những điểm yếu của 2 phương thức trên. WPA2 mã hóa dữ liệu lưu thông trong mạng sử dụng phương thức mã hóa AES ( Advanced Encryption Standard), cung cấp mực độ bảo mật cho đến nay là an toàn, chưa bị phá vỡ hoặc cần rất nhiều thời gian và tài nguyên lớn để phá vỡ. Đối với tôi, câu hỏi làm thế nào để bảo mật mạng không dây? Tôi trả lời: “sử dụng WPA2-AES, thay đổi passphrase định kì và không gì hơn”. WPA2 sử dụng chuẩn hardware hoàn toàn giống với WPA, nếu firmware của bạn hỗ trợ WPA, bạn nên cập nhât firmware phiên bản mới, và nếu phần cứng của hệ thống không hỗ trợ WPA2 nhưng muốn bảo vệ an toàn dữ liệu, việc nâng cấp là bắt buộc. WPA2 cung cấp cùng lúc 2 yêu cầu: Authetication và Encryption. Vấn đề còn lại là cách phân quyền hợp lí đối với dữ liệu hệ thống, sẽ được nói đến tiếp theo ở mạng có dây.


Đối với mạng có dây, nếu hệ thống mạng của bạn là một hệ thống khép kín, không cho phép người dùng sử dụng các thiết bị bên ngoài như laptop có quyền truy cập (như nhân viên mang laptop đến công ty sử dụng), có lẽ bạn nên an tâm với phương pháp lọc địa chỉ MAC. Nếu hệ thống không đáp ứng được nhu cầu trên, thì lọc MAC chắc chắn không hiệu quả, cho dù bạn triển khai access control trên cả IP và MAC, MAC có thể thay đổi thì IP cũng vậy. Việc mã hóa không bao giờ là dư thừa, đối với mạng có dây, bạn nên nghĩ đến những phương pháp bền hơn bằng cách sử dụng các phương thức resource sharing (Samba trên *NIX và Active directory trên nền Window), sử dụng firewall, authentication proxy...Dữ liệu được phân quyền ở cấp độ user, cho phép hoặc cấm truy cập đối với từng nhóm người dùng nhất định (Authorization). Trên Windows có NTFS permission, Group Policy, trên *NIX có chmod, chroot...+ các phần mềm hỗ trợ.

No comments:

Post a Comment