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
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 นั้นถูกต้อง

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

SHD – Skyline Health Diagnostics

By Lerpong Intaraworrapath | November 17th ,2021

SHD – Skyline Health Diagnostics

เมื่อมีเหตุการณ์ ที่ vSphere ESXi host down การทำงาน ของ vSAN หรือ VCF มีปัญหา และเราต้องการ investigate logs system จาก vSphere ESXi host หรือ ต้องการทราบ ว่า vSphere ESXi host มี error หรือ issues อะไร บ้าง เราจะทำได้อย่างไร

Skyline Health Diagnostics จะช่วยเราในการวิเคราะห์ และแสดงผล จาก bundle logs ที่เรา อัปโหลด เข้าไปใน SHD

โดย report จะรายงานค่า error และ issues ที่เกิดขึ้นกับ vSphere ESXi host ในระบบของเรา รวมถึง vSAN VCG (VMware Compatibility Guide) ที่ช่วยเราตรวจสอบ compatibility guide, Network driver, Firmware ต่างๆ

SHD (Skyline Health Diagnostics) Overview

Existing issue resolution workflow

อันนี้จะเป็น workflow โดยทั่วไป เวลาเกิดปัญหา

  1. เมื่อพบปัญหา การทำงานของระบบ
  2. ส่วนใหญ่ ก็จะทำการค้นหาจาก Google
  3. เมื่อค้นจาก Google เราก็จะพบบทความที่หลากหลาย ที่เกี่ยวข้องกัน
  4. ใช้เวลา ในการค้นหาจนกว่าจะเจอบทความที่ใช่
  5. ถ้าปัญหา ยังไม่ถูกแก้ไข ก็จะ ติดต่อ GS (Global Support) ทำการเปิด เคส
  6. ทำงานร่วมกับ GS เพื่อแก้ปัญหา

เราจะ เห็นว่าจะ สามารถ แบ่งเป็น 3 step หลักๆ คือ

  • พบปัญหา
  • เวลาในการแก้ปัญหา
  • วิธีการแก้ปัญหา

SHD (Skyline Health Diagnostics) จะช่วยลดเวลาในการ troubleshoot ปัญหา และลดเวลาที่เราใช้ในแก้ปัญหา

VMware SHD for vSphere

Issue resolution workflow with SHD

อันนี้จะเป็น SHD workflow เวลาเกิดปัญหา จะเป็นอย่างไร

  1. เมื่อพบปัญหา การทำงานของระบบ
  2. ทำการ Run SHD จาก log bundle ที่เกี่ยวข้อง
  3. จะได้ KB ที่เกี่ยวข้องกับปัญหา ที่เกิดขึ้น และ action plan
  4. ถ้าไม่พบคำแนะนำ จากปัญหาที่เกิดขึ้นให้ติดต่อ GS (Global Support) ทำการเปิด เคส
  5. จะเร็วขึ้นในการแก้ปัญหา จาก SHD log output

ขั้นตอนการ Deploy SHD (Skyline Health Diagnostics)

  1. ทำการ download SHD (Skyline Health Diagnostics) OVA file จาก link ด้านล่าง

https://customerconnect.vmware.com/downloads/get-download?downloadGroup=SKYLINE_HD_VSPHERE

2. ทำการ เลือก OVA ไฟล์ ขนาดไฟล์ 954.96 MB (version 2.5.2), click “DOWNLOAD NOW“.

3. เมื่อทำการ download เสร็จเรียบร้อยแล้ว เราก็จะได้ไฟล์ OVA มา 1 ไฟล์

4. ทำการ connect vCenter Server เพื่อจะทำการ deploy SHD OVA ไฟล์.

5. ทำการเลือก location ที่เรา save OVA ไฟล์.

6. ทำการเลือก location และใส่ชื่อ virtual machine name (ในที่นี้ใช้ชื่อ VM-Shd), click “NEXT“.

7. ทำการเลือก Compute resource, click “NEXT“.

8. Review details, click “NEXT“.

9. Accept License agreement, click “NEXT

10. ทำการเลือก Storage, click “NEXT“.

11. ทำการเลือก Network, click “NEXT“.

12.ใส่ Password สำหรับ root account และ shd-admin account

13.ใส่ค่าต่างๆ ให้ครบ หลังจากนั้นให้ click “NEXT“.

14. Read to complete, click “FINISH“.

15.เมื่อเราทำ deploy เสร็จเรียบร้อยแล้วให้ เรา Power-on SHD VM (VM-Shd)

