VMware vRealize Automation – Logins to the UI intermittently fail with 502 Bad Gateway

By Lerpong Intaraworrapath | May 17th, 2022

ใน VMware vRealize Automation version 8.5.x เราจะพบว่า ในบางครั้ง เมื่อเรา Login เข้าไปที่ vRealize Automation portal จะไม่สามารถเข้าไปใช้งานได้ จะเจอ ข้อความ “ClientResponse has erroneous status code: 502 Bad Gateway

Symptoms:

ใน VMware vRealize Automation version 8.5.x หรือหลังจาก ทำการ upgrade to version 8.5.x เมื่อเรา login ในหน้า UI จะเกิด intermittently fails และ services logs contain 502 Bad Gateway exception เนื่องจาก พยายามจะ acquire access tokens from Identity service.

Errors from the identity-service within the identity-service-app-xxxxxxxxx-xxxxx pod contains errors similar to

2021-09-02T13:42:30.824Z ERROR identity-service [host='identity-service-app-9b97cb5f7-n9mdv' thread='reactor-http-epoll-1' user='' org='' trace='4e2d69fb-b884-4ba0-8ca3-60913ce5c830'] reactor.netty.http.server.HttpServer.error:319 - [id:0xa55a54c7,L:/10.244.0.128:8080 - R:/10.244.0.126:45626] 
java.io.UncheckedIOException: java.nio.file.FileSystemException: /tmp/synchronoss-file-upload-1080171699777

เมื่อเรา Login vRealize Automation portal จะแสดงผล Error ดังภาพ.

Resolution:

Issues ที่เกิดขึ้น จะแก้โดยใช้ VMware KB86121

https://kb.vmware.com/s/article/86121

Prerequisites:

ทำการ Create snapshot vRealize Automation appliance โดย without memory snapshot

Procedure:

1.ทำการ SSH / PuTTy ไปที่ appliance ตัวใดตัวนึงของ vRA cluster ด้วย user “root”.

