CHƯƠNG III CÁC KỸ THUẬT TẤN CÔNG MẠNG WLAN VÀ BIỆN PHÁP PHÒNG CHỐNG
II. Các kỹ thuật tấn công mạng WLAN
10. Giới thiệu tổng quan về mô hình xác thực RADIUS
• Việc bảo mật WLAN sử dụng chuẩn 802.1x kết hợp với xác thực người dùng trên Access Point (AP). Một máy chủ thực hiện việc xác thực trên nền tảng RADIUS có thể là một giải pháp tốt cung cấp xác thực cho chuẩn 802.1x.
• Phần này sẽ giới thiệu cách thức làm việc của RADIUS và vì sao phải cần mỏy chủ RADIUS ủể hỗ trợ việc xỏc thực cho WLAN.
Hình 38 - Mô hình xác thực giữa Wireless Clients và RADIUS Server. 10.1. Xác thực, cấp phép và kiểm tra
Giao thức Remote Authentication Dial In User Service (RADIUS) ủược ủịnh nghĩa trong RFC 2865 như sau: Với khả năng cung cấp xỏc thực tập trung, cấp phộp và ủiều khiển truy cập (Authentication, Authorization, và Accounting – AAA) cho các phiên làm việc với SLIP và PPP Dial-up – như việc cung cấp xác
thực của cỏc nhà cung cấp dịch vụ Internet (ISP) ủều dựa trờn giao thức này ủể xỏc thực người dùng khi họ truy cập Internet.
Nú cần thiết trong tất cả cỏc Network Access Server (NAS) ủể làm việc với danh sách các username và password cho việc cấp phép, RADIUS Access-Request sẽ chuyển các thông tin tới một Authentication Server, thông thường nó là một AAA Server (AAA – Authentication, Authoriztion, và Accounting). Trong kiến trúc của hệ thống nó tạo ra khả năng tập trung các dữ liệu, thông tin của người dựng, cỏc ủiều kiện truy cập trờn một ủiểm duy nhất (single point), trong khi cú khả năng cung cấp cho một hệ thống lớn, cung cấp giải pháp NAS.
Khi một user kết nối, NAS sẽ gửi một message dạng RADIUS Access- Request tới máy chủ AAA Server, chuyển các thông tin như username và password, thụng qua một port xỏc ủịnh, NAS identify, và một message Authenticator.
Sau khi nhận ủược cỏc thụng tin mỏy chủ AAA sử dụng cỏc gúi tin ủược cung cấp như NAS identify, và Authenticator thẩm ủịnh lại việc NAS ủú cú ủược phộp gửi cỏc yờu cầu ủú khụng. Nếu cú khả năng, mỏy chủ AAA sẽ tỡm kiểm tra thông tin username và password mà người dùng yêu cầu truy cập trong cơ sở dữ lệu. Nếu quỏ trỡnh kiểm tra là ủỳng thỡ nú sẽ mang một thụng tin trong Access- Request quyết ủịnh quỏ trỡnh truy cập của user ủú là ủược chấp nhận.
Khi quỏ trỡnh xỏc thực bắt ủầu ủược sử dụng, mỏy chủ AAA cú thể sẽ trả về một RADIUS Access-Challenge mang một số ngẫu nhiên. NAS sẽ chuyển thông tin ủến người dựng từ xa (với vớ dụ này sử dụng CHAP). Khi ủú người dựng sẽ phải trả lời ủỳng cỏc yờu cầu xỏc nhận (trong vớ dụ này, ủưa ra lời ủề nghị mó hoỏ password), sau ủú NAS sẽ chuyển tới mỏy chủ AAA một message RADIUS Access-Request.
Nếu máy chủ AAA sau khi kiểm tra các thông tin của người dùng hoàn toàn thoả mãn sẽ cho phép sử dụng dịch vụ, nó sẽ trả về một message dạng RADIUS Access-Accept. Nếu không thoả mãn máy chủ AAA sẽ trả về một tin RADIUS Access-Reject và NAS sẽ ngắt kết nối với user.
Khi một gúi tin Access-Accept ủược nhận và RADIUS Accounting ủó ủược thiết lập, NAS sẽ gửi mộtgói tin RADIUS Accounting-Request (Start) tới máy chủ AAA. Máy chủ sẽ thêm các thông tin vào file Log của nó, với việc NAS sẽ cho phộp phiờn làm việc với user bắt ủầu khi nào, và kết thỳc khi nào, RADIUS Accouting làm nhiệm vụ ghi lại quá trình xác thực của user vào hệ thống, khi kết thúc phiên làm việc NAS sẽ gửi một thông tin RADIUS Accounting-Request (Stop).
10.2. Sự bảo mật và tính mở rộng
Tất cả cỏc message của RADIUS ủều ủược ủúng gúi bởi UDP datagrams, nú bao gồm các thông tin như: message type, sequence number, length, Authenticator, và một loạt các Attribute-Value.
Authenticator: Tỏc dụng của Authenticator là cung cấp một chế ủộ bảo mật.
NAS và AAA Server sử dụng Authenticator ủể hiểu ủuợc cỏc thụng tin ủó ủược mó hóa của nhau, ví dụ như mật khẩu. Authenticator cũng giúp NAS phát hiện sự giả mạo của gúi tin RADIUS Responses. Cuối cựng, Authenticator ủược sử dụng làm cho ủể biễn password thành một dạng nào ủú, ngăn chặn việc làm lộ mật khẩu của người dùng trong các message RADIUS.
Authenticator gửi Access-Request trong một số ngẫu nhiên. MD5 sẽ băm (hash) số ngẫu nhiờn ủú thành một dạng riờng là OR’ed cho mật khẩu của người dựng và gửi trong Access-Request User-Password. Toàn bộ RADIUS response sau ủú ủược MD5 băm (hash) với cùng thông số bảo mật của Authenticator, và các thông số response khác.
Authenticator giỳp cho quỏ trỡnh giao tiếp giữa NAS và mỏy chủ AAA ủược bảo mật nhưng nếu kẻ tấn cụng túm ủược cả hai gúi tin RADIUS Access-Request và Access-Response thỡ cú thể thực hiện "dictionary attack" ủể phõn tớch việc ủúng gúi này. Trong ủiều kiện thực tế ủể việc giải mó khú khăn, ta cần phải sử dụng những thụng số dài hơn, toàn bộ vấn ủề cú khả năng nguy hại cho quỏ trỡnh truyền tải này ủược miờu tả rất kỹ trong RFC 3580.
Attribute-Value Pairs: Thụng tin ủược mang bởi RADIUS ủuợc miờu tả trong một dạng Attribute-Value, ủể hỗ trợ cho nhiều cụng nghệ khỏc nhau, và nhiều phương thức xỏc thực khỏc nhau. Một chuẩn ủược ủịnh nghĩa trong Attribute-Value pairs (cặp ủụi), bao gồm User-Name, User-Password, NAS-IPAddress, NAS-Port, Service- Type. Cỏc nhà sản xuất (vendors) cũng cú thể ủịnh nghĩa Attribute-Value pairs ủể mang cỏc thụng tin của mỡnh như Vendor-Specific toàn bộ vớ dụ này ủược miờu tả trong RFC 2548 - Định nghĩ Microsoft Attribute-Value pair trong MS-CHAP.
Thờm vào ủú, rất nhiều chuẩn Attribute-Value pairs ủược ủịnh nghĩa trong nhiều năm ủể hỗ trợ Extensible Authentication Protocol (EAP), một dạng khỏc cũ hơn của nó là PAP và CHAP dial-up protocol. Ta cũng có thể tìm thấy trong tài liệu RFC 3579 cho phiên bản mới nhất của RADIUS hỗ trợ EAP. Trong phần này sẽ nói rất rõ về hỗ trợ xỏc thực cho WLAN, từ khi chuẩn EAP ủược sử dụng cho 802.1x Port Access Control ủể cho phộp xỏc thực từ bờn ngoài cho wireless.
10.3. Áp dụng RADIUS cho WLAN
Trong một mạng Wireless sử dụng 802.1x Port Access Control, các máy trạm sử dụng wireless với vai trò Remote User và Wireless Access Point làm việc như một Network Access Server (NAS). Để thay thế cho việc kết nối ủến NAS với dial-up như giao thức PPP, wireless station kết nối ủến Access Point bằng việc sử dụng giao thức 802.11.
Một quỏ trỡnh ủược thực hiện, wireless station gửi một message EAP-Start tới Access Point. Access Point sẽ yờu cầu station nhận dạng và chuyển cỏc thụng tin ủú tới một AAA Server với thông tin là RADIUS Access-Request User-Name attribute.
Máy chủ AAA và wireless station hoàn thành quá trình bằng việc chuyển các thông tin RADIUS Access-Challenge và Access-Request qua Access Point. Được quyết ủịnh bởi phớa trờn là một dạng EAP, thụng tin này ủược chuyển trong một ủường hầm ủược mó hoỏ TLS (Encypted TLS Tunnel).
Nếu máy chủ AAA gửi một message Access-Accept, Access Point và wireless station sẽ hoàn thành quá trình kết nối và thực hiện phiên làm việc với việc sử dụng
WEP hay TKIP ủể mó hoỏ dữ liệu. Và tại ủiểm ủú, Access Point sẽ khụng cấm cổng và wireless station có thể gửi và nhận dữ liệu từ hệ thống mạng một cách bình thường.
Cần lưu ý là mã hoá dữ liệu từ wireless station tới Access Point khác với quá trình mã hoá từ Access Point tới máy chủ AAA Server (RADIUS Server).
Nếu máy chủ AAA gửi một message Access-Reject, Access Point sẽ ngắt kết nối tới station. Station có thể cố gắng thử lại quá tình xác thực, nhưng Access Point sẽ cấm station này khụng gửi ủược cỏc gúi tin tới cỏc Access Point ở gần ủú. Chỳ ý là station này hoàn toàn cú khả năng nghe ủược cỏc dữ liệu ủược truyền ủi từ cỏc stations khỏc – Trờn thực tế dữ liệu ủược truyền qua súng radio và ủú là cõu trả lời tại sao phải mã hoá dữ liệu khi truyền trong mạng không dây.
Attribute-Value pare bao gồm trong message của RADIUS có thể sử dụng bởi mỏy chủ AAA ủể quyết ủịnh phiờn làm việc giữa Access Point và wireless station, như Sesstion-Timeout hay VLAN Tag (Tunnel-Type=VLAN, Tunnel-Private-Group- ID=tag). Chính xác các thông tin thêm vào có thể phụ thuộc vào máy chủ AAA Server hay Access Point và station sử dụng.
10.4. Các tùy chọn bổ sung
Một vấn ủề ủầu tiờn là phải hiểu vai trũ của RADIUS trong quỏ trỡnh xỏc thực của WLAN, phải thiết lập một máy chủ AAA hỗ trợ interaction.
Nếu chỳng ta cú một mỏy chủ AAA trong mạng gọi là RADIUS, nú ủó sẵn sàng ủể hỗ trợ xỏc thực cho chuẩn 802.1x và cho phộp chọn lựa cỏc dạng EAP. Nếu ủó cú ta chuyển tiếp ủến bước tiếp theo là làm thế nào ủể thiết lập tớnh năng này.
Nếu có một RADIUS – AAA Server không hỗ trợ 802.1x, hoặc không hỗ trợ các dạng EAP, chúng ta có thể lựa chọn bằng cách cập nhật các phiên bản phần mềm mới hơn cho server, hay cú thể cài ủặt một mỏy chủ mới. Nếu cài ủặt một mỏy chủ AAA hỗ trợ xác thực cho chuẩn 802.1x, chúng ta có thể sử dụng tính năng RADIUS proxy ủể thiết lập một chuỗi cỏc mỏy chủ, cựng chia sẻ chung một cơ sở dữ liệu tập trung, RADIUS proxy cú thể sử dụng ủể chuyển cỏc yờu cầu xỏc thực tới mỏy chủ cú khả năng xác thực qua chuẩn 802.1x.
Nếu khụng cú một RADIUS – là mỏy chủ AAA, cần thiết phải cài ủặt một mỏy chủ cho quỏ trỡnh xỏc thực của WLAN, lựa chọn cài ủặt này là một cụng việc thỳ vị.
Với cơ sở tập trung - Giải pháp sử dụng RADIUS cho mạng WLAN là rất quan trọng bởi nếu một hệ thống mạng của chúng ta có rất nhiều Access Point việc cấu hỡnh ủể bảo mật hệ thống này là rất khú nếu quản lý riờng biệt, người dựng cú thể xỏc thực từ nhiều Access Point khỏc nhau và ủiều ủú là khụng bảo mật.
Khi sử dụng RADIUS cho WLAN mang lại khả năng tiện lợi rất cao, xác thực cho toàn bộ hệ thống nhiều Access Point, … cung cấp các giải pháp thông minh hơn.
10.5. Lựa chọn máy chủ RADIUS như thế nào là hợp lý
Trong phần trờn, chỳng ta ủó hiểu ủược mỏy chủ RADIUS cung cấp xỏc thực cho 802.1x Port Access Control. Chỳng ta cần quan tõm ủến việc triển khai các tuỳ chọn cho các giải pháp sử dụng chuẩn 802.1x. Việc quản lý sử dụng ứng dụng này cũng như giỏ cả của một mỏy chủ RADIUS nếu ủược triển khai sẽ là bao nhiờu ủể cú thể phự hợp với doanh nghiệp.
Các công việc kinh doanh muốn nâng cao tính bảo mật cho hệ thống mạng WLAN nhưng lại sử dụng chuẩn 802.1x – và với yêu cầu này thì lựa chọn việc triển khai RADIUS là hợp lý.
Deploy WPA with Preshared Keys: Nõng cấp hệ thống mạng WLAN ủang sử dụng từ Wired Equivalent Privacy (WEP) tới Wi-Fi Protected Access (WPA) có thực hiện không cần phải sử dụng RADIUS mà bằng cách sử dụng Preshared Keys (PSK) hỗ trợ cho chuẩn 802.1x. Preshared Keys không thể thực hiện việc xác thực cho mỗi user và khả năng chống các cuộc tấn công "dictionary attack" là rất kộm do tồn tại khỏ nhiều vấn ủề về bảo mật. Nếu sử dụng giải phỏp này việc kinh doanh sẽ có nhiều rủi do hơn, và chỉ áp dụng cho môi trường nhỏ thì giải pháp WPA-PSK là hợp lý.
Use Microsoft's RADIUS Server: Nếu chúng ta có một máy chủ chạy hệ ủiều hành Microsoft Windows Server 2000/2003 thỡ hoàn toàn cú khả năng, với việc sử dụng Microsoft’s Internet Authentication Service (IAS). IAS cần thiết cho các nhà quản trị hay các user phải làm việc trên môi trường Windows. Và nó cũng
là một trong những tính năng cao cấp của Microsoft Wireless Provisioning Service.
Install an Open Source RADIUS Server: Nếu chúng ta không có một phiên bản Windows, một lựa chọn nữa là sử dụng giải pháp phần mềm mã nguồn mở, có thể tham khảo tại: http://www.freeRADIUS.org. Với khả năng hỗ trợ cho chuẩn 802.1x cỏc mỏy chủ chạy hệ ủiều hành mó nguồn mở như Linux, Free or OpenBSD, OSF/Unix, hoặc Solaris ủều cú thể sử dụng làm RADIUS Server.
Mua một Commercial RADIUS Server: Trong trường hợp phải sử dụng một giải phỏp chuyờn nghiệp cần hỗ trợ ủầy ủủ toàn bộ cỏc tớnh năng cũng như khả năng an toàn, và ủộ ổn ủịnh thỡ cú thể mua cỏc bản thương mại từ cỏc nhà sản xuất khác, với tính năng hỗ trợ 802.1x và là một RADIUS Server chuyên nghiệp:
Aradial WiFi - http://www.aradial.com
Bridgewater Wi-Fi AAA - http://www.bridgewatersystems.com Cisco Secure Access Control Server - http://www.cisco.com/
Funk Odyssey - http://www.funk.com/
IEA RadiusNT - http://www.iea-software.com/
Infoblox RADIUS One Appliance - http://www.infoblox.com/
Interlink Secure XS - http://www.interlinknetworks.com/
LeapPoint AiroPoint Appliance - http://www.leappoint.com/
Meetinghouse AEGIS - http://www.mtghouse.com/
OSC Radiator - http://www.open.com.au/radiator/
Vircom VOP RADIUS - http://www.vircom.com
Commercial RADIUS Servers có giá cả tuỳ vào khả năng của sản phẩm.
Ví dụ mua một Funk Odyssey Server, bao gồm 25 license Odyssey Client. VOB RADIUS Small Bussiness giỏ khởi ủiểm là $995 cho 100 Users. Một mỏy chủ Radiator license giá $720.
RADIUS server cũng có thể bao gồm cả giá của phần cứng/phần mềm. Ví dụ Funk’s Steel-Belted RADIUS có giá trên một Network Engines là $7500.
LeapPoint’s AiroPoint 3600 – SE cú giỏ khởi ủiểm là $2499 cho 50 clients. Toàn
bộ giỏ ở trờn là vớ dụ cũn phụ thuộc nhiều vào nhà cung cấp phần mềm hay cỏc ủại lý của các hãng khác nhau.
Ngoài ra với sự lựa chọn cho mạng doanh nghiệp nhỏ khụng cú ủiều kiện triển khai máy chủ RADIUS một giải pháp tốt cho doanh nghiệp là sử dụng giải pháp bảo mật từ các công ty chuyên về bảo mật hệ thống mạng Wi-Fi như WSC Guard mang ủến giải phỏp bảo mật cho cỏc dịch vụ trờn nền 802.1x và với giỏ khởi ủiểm là $89 cho một người dựng một năm và sẽ xuống cũn $59 khi khỏch hàng ủăng ký 1000 người dựng.