16.ทำรอสักพัก หลังจากนั้นให้ทำการ “Launch Web Console” เราจะ พบว่า VM-Shd จะทำการ start process เพื่อทำการ boot SHD

17. ต่อมาให้ เรา access SHD โดย เปิด browser ให้ใส่ IP address ของ SHD, login ด้วย user “shd-admin“.

18. Click NEXT for “End user license agreement” และ “Customer Experience Improvement“, click “FINISH“.

19. เราก็จะเข้ามาเจอหน้าแรกของ SHD (Skyline Diagnostics).

จากด้านซ้ายมือ เราจะเห็น menu ในการ connect system เพื่อจะทำการ download และ analyze log bundle

  1. Connect ผ่าน vSphere (vCenter Server)
  2. Connect ผ่าน vSAN-HealthCheck (vCenter Server)
  3. Connect ผ่าน VMware Cloud Foundation (SDDC)

หรือเรา สามารถ upload bundle logs มาทำการ analyze ผ่านทาง SHD (Skyline Diagnostics)

20. เราจะทำการ Analyze log bundle จาก vSphere. โดยเลือก vSphere จากด้าน เมนู ด้านซ้ายมือ หลังจากนั้นให้ เรา ใส่ รายละเอียด

  • vCenter server (FQDN or IP)
  • Username access vCenter Server
  • Password access vCenter Server

Click, “CHECK CONNECTION“.

21. ทำการ Click “RUN DIAGNOSTICS“.

22. ทำการเลือก vSphere ESXi host ที่เราต้องการจะ Analyze logs (เราสามารถเลือกได้มากกว่า 1 host), click “VALIDATE“.

23. ใส่ชื่อ Report, click “FINISH“.

24. SHD ก็จะทำ การ download Log Bundle แล้วก็ Process ตาม workflow จนกระทั่ง Finalize Workflow จนได้เป็น Report ออกมา

24. โดย Report เราสามารถ Click ดูจาก ปุ่ม “SHOW REPORT” หรือ เราจะเลือกไปที่ Show Reports tab แล้วเลือก download หรือ ให้แสดง Report ก็ได้

25. ตัวอย่าง SHD report

Conclusion

SHD (Skyline Health Diagnostics) จะเป็น Tool อีกหนึ่งตัวที่จะช่วยให้เราทำวิเคราะห์ Logs ได้ด้วยตัวเอง พร้อมทั้งมี Report ที่แสดง Log Analysis รวมถึง มี การ ตรวจสอบ vSAN VCG (VMware Compatibility Guide) ที่ช่วยเราตรวจสอบ compatibility guide, Network driver, Firmware ต่างๆใน vSphere environment ที่เราใช้งานให้ด้วย

Reference

Credit: ขอขอบคุณน้อง Nat (Napongtorn) สำหรับขั้นตอนการ run SHD

VMCO – Virtual Machine Compute Optimizer

By Lerpong Intaraworrapath | November 1st ,2021

Virtual Machine Compute Optimizer

เราจะรู้ได้อย่างไรว่า vCPU ที่เรา assign ให้กับ Virtual machine นั้น ตัว Virtual machine จะสามารถใช้งาน CPU ได้เต็มประสิทธิภาพ และได้ประสิทธิภาพที่ดีที่สุด Optimized Performance.

ยกตัวอย่าง ในการ assign vCPU ให้กับ Virtual machine เราต้องการ 4vCPUs เราสามารถ assign ได้หลายรูปแบบ เช่น

VMSocketsVMCoresPerSocketvCPUs
144
414
224

จะเห็นว่าทั้ง 3 แบบเราจะได้ 4 vCPUs เหมือนกัน !!!แต่ แบบไหนจะให้ ประสิทธิภาพ และใช้งาน vCPU จาก Physical CPU ได้เต็มประสิทธิภาพมากที่สุด

จะมี Tool หนึ่งตัวมาแนะนำ ใช้สำหรับตรวจสอบดูว่า vCPU ที่เรา assign ให้กับ Virtual machine ใน environment ของเรามีการ assign vCPU ได้ถูกต้อง และใช้งาน ได้เต็มประสิทธิภาพไหม.

VMCO – Virtual Machine Compute Optimizer

