In this article, we are planning to upgrade vCenter Server appliance version 7.0.2.00500 build number 18455184 (vCenter Server 7.0 Update 2d) to vCenter Server 7.0 Update 3g (7.0.3.00800) build number 20150588 or higher.
Before upgrading vCenter Server, we must first check its health status by logging onto https://vCenter-Server-FQDN:5480
User: root Password: xxxxx
After login to vCenter Server appliance, go to summary and check on the “Health Status”.
We discovered that “Overall Health” displays a yellow alert warning on “Storage“.
Expand “Storage“, we found alert show “File system /storage/log is low on storage space increase the size of disk /storage/log“
Go to “Monitor“, then “Disks“, and see which hard disks have alerts.
Hard drive 5 (log) has a utilization rate of more than 80%.
Run “df-h” command to display file system disk space statistics in “human-readable” format.
Return to the vCenter Server web client. There was no snapshot on the vCenter Server appliance.
Right-click vCenter Server and choose “Edit Settings“.
Select Hard disks and expand Hard disk 5.
We will increase the size of hard disk 5 from 25 GB to 30 GB and then click OK.
Log in to the vCenter Server Appliance through SSH.
Used vmsa-2021-0028-kb87081.py script from KB 87088 and remove_log4j_class.py from this KB87081.
Used the manual workaround steps in KB87081 and remove_log4j_class.py.
Note: ในบทความนี้ จะใช้ วิธีที่ 2 – Used vmsa-2021-0028-kb87081.py script from KB 87088 and remove_log4j_class.py from this KB87081. โดยจะเป็น vCenter server virtual appliance version 7.0.1.00301
Workaround
Automated Workaround (Recommended)
ทำการ take snapshot “vCenter server virtual appliance”.
ทำการ check disk space available by command “df-h” (capture screen ไว้ด้วย).
ทำการ check vCenter server service by command “service-control –status –all” (capture screen ไว้ด้วย).
13. ทำการ Login to the vCSA using an SSH Client (using Putty.exe or any similar SSH Client) แล้วเข้าไปที่ path /tmp ใช้ “ls” command ทำการตรวจสอบไฟล์ ที่เราทำการ upload เข้าไป
14. ทำการ run script vmsa-2021-0028-kb87081.py root@xxxx[/tmp]#python vmsa-2021-0028-kb87081.py
15. พิมพ์ Y แล้วกด Enter
16. Script ก็จะทำการ run process เพื่อจะทำ workaround เกี่ยวกับ CVE-2021-44228 and CVE-2021-45046 (ใช้เวลา10 นาที โดยประมาณ). โดย script ก็จะแสดง status ของแต่ละ process และที่สำคัญจะต้องแสดงผล “SUCCESS” -vMON Config files -VMware Update Manager Config files -Analytics service Config files -DBCC Utility Config files
17. เมื่อทำการ run script แรก เสร็จเรียบร้อยแล้วให้ เรา run script ตัวที่ 2 คือ remove_log4j_class.py from this KB87081. root@xxxx[/tmp]#python remove_log4j_class.py
18. พิมพ์ Y แล้วกด Enter
19. Script ก็จะทำการ run process เพื่อจะทำ workaround เกี่ยวกับ CVE-2021-44228 and CVE-2021-45046 (ใช้เวลา10 นาที โดยประมาณ).โดย script ก็จะแสดง status ของแต่ละ process
Verify the changes
เมื่อเราทำการ run script ทั้ง 2 scripts completed แล้วให้เราทำ การ ตรวจสอบให้แน่ใจว่า script ที่เรา run นั้นถูกต้อง
Verify if the stsd, idmd, and vMon controlled services were started with the new -Dlog4j2.formatMsgNoLookups=true parameter: ps auxww | grep formatMsgNoLookups
โดย จะแสดง ผล -Dlog4j2.formatMsgNoLookups=true
2. Verify the Update Manager changes are shown under “System Properties” in the output of the following two commands: cd /usr/lib/vmware-updatemgr/bin/jetty/ java -jar start.jar --list-config system properties: log4j2.formatMsgNoLookups = true (/usr/lib/vmware-updatemgr/bin/jetty/start.ini)
3. Verify the Analytics Service changes: grep -i jndilookup /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar | wc -l โดย จะแสดงค่า “0“
4. Verify the script successfully removed JndiLookup.class from all java files with the following command: python remove_log4j_class.py -r
จะได้ผลลัพธ์ ดังนี้ 2021-12-18T00:04:38 INFO main: Running in dryrun mode 2021-12-18T00:05:04 INFO main: ===== Summary ===== List of vulnerable files: 2021-12-18T00:05:04 INFO main: Done.
Remark
หลังจาก เราทำการ run script เสร็จเมื่อกลับที่ vSphere client browser ของ vCenter server จะพบว่า ที่ Tab -> Monitor ในหน้า Skyline Health จะ show warning “Online health checks execution” (ถ้าไม่เจอแบบนี้ก็ไม่เป็นไร นะครับ) !!!warning ที่แสดง จะหายไป เอง นะครับ!!!
Conclusion
ในบทความนี้จะเป็น workaround สำหรับ vCenter server virtual appliance 7.x เท่านั้น โดย fix version ยังไม่มีออกมาในส่วน version อื่น ให้ทุกท่านติดตาม VMSA-2021-0028 ในการทำ workaround หรือ fix version รวมถึง Product อื่นๆ ของ VMware ที่ได้รับผลกระทบ เช่นกัน.