LỜI MỞ ĐẦU Với tốc độ phát triển và không ngừng cải tiến của công nghệ mạng. Mọi người, từ công nhân cho đến những người chủ, từ sinh viên đến giáo viên, tổ chức doanh nghiệp cũng như chính phủ, tất cả đều có nhu cầu kết nối mọi lúc, mọi nơi. Vì vậy, mạng WLAN ra đời để đáp ứng nhu cầu trên.
Mạng WLAN ra đời thực sự là một bước tiến vượt bật của công nghệ mạng, đây là phương pháp chuyển giao từ điểm này sang điểm khác sử dụng sóng vô tuyến. Và hiện nay đã phổ biến trên toàn thế giới, mang lại rất nhiều lợi ích cho người sử dụng, nhất là khả năng di động của nó. Ở một số nước có nền thông tin công nghệ phát triển, mạng không dây thực sự đi vào cuộc sống. Chỉ cần có một Laptop, PDA hoặc một thiết bị truy cập không dây bất kỳ, chúng ta có thể truy cập vào mạng không đây ở bất kỳ nơi đâu, trên cơ quan, trong nhà, trên máy bay, ở quán Caffe ở bất kỳ đâu trong phạm vi phủ sóng của WLAN.
Với rất nhiều lợi ích và sự truy cập công cộng như vậy, nhưng vấn đề bảo mật luôn làm đau đầu các nhà sản xuất, các tổ chức và cá nhân người sử dụng. Vì phương tiện truyền tin của WLAN là sóng vô tuyến và môi trường truyền tin là không khí, chỉ thiết bị thu chỉ cần nằm trong vùng phủ sóng là có có khả năng truy cập vào mạng. điều này dẫn đến vấn đề nghiêm trọng về bảo mật mạng WLAN. Chính vì vậy, trong học phần Mạng không dây, Nhóm 4 lớp MM02A trường CĐ CNTT Hữu Nghị Việt Hàn đã chọn đề tài “Bảo mật mạng WLAN với chứng thực RADIUS” để làm đồ án kết thúc học phần.
Tuy đã có nhiều cố gắng nhưng không thể tránh khỏi những sai sót trong đồ án, vì vậy Nhóm 4 mong nhận được sự đóng gói của bạn bè và thầy cô để đồ án được hoàn thiện hơn.
Đà nẵng ngày 5 tháng 11 năm 2010
Sinh viên thực hiện: Nhóm 4
MỤC LỤC
LỜI MỞ ĐẦUi
MỤC LỤCii
MỤC LỤC HÌNH ẢNHiv
CHƯƠNG 1. TỔNG QUAN VỀ WLAN1
1.1. Tổng quan về WLAN1
1.1.1. Mạng WLAN là gì?. 1
1.1.2. Lịch sử hình thành và phát triển.1
1.1.3. Ưu điểm của WLAN2
1.1.4. Nhược điểm2
1.2. Cơ sở hạ tầng WLAN3
1.2.1. Cấu trúc cơ bản của WLAN3
1.2.2. Thiết bị dành cho WLAN3
1.2.3. Các mô hình WLAN.7
1.2.3.1. Mô hình mạng độc lập. 7
1.2.3.2. Mô hình mạng cơ sở (BSSs)8
1.2.3.3. Mô hình mạng mở rộng (ESSs)9
CHƯƠNG 2. CÁC HÌNH THỨC TẤN CÔNG PHỔ BIẾN TRONG WLAN VÀ GIẢI PHÁP PHÒNG CHỐNG11
2.1. Các hình thức tấn công phổ biến trong WLAN11
2.1.1. Rogue Access Point11
2.1.1.1. Định nghĩa. 11
2.1.1.2. Phân loại11
2.1.1.3. Access Point được cấu hình không hoàn chỉnh:11
2.1.1.4. Access Point giả mạo từ các mạng WLAN lân cận. 12
2.1.1.5. Access Point giả mạo do kẻ tấn công tạo ra:12
2.1.2. Tấn công yêu cầu xác thực lại14
2.1.3. Face Access Point14
2.1.4. Tấn công dựa trên sự cảm nhận sóng mang lớp vật lý. 15
2.1.5. Tấn công ngắt kết nối16
2.2. Các giải pháp bảo mật WLAN17
2.2.1. WEP. 17
2.2.2. WLAN VPN18
2.2.3. TKIP (Temporal Key Integrity Protocol)18
2.2.4. AES. 19
2.2.5. 802.1X và EAP. 19
2.2.6. WPA (WI-FI Protected Access)20
2.2.7. WPA2. 21
2.2.8. LỌC (Filltering)22
2.3. Kết luận. 24
CHƯƠNG 3. TÌM HIỂU GIAO THỨC XÁC THỰC RADIUS VÀ RADIUS SERVER26
3.1. Giao thức RADIUS. 26
3.1.1. Tổng quan về giao thức RADIUS. 26
3.1.2. Giới thiệu. 26
3.1.3. Tính chất của RADIUS. 26
3.1.4. Giao thức RADIUS 1. 27
3.1.4.1. Cơ chế hoạt động. 27
3.1.4.2. Dạng gói của packet29
3.1.4.3. Packet type (kiểu packet)31
3.1.5. Giao thức RADIUS 2. 37
3.1.5.1. Cơ chế hoạt động. 37
3.1.5.2. Packet Format37
3.1.6. Phương pháp mã hóa và giả mã. 38
3.2. RADIUS SERVER39
3.2.1. Tổng quan. 39
3.2.2. Xác thực- cấp phép và kiểm toán. 39
3.2.3. Sự bảo mật và tính mở rộng. 40
3.2.4. Áp dụng RADIUS cho WLAN41
3.2.5. Các tùy chọn bổ sung. 42
CHƯƠNG 4. BẢO MẬT WLAN BẰNG PHƯƠNG PHÁP CHỨNG THỰC RADIUS. 43
4.1. Phân tích và thiết kế hệ thống chứng thực bảo mật WLAN với RADIUS. 43
4.1.1. Giới thiệu. 43
4.1.2. Yêu cầu hệ thống. 43
4.1.2.1. Phần cứng. 43
4.1.2.2. Phần mềm43
4.2. Quy trình cài đặt và triển khai44
4.2.1. Cài đặt và cấu hình DHCP. 44
4.2.1.1. Cài đặt DHCP. 44
4.2.1.2. Cấu hình DHCP. 44
4.2.2. Cài Enterprise CA và Request Certificate từ CA Enterprite Server44
4.2.2.1. Cài đặt Enterprise CA44
4.2.2.2. Request Certificate từ CA Enterprite Server45
4.2.3. Tạo user, cấp quyền Remote Access cho users và chuyển sang Native Mode. 46
4.2.3.1. Tạo OU có tên “KTX”. 46
4.2.3.2. Chuyển sang Native Mode. 47
4.2.4. Cài đặt và cấu hình RADIUS, tạo Remote Access Policy. 47
4.2.4.1. Cài đặt RADIUS. 47
4.2.4.2. Tạo Remove Access Policy. 48
4.2.5. Cấu hình AP. 50
4.2.6. Cấu hình Wireless client51
4.2.7. Demo. 54
KẾT LUẬN57
TÀI LIỆU THAM KHẢO59
63 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 4530 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Bảo mật wlan bằng chứng thực radius, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ần mềm điều khiển card mạng không dây của người dùng.
Hình 23 Mô hình tấn công Fake Access Point
Tấn công dựa trên sự cảm nhận sóng mang lớp vật lý
Kẻ tấn công lợi dụng giao thức chống đụng độ CSMA/CA, tức là nó sẽ làm cho tất cả người dùng nghĩ rằng lúc nào trong mạng cũng có một máy đang truyền thông. Điều này làm cho các máy tính khác luôn luôn ở trạng thái chờ đợi kể tấn công ấy truyền dữ liệu xong, dẫn đến tình trạng nghẽn trong mạng.
Tần số là một nhược điểm bảo mật trong mạng không dây. Mức độ nguy hiểm thay đổi phụ thuộc vào giao diện của lớp vật lý. Có một vài tham số quyết định sự chịu đựng của mạng là: năng lượng máy phát, độ nhạy của máy thu, tần số RF (Radio Frequency), băng thông và sự định hướng của anten. Trong 802.11 sử dụng thuật toán đa truy cập cảm nhận sóng mang (CSMA) để tránh va chạm. CSMA là một phần của lớp MAC. CSMA được sử dụng để chắc chắn sẽ không có va chạm dữ liệu trên đường truyền. Kiểu tấn công này không sử dụng tạp âm để tạo ra lỗi cho mạng nhưng nó sẽ lợi dụng chính chuẩn đó. Có nhiều cách để khai thác giao thức cảm nhận sóng mang vật lý. Cách đơn giản là làm cho các nút trong mạng đều tin tưởng rằng có một nút đang truyền tin tại thời điểm hiện tại. Cách dễ nhất để đạt được điều này là tạo ra một nút giả mạo để truyền tin một cách liên tục. Một cách khác là sử dụng bộ tạo tín hiệu RF. Một cách tấn công tin vi hơn là làm cho card mạng chuyển vào chế độ kiểm tra mà ở đó nó truyền đi liên tiếp một mẩu kiểm tra. Tất cả các nút trong phạm vi của một nút giả là rất nhạy với sóng mang và trong khi có một nút đang truyền thì sẽ không có nút nào được truyền.
Tấn công ngắt kết nối
Hình 24 Mô hình tấn công ngắt kết nối
Kẻ tấn công xác định mục tiêu (wireless cliens) và mối liên kết giữa AP với các client.
Kẻ tấn công gửi disassociation frame bằng cách giả mạo source và Destination MAC đến AP và các clien tương ứng.
Client sẽ nhận các frame này và nghĩ rằng frame hủy kết nối đến từ AP. Đồng thời kẻ tấn công cũng gửi gói disassociation frame đến AP.
Sau khi đã ngắt kết nối của một clien, kẻ tấn công tiếp tục thực hiện tương tự với các clien còn lại làm cho các clien tự động ngắt kết nối với AP.
Khi các clien bị ngắt kết nối sẽ thực hiện kết nối lại với AP ngay lập tức. Kể tấn công tiếp tục gửi gói disassociation frame đến AP và clien.
Có thể ta sẽ rất dễ nhầm lẫn giữa 2 kiểu tấn công: Disassocition flood attack và De-authentication Flood Attack.
Giống nhau: Về hình thức tấn công, có thể cho rằng chúng giống nhau vì nó giống như một đại bác 2 nòng, vừa tấn công Access Point vừa tấn công Clients. Và qua trọng hơn hết chúng “nã pháo” liên tục.
Khác nhau:
De-authentication Flood Attack: Yêu cầu cả AP và Client gửi lại frame xác thực dẫn đến xác thực failed.
Disassociation Flood Attack: Gửi disassociation frame làm cho AP và Client tin tưởng rằng kết nối giữa chúng đã bị ngắt.
Các giải pháp bảo mật WLAN
Với các hình thức tấn công được nêu trên, hacker có thể lợi dụng bất cứ điểm yếu và tấn công vào hệ thống vWLAN bất cứ lúc nào. Vì vậy, đề ra các biện pháp bảo mật vWLAN là điều cấp thiết. Dưới đây là các biệt pháp bảo mật WLAN qua các thời kỳ. Có một số biện pháp đã bị hacker qua mặt như mã hóa WEB… nhưng trong phạm vi đồ án, nhóm 4 sinh trình bày để biết rõ được ưu điểm, nhược điểm của các giải pháp bảo mật. Từ đó lựa chọn các giải pháp bảo mật phù hợp với từng mô hình của mạng WLAN
WEP
Wep (Wired Equivalen Privacy) có nghĩa là bảo mật không dây tương đương với có dây. Thực ra, WEP đã đưa cả xác thực người dùng và đảm bảo an toàn dữ liệu vào cùng một phương thức không an toàn. WEP sử dụng một khó mã hóa không thay đổi có đọ dài 64 bit hoặc 128 bit, (nhưng trừ đi 24 bit sử dụng cho vector khởi tạo khóa mã hóa, nên độ dài khóa chỉ còn 40 bit hoặc 104 bit) được sử dụng để xác thực các thiết bị được phép truy cập vào trong mạng và cũng được sử dụng để mã hóa truyền dữ liệu.
Rất đơn giản, các khóa mã hóa này dể dàng được “bẻ gãy” bởi thuật toán brute-force và kiểu tấn công thử lỗi (tria-and-error). Các phần mềm miễn phí như Aircrack-ng, Airsnort, hoặc WEP crack sẽ cho phép hacker có thể phá vỡ khóa mã hóa nếu họ thu thập từ 5 đén 10 triệu gói tin trên một mạng không dây. Với những khóa mã hóa 128 bit cũng không khá hơn: 24 bit cho khởi tạo mã hóa nên chỉ có 104 bit được sử dụng.
Dụng để mã hoá và cách thức cũng giống như mã hóa có độ dài 64 bit nên mã hoaí 128 bit cũng dẽ dàng bi bẻ khóa. Ngoài ra, những điểm yếu trong những vector khởi tạo khóa mã hoá giúp cho hacker có thể tìm ra mật khẩu nhanh hơn với ít gói thông tin hơn rất nhiều.
Không dự đoán được những lỗi trong khóa mã hóa. WEP có thể được tao ra cách bảo mật mạnh mẽ hơn niếu sử dụng một giao thức xác thực mà cung cấp mỗi khóa mã hóa mới cho mỗi phiên làm việt. khóa mã hóa sẽ thay đổi trên mỗi phiên làm việt. Điều này sẽ gây khó khăn hơn cho hacker thu thập đủ các gói dự liệu cần thiết để có thể bẽ gãy khóa bảo mật.
WLAN VPN
Mạng riêng VPN bảo vệ mạng WLAN bằng cách tạo ra một kênh che chắng dữ liệu khỏi các truy cập trái phép. VPN tạo ra một tin cậy cao thông qua việt sử dụng một cơ chế bảo mật như Ipsec (Internet Protocol Security). IPSec để mã hóa dự liệu và dùng các thuật toán khác để các thực gói dự lieeuk Ípec cũng sử dụng thẻ xác nhận số để xác nhận khóa mã (public key). Khi được sử dụng trên mạng WLAN, công kết của VPN đảm nhận việt xác thực, đóng gói và mã hóa
Hình 25 Mô hình WLAN VPN
TKIP (Temporal Key Integrity Protocol)
Là giải pháp của IEEE được phát triển năm 2004. Là một nâng cấp cho WED nhằm và những vấn đề bảo mật trong cài đặt mã dòng RC4 trong WEP. TKIP dùng hàm băm (hashing) IV để chống lại việc MIC (message integity check) đẻ đảm bảo tính chính xác của gói tin TKIP và sử dụng khóa động bằng cách đặt cho mỗi frame một chuỗi sống lại dạng tấn công giả mạo.
AES
Trong mật mã học AES (viết tắt của từ tiếng Anh: Advanced Encryption Stadar, hay Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mà hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa. Giống như tiêu chuẩn tiền nhiệm DES, AES được kì vọng áp dụng trên phạm vi thế giới và đã được nghiên cứu rất kỹ lưỡng. AES được chấp nhận làm tiêu chuẩn lien bang bởi viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm.
Thuật toán được thiết kế bởi 2 nhà mật mã học người Bỉ: Joan Daemen và Vincent Rijmen (lấy tên chung là Rijndael khi tham gia cuộc thi thiết kế AES).
Rijdael được phát âm là “Rhine dahl” (theo phiên âm quốc tế ).
802.1X và EAP
802.1x là chuẩn đặc tả cho việc truy cập dựa trên cổng (port-based) được định nghĩa bởi IEEE. Hoạt động trên cả môi trường có dây truyền thống và không dây. Việc điều khiển truy cập được thực hiện bằng cách: Khi một người dùng cố gắng kết nối vào hệ thống mạng, kết nối của người dùng sẽ được đặt ở trạng thái bị chặn (bloking) và chờ cho việc kiểm tra định danh người dùng hoàn tất.
Hình 26 Mô hình hoạt động xác thực 802.1x
EAP là phương thức xác thực bao gồm yêu cầu định danh người dùng (password, certificate,…), giao thức được sử dụng (MD5, TLI_Transport Layer Security, OTP_One Time Password,…) hỗ trợ tự động sinh khóa và xác thực lẫn nhau.
Quá tình chứng thực 802.1x-EAP như sau:
Wireless client muốn lien kết với một AP trong mạng.
AP sẽ chặn lại tất cả các thông tin của client cho tới khi client log on vào mạng. Khi đó client yêu cầu lien kết tới AP.
AP đáp lại yêu cầu liên kết với một yêu cầu nhận dạng EAP.
Client gửi đáp lại yêu cầu nhận dạng EAP cho AP.
Thông tin đáp lại yêu cầu nhận dạng EAP của client được chuyển tới Server chứng thực.
Server chứng thực gửi một yêu cầu cho phép AP.
AP chuyển yêu cầu cho phép tới client.
Client gửi trả lời sự cấp phép EAP tới AP.
AP chuyển sự trả lời đó tới Server chứng thực.
Server chứng tực gửi một thông báo thành công EAP tới AP.
AP chuyển thông báo thành công tới client và đặt cổng của client trogn chế độ forward.
WPA (WI-FI Protected Access)
WEP được xây dựng để bảo vệ một mạng không dây tránh bị nghe trộm. Nhưng nhanh chóng sau đó người ta phát hiện ra nhiều lỗ hổng công nghệ này. Do đó công nghệ mới co tên gọi WPA (Wi-Fi Protected Access) ra đời, khắc phục được nhiều nhược điểm của WEP.
Trong những cải tiến quan trọng nhất của WPA là sử dụng hàm thay đổi khóa TKIP. WPA cũng sử dụng thuật toán RC4 như WEP, nhưng mã hóa đầy đủ 128 bit. Và một đặc điểm khác là WPA thay đổi khóa cho mỗi gói tin. Các công cụ thu thập các gói tin để khóa phá mã hóa đều không thể thực hiện được với WPA. Bởi WPA thay đổi khóa liên tục nên hacker không bao giờ thu thập đủ dữ liệu mẫu để tìm ra mật khẩu.
Không những thế WPA còn bao gồm cả tính toàn vẹn của thông tin (Message Integrity check). Vì vậy, dữ liệu không thể bị thay đổi trong khi đang ở trên đường truyền. WPA có sẵn 2 lựa chọn: WPA Personal và WPA Enterprise. Cả 2 lựa chọn đều sử dụng giáo thức TKIP, và sự khác biệt chỉ là khóa khởi tạo mã hóa lúc đầu. WPA Personal thích hợp cho gia đình và mạng văn phòng nhỏ, khóa khởi tạo sẽ được sử dụng tại các điểm truy cập và thiết bị máy trạm. Trong khi đó, WPA cho doanh nghiệp cần một máy chủ xác thực và 802.1x để cung cấp các khóa khởi tạo cho mỗi phiên làm việc.
Lưu ý:
Có một lỗ hổng trong WPA và lỗi này chỉ xảy ra với WPA Personal. Khi mà sử dụng hàm thay đổi khóa TKIP được sử dụng để tạo ra các khóa mã hóa chưa phát hiện, nếu hacker có thể đoán được khóa khởi tạo hoặc một phần của mật khẩu, họ có thể xác định được toàn bộ mật khẩu, do đó có thể giải mã được dữ liệu. tuy nhiên, lố hỏng này cũng sẽ được loại bỏ bằng cách sử dụng những khóa khởi tạo không dể đoán (đừng sử dụng những từ như “P@SSWORD” để làm mật khẩu).
Điều này cũng có nghĩa rằng thủ thuật TKIP của WPA chỉ là giải pháp tam thời, chưa cung capas một phương thức bảo mật cao nhất. WPA chỉ thích hợp với những công ty mà không truyền dữ liệu “mật” về những thương mại hay các thông tin nhạy cảm…WPA cũng thích hợp với những hoạt động hằng ngày và mang tính thử nghiệm công nghệ.
WPA2
Một giải pháp về lâu dài là sử dụng 802.11i tương đương với WPA2, được chứng nhận bởi Wi-Fi Alliance. Chuẩn này sử dụng thuật toán mã hóa mạnh mẽ và được gọi là Chuẩn mã hóa nâng cao AES. AES sử dụng thuật toán mã hóa đối xứng theo khối Rijndael, sử dụng khối mã hó 128 bit, và 192 bit hoặc 256 bit. Để đánh giá chuẩn mã hóa này, Việc nghiên cứu quốc gia về Chuẩn và Công nghệ của Mỹ, NIST (National Institute of Standards and Technology), đã thông qua thuật toán mã đối xứng này.
Lưu ý: Chuẩn mã hóa này được sử dụng cho các cơ quan chính phủ Mỹ để bảo vệ các thông tin nhạy cảm.
Trong khi AES được xem như là bảo mật tốt hơn rất nhiều so với WEP 128 bit hoặc 168 bit DES (Digital Encryption standanrd). Để đảm bảo về mặt hiệu năng, quá trình mã hóa cần thực hiện trong các thiết bị phần cứng như tích hợp vào chip. Tuy nhiên, rất ít người sử dụng mạng không dây quan tâm tới vấn đề này. Hơn nữa, hầu hết các thiết bị cầm tay WI-FI và máy quét mã vạch đều không tương thích với chuẩn 802.11i.
LỌC (Filltering)
Lọc là cơ chế bảo mật cơ bản có thể sử dụng cùng với WEP. Lọc hoạt động giống access list trên router, cấm những cái không mông muốn và cho phép những cái mong muốn. Có 3 kiểu lọc cơ bản có thể sử dụng trong wireless lan:
Lọc SSID
Lọc địa chỉ MAC
Lọc giao thức
Lọc SSID
Lọc SSID là phương thức cơ bản của lọc và chỉ nên được sử dụng trong việc điều khiển truy cập cơ bản.
SSID của client phải khớp với SSID của AP để có thể xác thực và kết nối với tập dịc vụ. SSID được quảng bá mà không được mã hóa trong các Beocon nên rất dễ bị phát hiện bằng cách sử dungjcacs phần mềm. Một số sai lầm mà người sử dung WLAN mắc phải trong quản lí SSSID gồm:
Sử dụng giá trị SSID mặc định tạo điều kirnj cho hacker dò tìm địa chỉ MAC của AP.
Sử dụng SSID có liên qua đến công ty.
Sử dụng SSID như là phương thức bảo mật của công ty.
Quảng bá SSID một cách không cần thiết.
Lọc địa chỉ MAC
Hầu hết các AP đều có chức năng lọc địa chỉ MAC. Người quản trị xây dựng danh sách các địa chỉ MAC được cho phép.
Nếu client có địa chỉ MAC không nằm trong danh sách lọc địa chỉ MAC của AP thì AP sẽ ngăn chặn không cho phép client đó kết nối vào mạng.
Nếu công ty có nhiều client thì có thể xây dựng máy chủ RADIUS có chức năng lọc địa chỉ MAC thay vì AP. Cấu hình lọc địa chỉ MAC là giải pháp bảo mật có tính mở rộng cao.
Lọc giao thức
Mạng Lan không dây có thể lọc các gói đi qua mạng dựa trên các giao thức từ lớp 2 đến lớp 7. Trong nhiều trường hợp người quản trị nên cài đặt lọc giao thức trong môi trường dùng chung,
Hình 27 Tiến trình xác thực MAC
Có một nhóm cầu nối không dây được đặt trên một Remote building trong một mạng WLAN của một trường đại học mà kết nối lại tới AP của tòa nhà kỹ thuật trung tâm.
Vì tất cả những người sử dụng trong Remote builing chia sẻ băng thông 5Mbs giữa những tòa nhà này, nên một số lượng đáng kể các điểu khiển trên các sử dụng này phải được thực hiện.
Nếu các kết nối này được cài đặt với mục đích đặc biệt của sự truy nhập internet của người sử dụng, thì booj lọc giao thức sẽ loại trừ tất cả các giao thức, ngoại trừ HTTP, SMTP, HTTPS, FTP…
Hình 28 Lọc giao thức
Kết luận
Qua các hình thức tấn công cũng như các giải pháp bảo mật WLAN trên, người thiết kế mạng cũng như bảo mật mạng phải nắm được cụ thể các hình thức tấn công nào có thể xảy ra đối với mô hình mạng mình thiết kế. Từ đó có được các giải pháp bảo mật phù hợp với từng mô hình. Đảm bảo tính bảo mật nhưng cũng đảm bảo tính tiện dụng, không gây khó khăn cho người dùng. Sau đây là một số kiểu bảo mật áp dụng cho các mô hình mạng khác nhau.
Cho các điểm truy cập tự động (hotspots), việc mã hóa không cần thiết, chỉ cần người dùng xác thực mà thôi.
Với người dùng sử dụng mạng WLAN cho gia đình, một phương thức bảo mật với WPA passphare hay preshared key được khuyến cáo sử dụng.
Với giải pháp doanh nghiệp, để tối ưu quá trình bảo mật với 802.1x EAP làm phương thức xác thực và TKIP hay AES làm phương thức mã hóa. Được dựa theo chuẩn WPA hay WPA2 vf 802.11i security. Với các doanh nghiệp đòi hỏi bảo mật, quản lý người dùng chặc chẽ và tập trung, một giải pháp tối ưu được đặt ra đó là sử dụng dịch vụ chứng thực RADIUS kết hợp với WPA2 . Với dịch vụ chứng thực này, người dùng không dùng chung một “share key” mà có tên đăng nhập và mật khẩu riêng, được quản lý bởi server AAA. Cụ thể về dịch vụ xác thực sẽ được trình bày trong chương sau.
Hình 29 Escalating Security
TÌM HIỂU GIAO THỨC XÁC THỰC RADIUS VÀ RADIUS SERVER
Giao thức RADIUS
Tổng quan về giao thức RADIUS
RADIUS là một giao thức sử dụng rộng rãi cho phép xác thực tập trung, ủy quyền và kiểm toán truy cập cho mạng. Ban đầu được phát triển cho thiết lập kết nối từ xa. Radius bâu giờ thì hỗ trợ cho máy chủ VPN, các điểm truy cập không dây, chứng thực chuyển mạch internet, truy cập DSL, và các loại truy cập mạng khác. RADIUS được mô tả trong RFC 2865, "Remote Authentication Dial-in User Service (RADIUS), (IETF Draft Standard) and RFC 2866, "RADIUS Accounting" (Informational).
Giới thiệu
Có 2 loại giao thức RADIUS mô tả về:
Giao thức RADIUS 1: Xác nhận quyền (authentication), phân quyền (authorization), thông tin cấu hình giữa máy chủ quản lý truy cập (NAS-Network Access Server) mà có các yêu cầu cần xác nhận và máy chủ xác nhận quyền dùng chung (Shared Authentication Server).
Giao thức RADIUS 2: Thông tin về tài khoảng giữa NAS và máy chủ quản lý tài khoản dùng chung.
Tính chất của RADIUS
RADIUS thực ra là một giao dịch được xây dựng trên giao thức có các tính chất chính như sau:
Nếu như yêu cầu (request) gởi tới máy chủ xác nhận quyền sơ cấp (primary authentication server) thất bại, thì yêu cầu này phải được gửi tới máy chủ sơ cấp (secondary server). Để thực hiện yêu cầu này, một bản sao yêu cầu phải được lưu trên lớp transport để cho phép việc truyền luân phiên. Điều này có nghĩa là phải có timers cho việc truyền lại (retransmission).
Các đòi hỏi về thời gian của RADIUS rất khác biệt so với TCP. Một mặt, RADIUS không yêu cầu “câu trả lời” (responsive) về việc dò tìm dữ liệu bị mất. User sẵn sang chờ trong nhiều giây để cho việc xác nhận quyền được hoàn thành. Việc truyền lại thường xảy ra đối với các TCP dựa trên thời gian truyền nhận trung bình không cần thiết nữa, kể cả thời gian hao tổn cho việc nhận biết phản hồi về. Mặt khác, user không thể chờ đợi quá lâu trong nhiều phút cho việc xác nhận quyền. Việc phải chờ đợi quá lâu là không hữu ích. Việc sử dụng luân phiên nhanh chóng các server sẽ cho phép user truy cập được vào mạng trước khi họ bỏ cuộc.
Trạng thái rất tự do của RADIUS đã đơn giản hóa việc sử dụng UDP. Các client và server có thể đăng ký vào hoặc ra khỏi mạng. Hệ thống bị khởi động lại vì một lý do nào đó, như: Nguồn điện bị mất…Các sự kiện bất thường này nói chung sẽ không gây nguy hiểm nếu như có những timeout tốt và xác định được các cầu nối TCP đã bị đứt. Tuy nhiên UDP hoàn toàn bỏ qua các sự cố đặt biệt này; Các client và server có thể một “ chuyến vận chuyển dữ liệu” UDP ngay lập tức và để nó tự nhiên truyền trên mạng với các sự kiện có thể có.
UDP đơn giản hóa việc thực hiện server. Ở những phiên bản trước, server được thực hiện đơn luồng (single thread), có nghĩa là mỗi lúc chỉ có một yêu cầu được nhận, xử lí và trả về. Điều này không thể quản lý được trong môi trường kỹ thuật an toàn quay vòng (back-end security mechanism) dùng thời gian thực (real-time). Hàng đợi yêu cầu của server sẽ bị đầy, và trong một môi trường có hàng trăm người được yêu cầu xác nhận quyền trong mỗi phút, thời gian quay vòng của yêu cầu sẽ lớn hơn rất nhiều so với thời gian mà user chờ đợi. Do vậy, giải pháp được chọn là thực hiện server chế độ đa luồng (multu-thread) với UDP. Những quá trình xử lý độc lập sẽ được sinh ra trên server tương ứng với mỗi yêu cầu và những quá trình này sẽ trả lời trực tiếp với các NAS khách hàng bằng gói UDP tới lớp truyền dẫn chính của client.
Giao thức RADIUS 1
Cơ chế hoạt động
Khi một client được cấu hình để sử dụng RADIUS, thì bất kỳ user nào của client đều giới thiệu những thông tin xác nhận quyền với client. Đó có thể là dấu nhắc lệnh đăng ký vào mạng yêu cầu user nhập username và password vào. User có thể lựa chọn việc sử dụng protocol thích hợp để thực hiện giới thiệu những thông tin này các gói dữ liệu chẳng hạn như PPP.
Mỗi client nhận được thông tin như vậy, nó có thể chọn dùng RADIUS để xác nhận quyền. Client sẽ tạo ra một “yêu cầu truy cập” (access request) chứa các thuộc tính như trên: mật khẩu của user, ID của client và ID port mà user này sẽ truy cập vào. Mật khẩu khi nhập vào sẽ được ẩn (Mã hóa RSA hoặc MD5).
“Yêu cầu truy cập” (access request) sẽ được gửi cho RADIUS thông qua mạng. Nếu không trả lời trong một khoảng thời gian qui ước thì yêu cầu sẽ được gửi lại. Client có thể chuyển (forward) yêu cầu cho các server dự phòng trong trường hợp server chính bị tắt hoặc hư hỏng hoặc hoạt động theo kiểu round-bin.
Mỗi khi RADIUS server nhận được yêu cầu, nó sẽ xác nhận client gửi. Những yêu cầu từ các client nào không chia sẽ thông tin bảo mật với RADIUS sẽ không được xác nhận và trả lời. Nếu client là hợp lệ, RADIUS server sẽ tìm kiếm trong cơ sở dữ liệu (CSDL) user có cùng tên trong yêu cầu. Chỉ mục của user trong CSDL sẽ chứa danh sách các đòi hỏi cần thiết cho phép user truy cập vào mạng. RADIUS luôn luôn xác nhận mật khẩu của user và có thể cả ID của client và ID port mà user được phép truy cập.
RADIUS server có thể yêu cầu các server khác xác nhận yêu cầu. Lúc đó RADIUS đóng vai trò của một client.
Nếu bất cứ điều kiện nào không thỏa mãn, RADIUS server sẽ gửi một trả lời ‘từ chối truy cập” (access reject) biểu thị rằng yêu cầu của user là không hợp lệ. Server có thể kèm theo một thông báo dạng văn bản (text massage) trong access-reject để client có thể hiển thị cho user. Không có một thuộc tính nào khác được phép chứa trong access-reject.
Nếu tất cả các điều kiện đều thỏa mãn và RADIUS server muốn đưa ra một yêu cầu đòi hỏi user phải trả lời, thì RADIUS sẽ gửi một trả lời “đòi hỏi truy cập” (access-challenge), nó có thể dưới dạng một thông báo dạng văn bản được hiển thị cho user bởi client hoặc là một thuộc tính trạng thái (state attribute). Client sẽ nhận access-challenge, và nếu nó được trang bị challenge/ response, nó sẽ hiển thị thông báo nhắc nhở user trả lời yêu cầu. Sau đó client sẽ gửi lại (re-submit) “yêu cầu truy cập” (original access-request) vơi một số hiệu yêu cầu (request ID) mới, nhưng thuộc tính usename-password được lấy từ thông tin vừa mới nập vào, và kèm luôn cả thuộc tính trạng thái từ access-challenge. RADIUS server có thể trả lời một access-request bằng một access-accept, access-reject hoặc một access-challenge khác.
Nếu cuối cùng tất cả các điều kiện trên được thỏa mãn, thì danh sách các giá trị cấu hình cho user được đặt vào trả lời “access-accept”. Các giá trị này bao gồm kiểu của dịch vụ (SLIP, PPP, Login..) và các giá trị cần thiết để cấp phát dịch vụ này. Ví dụ như đối với SLIP hay PPP, các giá trị này có thể là địa chỉ IP, subnet mask, MTU, phương pháp nén và số hiệu lọc gói. ở chế độ ký tự (character mode), các giá trị này có thể là giao thức và tên máy chủ.
Dạng gói của packet
Một cách chính xác, một gói RADIUS được bao bọc trong trường dữ liệu của gói UDP, và trường địa chỉ đích có số hiệu cổng là 1812. Khi gói trả lời được tạo ra, số hiệu cổng của địa chỉ nguồn và đích được bảo lưu.
Một gói dữ liệu của RADIUS được xác định như sau (các trường được gửi đi từ trái sang phải).
Hình 41 Packet Format
Code: Code field là một octet, và xác định kiểu gói của RADIUS. Khi một gói có mã không hợp lệ sẽ không được xác nhận
RADIUS code (decimal) được chỉ định như sau:
1 Access-Request
2 Access-Accept
3 Access-Reject
4 Accounting-Request
5 Accounting-Response
11 Access-Challenge
12 Status-Server (experimental)
13 Status-Client (experimental)
255 Reserved
Mã số 4 và số 4 được che đậy trong tài liệu RADIUS accouting [5]. Mã số 12 và 13 là dành riêng cho việc có thể sử dụng, nhưng nó không được đề cập ở đây.
Identifier (Trường định danh )
Indentifier field là một octet, và phù hợp với việc hỗ trợ yêu cầu và trả lời. Các máy chủ RADIUS có thể phát hiện một yêu cầu trùng lặp, nếu có các client có cùng một địa chỉ IP nguồn và UDP port và định danh trong một thời gian ngắn.
Length
Length field là hai octet, nó bao gồm các code field, indentifier, length, authentication, và trường thuộc tính (attribute field). Những byte nằm ngoài khoảng qui định bởi length sẽ được coi là những byte thừa, và sẽ bị bỏ qua khi nhận. Nếu gói ngắn hơn giá trị trường length, nó sẽ không được xác nhận và trả lời. Giá trị nhỏ nhất của trường length là 20 và giá trị lớn nhất là 4096.
Authenticator
Trường authenticator là 16 octet. Octet lớn nhất được truyền đi đầu tiên. Giá trị này được sử dụng để xác nhận các trả lời từ RADIUS server và được sử dụng trong thuật toán ẩn mật khẩu.
Request Authenticator: Trong các gói access-request, giá trị của trường xác nhận (authenticator field) là một số ngẫu nhiên 16 byte được gọi là bộ xác nhận yêu cầu (request authenticator). Giá trị này không thể dự đoán trước và duy nhất trong suốt thời gian sống của “thông tin bí mật” (mật khẩu dùng chung giữa client và RADIUS server); Vì nếu có sự lặp lại của giá trị này có nghĩa là một attacker có thể trả lời câu hỏi này không cần sự xác nhận của RADIUS server. Do đó, bộ xác nhận yêu cầu nên có giá trị toàn cục và duy nhất theo thời gian. Mặc dù, giao thức RADIUS không có khả năng ngăn chặn sự nghe lé phiên xác thực qua đường dây, nhưng việc sinh ra các giá trị không thể đoán trước được cho bộ xác nhận yêu cầu có thể hạn chế rất nhiều sự kiện này. NAS và RADIUS server chia sẽ ‘thông tin bí mật’. Thông tin bí mật chung này có được sau khi giá trị của “bộ xác nhận yêu cầu” được thuật toán MD5 băm để tạo ra giá trị 16 byte. Giá trị này được XOR với mật khẩu mà user nhập vào, kết quả sẽ được đặt vào thuộc tính user-password trong gói access-accept.
Response authenticator: Giá trị của trường xác nhận (authenticator field value) trong các gói access-request, access-reject, access-challenge được coi là bộ xác nhận trả lời (response authenticator). Giá trị này được tính bởi băm MD5 chuỗi các byte của code field, indentifier, length, xác nhận của gói access-request, và cộng thêm các thuộc tính trả lời và thông tin bí mật dùng chung
ResponseAuth =
MD5(Code+ID+Length+RequestAuth+Attributes+Secret) where +
denotes concatenation.
Administrative Note
Thông tin bí mật (chia sẽ password giữa client và RADIUS server) nên ít nhất là lớn và phứt tạp đó là cách lựa chọn mật khẩu tốt. Mức ưu tiên có thể chấp nhận được ít nhất là 16 octet. Điều này để đảm bảo phạm vi đủ lớn cho việc cung cấp các cơ chế bảo mật chống lại các cuộc tấn công tìm kiếm.
Packet type (kiểu packet)
Packet type được xác định bởi code field chiếm byte đầu tiên của gói RADIUS.
Access-Request
Gói access-request được gửi tới RADIUS server. Nó chuyên chở thông tin dùng để xác định xem user có được phép truy cập vào NAS và các dịch vụ được chỉ định hay không. Code field của gói phải có giá trị 1. Gói access-request phải chứa các thuộc tính user-name, user-password hoặc CHAP-password, và có thể chứa các thuộc tính NAS-IP-Address, NAS-Indentifier, NAS-PORT, NAS-PORT-TYPE.
Trường indentifier phải được thay đổi khi nội dung của trường thuộc tính bị thay đổi khi nội dung của trường thuộc tính bị thay đổi hoặc là đã nhận được trả lời hợp lệ cho yêu cầu trước đó. Trong trường hợp phải gửi lại gói, trường indentifier không đượ thay đổi.
Hình 42 Access-request Packet Format
Access-accept
Gói access-accept đưcọ gởi trả bởi RADIUS server khi tất cả các giá trị thuộc tính của gói access-request. Nó cung cấp thông tin cấu hình cần thiết để cấp phát các dịch vụ cho user. Trường code phải có giá trị 2. Gói access-accept nhận được ở NAS phải có trường danh hiệu trùng khớp với access-request tương ứng đã gởi trước đó và phải có xác nhận (response authenticator) phù hợp với thông tin bí mật dùng chung.
Hình 43 Access-accept Packet Format
Access-reject
Gói access-reject được gởi trả từ RADIUS server khi có giá trị thuộc tính không được thỏa. Trường code của mã phải có giá trị 3. Gói có thể chứa 1 hoặc nhiều thuộc tính reply-message với một thông báo dạng văn bản mà NAS sẽ hiển thị nó với user. Trường indentifier của gói access-reject chính là bản sao của gói access-request tương ứng.
Hình 44 Access-reject packet format
Access-challenge
Gói access-challenge được RADIUS server gửi đến user đòi hỏi thêm thông tin cần thiết mà user phải trả lời. Trường code của gói phải có giá trị 11. Gói có thể chứa 1 hoặc nhiều thuộc tính reply-message và có thể có 1 thuộc tính state. Các thuộc tính khác không được xuất hiện trong gói access-chanllenge. Trường indentifier của gói access-challenge phải trùng khớp với gói access-request tương ứng đã gửi đi trước đó và phải có trường xác nhận (authenticator field) phù hợp với thông tin bí mật dùng chung. Nếu NAS không được trang bị challenge/ response thì gói access-challenge nhận được sẽ coi như gói access-reject. Nếu NAS được trang bị chức năng challenge/ response và gói access-challenge nhận được là hợp lệ thì NAS sẽ hiển thị thông báo và yêu cầu user trả lời thông tin mà RADIUS server yêu cầu. Sau đó NAS sẽ gửi gói access-request gốc nhưng với danh hiệu yêu cầu (request ID) và xác nhận yêu cầu (request authenticator) mới, đồng thời thuộc tính user-password cũng được thay thế bởi thông tin trả lời của user (đã được mã hóa) và có thể bao gồm cả thuộc tính state từ gói access-challenge.
Hình 45 Access-challenge packet format
Attributes (các thuộc tính)
Các thuộc tính của RADIUS, chứa trong các gói yêu cầu/ trả lời, mang thông tin xác thực quyền, phân quyền, cấu hình cần thiết để cấp phát các dịch vụ cho user. Giá trị các trường length của gói RADIUS sẽ qui định điểm kết thúc của các thuộc tính trong gói. Dạng của thuộc tính như sau:
Hình 46 Attributes type
Type
Mỗi trường type là một octet, giá trị từ 192-223 là dành riêng cho nghiên cứu, giá trị từ 224-240 là dành cho việc thực hiện cụ thể, 241-255 là dành riêng và không nên sử dụng.
RADIUS server có thể bỏ qua các thuộc tính với một loại không rõ.
RADIUS client có thể bỏ qua các thuộc tính với một loại không rõ.
Điều này quan tâm đặc tả các giá trị sau:
1 User-Name
2 User-Password
3 CHAP-Password
4 NAS-IP-Address
5 NAS-Port
6 Service-Type
7 Framed-Protocol
8 Framed-IP-Address
9 Framed-IP-Netmask
10 Framed-Routing
11 Filter-Id
12 Framed-MTU
13 Framed-Compression
14 Login-IP-Host
15 Login-Service
16 Login-TCP-Port
17 (unassigned)
18 Reply-Message
19 Callback-Number
20 Callback-Id
21 (unassigned)
22 Framed-Route
23 Framed-IPX-Network
24 State
25 Class
26 Vendor-Specific
27 Session-Timeout
28 Idle-Timeout
29 Termination-Action
30 Called-Station-Id
31 Calling-Station-Id
32 NAS-Identifier
33 Proxy-State
34 Login-LAT-Service
35 Login-LAT-Node
36 Login-LAT-Group
37 Framed-AppleTalk-Link
38 Framed-AppleTalk-Network
39 Framed-AppleTalk-Zone
40-59 (reserved for accounting)
60 CHAP-Challenge
61 NAS-Port-Type
62 Port-Limit
63 Login-LAT-Port
Length (trường độ dài)
Biểu thị độ dài của thuộc tính cho các trường kiểu, length và value. Nếu thuộc tính trong gói access-request có trường độ dài không hợp lệ thì RADIUS server sẽ trả về gói access-reject. Nếu thuộc tính trong gói access-reject, access-accept, access-challenge có trường độ dài không hợp lệ thì NAS client sẽ xem như là gói access-reject hoặc là không xác nhận và trả lời.
Value (trường giá trị)
Dạng và chiều dài của trường giá trị được xác định bởi trường kiểu (type field) và trường độ dài (length field). Có 4 loại dữ liệu cho trường giá trị như sau:
Text 1-253 octets containing UTF-8 encoded 10646 [7]
characters. Text of length zero (0) MUST NOT be sent;
omit the entire attribute instead.
String 1-253 octets containing binary data (values 0 through
255 decimal, inclusive). Strings of length zero (0)
MUST NOT be sent; omit the entire attribute instead.
Address 32 bit value, most significant octet first.
Integer 32 bit unsigned value, most significant octet first.
Time 32 bit unsigned value, most significant octet first --
seconds since 00:00:00 UTC, January 1, 1970. The
standard Attributes do not use this data type but it is
presented here for possible use in future attributes.
Giao thức RADIUS 2
Cơ chế hoạt động
Khi client được cài đặt để sử dụng RADIUS Accouting, thì lúc bắt đầu cấp phát dịch vụ client sẽ sinh ra một gói “bắt đầu cấp phát tài khoản” mô tả kiểu của dịch vụ sẽ được cấp phát và user sẽ được cấp phát dịch vụ đó; sau đó gửi gói này đến RADIUS accouting server mà tới lượt nó sẽ gửi lại một thông báo nhận biết là gói đã được nhận. Lúc kết thúc cấp phát dịch vụ client sẽ sinh ra một gói “kết thúc cấp phát tài khoản” mô tả kiểu dịch đã được cấp phát và các thông tin thống kê có thể lọc dựa như thời gian trôi qau, các byte nhập/ xuất, các gói nhập/xuất; sau đó gửi gói này đến RADIUS accouting server mà tới lượt nó sẽ gửi lại một thông báo nhận biết là gói đã nhận được.
“Yêu cầu cấp phát tài khoản” (accouting-request) của hai loại start và stop được gửi cho RADIUS accouting server qua mạng. thường thì client sẽ tiếp tục cố gắng gửi gói accouting-request sau một khoảng thời gian nhất định cho tới khi nhận được phản hồi (ACK).
Client có thể gởi tiếp (forward) cho các server khác nhau trong trường hợp server chính bị off hoặc hỏng. Trong trường hợp này RADIUS accouting server đóng vai trò của một client.
Packet Format
Giống như giao thức RADIUS 1, giao thức RADIUS 2 cũng có 4 trường: code, indentifier, length, authentication, attributes và chỉ khác nội dung thể hiện
Trường code chỉ có hai giá trị 4 và 5 đặc trưng cho hai kiểu gói accouting-request và accouting-response.
Các thuộc tính hợp lệ trong gói RADIUS dạng access-request, access-accept sẽ hợp lệ trong các gói accouting-request, trừ một số thuộc tính không thể hiện như: User-Password, CHAP-Password, Reply-Message,State. Một số thuộc tính phải luôn luôn có mặt trong gói accouting-request như: NAS-IP-Address, NAS-Indentifier và một số thuộc tính khác nên có mặt như: NAS-port, NAS-Port-Type.
Còn một số chi tiết khác các bạn có thể tham khảo tại :
Phương pháp mã hóa và giả mã
Thuộc tính user-password chứa trong các gói access-request hoặc access-challenge, đặc trưng cho mật khẩu (password) của user, sẽ được ẩn trong khi truyền tới RADIUS server. Mật khẩu sẽ được thêm vào các ký tự NULL sao cho độ dài là bội của 16 buye. Băm MD5 một chiều (one-way MD5 hash) sẽ được xây dựng từ chuỗi các byte của “thông tin bí mật chung” giữa NAS và RADIUS server và thường xác nhận yêu cầu.Giá trị tính được sẽ được XOR với đoạn 16 byte đầu tiên của mật khẩu, kết quả sẽ được đặt vào 16 byte đầu tiên của trường giá trị của thuộc tính user-password. Nếu password dài hơn 16 ký tự thì giá trị băm thứ hai được tính từ chuỗi các byte tiếp theo của “thông tin bí mật chung” và kết quả của XOR lần trước. Giá trị băm có được sẽ XOR với 16 byte tiếp theo của mật khẩu, kết quả sẽ được đặt vào 16 byte tiếp theo của trường giá trị kiểu string của thuộc tính user-password. Quá trình tiếp theo cứ tiếp diễn đến khi hết các đoạn (segment) được chia của mật khẩu (tối đa là 128 ký tự).
Bạn có thể tham khảo thêm ở tài liệu RFC 2865
Giả sử gọi “thông tin bí mật chung” là S, giá trị của trường xác định yêu cầu (request authentication) 128 bit là RA. Chia mật khẩu đã được lắp đầy bởi các ký tự NULL (nếu cần) thành các phần con (chunks) p1, p2…Gọi các khối mật mã dạng văn bản (ciphertext blocks) là c(1), c(2),…và các giá trị trung gian là b1, b2…Dấu + là phép cộng chuỗi.
b1 = MD5(S + RA) c(1) = p1 xor b1
b2 = MD5(S + c(1)) c(2) = p2 xor b2
. .
. .
. .
bi = MD5(S + c(i-1)) c(i) = pi xor bi
The String will contain c(1)+c(2)+...+c(i) where + denotes concatenation.
Khôi gói RADIUS được nhận, quá trình sẽ diễn ra ngược lại trong quá trình giải mã.
RADIUS SERVER
Tổng quan
Việc bảo mật WLAN sử dụng chuẩn 802.11x kết hợp với xác thực người dùng trên 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 nhất cung cấp xác thực cho chuẩn 802.11x
Hình 47 Mô hình xác thực sử dụng RADIUS Server
Xác thực- cấp phép và kiểm toán
Giao thức 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à Accouting-AAA) cho các phiên làm việc với SLIP và PPP Dial-Up. Như việc 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 các 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 thông tin tới một Authentication Server, thông thường nó là một AAA Server. 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 khiể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 NASs
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, Password , UDP port, NAS indentifier và một Authentication message.
Sau khi nhận các thông tin AAA sử dụng gói tin được cung cấp như NAS Indentify, và Authentication 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, AAA server sẽ kiểm tra thông tin username và password mà người dùng yêu cầu truy cập trong database. 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 chứng thực bắt đầu được sử dụng, AAA server có thể 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. Khi đó người dùng sẽ phải trả lời đúng yêu cầu xác nhận, sau đó NAS sẽ chuyển đến AAA server một RADIUS Access-Request
AAA server sau khi kiểm tra các thông tin của người dùng hoàn toàn thỏa 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 thỏa mãn AAA server sẽ trả về một tin RADIUS Access-reject và NAS sẽ ngắt dịch vụ.
Khi gói tin Access-accept được nhận và RADIUS Accouting đã được thiết lập, NAS sẽ gửi một gói tin RADIUS Accouting –request tới AAA server. Máy chủ sẽ thêm các thông tin vào logfile 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 thông tin RADIUS Accouting-request
Sự bảo mật và tính mở rộng
Tất cả các message của RADIUS đều đóng gói bởi UDP Datagram s, nó bao gồm các thông tin như: message type, sequence number, length, authenticator, và một loạt các attributes values mà chúng ta đã tìm hiểu ở trên.
Áp dụng RADIUS cho WLAN
Trong một mạng WLAN sử dụng 802.11x port access control, các máy trạm sử dụng Wireless đóng vai trò Remote Access và Wireless Access Point làm việc như một NAS-Network Access Server. Để thay thế việc kết nối đến NAS với dial-up như giao thức PPP, Wireless station kết nối đến AP 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 EAP-Start tơi AP. AP sẽ yêu cầu station nhận dạng và chuyển thông tin đó tới một AAA server với thông tin là RADIUS Access-request Usename attribute.
AAA server và Wireless Station hoàn thành bằng việc chuyển các thông tin RADIUS Access-challenge và Access-request qua AP. Đượ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ã hóa TLS (Encypted TLS Tunnel).
Nếu AAA server gửi một message Access-accept, AP và Wireless station sẽ hoàn thành quá trình kết nối và hoàn thành phiên làm việc với việc sử dụng WEP hay TKIP để mã hóa dữ liệu. Và tại điểm đó, AP 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 chú ý là quá trình mã hóa dữ liệu giữa wireless station và AP khác quá trình mã hóa từ AP đến AAA server.
Nếu AAA server gửi một message Access-reject, AP sẽ ngắt kết nối đến wireless station. Wireless station có thể cố gắng thử lại quá trình xác thực, nhưng AP cấm wireless station này không được gửi các gói UDP đến các AP gần đó. Chú ý là station này hoàn toàn có thể lắng nghe các dữ liệu được truyền đi từ các station khác. Trên thực tế dữ liệu được truyền qua song radio và đó là lí do tại sao bạn phải mã hóa dữ liệu khi truyền trên mạng không dây.
Attribute-value pare bao gồm tròn các message của RADIUS có thể sử dụng AAA server để quyết định phiên làm việc giữa AP và wireless station, như session-timeout hay VLAN tag (Tunnel-Type=VLAN, Tunnel-Private-Group-ID=TAG). Chính xác thông tin thêm vào có thể phụ thuộc vào AAA server hay AP và wireless station mà bạn đang sử dụng.
Các tùy chọn bổ sung
Một vấn đề đầu tiên bạn phải hiểu vai trò của RADIUS trong quá trình xác thực của WLAN, bạn cần thiết lập một AAA server hỗ trợ interaction.
Nếu một AAA server gọi là RADIUS, nó sẵn sang để hỗ trợ xác thực cho chuẩn 802.11x và cho phép lựa chọn các dạng EAP. Nếu đã có bạn chuyển đến bước tiếp theo là làm thế nào để thiết lập tính năng này.
Nếu bạn có một RADIUS hỗ trợ 802.11x, hoặc không hỗ trợ dạng EAP, bạn 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 bạn có thể cài đặt một máy chủ mới. Nếu bạn cài một server mới có hỗ trợ xác thực cho chuẩn 802.11x, bạn 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ẽ 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 đến các máy chủ có khả năng xác thực chuẩn 802.11x
Nếu bạn không có máy chủ RADIUS, bạn cần thiết phải cài đặt một máy chủ cho quá trình xác thực WLAN, lựa chọn cài đặt này là một công việc thú vị.
Với cơ sở trung tâm –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 bạn có nhiều AP thì việc cấu hình bảo mật hệ thống này rất khó để quản lí riêng biệt, người dùng có thể xác thực từ nhiều AP khác nhau và điều đó là không thực sự 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 AP,…cung cấp các giải pháp thông minh hơn.
BẢO MẬT WLAN BẰNG PHƯƠNG PHÁP CHỨNG THỰC RADIUS
Phân tích và thiết kế hệ thống chứng thực bảo mật WLAN với RADIUS
Giới thiệu
Xuất phát từ những lợi ích rất dễ thấy như tính linh động, thuật tiện trong việc áp dụng mạng WLAN vào các nơi công cộng như công sở, trường học. Đặt biệt là trường CD CNTT Hữu Nghị Việt Hàn với số lượng giảng viên, sinh viên ở khu vực KTX có nhu cầu sử dụng mạng internet rất lớn. Nhóm 4 xin đề xuất áp dụng mô hình triển khai mạng WLAN với hình thức chứng thực RADIUS cho ký túc xác trường CĐ CNTT Hữu Nghị Việt Hàn với đối tượng là Giảng Viên, viên chức và Sinh Viên của trường.
Với đối tượng là Giảng viên, viên chức của trường, các dữ liệu truyền trong mạng cần có sự bảo mật trên đường truyền do đó sẽ tổ chức các đối tượng này vào các OU, Group được phân quyền và áp dụng các chính sách thích hợp đáp ứng nhu cầu bảo mật dữ liệu truyền trên mạng cũng như vấn đề phân quyền.
Đối với đối tượng là Sinh viên, nhu cầu truy cập để sử dụng mạng internet là chính nên các đối tượng này sẽ được tổ chức vào các OU, group thích hợp. Sinh viên có nhu cầu sử dụng mạng WLAN sẽ được cấp user và password. Áp dụng cho các user này được thời gian truy cập cũng như các vấn đề về thu phí…vv.
Yêu cầu hệ thống
Phần cứng
Một máy Server dùng để triển khai RADIUS, một máy tính PC hoặc Laptop để làm client(phải có wireless card)
Ít nhất một Access Point có hỗ trợ chứng thực RADIUS
Phần mềm
Trên máy server cài đặt hệ điều hành Windows Server 2003
Quy trình cài đặt và triển khai
Cài đặt và cấu hình DHCP
Cài đặt DHCP
Vào Control Panel è Add/Remove program è Add/Remove Windows Component è Networking Services è Chọn Dynamic Host Configuration Protocol (DHCP) è Chọn OK
Cấu hình DHCP
Mở DHCP Console từ thư mục Administrator Tools, chuột phải vào tên server và chọn “Authorize” để đăng ký với DC.
Tạo một Scope có tên là “radiusdhcp”
Scope range: 10.10.6.100/24 è 10.10.6.200/24
Lease Duration: 8 ngày
Default Gateway: 10.10.6.1
DNS Server: 10.10.6.99, 203.162.0.181
Hình 51 Kết quả cấu hình cấp phát DHCP của Server
Cài Enterprise CA và Request Certificate từ CA Enterprite Server
Cài đặt Enterprise CA
Vào Control Panel è Add/Remove program è Add/Remove Windows Component è Certificate services è chọn Certificate Service CA và chọn Certificate Services Web Enroment Support è Chọn OK( trong quá trình cài đặt nhớ chọn luôn IIS để dùng Web Enrollment Winzard). Trong các winzard tiếp theo ta chọn “Enterprise root CA” và đặt cho CA này là “wifi”, nhấp Next cho tới khi hoàn tất.
Hình 52 Các thông số cấu hình Enterprise CA
Request Certificate từ CA Enterprite Server
Có hai cách để Request Certificate từ CA Enterprise Server
Thứ nhất vào trình duyệt nhập vào địa chỉ trong trường hợp này là , nhập user và pasword administrator sau đó chọn “Request a Certificate ” è chọn “ Advanced Certificate Request” è chọn “Create and submit a request to this CA”. è Trong trang “Advanced Certificate Request” chọn “Certificate Template” và điển đầy đủ thông tin trong phần “Identifying information for offline template” è. Trong phần “Key Options” click chọn “Store certificate in the local coputer certificate store” è Sau khi certification được cấp phát click “Install this certificate” để cài certificate.
Thứ hai vào Run gõ mmc xuất hiện cửa sổ Console Root và chọn Add/Remove Snap-in è Add Certificates và chọn snap-in và computer account è Chọn Local coputer è chọn All Tasks để Request new Certificate… è Chọn Domain Controler è Đặt tên radius è sau khi request Certificate có tên như hình bên dưới. Vào ổ C:\ sẽ thấy Certificate có tên server1.mm02a.com-wifi.crt để cài đặt nó.
Hình 53 Kết quả sau khi đã Request Certificate từ CA Enterprise Server
Tạo user, cấp quyền Remote Access cho users và chuyển sang Native Mode
Tạo OU có tên “KTX”
Vào Administrator Tools mở Active Directory User and computer.
Tạo OU có tên là “wifi”.Trong OU wifi tạo user có tên là “viet”, password là “aA123456”. Cũng trong OU này, tạo Group “sinhvien” và đưa user “viet” vào group “sinhvien”.
Hình 54 Tạo OU, User và Group
Chuyển sang Native Mode
Để điều khiển truy cập của user qua Remove Access Policy, mở Active Director User and Computer, click chuột phải vào computer và chọn “Raise domain Functional Level”.
Hình 55 Chuyển domain sang Native mode
Cài đặt và cấu hình RADIUS, tạo Remote Access Policy
Cài đặt RADIUS
Vào Control panel è Add/Remove program è Add/Remove Windows component è Networking Service è Chọn Internet Authentication Service.
Cấu hình RADIUS
Vào Administrative Tools è Internet Authenticaton Service . Trong cửa sổ Internet Authenticaton Service, click chuột phải vào Internet Authenticaton Service (local) và chọn Register Server in Active Directory.
Hình 56 Cấu hình RADIUS
Chuyển xuống mục RADIUS Cliens, click chuột phải vào và chọn New RADIUS Cliens. Trong các cửa sổ tiếp theo, nhập tên thiết bị Access point (ở đây đặt là TPLink) và Secret key là viethanit (chú ý Secret key để cấu hình ở AP).
Hình 57 Tạo mới RADIUS Client
Tạo Remove Access Policy
Cũng trong cửa sổ Internet Authenticaton Service click chuột phải vào Remove Access Policies và chọn New Remove Access Policy. Trong Policy name đặt tên là wifi. Phương thức truy cập Access methois chọn Wireless trong hộp thoại Select group, Add group sinhvien vào. Trong hộp thoại Authentication Methods chọn Protected EAP (PEAP).
Hình 58 Tạo mới Remote Access Policy
Vào Administrator Tools mở Active Directory User and computer. Trong OU wifi, Click chuột phải vào user “viet” chọn Property, trong hộp thoại property chọn tab Dial-in. Ở mục Remove Access Permission tích chọn “Control access through Remove Access Policy” để quản lý user này bằng policy vừa tạo ra.
Hình 59 Cấu hình quản lý truy cập từ xa cho User
Cấu hình AP
Kết nối máy tính vào cổng LAN của AP bằng cáp thẳng. Gõ địa chỉ cổng LAN của AP (mặt định của TPLink là Đăng nhập với tài khoản mặt định (user admin password admin). Nếu không được tiến hành reset lại AP để tham số cấu hình trở về mặc định.
Tiến hành cấu hình cổng LAN và WAN như bình thường. Riêng phần Wireless Security chọn kiểu mã hóa là WPA2 và AES, địa chỉ IP của server RADIUS là 10.10.6.99 với port là 1082, share secret giống với đã khai báo ở server RADIUS là viethanit.
Hình 510 Cấu hình AP
Cấu hình Wireless client
Ở đây Wireless client sử dụng Windows XP. Vì vậy trước để windows chứng thực được WPA2, ta phải tiến hành update. Download update từ link sau:
Click chuột phải vào wireless card è Properties è chọn tab Wireless Networks è cấu hình như bên dưới.
Hình 511 Cấu hình SSID, kiểu chứng thực và mã hóa
Hình 512 Cấu hình chứng thực
Hình 513 Cấu hình kiểu kết nối và phương pháp chứng thực
Hình 514 Kết quả cấu hình Wireless Network cho client
Demo
Đã hoàn thành cấu hình RADIUS Server và AP, từ client tiến hành kết nối vào mạng wireless KTXVietHanIT, đăng nhập với user và mật khẩu đã được tạo ở Server RADIUS là “viet” và “aA123456”, domain là “MM02A”.
Hình 515 Cửa sổ đăng nhập chứng thực cho client
Hình 516 Kết quả sau khi đã kết nối thành công.
Hình 517 Kết quả cấp phát IP, Subnet Mask DNS... trên client
Hình 518 Kết quả cấp phát DHCP trên server
Hình 519 Event view ghi lại quá trình chứng thực
Hình 520 Cụ thể thông tin chứng thực trong Event view
Chi tiết quá trình chứng thực được ghi lại trong Event view
User MM02A\viet was granted access.
Fully-Qualified-User-Name = mm02a.com/wifi/viet
NAS-IP-Address = 10.10.6.1
NAS-Identifier =
Client-Friendly-Name = TPLink
Client-IP-Address = 10.10.6.1
Calling-Station-Identifier = 00-25-86-EB-0F-D0
NAS-Port-Type = Wireless - IEEE 802.11
NAS-Port = 0
Proxy-Policy-Name = Use Windows authentication for all users
Authentication-Provider = Windows
Authentication-Server =
Policy-Name = wifi
Authentication-Type = PEAP
EAP-Type = Secured password (EAP-MSCHAP v2)
For more information, see Help and Support Center at
KẾT LUẬN
Kết quả đạt được
Về lý thuyết:
Phương pháp bảo mật mà nhóm nghiên cứu là một trong những phương pháp bảo mật WLAN tốt nhất hiện nay. Có ý nghĩa thực tiễn cao, áp dụng được co các cơ quan, doanh nghiệp có nhu cầu về bảo mật WLAN cao.
Sau khi thực hiện xong đề tài, các thành viên trong nhóm đã hiểu được tổng quan về hệ thống mạng không dây, các hình thức tấn công cũng như bảo mật mạng không dây cơ bản. Đặt biệt hiểu rõ được cơ chế, tầm quan trọng của bảo mật mạng không dây bằng chứng thực RADIUS.
Về thực hành
Các thành viên trong nhóm đã thành thạo cấu hình các kiểu chứng thực, mã hoá, vận hành cơ bản cũng như bảo mật Wireless Access point. Trong quá trình cấu hình chứng thực, các thành viên hiểu rõ hơn được cơ chế chứng thực của Windows Server 2003.
Hạn chế
Chưa triển khai trên hệ thống Linux với chứng thực LDAP. Chỉ triển khai trên qui mô nhỏ và chưa được áp dụng thực tế nên chưa kiểm tra được các sự cố phát sinh trong quá trình vận hành.
Các máy Wireless Client phải tiến hành cài đặt mới có thể xác thực được
Hướng mở
Triển khai hệ thống xác thực RADIUS trên LINUX và mở rộng mô hình xác thực không chỉ cho WIFI mà cả hệ thống mạng sử dụng cáp, các máy VPN server, NAS Server…
Nghiên cứu ứng dụng công nghệ vWMAN (IEEE 802.16), WWAN (802.20)
Tìm hiểu yêu cầu, mô hình thiết kế, triển khai và bảo mật hệ thống WMAN, WWAN
TÀI LIỆU THAM KHẢO
Sách, giáo trình, đồ án
Giáo trình CCNA Exploration 4.0 LAN Switching and Wireless – Cisco System
Hacking Wireless Kỹ Thuật Thâm Nhập Mạng Không Dây -NXB Hồng Đức
Đồ án tìm hiểu giao thức xác thực RADIUS và xây dựng mô hình bảo mật WLAN với RADIUS server – Nguyễn Minh Nhật – ĐH Duy Tân.
Đồ án Bảo mật WLAN với RADIUS và WPA2 – Đặng Ngọc Cường – ĐH Bách Khoa TP HCM
Internet
Các file đính kèm theo tài liệu này:
- Nhom4-Bao-Mat-WLAN-VoiRADIUS.doc