The Virtual Machine Computer Optimizer (VMCO) เป็น Powershell script และ PowerCLI module ซึ่งจะ capture ดาต้าเกี่ยวกับ vSphere ESXi host และ VMs ที่ใช้งานใน environment ซึ่งจะทำการ ส่ง report รายงานการ configured virtual machine based on การใช้งาน Host CPU และ Memory.

โดยค่าที่แสดงผลจะมี “TRUE” กับ “FALSE

  • TRUE จะ Optimized
  • FALSE จะไม่ Optimized

How to install

  1. เริ่มขั้นตอนแรกให้ ไปทำ การ download file VMCO จาก link ด้านล่าง

https://flings.vmware.com/virtual-machine-compute-optimizer

จากนั้นเราก็จะได้ไฟล์ “VirtualMachineComputeOptimizer-master-3.0.0.0.zip

2. ให้เราทำการ unzip ไฟล์ออกมา ภายใน Folder จะทั้งหมด 4 ไฟล์

3. วิธีการ ใช้งาน และ การดู report จะอยู่ในไฟล์ “Documentation – Virtual Machine Compute Optimizer.pdf” (แนะนำให้อ่าน เพื่อทำความเข้าใจเพิ่มเติม)

4. ให้เราทำการ Right-click ไฟล์ “Virtual_Machine_Compute_Optimizer_v3.0.0.ps1” แล้วทำการ เลือก “Run with PowerShell“.

5. หน้าต่าง PowerShell ก็จะปรากฏขึ้นมา โดยก็จะมีคำถาม trust script policy ของ script ที่เรา run ก็ให้เราตอบ Y หรือ A แล้วกด “Enter

6. ต่อมาก็จะเป็นแสดง path ที่เราจะทำการเก็บไฟล์ CSV location จะให้เก็บไว้ที่ไหน ถ้าไม่เป็นแปลง ก็จะเป็น path default ที่เรา run ไฟล์ PowerShell ถ้าเราไม่ต้องการเปลี่ยน ก็ให้กด “Enter

7. ตัว VMCO ก็อาจจะ require ให้เรา install module เพิ่ม

8. เมื่อทำการ Install module จนเสร็จเรียบร้อย ตัว VMCO จะให้เราใส่ vCenter server name (เราสามารถ ใส่ได้มากกว่า 1 vCenter server โดยใช้ comma หลัง vCenter server แต่ละตัว).

9. ในตัวอย่างนี้ผมจะใส่ 2 vCenter servers แล้วให้ “Enter

10. จะมีหน้าต่างให้เราใส่ credential ของ vCenter server แล้ว click “OK“.

11. VMCO ก็จะทำการ Retrieving data ของ virtual machine และ vSphere ESXi host

12. เมื่อทำการ เก็บข้อมูลเสร็จเรียบร้อย ก็จะมีข้อความ Analysis complete ตัว report ก็จะไปเก็บไว้ใน path ที่เราเลือกในข้อ 6. ให้ “Enter“.

13. ให้เราทำการ browse ไปยัง Folder ที่เก็บไฟล์ เราจะเจอไฟล์ “VMCO_Reports.csv”

14. เมื่อเราเปิดไฟล์ขึ้นมาก็จะมีรายละเอียดของ vCenter server ต่างเช่น vCenter server name, Cluster name, Hostname, etc.

15. แต่สิ่งที่เราสนใจจะเป็น Column “V” คือ “VMOptimized

16. โดยค่าใน “VMOptimized” จะมีคือ TRUE และ FALSE

  • TRUE จะค่าที่บอกว่า Virtual machine ที่เราใช้งานอยู่มีการ configured vCPU ที่ Optimized แล้ว
  • FALSE จะค่าที่บอกว่า Virtual machine ที่เราใช้งานอยู่มีการ configured vCPU ที่ยังไม่ Optimized แนะนำให้ทำการ re-configure

ยกตัวอย่าง จากรูปด้านล่าง

จากบรรทัดที่สอง ค่า vCPU ที่เราต้องการสำหรับ virtual machine คือ 2 vCPU และค่า “VMOptimized” คือ FALSE

  • Column U จะเป็นค่า vCPU ที่เราต้องการ
  • Column S, T คือค่า vCPU ที่เรา configured ไว้่
  • Column V คือค่า VMOptimized (TRUE, FALSE) ในที่นี้แสดงค่า FALSE
  • Column W, X คือค่า vCPU ที่เราจะต้อง re-configure ใหม่ให้ค่า Optimized
  • Column Y จะเป็นค่า Priority (LOW, MEDIUM, HIGH) สำหรับดูลำดับความสำคุญในการจะ re-configure virtual machine
  • Colum Z จะบอก detail ว่าทำไม vCPU ถึงไม่ Optimized Performance สาเหตุเพราะอะไร

