ช่องโหว่ 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
Comments
kafka จะรอดไหมนะ
ไม่รอด