Elastic รายงานช่องโหว่ log4j กระทบ Elasticsearch, Logstash พร้อมคำแนะนำบรรเทาช่องโหว่ระหว่างรอแพทซ์

by nutmos
12 December 2021 - 12:08

ช่องโหว่ zero-day ของ log4j ที่ปล่อยออกมาล่าสุดนั้นได้เริ่มส่งผลกระทบเป็นวงกว้างเนื่องจากเป็นไลบรารีที่ได้รับความนิยมในภาษา Java และเป็นช่องโหว่ร้ายแรงทำให้ผู้พัฒนาโครงการหลายอย่างที่ใช้ Java ต้องวางแผนในการออกอัพเกรดซอฟต์แวร์เพื่อแก้ปัญหานี้ให้เร็วที่สุด

ล่าสุด Elastic ผู้พัฒนาซอฟต์แวร์ Elastic Stack ที่นิยมใช้ในงานมอนิเตอร์ได้ออกประกาศรายละเอียดผลกระทบของผลิตภัณฑ์แล้ว พร้อมคำแนะนำในการบรรเทาช่องโหว่ระหว่างรอแพทซ์ โดยหลังจากตรวจสอบแล้วพบว่าผลิตภัณฑ์ที่ได้รับผลกระทบคือ Elasticsearch, Logstash และ APM Java Agent มีรายละเอียดดังนี้

ตัว Elasticsearch ในรายงานระบุว่ากระทบตั้งแต่เวอร์ชัน 5.0.0 ขึ้นไป แต่เนื่องจาก Elastic ใช้ระบบ Java Security Manager อยู่แล้ว ทำให้โอกาสในการรันโค้ดผ่านช่องโหว่นี้ไม่ง่าย ถือเป็นการบรรเทาความร้ายแรงของช่องโหว่นี้ไปในตัว แต่เพื่อป้องกันปัญหา Elastic จึงแนะนำให้ใส่ JVM Options -Dlog4j2.formatMsgNoLookups=true ไว้ก่อนระหว่างรออัพเดต ซึ่ง Elastic ระบุว่าจะออก Elasticsearch เวอร์ชัน 6.8.21 และ 7.16.1 เพื่อแก้ปัญหาเร็ว ๆ นี้

ส่วน Logstash ถ้าใช้เวอร์ชัน 6.8.x และ 7.x หรือใหม่กว่า เมื่อคอนฟิกให้ใช้ JDK ที่ต่ำกว่า 8u191 และ 11.0.1 จะมีความเสี่ยงสูงเพราะเปิดให้โหลด class ของ Java จากระยะไกลได้ แต่ Logstash ที่ใช้ JDK เวอร์ชันใหม่ จะลดความเสี่ยงตรงจุดนี้ได้ (แต่ก็ยังมีความเสี่ยงอยู่หากโดน DoS) ส่วนวิธีแก้ปัญหา เนื่องจาก JVM Options -Dlog4j2.formatMsgNoLookups=true ใช้ไม่ได้ (เพราะ Logstash เซ็ทอัพ log4j ให้ไม่อ่าน flag) จึงต้องลบคลาส JndiLookup ออกจาก log4j2 core jar แทน โดยใช้คอมมานด์

zip -q -d /logstash-core/lib/jars/log4j-core-2.* org/apache/logging/log4j/core/lookup/JndiLookup.class

ฝั่ง APM Java Agent กระทบตั้งแต่เวอร์ชัน 1.17.0-1.28.0 และออกอัพเดตเวอร์ชัน 1.28.1 เพื่อแก้ปัญหาแล้ว โดย Elastic แนะนำให้ผู้ใช้อัพเกรดไปเป็นเวอร์ชันถัดไป แต่ถ้ายังไม่สามารถอัพเกรดได้ แนะนำให้ผู้ใช้บรรเทาด้วยการใส่ -Dlog4j2.formatMsgNoLookups=true ไปก่อนได้ ซึ่งช่องโหว่นี้จะกระทบเฉพาะเมื่อกำหนด log_level=trace และใช้ฟอร์แมตเป็น PLAIN_TEXT เท่านั้น

รายละเอียดเกี่ยวกับผลิตภัณฑ์อื่น ๆ

  • Elastic Cloud, Elastic Cloud Enterprise และ Swiftype จากการตรวจสอบเบื้องต้นยังไม่ได้รับผลกระทบ แต่จะอัพเดต log4j เป็นเวอร์ชันใหม่ให้เร็วที่สุด
  • Elastic Cloud on Kubernetes ไม่ได้รับผลกระทบโดยตรง แต่ตัว Elasticsearch ที่อยู่ภายใต้การจัดการของ ECK ควรเซ็ทค่าเพื่อบรรเทาผลกระทบตามที่ระบุไว้ข้างต้น
  • APM Server, Beats, Cmd, Elastic Endgame, Elastic Map Service, Endpoint Security, Enterprise Search, Kibana และ Machine Learning ไม่ได้รับผลกระทบ

ส่วนอัพเดตเพิ่มเติม Elastic ระบุว่าแนะนำให้ติดตามได้ผ่านช่องทาง Security Announcement

ที่มา - Elastic


ภาพจาก Elastic

Blognone Jobs Premium