Conclusion

VMCO จะเป็น Tool อีกหนึ่งตัวที่จะช่วยให้เราทำทราบว่า มี virtual machine ตัวไหน ใน vSphere environment ที่เราใช้งาน ที่ Optimized performance บ้าง ตัวไหนที่เราต้องทำการ ปรับ แก้ไข ให้ มี Performance ที่ดีขึ้นเพื่อให้ vCPU จากการใช้งาน Physical CPU จาก Physical server ได้เต็มประสิทธิภาพ ได้ดีที่สุด.

Reference:

Credit: ขอขอบคุณน้อง Nat (Napongtorn) สำหรับขั้นตอนการ run VMCO

vSAN disk group Performance dashboard in vROPs

By Lerpong Intaraworrapath | October 19th ,2021

Disk group performance dashboard

เราจะมีวิธีการอย่างไร ในการ monitor performance ของ vSAN disk groups. โดยเราสามารถ เลือกในแต่ละ Cluster แล้วทำการ monitor performance vSAN disk group รวมถึง health capacity.

Note: vRealize Operations Manager ที่นำมาใช้งานในบทความนี้เป็น version 8.4.0 (17863947) Advanced Edition

โดย Widgets ที่เราจะนำมาใช้ ในการสร้าง vROPs dashboard จะใช้ด้วยกันอยู่ 4 widget:

  • Object list
  • Heat map
  • Scoreboard
  • Object relationship

โดยเมื่อเราทำการเลือก Cluster จาก Object list จำนวน vSAN disk group ทั้งหมดจากใน Cluster ที่เราเลือกจะไปแสดงผลที่ Heat map. ที่ Heat map จะแสดงผลเป็น Blocks size ตามชนาดความจุของ แต่ละ disk group และ Color ก็จะแสดงผลจากค่า Average write latency in milliseconds.
เมื่อเราทำการ เลือก Disk group จาก Heat map แล้ว ค่า Performance metrics ทั้งหมด ก็จะแสดงผลใน Scroeboard รวมถึง Capacity Disk Health ก็จะแสดงผลค่า Object relationship ด้วย.

ขั้นตอนการสร้าง vSAN disk group dashboard

ทำการสร้าง Dashboard (Version ของ vROPs ที่สามารถสร้าง dashboard ได้จะต้องเป็น Advanced หรือ Enterprise edtion )
  1. ทำการ Create vROPs dashboard โดย Select “Dashboards” -> “Dashboards

2. ทำการ Select “Create Dashboards

3. เมื่อเราทำการ Create Dashboard แล้ว ก็ใส่ ชื่อ Dashboards (ในบทความนี้จะตั้งชื่อ “vSAN Disk Group Performance by TAM“)

4. ให้ทำการ เพิ่ม Widgets โดย Click ลาก Widget เข้ามาใน พื้นที่ว่าง.

  • Object list
  • Heat map
  • Scoreboard
  • Object relationship

5. ทำการแก้ไข widgets อันแรกคือ “Object list” โดย Click ที่รูปดินสอ “Edit Widget

6. ทำการ set ค่า Object list โดยเราจะเลือก input ที่จะแสดงค่า เป็น Cluster ทั้งหมด ให้ใส่ Object list name “1.) Select Cluster “, Select “Input Data“, Select “Object” -> Click “Add“.

7. จากนั้นให้เราทำการ Add New Object โดยในช่อง Filter ให้ใส่คำว่า “Cluster” แล้ว “Enter” ให้ Click “OK

8. เราก็จะได้ Cluster ทั้งหมด ทำการ Click “SAVE

9. Click แสดง columns ด้านล่างของ “Object list” widgets

10. โดยเราจะ Uncheck ทุกอย่างยกเว้น “Name

11. ต่อมาเราจะทำการ configure “Heat map“. ทำการ click “Edit widget” ที่รูปดินสอ ตรงมุมขวาบน

12. ใส่ชื่อของ Heat map “2.) Select Disk Group” สิ่งที่เราต้องการจะแสดง ใน Heat map คือ Disk group ทั้งหมดใน Cluster ที่เราเลือก

  • Name: 2.) Select Disk Group
  • Group by: Cluster Compute Resource
  • Object Type: vSAN Disk Group
  • Size by: Disk Space|Capacity (bytes)
  • Color by: Disk I/O|Write Latency (ms)
  • Color: Min Value 0 | Max Value 150

