Score:4

ฉันมี log4j บน Ubuntu 18.04.6 หรือไม่

ธง in

เห็นได้ชัดว่าฉันกังวลเกี่ยวกับช่องโหว่นี้ แต่ฉันสงสัยว่าฉันมีไลบรารี่นี้อยู่ในเครื่องของฉันด้วยหรือเปล่า

เครื่องนี้เป็นเว็บเซิร์ฟเวอร์ที่ทำงานสองสามเครื่อง โหนด expressjs กรอบมากกว่า จิงซ์บวก ก เซิร์ฟเวอร์ธรณี

ฉันซ่อมเครื่องวันนี้กับ อัปเดต sudo apt && อัปเกรด sudo apt: เครื่องมืออูบุนตูได้เปรียบ, opensl และ libssl1.1 ถูกอัพเกรด

เวอร์ชันจาวาของฉันคือ: openjdk เวอร์ชัน "1.8.0_292" OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~18.04-b10) OpenJDK 64-Bit Server VM (build 25.292-b10, โหมดผสม)

เดอะ เซิร์ฟเวอร์ธรณี เป็น v2.13.0 ซึ่งฉันเชื่อว่าเป็นโปรแกรมเดียวที่อาจใช้ log4j geoserver ของฉันเป็นเวอร์ชันไบนารีอิสระของแพลตฟอร์ม (ไม่ใช่เวอร์ชัน Tomcat) ซึ่งใช้ ท่าเทียบเรือ ฉันคิดว่าเป็นเว็บเซิร์ฟเวอร์

ฉันจะทราบได้อย่างไรว่าฉันมี log4j เวอร์ชันใดและเวอร์ชันใด

muru avatar
us flag
`pgrep -fa log4j` หรือ `locate log4j` แสดงผลอะไรหรือไม่
in flag
ใช่! `ค้นหา log4j` ให้: `/usr/local/geoserver-2.13.0/lib/log4j-1.2.17.jar /usr/local/geoserver-2.13.0/resources/log4j.properties /usr/local/geoserver-2.13.0/webapps/geoserver/WEB-INF/lib/log4j-1.2.17.jar /usr/local/geoserver-2.13.0/webapps/geoserver/WEB-INF/lib/slf4j-log4j12-1.6.4.jar` ดังนั้นดูเหมือนว่า geoserver ของฉันจะใช้มัน ขอขอบคุณ. อืม ทำไงดี?
in flag
ฉันพบการตั้งค่าใน Geoserver "จำนวนอักขระที่จะบันทึกสำหรับคำขอ POST ที่เข้ามา (0 เพื่อปิดใช้งาน)" และเปลี่ยนเป็น 0 ฉันไม่รู้ว่าจะช่วย / ทำอะไรได้บ้าง
Soren A avatar
mx flag
ช่องโหว่อะไร ?
in flag
ดูที่นี่ https://www.wired.com/story/log4j-flaw-hacking-internet/
user535733 avatar
cn flag
ดู https://ubuntu.com/security/CVE-2021-44228
Score:6
ธง in

คุณสามารถตรวจสอบว่ามีการติดตั้งใน apt หรือไม่:

รายการ apt --installed | grep -i log4j

แต่คุณยังต้องตรวจสอบสิ่งนี้เพื่อค้นหาไฟล์ที่เป็นไปได้ที่อาจทำงานอยู่ที่ใดที่หนึ่ง:

ค้นหา log4j

นอกจากนี้ เป็นการดีที่จะตรวจสอบว่าคุณรันจาวารันไทม์บนเซิร์ฟเวอร์หรือไม่:

จาวา - เวอร์ชัน

หากคุณไม่ได้เรียกใช้จาวารันไทม์ log4j อาจไม่เกี่ยวข้องกับเซิร์ฟเวอร์นี้เนื่องจากเป็นไลบรารีจาวา

อาจมีที่อื่นให้ตรวจสอบ

Score:2
ธง at

อัพเดท : 2021-12-18...

อย่าลืมตรวจสอบข้อมูลล่าสุดจากแหล่งข้อมูลด้านล่างเสมอ

