16
2021
Log4j CVE-2021-45046 Zafiyeti
Merhaba,
CVE-2021-45046 kodu ile tag lenen zafiyetin tespit edilmesi ve kapatılması ile ilgili aşağıdaki adımları takip edebilirsiniz.
Tespit edilmesi için
Scriptini sh haline getirip run ettikten sonra
[WARNING] maybe vulnerable, those files contain the name:
uyarısı altında gelen jar file lar potansiyel log4j library sine işaret etmektedir. Bu liste içerisinde
2.0 <= Apache log4j <= 2.14.1
JDK Versiyonları >= 6u211, 7u201, 8u191, and 11.0.1
ilgili JDK ve log4j versiyonuna sahip iseniz izafiyete sahip log4j library kullanıyorsunuz demektedir.
Çözüm olarak
1 ) Kütüphaneyi kullanarak çalışan uygulamalara runtime JVM parametreleri eklenmelidir.
-Dcom.sun.jndi.rmi.object.trustURLCodebase=false
-Dcom.sun.jndi.cosnaming.object.trustURLCodebase=false
-Dlog4j2.formatMsgNoLookups=true
2 ) Kalıcı çözüm için apache tarafından Log4j 2.16.0- CVE-2021-45046 patchi hazırlandı bu patch geçilmelidir.
Tşk.
#!/bin/bash
RED=”\033[0;31m”; GREEN=”\033[32m”; YELLOW=”\033[1;33m”; ENDCOLOR=”\033[0m”
WARNING=”[WARNING]”${ENDCOLOR}
echo -e ${YELLOW}”### locate files containing log4j …”${ENDCOLOR1}
OUTPUT=”$(locate -e log4j|grep -v log4js|grep -v log4j_checker_beta)”
if [ “$OUTPUT” ]; then
echo -e ${RED}”[WARNING] maybe vulnerable, those files contain the name:”${ENDCOLOR}
echo “$OUTPUT”
fi;
if [ “$(command -v yum)” ]; then
echo -e ${YELLOW}”### check installed yum packages …”${ENDCOLOR1}
OUTPUT=”$(yum list installed|grep log4j|grep -v log4js)”
if [ “$OUTPUT” ]; then
echo -e ${RED}”[WARNING] maybe vulnerable, yum installed packages:”${ENDCOLOR}
echo “$OUTPUT”
fi;
fi;
if [ “$(command -v dpkg)” ]; then
echo -e ${YELLOW}”### check installed dpkg packages …”${ENDCOLOR1}
OUTPUT=”$(dpkg -l|grep log4j|grep -v log4js)”
if [ “$OUTPUT” ]; then
echo -e ${RED}”[WARNING] maybe vulnerable, dpkg installed packages:”${ENDCOLOR}
echo “$OUTPUT”
fi;
fi;
echo -e ${YELLOW}”### check if Java is installed …”${ENDCOLOR1}
JAVA=”$(command -v java)”
if [ “$JAVA” ]; then
echo -e ${RED}”[WARNING] Java is installed”${ENDCOLOR}
echo “Java applications often bundle their libraries inside jar/war/ear files, so there still could be log4j in such applications.”;
else
echo -e ${GREEN}”[OK]”${ENDCOLOR}” Java is not installed”
fi;
echo -e ${YELLOW}”_________________________________________________”${ENDCOLOR}
echo “If you see no uncommented output above this line, you are safe. Otherwise check the listed files and packages.”;
if [ “$JAVA” == “” ]; then
echo “Some apps bundle the vulnerable library in their own compiled package, so ‘java’ might not be installed but one such apps could still be vulnerable.”
fi
echo
echo “Note, this is not 100% proof you are not vulnerable, but a strong hint!”
Mustafa Korkmaz
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Latest posts by Mustafa Korkmaz (see all)
- Log4j CVE-2021-45046 Zafiyeti - 16 Aralık 2021
- Materialized View Verisi Purge ya da Delete (atomic_refresh) - 12 Kasım 2021
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020
Çok faydalı oldu.Teşekkürler