Cổng mạng chấp nhận mật khẩu, yêu cầu mã, và hộp thoại không cung cấp trường nào cho nó. Không có gì bị gõ sai: plugin NetworkManager đã hoàn tất việc trao đổi bí mật mà không yêu cầu giá trị sáu chữ số. Thực hiện bốn lần kiểm tra bên dưới theo thứ tự, vì chỉ một trong số đó thay đổi ứng dụng khách. Phần còn lại của danh sách loại trừ cổng mạng, tài khoản và bản dựng plugin.

Kiểm tra thứ nhất: đọc nơi quá trình xác thực dừng lại

Mật khẩu sai thất bại ngay lập tức. Yếu tố thứ hai bị thiếu thất bại sau bước thông tin đăng nhập, thường là với yêu cầu lặp lại hoặc hết thời gian ở phía cổng mạng. Thời điểm và nhật ký của cổng mạng cho biết vòng nào bị bỏ trống câu trả lời.

Đọc nhật ký kết nối trước khi chạm vào hồ sơ. Nếu cổng mạng báo cáo xác thực không hoàn tất hoặc thử thách đã hết hạn, ứng dụng khách chưa bao giờ gửi mã. Nếu báo cáo thông tin đăng nhập không hợp lệ, vấn đề là mật khẩu và không cài đặt TOTP nào sửa được.

Ghi lại đúng thứ tự yêu cầu mà cổng mạng mong đợi: tên người dùng, mật khẩu, rồi mã, hoặc tên người dùng, mã, rồi mật khẩu. Một số cổng mạng sắp xếp lại các vòng, và ứng dụng khách chỉ biết thứ tự đầu tiên sẽ bị kẹt ở thứ tự thứ hai.

Kiểm tra thứ hai: dùng ứng dụng khách sở hữu thử thách

Bản thân OpenConnect triển khai toàn bộ cuộc trò chuyện, kể cả vòng thử thách. Chạy nó trực tiếp là cách dễ đoán nhất để xác nhận tài khoản và cổng mạng hoạt động:

sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.net

Ứng dụng khách hỏi theo thứ tự cổng mạng hỏi. Tác nhân người dùng quan trọng vì một số cổng mạng điều chỉnh luồng đăng nhập cho ứng dụng khách đã biết, và một chuỗi chung có thể tạo ra luồng ngắn hơn không bao giờ yêu cầu mã. Chạy nó một lần ở tiền cảnh trước khi sắp đặt bất kỳ dịch vụ nền nào.

Nếu dòng lệnh hỏi đúng, tài khoản, cổng mạng và yếu tố thứ hai đều ổn. Vấn đề còn lại là hộp thoại của plugin, không phải dịch vụ xác thực. Điều đó cô lập thành phần bị lỗi mà không chạm vào máy chủ. Giữ đầu ra của lệnh cùng với biên bản sự cố.

Nếu dòng lệnh cũng bỏ qua yêu cầu, hãy dừng lại và kiểm tra cấu hình cổng mạng với người phụ trách. Không ứng dụng khách máy tính nào trả lời được thử thách mà máy chủ không bao giờ gửi.

Kiểm tra thứ ba: xem plugin của bạn có chế độ TOTP không

Một số bản dựng NetworkManager OpenConnect cung cấp chế độ token và trường tác nhân người dùng trong tab Identity của kết nối. Đặt tác nhân người dùng thành giá trị cổng mạng mong đợi, chọn nhập TOTP thủ công và lưu kết nối.

Việc các trường đó có tồn tại hay không phụ thuộc vào phiên bản plugin và trình chỉnh sửa kết nối mà màn hình nền dùng. Trình chỉnh sửa độc lập có thể hiển thị các tùy chọn mà bảng GNOME ẩn, hoặc ngược lại. Kiểm tra phiên bản gói đã cài trước khi tìm cài đặt ẩn.

Nếu chế độ token có mà lời nhắc vẫn không xuất hiện, bản dựng thiếu việc chuyển thử thách giữa plugin và hộp thoại bí mật chung. Gõ lại mật khẩu, cài lại cùng gói hoặc xóa móc khóa sẽ không tạo ra trường mà bản dựng không triển khai.

Kiểm tra thứ tư: coi mã được tạo là một sự đánh đổi

Một tập lệnh có thể gọi oathtool cho mã hiện tại và chuyển tên người dùng, mật khẩu và mã vào nmcli connection up --ask. Trình tự hoạt động, nhưng bí mật chia sẻ cuối cùng được lưu ở nơi mà bất kỳ ai mở được tập lệnh đều đọc được, và người đọc đó có thể tạo mã mãi mãi. Đó là phần mở rộng vĩnh viễn của bề mặt thông tin đăng nhập, không phải sửa lỗi ứng dụng khách.

Ai chọn cách này nên khóa tệp bí mật cho root, giữ các giá trị được tạo ngoài lịch sử shell và coi tập lệnh là vật liệu thông tin đăng nhập. Một lớp bọc phát lại mã ra terminal là ném bỏ yếu tố thứ hai. Hãy thử lớp bọc với tài khoản dùng một lần trước.

Tập lệnh cũng phải tuân theo thứ tự yêu cầu của cổng mạng. Nếu máy chủ yêu cầu mã trước mật khẩu, một chuỗi nhập cố định sẽ gửi giá trị sai đến yêu cầu sai và tạo ra cùng kiểu xác thực không hoàn tất. Hãy luyện tập với tài khoản thử trước khi nối nó vào tác vụ đăng nhập.

Xác nhận cùng cổng mạng và cùng tài khoản

Thử mọi cách vòng tránh trên cùng cổng mạng, cùng tài khoản và cùng nhóm đường hầm. Cổng mạng cũng yêu cầu chứng chỉ thiết bị có thể từ chối ứng dụng khách dòng lệnh vì lý do không liên quan đến TOTP, và thứ tự yêu cầu có thể khác với thứ tự đã luyện.

Ghi lại ứng dụng khách, phiên bản, tác nhân người dùng và thứ tự yêu cầu đã hoạt động. Bản ghi đó cho người tiếp theo biết vấn đề nằm ở bản dựng plugin, luồng cổng mạng hay chính sách tài khoản, mà không cần thêm một vòng đặt lại mật khẩu.

Kết thúc bằng việc kết nối lại một lần sau khi đăng xuất hoàn toàn. Một bí mật được lưu trong bộ nhớ đệm có thể khiến luồng hỏng trông như đã sửa cho đến phiên sau, và lời nhắc bị thiếu thường quay lại ở lần kết nối thứ hai.

Bài viết liên quan