13. ต่อมาทำการ configure widget “Scoreboard“. ทำการ click “Edit widget” ที่รูปดินสอ ตรงมุมขวาบน

14. ใส่ชื่อของ Scoredboard name “3.) Profit!“. ทำการ Configure Scoredboard ตามรูปด้านล่าง

  • Box Columns: 3
  • Show: Object Name, Metric Name, Metric Unit, Sparkline
  • Period Length: Last 24 hours

15. Output Data ให้เลือก “DiskGroup-Performance” แล้ว Click “SAVE

16. Metrics ที่เรานำมาใช้ในการ configuration จะเป็น XML format ซึ่งเราสามารถทำการแก้ไข ได้ โดย location จะอยู่ที่ Administrator -> Configuration File -> DiskGroup-Performance.

17. Widget สุดท้าย “Object Relationship“. ทำการ click “Edit widget” ที่รูปดินสอ ตรงมุมขวาบน

18. ใส่ชื่อ widget “4.) Capacity Disk Health“. ทำการเลือก Adapter types -> “vSAN adapter” ให้ Click “SAVE

19. หลังจากเราทำการ configured widgets เสร็จเรียบร้อยแล้ว ขั้นตอนที่สำคัญคือทำการ connect widget ให้ Interaction ด้วยกัน

Click “ACTIONS” -> “Edit Dashboard

ทำการ ลากเส้น Interaction ระหว่าง Widget

  • 1.) Select Clsuter –> 2.) Select Disk Group
  • 2.) Select Disk Group –> 3.) Profit!
  • 2.) Select Disk Group –> 4.) Capacity Disk Health

20. Click “SAVE

21. การทำงานของ Dashbaord

เมื่อเราทำการ Select Cluster ในช่อง 1.) Select Cluster ก็จะแสดง disk group ในช่อง 2. ) Select Disk Group และเมื่อเราทำการ click เลือก disk group ก็จะแสดงค่า Write / Read / IOP ต่างๆใน 3.) Profit! รวมถึง แสดงค่า Capacity Disk Healt ใน 4.) Capacity Disk Health

!!!หวังว่าคงเป็นประโยชน์ ในการ Monitor vSAN Disk group นะครับ!!!

Reference:

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 | Workarounds by KB85717

By Lerpong Intaraworrapath | October 4th, 2021

Security
Security

Workaround for VMSA-2021-0020

จากการที่ VMware ได้ประกาศ เกี่ยวกับ Security Advisory Critical issues สำหรับ vCenter Server VMSA-0021-0020

สำหรับลูกค้าท่านใด ที่ยังไม่สามารถทำการ upgrade vCenter server ตาม version ที่ระบุใน VMSA-0021-0021 เราแนะนำให้ ทำตาม KB85717 ก่อนเพื่อป้องกัน Critical issues (CVE-2021-22005) เท่านั้น ซึ่ง ในส่วน CVE อื่นต้องทำการ upgrade ไม่มี workarounds

Note: KB85717 จะเป็นแค่ workarounds แนะนำให้ทำการ upgrade vCenter Sever จะเป็นการป้องกันที่ดีสุด

(ขั้นตอนต่อไปนี้จะเป็นการทำ Workarounds บน vCenter Server version 7.0.1.00301)

ขั้นตอนการทำ Workarounds สำหรับ KB85717

  1. ทำการ SSH ไปที่ vCenter Server ที่เราต้องการ ด้วย account “root”
  2. ทดสอบ ทำการ Curl command ก่อนทำ workarounds

curl -X POST “http://localhost:15080/analytics/telemetry/ph/api/hyper/send?_c&_i=test” -d “Test_Workaround” -H “Content-Type: application/json” -v 2>&1 | grep HTTP

ก็จะได้ผลลัพธ์

< HTTP/1.1 201

Curl before execute
Curl before execute

3. ทำการ Backup ไฟล์ ph-web.xml จาก path vmware-analytics

 cp /etc/vmware-analytics/ph-web.xml /etc/vmware-analytics/ph-web.xml.backup

4. ทำการแก้ไขไฟล์ ph-web.xml จาก text editor

vi /etc/vmware-analytics/ph-web.xml