2.Run the following command
echo 'IyEvYmluL2Jhc2gKCmlmIFsgIiQoY2F0IC9vcHQvc2NyaXB0cy9zdGF0ZV9lbmZvcmNlbWVudC5zaCB8IGdyZXAgImNsZWFudXBfaWRlbnRpdHlfcG9kc191bnVzZWRfZGlycyIgfCB3YyAtbCkiID09ICIxIiBdCnRoZW4KICAgIGVjaG8gIlRoZSBLQiBmb3IgY2xlYW51cCBvZiB1bnVzZWQgZGlycyBpbiBpZGVudGl0eSBwb2RzIGlzIGFscmVhZHkgYXBwbGllZC4iCiAgICBleGl0IDAKZmkKCnZyYWNsaSBjbHVzdGVyIGV4ZWMgLS0gYmFzaCAtYyAiZWNobyAnSXlFdlltbHVMMkpoYzJnS0NpTWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ESXhJRlpOZDJGeVpTd2dTVzVqTGlBZ1FXeHNJSEpwWjJoMGN5QnlaWE5sY25abFpDNEtJd29qSUZSb2FYTWdZMjlrWlNCcGN5Qm1iM0lnZFhObElHWnliMjBnWW5WcGJIUXRhVzRnWVhWMGIyMWhkR2xqSUhONWMzUmxiWE11SUVSdklHNXZkQ0JqWVd4c0lHbDBJR1p5YjIwS0l5QXpjbVFnY0dGeWRIa2djM2x6ZEdWdGN5d2djbVYxYzJVZ2IzSWdjbVZ3Y205a2RXTmxMZ29qQ2dvaklGUm9hWE1nYzJOeWFYQjBJR2x6SUc5dWJIa2dZWEJ3YkdsallXSnNaU0JtYjNJZ2RsSkJJRGd1TlNCSFFTQjJaWEp6YVc5dUlHRnVaQ0JwZENCemFHOTFiR1FnYm05MElHSmxJSFZ6WldRZ2IyNGdZVzU1SUc5MGFHVnlJSFpTUVNCMlpYSnphVzl1Y3k0S0NtWjFibU4wYVc5dUlHeHZaeWdwSUhzS0lDQnNiMk5oYkNCdGMyYzlJaVF4SWdvZ0lHeHZZMkZzSUd4bGRtVnNQU0lrTWlJS0lDQnNiMk5oYkNCa2REMGtLR1JoZEdVZ0p5c2xXUzBsYlMwbFpDQWxTRG9sVFRvbFV5Y3BDZ29nSUdWamFHOGdJbHNrYkdWMlpXeGRXeVJrZEYwZ0pHMXpaeUlLZlFvS1puVnVZM1JwYjI0Z2JHOW5YMmx1Wm04b0tTQjdDaUFnYkc5bklDSWtNU0lnSWtsT1JrOGlDbjBLQ25ObGRDQXJaUW9LYkc5blgybHVabThnSWtOc1pXRnVhVzVuSUhWd0lHbGtaVzUwYVhSNUlIQnZaSE1nZFc1MWMyVmtJR1JwY25NdUxpNGlDbWxtSUZzZ0xXWWdMM1poY2k5MmJYZGhjbVV2Y0hKbGJIVmtaUzlwWkdWdWRHbDBlUzF6ZG1NdmJHRnpkQzFqYkdWaGJuVndJRjBLZEdobGJnb2dJR2xtSUZzZ0lpUW9abWx1WkNBdmRtRnlMM1p0ZDJGeVpTOXdjbVZzZFdSbEwybGtaVzUwYVhSNUxYTjJZeThnTFc1aGJXVWdiR0Z6ZEMxamJHVmhiblZ3SUMxMGVYQmxJR1lnTFcxdGFXNGdMVGN5TUNCOElIZGpJQzFzS1NJZ1BUMGdJakVpSUYwS0lDQjBhR1Z1Q2lBZ0lDQnNiMmRmYVc1bWJ5QWlTV1JsYm5ScGRIa2djMlZ5ZG1salpTQnplVzVqYUhKdmJtOXpjeTBxSUhOMVltUnBjbVZqZEc5eWFXVnpJR2hoZG1VZ1lXeHlaV0ZrZVNCaVpXVnVJR05zWldGdVpXUWdkWEFnYVc0Z2RHaGxJSEJoYzNRZ01USWdhRzkxY25NdUlnb2dJQ0FnWlhocGRDQXdDaUFnWm1rS1pta0tDbWxrWlc1MGFYUjVYM05sY25acFkyVmZjRzlrYzE5c2FXNWxQU1FvYTNWaVpXTjBiQ0JuWlhRZ2NHOWtjeUF0YmlCd2NtVnNkV1JsSUMxc0lHRndjRDFwWkdWdWRHbDBlUzF6WlhKMmFXTmxMV0Z3Y0NBdExXOTFkSEIxZEQxcWMyOXVjR0YwYUQxN0xtbDBaVzF6TGk1dFpYUmhaR0YwWVM1dVlXMWxmU2tLQ2tsR1V6MG5JQ2NnY21WaFpDQXRjaUF0WVNCd2IyUnpJRHc4UENBaUpHbGtaVzUwYVhSNVgzTmxjblpwWTJWZmNHOWtjMTlzYVc1bElnb0tabTl5SUhCdlpDQnBiaUFpSkh0d2IyUnpXMEJkZlNJS1pHOEtJQ0FnSUdsa1pXNTBhWFI1WDNCdlpGOXpkR0YwZFhNOUpDaHJkV0psWTNSc0lHZGxkQ0J3YjJSeklDMXVJSEJ5Wld4MVpHVWdJaVJ3YjJRaUlDMHRiM1YwY0hWMFBXcHpiMjV3WVhSb1BYc3VjM1JoZEhWekxuQm9ZWE5sZlNrS0NpQWdJQ0JwWmlCYklDSlNkVzV1YVc1bklpQTlQU0FpSkdsa1pXNTBhWFI1WDNCdlpGOXpkR0YwZFhNaUlGMEtJQ0FnSUhSb1pXNEtJQ0FnSUNBZ0lDQWpJRVJsYkdWMFpTQnpkV0lnWkdseWN5QnBiaUF2ZEcxd0lHOXNaR1Z5SUhSb1lXNGdNaUJvYjNWeWN3b2dJQ0FnSUNBZ0lHeHZaMTlwYm1adklDSkVaV3hsZEdsdVp5QjFiblZ6WldRZ1pHbHljeUJtY205dElDUndiMlFpQ2lBZ0lDQWdJQ0FnYTNWaVpXTjBiQ0JsZUdWaklDMXBkQ0F0YmlCd2NtVnNkV1JsSUNJa2NHOWtJaUF0TFNCbWFXNWtJQzkwYlhBZ0xXNWhiV1VnSjNONWJtTm9jbTl1YjNOektpY2dMVzF0YVc0Z0t6RXlNQ0F0WkdWc1pYUmxJREkrTDJSbGRpOXVkV3hzSUh4OElIUnlkV1VLSUNBZ0lHWnBDbVJ2Ym1VS0NuWnlZV05zYVNCamJIVnpkR1Z5SUdWNFpXTWdMUzBnWW1GemFDQXRZeUFpYld0a2FYSWdMWEFnTDNaaGNpOTJiWGRoY21VdmNISmxiSFZrWlM5cFpHVnVkR2wwZVMxemRtTTdJSFJ2ZFdOb0lDOTJZWEl2ZG0xM1lYSmxMM0J5Wld4MVpHVXZhV1JsYm5ScGRIa3RjM1pqTDJ4aGMzUXRZMnhsWVc1MWNDSUtDZz09JyB8IGJhc2U2NCAtZCA+IC9vcHQvc2NyaXB0cy8yODMzMTYxX2NsZWFudXBfaWRlbnRpdHlfcG9kc191bnVzZWRfZGlycy5zaCAmJiBjaG1vZCAreCAvb3B0L3NjcmlwdHMvMjgzMzE2MV9jbGVhbnVwX2lkZW50aXR5X3BvZHNfdW51c2VkX2RpcnMuc2g7IGVjaG8gJy9vcHQvc2NyaXB0cy8yODMzMTYxX2NsZWFudXBfaWRlbnRpdHlfcG9kc191bnVzZWRfZGlycy5zaCcgPj4gL29wdC9zY3JpcHRzL3N0YXRlX2VuZm9yY2VtZW50LnNoIgoK' | base64 -d > /root/kb-identity-pods-cleanup.sh && chmod +x /root/kb-identity-pods-cleanup.sh && /root/kb-identity-pods-cleanup.sh && rm /root/kb-identity-pods-cleanup.sh