CVE-2021-45105... 2.16.0 และ 2.12.2 ไม่ใช่การแก้ไขที่ถูกต้องอีกต่อไป! เวอร์ชันแก้ไขปัจจุบันคือ 2.17.0 (Java 8) และ 2.12.3 (Java 7) Java เวอร์ชันอื่นๆ ทั้งหมดต้องใช้วิธีหยุดช่องว่าง (การลบ/การลบไฟล์ JndiLookup.class จาก log4j-core JAR
ฉันได้อัปเดตข้อความของฉันด้านล่างตามนั้น


ตอบคำถามโดยตรง:
ไปที่ หัวข้อ Reddit: log4j_0day_ being_exploited และ Ctrl+ สำหรับ .class และ .jar นักล่าแบบเรียกซ้ำ. เรียกใช้โปรแกรมที่นั่นและหากพบสิ่งใดให้ทำการแก้ไข

จากนั้นไปที่เว็บไซต์เดียวกันและ Ctrl+ สำหรับ คำแนะนำผู้ขาย. ค้นหารายการเหล่านั้นเพื่อดูว่าคุณกำลังใช้งานซอฟต์แวร์ที่ได้รับผลกระทบอยู่หรือไม่ หากคุณเป็นและมีการอัปเดต ให้อัปเดต


การแก้ไข:
CVE-2021-45046 ... CVE-2021-44228 ... CVE-2021-45105
ในขณะที่คนส่วนใหญ่ที่จำเป็นต้องรู้อาจรู้ดีพอที่จะทำในสิ่งที่ต้องทำแล้ว แต่ฉันคิดว่าฉันจะใส่สิ่งนี้เผื่อไว้เผื่อ...

  • ทำตามคำแนะนำในแหล่งข้อมูลเหล่านั้น ... อาจมีการเปลี่ยนแปลง แต่

ณ วันที่ 2021-12-18

มันเป็นพื้น

  • ลบไฟล์ JAR ของ log4j-core ถ้าเป็นไปได้
    • จากเครื่องที่กำลังทำงานทั้งสองเครื่องเพื่อแก้ไขทันที AND
    • ในซอร์สโค้ด/ไฟล์การจัดการซอร์สโค้ดของคุณ เพื่อป้องกันไม่ให้บิลด์/รีลีส/การปรับใช้ในอนาคตเขียนทับการเปลี่ยนแปลง
  • หากไม่สามารถทำได้ (เนื่องจากการพึ่งพา) ให้อัปเกรด
    • หากคุณใช้ Java 8 คุณสามารถอัปเกรดเป็น log4j 2.17.0+ ได้
    • หากคุณใช้ Java 7 คุณสามารถอัปเกรดเป็น log4j 2.12.3
    • หากคุณใช้ Java เวอร์ชันเก่า คุณต้องอัปเกรดเป็น Java เวอร์ชันใหม่ล่าสุด จากนั้นใช้ Log4J เวอร์ชันใหม่ล่าสุด
    • อีกครั้ง การเปลี่ยนแปลงเหล่านี้ต้องเกิดขึ้นทั้งบนเครื่องที่กำลังรันและในโค้ด
  • ถ้าทั้งสองอย่างเป็นไปไม่ได้ด้วยเหตุผลบางอย่าง... แสดงว่ามีช่องว่างหยุดการแก้ไขที่ไม่ใช่ของการลบไฟล์ JndiLookup.class ออกจาก JARs ของ log4j-core
    • มีตัวเลือกหนึ่งซับสำหรับตัวเลือก stop gap บน Linux โดยใช้ ซิป คำสั่งที่มาพร้อมกับ Linux distros ส่วนใหญ่ตามค่าเริ่มต้น
      • zip -q -d "$LOG4J_JAR_PATH" org/apache/logging/log4j/core/lookup/JndiLookup.class
    • ในขณะที่เขียน คำแนะนำออนไลน์ส่วนใหญ่สำหรับตัวเลือก stop gap บน Windows บอกให้ทำสิ่งต่อไปนี้ (อีกครั้ง... สมมติว่าคุณไม่สามารถทำอย่างใดอย่างหนึ่งในการลบ JAR หรือตัวเลือกการอัปเกรดด้านบน):
      • ติดตั้งบางอย่างเช่น 7-zip
      • ค้นหาไฟล์ JAR log4j-core ทั้งหมดของคุณและทำสิ่งต่อไปนี้สำหรับแต่ละไฟล์...
      • เปลี่ยนชื่อ JAR เพื่อเปลี่ยนนามสกุลเป็น .zip
      • ใช้ 7-zip เพื่อคลายซิป JAR (ซึ่งตอนนี้มีไฟล์ .zip การขยาย)
      • ค้นหาและลบไฟล์ JndiLookup.class ออกจากโฟลเดอร์คลายซิป
        • เส้นทางคือ \path\to\unzippedFolder\org\apache\logging\log4j\core\lookup\JndiLookup.class
      • ลบไฟล์ JAR เก่า (ซึ่งตอนนี้มีนามสกุลเป็น .zip)
      • ใช้ 7-zip เพื่อ re-zip โฟลเดอร์
      • เปลี่ยนชื่อโฟลเดอร์ .zip ใหม่เพื่อเปลี่ยนนามสกุลเป็น .ไห
    • นอกจากนี้ยังมีตัวเลือกบางอย่างในการใช้ Power Shell

วิธีนี้ใช้ได้ถ้าคุณมีไฟล์ JAR เพียง 1 หรือ 2 ไฟล์ที่ต้องจัดการ และคุณไม่ต้องสนใจที่จะติดตั้ง 7-zip หรือคุณมี PowerShell ที่พร้อมใช้งาน อย่างไรก็ตาม หากคุณมีไฟล์ JAR จำนวนมาก หรือหากคุณไม่ต้องการติดตั้ง 7-zip และไม่มีสิทธิ์เข้าถึง Power Shell ฉันได้สร้างสคริปต์ VBS แบบโอเพ่นซอร์สที่จะติดตั้งให้คุณโดยไม่จำเป็นต้องติดตั้ง ซอฟต์แวร์เพิ่มเติมใดๆ https://github.com/CrazyKidJack/Windowslog4jClassRemover

อ่าน README และ Release Notes https://github.com/CrazyKidJack/Windowslog4jClassRemover/releases/latest

Jackson Pfeffer avatar
at flag
@muru ขอบคุณสำหรับการแก้ไขการจัดรูปแบบ จะดีไหมถ้าฉันเปลี่ยนหัวข้อ "UPDATE" เป็นหัวข้ออีกครั้ง
muru avatar
us flag
แน่นอน แต่โดยส่วนตัวแล้วฉันรู้สึกว่าบรรทัดแรกนั้นไม่ได้เพิ่มอะไรเป็นหัวข้อ (เป็นการระบุอย่างชัดเจน)
Jackson Pfeffer avatar
at flag
ขอบคุณ :) ฉันเพิ่งสร้างหัวข้อ "อัปเดต" เพราะฉันต้องการให้แน่ใจว่าผู้คนเห็นมัน ... โดยเฉพาะผู้คนที่กลับมาที่นี่เป็นครั้งที่สองและอาจเลื่อนไปยังส่วนที่ต้องการอ้างอิงอย่างรวดเร็ว ... ฉันต้องการให้แน่ใจว่าพวกเขาสังเกตเห็นว่ามันมีการเปลี่ยนแปลง
Score:0
ธง de

