Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

ใน vSphere Client บางครั้งจะเจอการแจ้งเตือน: Your password will expire in xx days ผมจึงศึกษาวิธีจัดการนโยบายรหัสผ่านใน VMware vSphere วิธีเปลี่ยนเวลาที่แสดงการแจ้งเตือนหมดอายุสำหรับผู้ใช้ Local และ Domain vSphere และการตั้งค่าให้รหัสผ่านบางบัญชีไม่หมดอายุ นี่คือสิ่งที่พบ

นโยบายรหัสผ่านและการล็อกเอาท์บน VMware Single Sign-On (SSO)

ในกรณีของผม ต้องการปิดการหมดอายุรหัสผ่านสำหรับ Local User administrator@vcenter.local (เพราะไม่มีใครใช้บัญชี Local นี้ถาวร และ Admin vSphere ล็อกอินด้วยบัญชี Active Directory Domain)

โดยค่าเริ่มต้น นโยบาย SSO ถูกนำไปใช้กับ Local User ของ vSphere ซึ่งกำหนดให้เปลี่ยนรหัสผ่านทุก 90 วัน

พบการตั้งค่านโยบายรหัสผ่าน SSO ใน vSphere Client ที่: Administration → Single Sign On → Configuration

ที่แท็บ Password Policy จะเห็นข้อกำหนดต่อไปนี้สำหรับรหัสผ่าน Local vCSA Users ทั้งหมด:

  • ความยาวรหัสผ่านขั้นต่ำ 8 ตัวอักษร (สูงสุด 20 ตัวอักษร)
  • รหัสผ่านหมดอายุใน 90 วัน (อายุสูงสุด)
  • ห้ามใช้รหัสผ่าน 5 รอบล่าสุดซ้ำ
  • ข้อจำกัดความซับซ้อนของรหัสผ่านบางอย่าง

คลิก Edit และเปลี่ยนการตั้งค่านโยบาย เช่น เปลี่ยน Maximum lifetime เป็น 365 (หมายถึงเปลี่ยนรหัสผ่านปีละครั้ง) หรือใส่ 0 (หมายถึงรหัสผ่านไม่หมดอายุ)

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

เปลี่ยนการตั้งค่าหมดอายุรหัสผ่านเป็นไม่มีวันหมดอายุสำหรับ Local VMware vCSA Users เฉพาะราย

หากไม่ต้องการเปลี่ยนนโยบายรหัสผ่านสำหรับ User ทั้งหมดใน vCenter สามารถเปลี่ยนนโยบายและการตั้งค่าหมดอายุสำหรับ User เฉพาะรายได้ เช่น ต้องการตั้งค่าให้ Local backup_user ไม่หมดอายุ ทำได้โดย SSH เข้า vCSA Host

เปิดใช้งาน SSH Access ที่ vCSA ในส่วน Access → SSH login → Enabled ของ Appliance Management (https://your_vcenter_name:5480/ui/access)

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

จะต้องใช้ Tool dir-cli ซึ่งอยู่ที่ /usr/lib/vmware-vmafd/bin/

cd /usr/lib/vmware-vmafd/bin/

ตรวจสอบว่า Local User มีอยู่จริง:

./dir-cli user find-by-name --account backup_user

Enter password for administrator@vcenter.local: Account: backup_user UPN: backup_user@VCENTER.LOCAL/

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

สามารถเปลี่ยนรหัสผ่านสำหรับ User นี้ได้:

./dir-cli password reset --account backup_user --password OldBackupP@$$ --new NewBackupP@$$

หรือตั้งค่าให้รหัสผ่านไม่หมดอายุ:

./dir-cli user modify --account backup_user --password-never-expires

Enter password for administrator@vsphere.local: Password set to never expire for [backup_user]

การหมดอายุรหัสผ่าน Root บน vCenter VCSA

ตอนติดตั้ง vCenter Server Appliance อายุการใช้งานรหัสผ่านสำหรับ User root ถูกตั้งเป็น 365 วัน (vCenter 6.5 หรือก่อนหน้า) หรือ 90 วัน (vSphere 6.7) ดังนั้น Root ก็อยู่ภายใต้นโยบายหมดอายุรหัสผ่านเช่นกัน

สามารถดูการตั้งค่านโยบายรหัสผ่านใน vCSA Appliance Management (https://your_vcenter_name:5480/ui/access) ไปที่ส่วน Administration และตรวจสอบค่าในส่วน Password expiration settings

  • Password expires: Yes
  • Password validity (days): 90
  • Password expires on: Jun 13, 2020, 2:00:00 AM

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

สามารถเปลี่ยนการตั้งค่าหมดอายุรหัสผ่าน Root หรือตั้งเป็นไม่หมดอายุ (ถ้าค่าเป็น 0)

ยังสามารถตรวจสอบการตั้งค่าหมดอายุรหัสผ่าน Root จากคอนโซล vCSA ได้:

chage -l root

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

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

น่าสนใจที่ vCSA Appliance Management ไม่ได้แจ้งเตือน Root ให้เปลี่ยนรหัสผ่าน หรือแสดงคำเตือนหมดอายุ

อย่างไรก็ตาม หากพยายามอัปเกรด vCenter Server Appliance อาจเจอข้อผิดพลาด:

Appliance (OS) root password is expired or is going to expire soon. Please change the root password before installing an update.

หรือตอนพยายามเปลี่ยนรหัสผ่าน Root ที่หมดอายุแล้วใน vCSA Appliance Management อาจมีคำเตือน:

Permission Denied. Set the maximum number of days when the password will expire. Administrator configuration updated successfully.

ในกรณีนี้ ต้องเปลี่ยนรหัสผ่าน Root ในคอนโซล vCSA ด้วยคำสั่ง:

passwd

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

การเปลี่ยนการตั้งค่าการแจ้งเตือนหมดอายุรหัสผ่านบน VMware vCenter

โดยค่าเริ่มต้น การแจ้งเตือนรหัสผ่านใกล้หมดอายุใน vCenter Client จะเริ่มแสดง 30 วันก่อนหมดอายุ

หาก User ล็อกอิน vCenter ด้วยบัญชี AD นโยบายรหัสผ่าน Domain จะถูกนำไปใช้ User จะเห็นการแจ้งเตือนเปลี่ยนรหัสผ่าน 30 วันก่อนหมดอายุ ดังนั้นถ้านโยบาย Domain บังคับเปลี่ยนรหัสผ่านทุก 30 วัน User vCenter จะเห็นคำเตือน Your password will expire ตลอดเวลา

ใน vCSA สามารถกำหนดได้ว่าจะแจ้งเตือนกี่วันก่อนหมดอายุ

ถ้าใช้ vSphere HTML5 Client การตั้งค่านี้อยู่ในไฟล์ Config บน vCenter Server Appliance: /etc/vmware/vsphere-ui/webclient.properties

เปิดไฟล์และหา Parameter sso.pending.password.expiration.notification.days

VMware vSphere: การจัดการการหมดอายุรหัสผ่าน

เปลี่ยนค่าเป็น 7 หมายถึงจะแจ้งเตือน 7 วันก่อนหมดอายุ จากนั้น Restart vSphere Client:

service-control --stop vsphere-ui
service-control --start vsphere-ui

หากใช้ Web Client แบบเก่า (Flex) ต้องเปลี่ยนค่า Parameter sso.pending.password.expiration.notification.days ในไฟล์ /etc/vmware/vsphere-client/webclient.properties

หลังแก้ไขแล้ว Restart Web Client Service:

service-control --stop vsphere-client
service-control --start vsphere-client