Validate the change:

1. Verify the shell script “/opt/scripts/cleanup_identity_pods_unused_dirs.sh” exists on each appliance in the cluster.

2. Verify the shell script “/opt/scripts/state_enforcement.sh” contains the following in the last line
cat /opt/scripts/state_enforcement.sh

3. Verify that the next 2 state-enforcement pods within kube-system namespace complete successfully by running
kubectl get pods -n kube-system

4. ทำการ access เข้าไปที่ vRealize Automation portal

VMSA-2021-0028 | Workaround in NSX-T Data Center 2.5.0-3.1.3 (87086)

By Lerpong Intaraworrapath | January 31th ,2022

Information regarding CVE-2021-44228 & CVE-2021-45046 in NSX-T Data Center (2.5.0-3.1.3) (87086)

ในบทความนี้ เราจะมาทำ workaround ในการแก้ปัญหา instructions to address CVE-2021-44228 and CVE-2021-45046 in NSX-T Data Center (2.5.0-3.1.3)โดยจะ followup วิธีการ จาก KB87086.

https://kb.vmware.com/s/article/87086

Note: ในส่วนของ Product อื่นของ VMware และ ข้อมูล CVE-2021-44228 and CVE-2021-45046 ให้ อ่านได้จาก VMSA-2021-0028.