5. โดยเราจะใส่ tags comments “<!–” และ “–>” ใน ไฟล์ ph-web.xml

  • For 6.7 U1b (Build 11726888) and earlier, there is 1 endpoint, phTelemetryServlet” that needs to be commented
  • For 6.7U2 (Build 13010631) and later, and all versions of 7.0, there are 3 impacted endpoints, the “phTelemetryServlet“, “phPhApiServlet” and “phPhStgApiServlet” endpoints.

Note: ในบทความนี้ จะเป็น vvCenter Server version 7.0.1.00301 จะใส่ครอบคลุม ค่า 3 endpoints

6. รูปแบบ content ในไฟล์ ph-web.xml

ph-web.xml
ph-web.xml

7. ทำการกด “I” เผื่อเข้าสู่จะ Insert mode.

8. ทำการค้นหาคำว่า <list> ตามรูปในข้อ 6.

9. กด Enter

10. ทำการพิมพ์ “<!–” ใต้คำว่า <list>

11. ทำการค้นหาคำว่า </bean> ใต้บรรทัด “<property name=”servlet” ref=”phPhStgApiServlet”/>

12. กด Enter แล้ว พิมพ์ “–>” จะได้ผลลัพธ์ ตามรูปด้านล่าง

Enter tags
Enter tags

13. กด ESC เพื่อออกจาก Insert mode

14. ทำการ Save และ Exit โดยพิมพ์ “:wq” แล้วกด Enter

15. ทำการ restart “vmware-analytics” service โดยพิมพ์

service-control –restart vmware-analytics

16. ทำการตรวจสอบ ว่า workarounds ที่เราทำการ apply ไปมีผลหรือไม่ ทำการตรวจสอบ โดยใช้คำสั่งด้านล่าง

curl -X POST “http://localhost:15080/analytics/telemetry/ph/api/hyper/send?_c&_i=test” -d “Test_Workaround” -H “Content-Type: application/json” -v 2>&1 | grep HTTP

โดยจะได้ผลลัพธ์

HTTP Status 404 – Not Found

Curl after executed
Curl after executed

***Note: กรณีที่มี vCenter Server หลายตัว เชื่อมต่อกันแบบ Enhanced Linked Mode จะต้องทำทุก vCenter Server ทั้งหมด

สรุป คำสั่งที่ต้องใช้สำหรับ Workaround KB85717

  • cp /etc/vmware-analytics/ph-web.xml /etc/vmware-analytics/ph-web.xml.backup
  • vi /etc/vmware-analytics/ph-web.xml
  • service-control –restart vmware-analytics
  • curl -X POST “http://localhost:15080/analytics/telemetry/ph/api/hyper/send?_c&_i=test” -d “Test_Workaround” -H “Content-Type: application/json” -v 2>&1 | grep HTTP

!!!บทความนี้จะเป็น Workarounds เท่านั้น แนะนำให้ทำ การ Upgrade vCenter Server จะเป็นทางแก้ที่ดีที่สุดนะครับ!!!

Reference:

vROPs Dashboard for VM Right-Sizing and Performance…Part 2

By Lerpong Intaraworrapath | September 29th, 2021

Dashboard

Part 2 – วิธีการสร้าง Report หลังจาก ที่เรา create vROPs Dashboard สำหรับแสดงค่า Performace และ Right-Sizing ของ Virtual Machine

หลังจากที่เรา สร้าง Dashboard ที่แสดงค่า Performance และ Right Sizing ที่ถูกต้องของ CPU และ Memory ในการทำงาน ของ virtual Machine เรียบร้อยแล้ว เราก็จะมาทำการสร้าง Report กัน.

Part 1 – Create Dashboard vROPs Dashboard for VM Right-Sizing and Performance…Part 1

เริ่มขั้นการสร้าง Report

  1. ทำการ Login ไปที่ vRealize Operations Manager ไปที่ Tab Dashboard -> Reports -> Report Templates.
Report Template
Report Template

2. Click -> Add.

3. ใส่ชื่อ Report Name (ในที่นี้ผมจะใส่ ชื่อ “Performance – Right Sizing by VMware“).

Report Name
Report Name

4. Select -> 2. Views and Dashboards / ตรงช่อง ALL FILTERS ให้พิมพ์ “CPU|MEM Usage” แล้วกด Enter.

CPU|MEM Usage
CPU|MEM Usage

5. เราก็จะได้ค่า Views ที่เราต้องการ ที่จะให้แสดงใน Report -> Select: VM CPU|MEM Usage.

View
View

