Lỗi mật khẩu LDAP đó có thể không phải là mật khẩu của người dùng
Lỗi bind có thể đến từ tài khoản dịch vụ hoặc phạm vi tìm kiếm, không phải từ người dùng. Hãy tách các bind trước khi đặt lại mật khẩu của bất kỳ ai.
Đặt lại mật khẩu của người dùng là bước đầu tiên sai lầm khi nhật ký chỉ nói rằng một bind đã bị từ chối. Với một plugin thư mục, có nhiều hơn một bind trong một lần đăng nhập, và sự từ chối có thể thuộc về tài khoản dịch vụ thực hiện tìm kiếm. Đặt lại thông tin đăng nhập của người dùng trong trường hợp đó không thay đổi gì. Nó còn khóa luôn người chưa bao giờ là vấn đề.
Một lần đăng nhập, nhiều bind
Một cấu hình có tài khoản thư mục riêng thường thực hiện bốn bước theo thứ tự, và bất kỳ bước nào cũng có thể kết thúc lần đăng nhập.
connect to the directory and establish the configured TLS protection
bind as the configured service account
search for the user entry using the search base and filter
open a second connection and bind as that user, then evaluate groups
Plugin xây dựng kết nối xác thực người dùng qua cùng một trình trợ giúp xử lý kết nối đầu tiên, nên trình trợ giúp đó có thể thất bại khi kết nối, khi thương lượng TLS hoặc khi bind với tư cách tài khoản dịch vụ. Thông báo cấp cao về mật khẩu được tạo sau đó và không mang thông tin về danh tính nào đã tham gia. Vì vậy chỉ văn bản lỗi không thể cho biết người dùng hay tài khoản dịch vụ bị từ chối.
Đọc các dòng trước thông báo và ghi lại thời điểm lỗi xảy ra. Sự từ chối lúc khởi động, trước khi bất kỳ người dùng nào đến, chỉ vào tài khoản đã cấu hình hoặc điểm cuối. Sự từ chối chỉ xuất hiện với một người, sau một lần tìm kiếm thành công, chỉ vào mục nhập hoặc trạng thái tài khoản của người đó.
Gắn lỗi với một danh tính
Nguyên tắc thực hành là ghi lại ba điều cùng nhau: khi nào thất bại, thao tác nào đang chạy và danh tính nào được trình bày. Không có bộ ba đó, hai sự cố rất khác nhau trông giống hệt nhau trong một nhật ký chỉ giữ câu cuối cùng.
| What the log shows | Identity likely refused | First thing to check |
|---|---|---|
| Failure at start-up, no user yet | Service account | DN, password, expiry, lockout |
| Search returns nothing | None, the search scope is wrong | Search base and filter |
| Failure only for one user | That user's entry | Entry state, bind DN, group rules |
Nếu tài khoản đã cấu hình thất bại, hãy kiểm tra tài khoản đó và kết nối trước khi chạm vào bất kỳ bản ghi người dùng nào. Nếu bind của người dùng thất bại sau một lần tìm kiếm thành công, hãy xem xét mục nhập mà tìm kiếm trả về, không phải mục bạn cho rằng nó sẽ trả về. Hai đường đi chỉ chia sẻ một thông báo và không gì khác. Hãy ghi lại bạn đã loại trừ cái nào, vì người tiếp theo sẽ hỏi đúng điều đó.
Tên phân biệt là dữ liệu, không phải phỏng đoán
Thay đổi một thành phần của tên vì nó trông lạ là cách phổ biến để làm hỏng một cấu hình đang hoạt động. Vị trí mặc định của các đối tượng người dùng trong Active Directory là một vùng chứa có tên Users, và vùng chứa không phải là cùng loại đối tượng như một đơn vị tổ chức có tên tương tự.
Hãy hỏi quản trị viên thư mục tên phân biệt thực tế của tài khoản, hoặc đọc nó từ chính đối tượng. Cả hai ví dụ dưới đây đều có thể đúng trong thư mục của riêng chúng, vì vậy không nên nhập cái nào từ trí nhớ.
CN=VPN Bind,CN=Users,DC=corp,DC=example
CN=VPN Bind,OU=Service Accounts,DC=corp,DC=example
Việc di chuyển hoặc đổi tên thay đổi giá trị đó trong khi tài khoản và mật khẩu vẫn hợp lệ, nên một cấu hình hoạt động quý trước có thể thất bại quý này mà không ai chạm vào thông tin đăng nhập. Hãy so sánh chuỗi đã cấu hình với thuộc tính hiện tại của thư mục sau mọi lần tái tổ chức. Cũng làm điều đó sau một lần di chuyển âm thầm, không chỉ sau một sự cố được báo cáo.
Cơ sở tìm kiếm không phải là tài khoản dịch vụ
Danh tính bind và cơ sở tìm kiếm trả lời những câu hỏi khác nhau: plugin xác thực với tư cách ai và tìm người ở đâu. Một bind thành công nhưng không có người dùng khớp là vấn đề về phạm vi, bộ lọc hoặc quyền đọc, và việc thay tên phân biệt của tài khoản bằng cơ sở của người dùng không thay đổi gì về điều đó.
Hãy xác nhận rằng dịch vụ đã tải cấu hình bạn đã chỉnh sửa và rằng điểm cuối, sự tin cậy TLS và chế độ xác thực của nó khớp với một bài kiểm tra quản trị đang hoạt động. Tra cứu thủ công bằng tài khoản khác, hoặc với bộ điều khiển miền khác, không phải là một thử nghiệm tương đương.
Kiểm tra bí mật đã lưu và kiểm tra xem tài khoản có được bật, hết hạn hay bị khóa hay không, mà không in mật khẩu ở bất kỳ đâu. Hết hạn rất dễ bị bỏ sót vì tài khoản vẫn hoạt động cho đến ngày nó không còn hoạt động. Một khóa thừa hưởng từ dịch vụ không liên quan cũng âm thầm như vậy. Không điều kiện nào trong hai điều kiện đó tạo ra thông báo nêu tên tài khoản dịch vụ.
Các quy tắc nhóm đến sau cùng
Việc cấp quyền chạy sau khi các bind thành công, nên kiểm tra nhóm không thể là nguyên nhân của lỗi bind, và việc bỏ yêu cầu nhóm không thể sửa nó. Nếu lần đăng nhập giờ đây đến giai đoạn nhóm, vấn đề còn lại là tư cách thành viên, không phải thông tin đăng nhập.
Cấp cho tài khoản dịch vụ quyền thư mục rộng rãi để lỗi biến mất sẽ thay đổi chính sách truy cập của toàn bộ triển khai. Hãy coi đó là một quyết định bảo mật có đánh giá riêng, không phải là bản vá cho một thông báo mà bạn chưa gán cho danh tính nào.