Tôi thường xuyên gặp thông báo trong giao diện vSphere Client: Your password will expire in xx days. Tôi quyết định tìm hiểu cách quản lý chính sách mật khẩu trong VMware vSphere, cách thay đổi thời gian xuất hiện thông báo hết hạn mật khẩu cho người dùng cục bộ và miền vSphere, cũng như đặt cài đặt mật khẩu cho một số người dùng để không bao giờ hết hạn. Đây là những gì tôi tìm thấy.
Chính sách mật khẩu & khóa tài khoản trên VMware Single Sign On (SSO)
Trong trường hợp của tôi, tôi quyết định tắt hết hạn mật khẩu cho người dùng cục bộ administrator@vcenter.local (vì không ai làm việc dưới tài khoản cục bộ này thường xuyên, và quản trị viên vSphere xác thực dưới tài khoản miền Active Directory của họ).
Mặc định, chính sách SSO được áp dụng cho người dùng cục bộ vSphere, yêu cầu mật khẩu người dùng phải thay đổi mỗi 90 ngày.
Bạn có thể tìm thấy cài đặt chính sách mật khẩu SSO trong phần sau của vSphere Client: Administration → Single Sign On → Configuration.
Như bạn thấy trên tab Password Policy, các yêu cầu sau được áp dụng cho mật khẩu của tất cả người dùng vCSA cục bộ:
- Độ dài mật khẩu tối thiểu là 8 ký tự (tối đa — 20 ký tự);
- Mật khẩu hết hạn sau 90 ngày (thời gian sống tối đa);
- 5 mật khẩu cuối cùng không được phép tái sử dụng;
- Một số giới hạn về độ phức tạp mật khẩu.
Nhấp Edit và thay đổi cài đặt chính sách. Ví dụ, bạn có thể thay đổi Maximum lifetime thành 365 (có nghĩa là bạn phải thay đổi mật khẩu một lần mỗi năm) hoặc nhập 0 ở đây (nghĩa là mật khẩu không bao giờ hết hạn).

Thay đổi cài đặt hết hạn mật khẩu thành không bao giờ hết hạn cho người dùng cục bộ VMware vCSA
Nếu bạn không muốn thay đổi chính sách mật khẩu cho tất cả người dùng vCenter, bạn có thể thay đổi chính sách mật khẩu và cài đặt hết hạn cho người dùng cụ thể. Ví dụ, bạn muốn đặt mật khẩu cho người dùng cục bộ backup_user không bao giờ hết hạn. Để làm điều đó, kết nối với máy chủ vCSA của bạn bằng client SSH.
Kích hoạt truy cập SSH vào vCSA trong phần Access → SSH login → Enabled của Appliance Management (https://your_vcenter_name:5480/ui/access).

Bạn sẽ cần công cụ dir-cli, nằm trong /usr/lib/vmware-vmafd/bin/.
cd /usr/lib/vmware-vmafd/bin/
Kiểm tra xem người dùng cục bộ có tồn tại không:
./dir-cli user find-by-name --account backup_user
Enter password for administrator@vcenter.local: Account: backup_user UPN: backup_user@VCENTER.LOCAL/

Bạn có thể thay đổi mật khẩu cho người dùng này:
./dir-cli password reset --account backup_user --password OldBackupP@$$ --new NewBackupP@$$
Hoặc bạn có thể đặt mật khẩu không bao giờ hết hạn:
./dir-cli user modify --account backup_user --password-never-expires
Enter password for administrator@vsphere.local: Password set to never expire for [backup_user]
Hết hạn mật khẩu root trên vCenter VCSA
Khi bạn cài đặt vCenter Server Appliance, thời gian sống mật khẩu cho người dùng root được đặt thành 365 ngày (vCenter 6.5 trở về trước) hoặc 90 ngày (vSphere 6.7). Vì vậy root cũng chịu tác động của chính sách hết hạn mật khẩu.
Bạn có thể xem cài đặt chính sách mật khẩu trong vCSA Appliance Management (https://your_vcenter_name:5480/ui/access). Đi đến phần Administration và kiểm tra giá trị trong phần “Password expiration settings”.
- Password expires: Yes
- Password validity (days): 90
- Password expires on: Jun 13, 2020, 2:00:00 AM

Bạn có thể thay đổi cài đặt hết hạn mật khẩu cho root hoặc đặt thành không bao giờ hết hạn (nếu giá trị là 0).
Cũng có thể kiểm tra cài đặt hết hạn mật khẩu root từ console vCSA:
chage -l root

Last password change : Mar 15, 2019 Password expires : Jun 20, 2019 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7
Thú vị là giao diện vCSA Appliance Management không nhắc root thay đổi mật khẩu hoặc hiển thị bất kỳ cảnh báo hết hạn mật khẩu nào.
Tuy nhiên, nếu bạn cố gắng nâng cấp vCenter Server Appliance, bạn có thể gặp thông báo lỗi sau:
Appliance (OS) root password is expired or is going to expire soon. Please change the root password before installing an update.
Hoặc khi cố gắng thay đổi mật khẩu root đã hết hạn trong vCSA Appliance Management, một cảnh báo có thể xuất hiện:
Permission Denied. Set the maximum number of days when the password will expire. Administrator configuration updated successfully.
Trong trường hợp này, bạn phải thay đổi mật khẩu root trong console vCSA bằng lệnh:
passwd

Thay đổi cài đặt thông báo hết hạn mật khẩu trên VMware vCenter
Mặc định, thông báo mật khẩu sắp hết hạn trong vCenter Client bắt đầu xuất hiện 30 ngày trước khi hết hạn.
Nếu người dùng xác thực trong vCenter bằng tài khoản AD, chính sách mật khẩu miền được áp dụng cho mật khẩu người dùng. Người dùng sẽ thấy thông báo nhắc thay đổi mật khẩu 30 ngày trước khi hết hạn. Vì vậy, nếu chính sách miền của bạn bắt buộc thay đổi mật khẩu một lần trong 30 ngày, người dùng VMware vCenter sẽ luôn thấy cảnh báo khó chịu Your password will expire.
Trong vCSA, bạn có thể cấu hình bao nhiêu ngày trước khi mật khẩu hết hạn thì người dùng sẽ thấy thông báo này.
Nếu bạn đang sử dụng vSphere HTML5 client, cài đặt này được chỉ định trong file cấu hình trên máy chủ vCenter Server Appliance: /etc/vmware/vsphere-ui/webclient.properties.
Mở file và tìm tham số sso.pending.password.expiration.notification.days.

Thay đổi giá trị của nó thành 7. Điều này có nghĩa là thông báo hết hạn mật khẩu sẽ xuất hiện 7 ngày trước khi nó xảy ra. Sau đó khởi động lại vSphere client:
service-control --stop vsphere-ui
service-control --start vsphere-ui
Nếu bạn đang sử dụng Web Client cũ (Flex), bạn sẽ phải thay đổi giá trị của tham số sso.pending.password.expiration.notification.days trong file /etc/vmware/vsphere-client/webclient.properties.
Sau khi chỉnh sửa cài đặt, khởi động lại dịch vụ Web Client:
service-control --stop vsphere-client
service-control --start vsphere-client