6. ทำการ Double click ค่า Views ที่เราเลือก.

View
View

7. ทำการ เลือก รูปแบบของ Report ที่ต้องการ PDF หรือ CSV หรือทั้งสองแบบ.

Formats
Formats

8. เราสามารถจัดรูปแบบของ Cover Page, Table of contents หรือ Footer ได้ แต่ถ้าไม่ต้องการเปลี่ยนแปลงอะไรให้กด SAVE.

Layout
Layout

9. เราก็จะได้ Report “Performance – Right Sizing by VMware“.

Report
Report

10. จากนี้เราจะ มาทำการ Run Report โดยทำการ Click ที่ 3 จุด จากนั้นเลือก Run.

Run
Run

11. ทำการ Select an Object ที่ต้องการ (สามารถเลือก Object ที่เป็น Cluster, Folder, Host, etc ก็ได้)ในที่นี้ผมเลือก vCenter Server ทำเลือก vCenter Server ที่ต้องการ แล้ว Click OK.

Object
Object

12. vROPs ก็จะทำการ Generated reports (เราจะสังเกต ในวงเล็บจะมีเลข 1).

Performance
Performance

13. ให้เราไป เลือกที่ Tab Generated Reports ทำการ Download report ที่ Generated ออกมา

14. เราก็จะได้ Report CSV ไฟล์ นำไปใช้งานได้

CSV
CSV

!!!หวังว่าทุกคนจะสามารถ นำไปใช้ประโยชน์ ในการ Monitor System ที่ใช้งานอยู่นะครับ!!!

Reference:

vROPs Dashboard for VM Right-Sizing and Performance…Part 1

By Lerpong Intaraworrapath | September 28th, 2021

Performance Right Size
Performance Right Size

Part 1 – วิธีการสร้าง vROPs Dashboard สำหรับแสดงค่า Performace และ Right-Sizing ของ Virtual Machine

***ทำการ download Views และ Dashboards จาก link ด้านล่างมาเตรียมไว้ก่อนนะครับ

https://code.vmware.com/samples/7624/vrops-dashboard-for-vm-right-sizing-and-performance-?h=vrops%20dashboard#code

Dashboard ที่เราจะ create ขึ้นมาจะแสดงค่าที่ถูกต้องของ CPU และ Memory ในการทำงาน ของ virtual Machine จากการ monitor history การทำงาน รวมถึงแสดงค่าปัจจุบันของ CPU และ Memory ของ virtual Machine ที่กำลังใช้งานด้วย รวมทั้งแสดงค่า Metrics ที่จำเป็นในการ monitor virtual machine ด้วย.

เริ่มการติดตั้ง

  1. ทำการ Login ไปที่ vRealize Operations Manager ไปที่ Tab Dashboard -> Views -> Manage Views
Manage Views
Manage Views

2. ทำการ เลือก ปุ่ม 3 จุด แล้ว เลือก Import

Import
Import

3. ทำการ Browse ไปยัง location ที่เราทำการ Download ไฟล์ Views ไว้ตอนแรกต้น แล้ว Click Open

Right Size Views
Right Size Views

4. Views imported successfully แล้วก็ Click DONE

Views Successfully
Views Successfully

5. ไปที่ Tab Dashboard -> Dashboards -> Manage Dashboards

Manage Dashboard
Manage Dashboard

6. ทำการ เลือก ปุ่ม 3 จุด แล้ว เลือก Import

Import Dashboards
Import Dashboards

7. ทำการ Browse ไปยัง location ที่เราทำการ Download ไฟล์ Dashboardsไว้ตอนแรกต้น แล้ว Click Open

Import Dashboards
Import Dashboards

7. Dashboards imported successfully แล้วก็ Click DONE

Dashboards successfully
Dashboards successfully

9. เราก็จะได้ หน้า Dashboards ที่แสดงค่า Performace และ Right-Sizing ของ Virtual Machine “PowerBlock – Performance – Right Sizing

Performance Right Size Dashboards
Performance Right Size Dashboards

***จะสังเกตุว่าค่า Metrics ของ CPU|Ready (ms) จะไม่แสดงใน Dashboards เราจะต้องไปทำการ Enable CPU Ready (ms) metrics ขึ้นมา

Step to enable metrics CPU | Ready(ms)

  1. ไปที่ Tab Administration -> Policies -> vSphere Solution’s Default Policy (Date|Time)
Policies
Policies

2. ทำการ เลือก ปุ่ม 3 จุด แล้ว เลือก Edit

