หลังจากอ่านบทความเรื่อง Guide: How To Detect and Mitigate the Log4Shell Vulnerability (CVE-2021-44228)
เกี่ยวกับแนวทางการแก้ไขปัญหาของ Log4j version 2 แล้ว
มีสิ่งที่น่าสนใจคือ

  • คำแนะนำต่าง ๆ หรือบทความในโลก online มีทั้งผิดและล้าสมัย
  • มีคำแนะนำที่ไม่ดีมากมาย เช่น แก้ไขด้วย WAF หรือ ทำการ upgrade version ของ Java หรือ update format ของ log เป็นต้น

การตรวจสอบ

เนื่องจากผลกระทบจาก log4j นี้
มีผลทั้ง Java, Scala, Groovy และ Clojure
ดังนั้น จึงทำการสร้างเครื่องมือชื่อว่า log4shell ขึ้นมาพัฒนาด้วยภาษา Go
เพื่อทำการ scan แบบอัตโนมัติให้
โดย scan ได้ทั้ง JAR แล WAR file
ซึ่งจะทำการ scan หา library จาก checksums ดังนี้

หรือจะทำการตรวจสอบพวก vendor software ต่าง ๆ
ก็มีทำการสรุปไว้ให้เพียบ เรียงตั้งแต่ A-Z กันไปเลย

การแก้ไขที่ถูกต้อง

  • Upgrade log4j เป็น version 2.15.0
  • ทำการ config formatMsgNoLookups=true หรือกำหนดใน environment variable ชื่อว่า LOG4J_FORMAT_MSG_NO_LOOKUPS=true หรือใน JVM argument variable ชื่อว่า JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true
  • สาย Hacker สามารถทำการแก้ไข jar file เลย ด้วยการแก้ไข class org.apache.logging.log4j.core.lookup.JndiLookup แต่ไม่แนะนำ

ลองอ่านเพิ่มเติมได้ครับ น่าจะพอมีประโยชน์