Impact / Risks

  • Internal NSX-T processes/JVM’s เป็นการป้องกัน จากการสร้าง connection จากภายนอก ผ่านการ configured iptables ใน NSX-T Unified Appliance.
  • Version ของ Java JDK ใน NSX-T Datacenter version 3.0.2 และสูงกว่า จะป้องกัน remote code execution publicized (ie. LDAP attack vector).

All versions of NSX-T Data Center จะมี log4js. Further exploit of the log message lookup feature may be possible.

Note: NSX-T Edge VM’s และ Bare Metal Edge Nodes จะไม่กระทบจาก issue นี้.

Note: ถ้ามีการ upgraded หรือ deployed ใหม่ก็จำเป็นจะต้อง re-applied workaround อีกครั้ง.

Note: หากมีการ Restored NSX-T managers หรือ NSX-T Cloud Service Managers จาก backup ก็จำเป็นจะต้อง re-applied workaround อีกครั้ง.

Resolution

Workaround ในบทความนี้เป็น Temporary solution เท่านั้น แนะนำ.

NSX-T Data Center 2.5.3.4, 3.0.3.1 and 3.1.3.5 provide resolution for CVE-2021-44228 & CVE-2021-45046.
VMware recommends the following upgrade paths.

  • NSX-T 2.5.x should upgrade to 2.5.3.4
  • NSX-T 3.0.x should upgrade to 3.0.3.1
  • NSX-T 3.1.x should upgrade to 3.1.3.5

NSX-T 2.5.3.4 Release Notes: https://docs.vmware.com/en/VMware-NSX-T-Data-Center/2.5.3/rn/VMware-NSX-T-Data-Center-2534-Release-Notes.html

NSX-T 3.0.3.1 Release Notes:https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.0/rn/VMware-NSX-T-Data-Center-3031-Release-Notes.html

 NSX-T 3.1.3.5 Release Notes: https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.1/rn/VMware-NSX-T-Data-Center-3135-Release-Notes.html

Workaround

ในการ apply workaround สำหรับ CVE-2021-44228 & CVE-2021-45046 ให้ทำการ connect ไปที่ NSX-T Data Center Manager หรือ NSX-T Cloud Service Manager.

Imortant: ในทำการ apply workaround สำหรับ NSX-T Manager Cluster ให้ทำทีละ ตัวและให้ NSX-T Manager ตัวที่ทำ มี status “STABLE” ก่อนจะไปทำตัวถัดไป.

โดย version NSX-T Manager ที่เราทำการ apply workaround จะเป็น
NSX-T Manager 3.1.2.0.0.17883600

Account access
AccountAccess
adminNSX-T UI
adminSSH
rootSSH

1.ให้ทำการ Backup NSX-T manager ผ่าน SFTP.

Reference the following document for guidance, if needed: https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.2/administration/GUID-E6181BF1-2CB7-4870-B508-BFAF5B47D702.html

2.ทำการ download Debian package “unified-appliance-log4j2-patch_3.1.3.6.0.19099859_all.deb” จาก KB87086.

3.ทำการ copy Debian package ไปไว้ NSX-T Manager appliances ทั้ง 3 NSX-T Manager appliances โดยใช้ WinSCP หรือ Linux based SCP หรือ tool ที่สามารถ transfer files ได้.

4.ให้ทำการ check status NSX-T Manager appliances.
โดย Cluster status จะต้อง เป็น “STABLE” และ NSX-T Manager จะต้องเป็น “Available“.

5.Login NSX-T Manager appliance โดย SSH ใช้ user account “admin“.

6.ให้ใช้ command check cluster status เพื่อตรวจสอบ cluster status อีกครั้ง โดย Overall Status จะต้องเป็น “STABLE” และ Status ต้อง “UP” ทั้ง 3 nodes ทุก services.
get cluster status