โปรดทราบว่ามีเพียง log4j v2 เท่านั้นที่มีช่องโหว่นี้ log4j v1 ที่เก่ากว่าไม่ได้รับผลกระทบจากช่องโหว่นี้

ข้อสำคัญ คุณจะไม่พบมันในรายการ apt ของคุณ (ตามที่อธิบายไว้ในคำตอบที่ยอมรับ) เนื่องจากโดยปกติแล้วจะไม่ได้รับการติดตั้งเป็นแอปพลิเคชันหรือบริการแบบสแตนด์อโลน log4j เป็นไลบรารีการบันทึก Java ที่ใช้โดยแอปพลิเคชัน ดังนั้นจึงจะติดตั้งพร้อมกับแอปพลิเคชันอื่น (Java)

คุณจะต้องค้นหาไฟล์ชื่อ log4jv2*.jar ที่ใดก็ได้บนดิสก์เพื่อความแน่ใจ ค้นหา จะทำเช่นนี้หากติดตั้งอื่น sudo ค้นหา / -iname log4j2*.jar.

โปรดทราบว่าบางแอ็พพลิเคชันเปลี่ยนชื่อไฟล์ log4j2 JAR ด้วย

นอกจากนี้ โปรดทราบว่า ณ วันนี้ (2021-DEC-19) พบช่องโหว่เพิ่มเติมใน Log4J v2 ที่อาจทำให้เกิดการปฏิเสธบริการจากระยะไกล และทุกคนที่แพตช์เป็น v2.16 ควรแพตช์เป็น v2.17

https://logging.apache.org/log4j/2.x/security.html#CVE-2021-45105

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา