Xin một cổng switch trong phòng lab để chạy eapol_test — và nhiều khả năng bạn đã đọc sai công cụ. Peer và ứng dụng khách RADIUS cùng sống trong một tệp nhị phân duy nhất, nên cuộc trò chuyện duy nhất rời khỏi máy chính là bản thân trao đổi RADIUS. Một đường hầm được định tuyến giữa máy chủ kiểm thử và máy chủ xác thực là toàn bộ yêu cầu mạng. Đường đi vật lý 802.1X là thứ khác mà bạn có thể vẫn phải kiểm thử, và không phải cái này.

Vì sao cái tên khiến người ta đi tìm cổng switch

EAPOL là định dạng khung mà supplicant và switch dùng trên LAN, và công cụ mượn cái tên vì nó lớn lên từ thế giới đó. Thứ được cung cấp là một chương trình kiểm thử mang máy trạng thái của peer và ứng dụng khách RADIUS trong một tiến trình, nên hai nửa của cuộc trò chuyện 802.1X không bao giờ gặp nhau trên dây. Cái tên là lịch sử, không phải yêu cầu về tô-pô.

Người ta vẫn hỏi cổng vì chương trình dựa trên hành vi của bộ xác thực, và điều đó nghe như phần cứng. Keo của nó tái tạo máy trạng thái của bộ xác thực, nên một bài kiểm thử hoàn tất mà không cần điểm truy cập nào trong phòng; tệp nhị phân đã biên dịch liên kết peer EAP của wpa_supplicant với ứng dụng khách RADIUS của hostapd. Bỏ switch đi là bỏ bước nhảy EAPOL, không phải logic xác thực. Còn lại là trao đổi máy khách-máy chủ giữa hai máy chủ IP.

Theo dõi một trao đổi RADIUS từng bước nhảy

Theo dõi một lần thử và đường đi ngắn. Peer bên trong eapol_test tạo ra một EAP-Response cho phương thức bạn đã cấu hình, và ứng dụng khách RADIUS trong cùng tiến trình đặt nó vào một Access-Request, mang tải trọng trong các thuộc tính EAP-Message bên cạnh một Message-Authenticator. Datagram đó được gửi tới máy chủ trên cổng UDP 1812 và rời máy chủ như mọi gói IP khác, và đây là chỗ đường hầm xen vào. Máy chủ đánh giá nó theo chính sách và các mô-đun phương thức của mình, rồi trả lời bằng Access-Challenge, Access-Accept hoặc Access-Reject.

eapol_test -c peap-mschapv2.conf -a 198.51.100.20 -p 1812 \
  -s REPLACE_WITH_RADIUS_SECRET -t 30

Tệp nhị phân lấy địa chỉ máy chủ, cổng và bí mật chia sẻ từ dòng lệnh, còn phương thức và thông tin đăng nhập từ một khối cấu hình kiểu wpa_supplicant. Không có gì trong lời gọi đó phụ thuộc vào sự kề cận lớp 2: -a được tiếp cận nhờ định tuyến, và một VPN định tuyến nó là đủ. Nếu đường hầm bỏ rơi datagram, bài kiểm thử thất bại đúng như khi đối diện máy chủ không tới được trên một LAN phẳng.

Tệp nhị phân và chính sách máy chủ là hai danh sách khác nhau

Hai danh sách độc lập quyết định một phương thức có qua được hay không, và nhầm lẫn chúng tốn một ngày. Danh sách thứ nhất được biên dịch vào tệp nhị phân: cấu hình bản dựng chọn những phương thức EAP nào tồn tại, nên một bản dựng thiếu phương thức không thể thương lượng về nó dù máy chủ cho phép gì. Danh sách thứ hai sống trên máy chủ, nơi chính sách nói lớp máy khách này được dùng những phương thức nào trong số các phương thức được hỗ trợ. Muốn qua phải có phần giao, và không danh sách nào lấp được khoảng trống trong danh sách kia.

Hãy kiểm tra danh sách thứ nhất đó trước khi đổ lỗi cho máy chủ. Tìm tên phương thức trong tệp nhị phân đã cài, hoặc đọc cấu hình bản dựng mà nó ra đời từ đó. Nếu thiếu phương thức, hãy dựng lại thay vì sửa chính sách RADIUS; nếu có mà trao đổi vẫn thất bại, vấn đề đã chuyển sang thông tin đăng nhập, chính sách hoặc niềm tin chứng chỉ.

Điều mà việc qua được vẫn chưa bao phủ

Một lần chạy thành công chứng minh một phương thức, cho một bộ thông tin đăng nhập, đối diện một chính sách RADIUS, trên một đường mạng. Nó không luyện phần vô tuyến của điểm truy cập, việc xử lý EAPOL của một switch, việc gán VLAN diễn ra sau xác thực, hay cách một bộ tập trung VPN tích hợp với cùng máy chủ đó. Những thành phần ấy chưa bao giờ nằm trên đường đã kiểm thử. Hãy coi kết quả là bằng chứng có giới hạn, và nói rõ nó bao phủ giới hạn nào khi bạn báo cáo.

Bản ghi hữu ích là những gì máy chủ và tiến trình mỗi bên quan sát được: phương thức nào đã được thương lượng, trao đổi dừng ở đâu, và máy chủ đã ghi nhật ký gì. Giữ bí mật chia sẻ và khóa riêng tư ra ngoài bản ghi đó.

Danh sách kiểm tra trước khi trích dẫn kết quả

Trước khi ai đó coi đầu ra là một sự phê duyệt, hãy xác nhận bốn điều. Bản dựng có phương thức đang được kiểm thử, điểm cuối RADIUS và bí mật chia sẻ thuộc về môi trường đang được kiểm thử, chính sách máy chủ chấp nhận danh tính kiểm thử này, và đường mạng thuộc cùng lớp với đường mà máy khách sản xuất dùng. Sau đó nêu tên những gì lần chạy không chạm tới: điểm truy cập, switch, VLAN và tích hợp bộ tập trung mỗi thứ cần một dòng riêng trong kế hoạch kiểm thử.

Hai bài kiểm thử với hai người sở hữu thắng một sự phê duyệt mơ hồ. Lần chạy eapol_test trả lời câu hỏi về phương thức và máy chủ; dịch vụ truy cập trả lời câu hỏi về việc thực thi.

Bài viết liên quan