Edit Policies
Edit Policies

3. Click -> Metrics and Properties

Metrics and Properties
Metrics and Properties

4. ทำการ พิมพ์ “Virtual Machine” ในช่อง Select Object Type แล้ว Enter

Select Object Type
Select Object Type

5. ในช่องด้านซ้ายมือ All FILTERS ให้พิมพ์ “Ready” แล้ว Enter

All Filters
All Filters

6. ทำการขยาย Metrics -> CPU แล้วจะพบคำว่า “Ready (ms)” โดย State จะเป็น Disabled

Ready (ms) - Disabled
Ready (ms) – Disabled

7.ทำการ “Enabled” ค่า CPU Ready (ms) ทั้งในส่วนของ State และ Instanced State ทำการ Click SAVE

Dropdown
Dropdown
Instanced State
Instanced State
Enabled CPU Ready (ms)
Enabled CPU Ready (ms)

8. กลับที่หน้า Dashboards -> PowerBlock – Performance – Right Sizing ก็จะแสดงค่า CPU | Ready(ms)

CPU Ready(ms) Dashboards
CPU Ready(ms) Dashboards

โดยค่า CPU | Ready (ms) จะบอก อะไรกับเราได้บ้าง และมีประโยชน์ อย่างไร
Performance Values:

  • CPU|Ready (ms) should be 1000 or less for best performance.
  • CPU|Remove – I like to keep this at 2 or less. For some applications this can be trial and error.
  • CPU|Add – I like to keep this at 0. Make sure the VM is sized with enough resources. Don’t under size VMs. This will keep the APP Owners Happy!

Part 2 – Report

-ใน Part 2 เราจะมาทำการสร้าง Report จาก Dashboard ที่เราสร้างขึ้นมา
https://ilerpong.com/vrops-dashboard-for-vm-right-sizing-and-performance-part-2/

Reference:

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

Snapshot Detail Dashboard for vRealize Operations Manager

By Lerpong Intaraworrapath | September 21st, 2021

Snapshot

การสร้าง Snapshot Detail Dashboards in vRealize Operations Manager

ทำการ Download View and Dashboard จาก link ด้านล่าง มาเตรียมไว้

https://code.vmware.com/samples/4659/snapshot-detail-dashboard-for-vrealize-operations-8-2-and-cloud

เริ่มการติดตั้ง

  1. อันดับแรก เราจะต้องทำการแก้ไข Policy โดยไปที่ Menu -> Administrator -> Policies แล้วให้เลือก vSphere Solution’s Default Policy (DATE) ;Status / Active
Default Policy
Default Policy

2. ทำการ Edit Policy โดย ทำการเลือก Metrics and Properties ให้ทำการ Search คำว่า “Disk” หลังจากนั้นให้ expand -> Disk Space -> Snapshot เราจะพบคำว่า

  • Creator
  • Description

ให้เราทำการ “Enable” Metrics ทั้งสองค่า

Metrics Creator and Description
Metrics Creator and Description

3. ทำการ Import view โดยเลือก Dashboards -> Views -> Manage Views

Manage Views
Manage Views

4. ทำการ Import…

Import Views

5. ทำการ Browse ไปยัง location ที่เรา Save View “Views.zip”

Views.zip
Views successfully

6. ทำการ Import Dashboards โดยเลือก Menu Dashboards -> Dashboards -> Manage Dashboards

Manage Dashboards
Manage Dashboards

7. เลือก Import…

Import Dashboards
Import Dashboards

8. Browse file “Dashboards.zip”

Dashboards.zip file
Dashboards.zip
Dashboard Successfully

9. เลือก Dashboards -> “Snapshot Detail”

Snapshot Detail
Snapshot Detail Dashboards

Inconclusion – Dashboards

Dashboard Name: Snapshot Detail
Dashboard Path: Shared Dashboards (GBrandon)/Troubleshooting
Views
View Name Name on Dashboard View Type
Reclaim | Snapshot Age Distribution Snapshot Age Distribution
Reclaim | Snapshot Size Distribution Snapshot Size Distribution
Reclaim | Snapshot Summary Summary List
Reclaim | Snapshot Detail Snapshot Detail List

Support

This dashboard requires vRealize Operation 8.2 Advanced or Enterprise edition or vRealize Operations Cloud.

A version compatible with vRealize Operations 6.7, 7.0, 7.5, 8.0, and 8.1 is available here.

Reference