ACTUALIZARE: 2021-12-18...
Nu uitați să verificați întotdeauna cele mai recente informații din resursele enumerate mai jos
CVE-2021-45105... 2.16.0 și 2.12.2 nu mai sunt remedieri valabile! Versiunile actuale de remediere sunt 2.17.0 (Java 8) și 2.12.3 (Java 7). Toate celelalte versiuni Java trebuie să adopte abordarea stop-gap (eliminarea/ștergerea fișierului JndiLookup.class din JAR-ul log4j-core.
Mi-am actualizat mesajul de mai jos în consecință.
Răspunzând direct la întrebare:
Mergi la Firul Reddit: log4j_0day_being_exploited
și ctrl+f pentru .clasa si .jar vanator recursiv
. Rulați programul acolo și, dacă găsește ceva, remediați.
Apoi accesați același site web și ctrl+f pentru Avizul vânzătorilor
. Căutați acele liste pentru a vedea dacă rulați vreunul dintre software-urile afectate. Dacă sunteți și este disponibilă o actualizare, actualizați.
Remediere:
CVE-2021-45046 ... CVE-2021-44228 ... CVE-2021-45105
În timp ce majoritatea oamenilor care trebuie să știe, probabil, știu deja suficient pentru a face ceea ce trebuie să facă, m-am gândit că tot aș pune asta pentru orice eventualitate...
- Urmați îndrumările din acele resurse... se poate schimba, dar
Din 2021-12-18
Practic este
- Eliminați fișierele JAR log4j-core dacă este posibil
- De la ambele mașini care rulează pentru reparare imediată ȘI
- în fișierele dvs. de gestionare a codului sursă / codului sursă pentru a împiedica viitoarele versiuni / lansări / implementări să suprascrie modificarea
- Dacă acest lucru nu este posibil (din cauza unei dependențe), actualizați-le
- Dacă rulați Java 8, atunci puteți face upgrade la log4j 2.17.0+
- Dacă rulați Java 7, atunci puteți face upgrade la log4j 2.12.3
- Dacă rulați o versiune mai veche de Java, trebuie să faceți upgrade la cea mai nouă versiune de Java și apoi să utilizați cea mai nouă versiune de Log4J
- Din nou, aceste modificări trebuie să aibă loc atât pe mașina care rulează, cât și în cod
- Dacă niciuna dintre acestea nu este posibilă dintr-un motiv oarecare... atunci există decalajul fără remediere de a elimina fișierul JndiLookup.class din JAR-urile log4j-core.
- Există o singură linie pentru opțiunea stop gap pe Linux folosind
fermoar
comandă care vine implicit împreună cu majoritatea distribuțiilor Linux.
zip -q -d „$LOG4J_JAR_PATH” org/apache/logging/log4j/core/lookup/JndiLookup.class
- La momentul scrierii, majoritatea ghidurilor online pentru opțiunea de oprire pe Windows spun să faceți următoarele (din nou... presupunând că nu puteți face una dintre opțiunile de eliminare JAR sau de actualizare de mai sus):
- Instalați ceva de genul 7-zip
- Localizați toate fișierele dvs. JAR log4j-core și pentru fiecare faceți următoarele...
- Redenumiți JAR în care să schimbați extensia
.zip
- Utilizați 7-zip pentru a dezarhiva JAR-ul (care acum are un
.zip
extensie)
- Localizați și eliminați fișierul JndiLookup.class din folderul dezarhivat
- Calea este
\cale\la\unzippedFolder\org\apache\logging\log4j\core\lookup\JndiLookup.class
- Ștergeți vechiul fișier JAR (care are acum extensia .zip)
- Utilizați 7-zip pentru a re-zipa folderul
- Redenumiți noul folder .zip pentru a schimba extensia
.borcan
- Există, de asemenea, câteva opțiuni pentru a utiliza Power Shell
Acest lucru este în regulă dacă aveți doar 1 sau 2 fișiere JAR de tratat și nu vă deranjează să instalați 7-zip sau aveți PowerShell disponibil pentru a face acest lucru. Cu toate acestea, dacă aveți o mulțime de fișiere JAR sau dacă nu doriți să instalați 7-zip și nu aveți acces la Power Shell, am creat un script VBS open-source care o va face pentru dvs. fără a fi nevoie să instalați orice software suplimentar. https://github.com/CrazyKidJack/Windowslog4jClassRemover
Citiți README și notele de lansare https://github.com/CrazyKidJack/Windowslog4jClassRemover/releases/latest