log 4 jセキュリティ問題


最近話題になっているlog 4 jセキュリティの問題を書きたいです.
log 4 jホットスポットは、思想交流からホットスポットとなっている深刻なセキュリティホールです.
ロゴ4 gとは?
Javaベースのオープンソースユーティリティで、Apacheが作成したプログラムの間にログを残す.
さらに、log 4 jがjavaプログラムであれば、ほとんどが依存するライブラリであるため、今回のセキュリティ問題はさらに驚くだろう.
log 4 jセキュリティ問題を解決するための様々な方法
最初にlog 4 jバージョンをアップロードします.
log 4 j 2.16.0はまだ安定したバージョンではありません.
ただし、jndiを使用する必要がある場合は、バージョンをアップグレードする方法を選択する必要があります.
mavenまたはgradleで設定を変更します.
2.15.0以上を使うと安全に問題があると言われていますが、最近では2.15.0でも弱点が見つかっています.2.16.0にアップロードします.
**log 4 j 2.15.0はjava 8以降でなければなりません.つまり、1つ目の方法はJDK 1.8以降から
2つ目の方法は、システムのプロパティを変更することです.
log4j2.formatMsgNoLookupsシステムのプロパティをtrueに変更します.
java -Dlog4j2.formatMsgNoLookups=true -jar myapp.jar
**上記のオプションは、log 4 jが2.10.0より大きい場合に使用できます.
3番目のlog 4 j-coreJndiLookupクラスのパスをjarから削除する(電子政府フレームワークで提供されているソリューション)
  • システムからJDK 7またはJDK 8にアップグレードできない場合は、パスからJNDILookupクラスを削除します.
  • zip -q log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
  • このコマンドが実行されていない場合は、解凍ツールを使用して解凍し、JNDILookupを使用します.classファイルを削除したら、同じファイル名で再圧縮します.
    次に削除したlog 4 j-corejarをlibフォルダに上書きします.
  • log4j 1.2
    1.2の場合はJMSAppenderを使用する場合にのみ適用されます.
    JMSAppenderの場合、log 4 jPropertyファイルにJMSAppenderとして指定されている部分がない場合は、使用する必要はありません.
    JMSAppenderを使用する場合はlog 4 j-coreを使用します.jarと同様に、JMSAppenderを削除します.
    上記の方法がすべてだめであれば、バージョンアップを考慮する必要があります.
    ログ4 j脆弱性について
    (1)Apache Log 4 j 2上のリモートコード実行脆弱性(CVE-2021-44228)
  • 2.0-beta 9から2.4.1版(Log 4 j 2.12.2.2を除く)
  • (2)Apache Log 4 j 2におけるサービス拒否脆弱性(CVE-2021-45046)
  • 2.0-beta 9~2.12.2.1および2.13.0~2.15.0バージョン
  • (3) CVE-2021-4104

  • 1.2.xバージョン
    ※JMSAppenderを使用しない場合は弱点に影響しません
  • 注意:https://www.egovframe.go.kr/home/faqinfo/faqinfoRead.do?pagerOffset=0&searchKey=&searchValue=&menuNo=68&faqId=FAQ_0000000000000812
    注意:https://velog.io/@composite/log4j-%EC%B7%A8%EC%95%BD%EC%A0%90-%EB%B0%9C%EA%B2%AC-%EB%B9%A8%EB%A6%AC-%ED%8C%A8%EC%B9%98%ED%95%98%EB%9D%BC