6.ให้ switch to account “root“.
st en
Enter the root password.

7.Install Debian package ด้วย command ด้านล่าง ใน directory ที่เราเก็บ ไฟล์ไว้
dpkg -i unified-appliance-log4j2-patch_3.1.3.6.0.19099859_all.deb

8.เมื่อกด Enter แล้ว script ก็จะทำการ check ไฟล์ JndiLookup ให้ทำการ รอ จนเสร็จสิ้น script.

9.ทำการ reboot system.
/sbin/reboot

Note: ให้ทำทีละ NSX-T Manager appliances ห้ามทำพร้อมกัน. ให้แน่ใจว่า NSX-T Manager หลังจาก ที่เราทำการ reboot แล้ว status “STABLE” แล้วจึงจะทำตัวถัดไป.

10.ในการ Monitor status NSX-T Manager cluster services เราจะใช้ command หรือ ใช้การ Monitor จาก หน้าจอ NSX-T Manager UI ก็ได้.

Command
get cluster status  

ให้แน่ใจว่าทุก status “UP” ทั้งหมด.

NSX-T UI

เราจะพบว่า ที่หน้า NSX-T Manager appliance status จะเป็น “DEGRADED“.
ให้ Click ที่ “VIEW DETAILS” เพื่อดู services status.

ให้แน่ใจว่าทุก status “UP” ทั้งหมด.

หลังจากนั้นให้ทำการ check status ของ NSX-T Manager appliances ให้ เป็น status “STABLE“.

Verification Steps

1.ให้ทำการ verify workaround ที่ apply ไปถูกต้องหรือไม่ โดยให้ login ด้วย account “root“.

2.ทำการ verify configuration โดย updated ด้วย “formatMsgNoLookup=true” flag โดยใช้ command ด้านล่าง.
grep "wrapper.java.additional.100=" /usr/tanuki/conf/*-wrapper.conf

3.ทำการ verify ไฟล์ “JndiLookup class” จะต้อง removed ออกจาก Jar files บน appliances โดยใช้ command ด้านล่าง.
find /usr /opt -xdev -iname "*.jar" | while read l; do  unzip -l $l|grep "JndiLookup.class"; if [[ ${PIPESTATUS[1]} -eq 0 ]]; then echo $l; fi; done

โดยผลลัพธ์ จะไม่แสดงผลอะไร ออกมา (None) แบบด้านล่าง.

Repeat step

ให้ ทำการ repeat step จากหัวข้อ Workaround เริ่มจากข้อ 4 ไปจนถึง Verification Step ในข้อ 3 จนครบทุกตัว (ให้ทำทีละตัว).

Revert the workaround

CVE-2021-44228 & CVE-2021-45046 to VMware NSX-T Data Center perform the following steps on each NSX-T Manager or NSX-T Cloud Service Manager.

โดยให้ restore จาก NSX-T Manager backup ที่เราทำการ backup ก่อนจะ apply the workaround.

Reference the following document for guidance, if needed: https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.2/administration/GUID-9749F041-15E5-4662-85E7-756D4B071C17.html

Conclusion

ในบทความนี้จะเป็น workaround instructions to address CVE-2021-44228 and CVE-2021-45046 in NSX-T Data Center (2.5.0-3.1.3)โดยจะ followup วิธีการ จาก KB87086 เท่านั้น โดย fix version สามารถเข้าไป download และ apply ตาม version ที่ท่านใช้งานอยู่ โดย ให้ทุกท่านติดตาม VMSA-2021-0028 ในการทำ workaround หรือ fix version รวมถึง Product อื่นๆ ของ VMware ที่ได้รับผลกระทบ เช่นกัน.

VMSA-2021-0028 | Workaround in vCenter Server virtual appliance (87081, 87088)

By Lerpong Intaraworrapath | January 6th, 2022

Workaround instructions to address CVE-2021-44228 and CVE-2021-45046 in vCenter Server and vCenter Cloud Gateway (87081)

ในบทความนี้ เราจะมาทำ workaround ในการแก้ปัญหา instructions to address CVE-2021-44228 and CVE-2021-45046 in vCenter Server virtual appliance 7.x, 6.7.x, 6.5.x โดยจะ followup วิธีการ จาก KB87081 และ KB87088

https://kb.vmware.com/s/article/87081?lang=en_US
https://kb.vmware.com/s/article/87088

Note: ในส่วนของ Product อื่นของ VMware และ ข้อมูล CVE-2021-44228 and CVE-2021-45046 ให้ อ่านได้จาก VMSA-2021-0028

Impact / Risks

  • ให้ทำการ remove VCHA ก่อนทำการ run script.
  • environment ที่มี external PSCs จะต้องทำการ run script ทั้ง vCenter และ PSC appliances.
  • Restore จาก File-Based Backup จะทำให้ environment กลับสู่ vulnerable. ให้ใช้ vc_log4j_mitigator.py หลังจาก restore.
  • อัปเกรด vCenter Appliance จะทำให้ environment กลายเป็น vulnerable. ให้ใช้ vc_log4j_mitigator.py หลังจาก อัปเกรด vCenter Appliance.

Resolution

Workaround ในบทความนี้เป็น Temporary solution เท่านั้น.

Completed remediation scenarios:

จะมี 3 วิธีในการทำ workaround สำหรับ vCenter server virtual appliance. ให้เลือกทำ วิธีใดวิธีหนึ่งเท่านั้น

  1. Used vc_log4j_mitigator.py from KB87081.
  2. Used vmsa-2021-0028-kb87081.py script from KB 87088 and remove_log4j_class.py from this KB87081.
  3. Used the manual workaround steps in KB87081 and remove_log4j_class.py.

Note: ในบทความนี้ จะใช้ วิธีที่ 2Used 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)

  1. ทำการ take snapshot “vCenter server virtual appliance”.
  2. ทำการ check disk space available by command “df-h” (capture screen ไว้ด้วย).
  3. ทำการ check vCenter server service by command “service-control –status –all” (capture screen ไว้ด้วย).
  4. Download the script attached this KB 87088 (vmsa-2021-0028-kb87081.py )

5. Login to the vCSA using an SSH Client (using Putty.exe or any similar SSH Client)

6. Login to the vCSA using an SSH Client (using Putty.exe or any similar SSH Client)

7. Transfer the file to /tmp folder on vCenter Server Appliance using WinSCP
Note: It’s necessary to enable the bash shell before WinSCP will work

8. Provide the root user name and password when prompted.

9. Run this command to enable the Bash shell:
shell.set --enable True

10. Run this command to access the Bash shell:
shell

11. In the Bash shell, run this command to change the default shell to Bash:
chsh -s /bin/bash root

12. ทำการ copy ไฟล์ vmsa-2021-0028-kb87081.py และ remove_log4j_class.py โดยใช้ WinSCP ไปเก็บไว้ที่ /tmp

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
[email protected][/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.
[email protected][/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 นั้นถูกต้อง

  1. 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 ที่ได้รับผลกระทบ เช่นกัน.

VMSA-2021-0020 | Upgrade vCenter Server

By Lerpong Intaraworrapath | October 11th, 2021

Upgrade vCenter Server for VMSA-2021-0020

วิธีการจัดการ Security ในหัวข้อ VMSA-2021-0021 ที่ VMware แนะนำ คือ การ upgrade vCenter Server ตาม version ที่ระบุ (รวมถึง vCenter Server ในระบบ VMware Cloud Foundation: VCF)

Note: กรณี VCF ให้ follow step ใน KB85718

Note: vCenter Server ที่ connectedในแบบ ELM (Enhanced Linked Mode) ก็ต้องทำทุกตัวด้วยนะครับ

vCenter Server version ที่ระบุใน VMSA-2021-0020

ในการ upgrade vCenter Server จะมีหลายวิธี ในบทความนี้ เราจะทำการ upgrade ด้วยวิธีแบบง่ายๆ ด้วยการ download ISO image แล้วก็ mount แผ่นให้ connect กับ vCenter Server

ขั้นตอนการ Upgrade vCenter Server

เราจะทำการ Upgrade vCenter Server version 6.7 U3n – 18010599

  1. ทำการ download ISO image ของ vCenter Server ที่เราต้องการ upgrade มาเตรียมไว้ จาก link https://my.vmware.com/group/vmware/patch

2. เมื่อทำการ download ISO images เรียบร้อย แล้วให้ทำการ uploade เข้าไปใน storage Lun เผื่อทำการ connect กับ vCenter Server ในขั้นถัดไป

3. ลำดับต่อมาทำการ Snapshot vCenter Server (กรณีการอัปเกรดผิดพลาด เราจะสามารถ revert snapshot ได้) เป็นขั้นตอนสำคัญที่ต้องทำ โดยการ Right-click ที่ vCenter Server แล้ว เลือก Snapshot ไม่ต้อง check box ให้ใส่ชื่อ Snapshot แล้ว Click “OK

4. ทำการตรวจสอบดูว่า Snapshot เราทำไว้ ได้ Snapshot ไว้เรียบร้อยไหม ไปที่ vCenter Server แล้วเลือก Snapshot -> Manage Snapshot

5. ต่อมาเราจะทำการ mount ISO ไฟล์ patch 6.7 U3o ที่เราทำการ upload เข้าไปไว้ใน storage LUN ขั้นตอนที่ 2

6. Right-click vCenter Server แล้วเลือก Edit Setting ทำการเลือก CD/DVD drive 1 -> dropdown “Client Device” ให้เลือก “Datastore ISO file

7. ทำการ Browse ไปยัง ISO image ที่เราทำการ เก็บไฟล์ ไว้ แล้วทำการตรวจสอบ ชื่อ ISO image ไฟล์ให้ ถูกต้อง “VMware-vCenter-Server-Appliance-6.7.0.50000-18485166-patch-FP.iso“หลังจากนั้นให้ Click “OK

8.ทำการ Check box connected แล้ว Click “OK

9. ทำการ Log in ไปที่ vCenter Server VAMI page ด้วย vCenter Server Name ตามด้วย Port 5480 ด้วย account “root“.

https://vCenter Server Name:5480

10. เมื่อ Log in เข้ามาได้แล้ว เราจะ เห็น Health Status (จะต้อง show “Good“) และ vCenter Server version ปัจจุบัน.

11. เมื่อ Health Staus ทุกอย่าง Good เราก็ สามารถ ทำการ upgrade vCenter Server ได้ โดย Click ไป “Update” เราก็จะ เห็น Status vCenter Server ทำการ Check Update

Note: บางครั้งเราสามารถ ใช้ command ในการ update vCenter Server ได้

12. Version ของพี่ vCenter Server ที่เราต้องการจะ Update ก็จะปรากฏขึ้น

13. ทำการ เลือก “STAGE AND INSTALL“.

14. Click Check box แล้วก็ Click “NEXT

15. จะแสดงการ “Running pre-update checks

16. ทำการ ตรวจสอบว่าเรามีทำการ Back-up vCenter Server หรือไม่ (ถ้าเรามีการ Back-up vCenter Server ไว้ก่อนแล้วให้ทำ การ check-box) Click “FINISH

17. ขั้นตอน ต่อไปจะเป็นการ Install vCenter Server

18. โดยประมาณ 87% vCenter Server จะกลับมาที่หน้า Log in อีกครั้งให้เราใส่ user “root”

19. Installation Completed 100%

20. หลังจากเรา update เสร็จเรียบร้อย ก็จะพบว่า vCenter Server แสดง version ใหม่ที่เราทำการ update เสร็จเรียบร้อยแล้ว ให้ สังเกต Health Status จะต้อง แสดง status “Good” ทั้งหมด “vCenter Server 6.7.0.50000 – 18485166

21. และเมื่อเรา SSH เข้าไปที่ vCenter Server ไฟล์ ph-web.xl ในส่วนที่ comments ไว้ก็จะหายไป

22. เมื่อเราทำการ curl command ผลลัพธ์ ที่ได้ HTTP/1.1 400

Note: หลังจากทำการ update vCenter Server เสร็จเรียบร้อย ถ้าไม่มีอะไร ผิดพลาด อย่าลืม!!! ลบ Snapshot นะครับ!!!

Reference:

Credit: ขอบคุณน้องนัท (Napongtorn) สำหรับช่วยในการ update vCenter Server

VMSA-2021-0020

By Lerpong Intaraworrapath | September 24th ,2021

Critical severity

VMware ออกอัปเดต VMware Security Advisory แจ้งเตือนช่องโหว่ ร้ายแรง ระดับ Critical บน vCenter Server 6.5, 6.7, 7.0 (รวมถึงระบบ vCenter บนระบบ VCF 3.x, 4.X)

Impacted Products
  • VMware vCenter Server (vCenter Server)
  • VMware Cloud Foundation (Cloud Foundation)

ซึ่งเป็น Security ที่มีหลากหลาย CVE (Common Vulnerabilities and Exposures) ปรากฏ อยู่ ถึง 19 CVEs

  • CVE-2021-21991 Local privilege escalation vulnerability
  • CVE-2021-21992 XLM parsing Denial of Service vulnerability
  • CVE-2021-21993 SSRF vulnerability
  • CVE-2021-22005 File upload vulnerability Critical (score 9.8)
  • CVE-2021-22006 Reverse proxy bypass vulnerability
  • CVE-2021-22007 Local information disclosure vulnerability
  • CVE-2021-22008 Information disclosure vulnerability
  • CVE-2021-22009 VAPI multiple denial of service vulnerabilities
  • CVE-2021-22010 VPXD denial of service vulnerability
  • CVE-2021-22011 Unauthenticated API endpoint vulnerability
  • CVE-2021-22012 Unauthenticated API information disclosure vulnerability
  • CVE-2021-22013 File path traversal vulnerability
  • CVE-2021-22014 Authenticated code execution vulnerability
  • CVE-2021-22015 Improper permission local privilege escalation vulnerabilities
  • CVE-2021-22016 Reflected XSS vulnerability
  • CVE-2021-22017 rhttpproxy Bypass vulnerability
  • CVE-2021-22018 File deletion vulnerability
  • CVE-2021-22019 Denial of Service vulnerability
  • CVE-2021-22020 Analytics service denial of service vulnerability

โดย CVE-2021-2205 (9.8) เป็น CVE ที่เป็น Critical severity (vCenter server 6.7, 7.0)โดย เป็นช่องโหว่ร้ายแรง ใน Analytics service.

ในการเข้าถึง ช่องโหว่ นี้ Attacker จะเข้าผ่าน port 443 ของ vCenter server แล้วทำการ upload ไฟล์ที่สร้างขึ้นพิเศษ แล้วทำการ รัน โค้ดบน vCenter server.

!!!แนะนำให้ อ่าน VMSA-2021-0020 และ FAQ ให้เข้าใจก่อนนะครับ!!!

สิ่งที่สำคัญคือ การ Hardening ระบบเพื่อให้มี Security เพิ่มมากขึ้น ซึ่งจะ ช่วยป้องกันภัยคุกคามจาก Attacker หรือผู้ไม่หวังดี เข้ามาในระบบ ด้วยนะครับ

About the fix

สำหรับ vCenter server ทำการ upgrade version ตามข้อมูลด้านล่าง

สำหรับ VCF

About workarounds

ถ้าไม่สามารถทำการ upgrade vCenter server ให้ follow VMware KB ด้านล่าง

  • For vCenter Server 7.0, KB85717 *There are no workarounds for some CVEs.
  • For vCenter Server 6.7, KB85717 *There are no workarounds for some CVEs.
  • For vCenter Server 6.5, There are no workarounds.

Addional inforamation