[º¸¾È´º½º ¿øº´Ã¶ ±âÀÚ] ÀüÀÚÁ¤ºÎ Ç¥ÁØÇÁ·¹ÀÓ¿öÅ©¼¾Å͵µ ¡®·Î±×4j(Log4j)¡¯ Ãë¾àÁ¡¿¡ ³ëÃâµÈ °ÍÀ¸·Î È®ÀεƴÙ. Ç¥ÁØÇÁ·¹ÀÓ¿öÅ©¼¾ÅÍ´Â ±ä±Þ°øÁö¸¦ ÅëÇØ Apache ¼ÒÇÁÆ®¿þ¾î Àç´ÜÀÇ Ãë¾àÁ¡ ÇØ°á º¸¾È ¾÷µ¥ÀÌÆ®¸¦ È®ÀÎÇÏ°í ÇØ°á¹æ¾ÈÀ» µû¸¦ °ÍÀ» ±Ç°íÇß´Ù.
¡ãÇ¥ÁØÇÁ·¹ÀÓ¿öÅ© Æ÷ÅÐ[ĸó=º¸¾È´º½º]
Log4j ÆÐÄ¡ ´ë»ó È®ÀÎ ¹æ¹ý
¿ì¼±, Ç¥ÁØÇÁ·¹ÀÓ¿öÅ©¼¾ÅÍ´Â Log4j ÆÐÄ¡¸¦ ÇØ¾ß ÇÏ´Â ´ë»óÀÎÁö, ¾Æ´Ñ Áö¸¦ È®ÀÎÇϱâ À§Çؼ´Â 2°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù°í ¼³¸íÇÏ°í ÀÖ´Ù. ù ¹ø° °³¹ßȯ°æ¿¡¼ÀÇ È®Àιæ¹ýÀ¸·Î, ÀÌŬ¸³½º °³¹ßȯ°æ¿¡¼´Â pom.xml ÆÄÀÏÀ» ¿ÀÇÂÇØ Dependency Hierarchy ÅÇÀ» ¿ÀÇÂÇÑ ÈÄ, ¸ñ·Ï¿¡¼ log4j-core : 2.X.X°¡ ÀÖ´ÂÁö È®ÀÎÇÏ¸é µÈ´Ù. ÃÖÁ¾ÀûÀ¸·Î Àû¿ëµÇ´Â ¹öÀüÀº ¡®Resolved Dependency¡¯ ¸ñ·Ï¿¡¼ È®ÀÎÀÌ °¡´ÉÇϸç, ¶Ç´Â ÀÌŬ¸³½º °³¹ßȯ°æ¿¡¼ Maven Dependency Ç׸ñÀÇ ¸ñ·Ï¿¡¼ log4j-core-2.X.X.jar ÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇÏ¸é µÈ´Ù.
µÎ ¹ø° ¿î¿µÈ¯°æ¿¡¼ È®ÀÎÇÏ´Â ¹æ¹ýÀº WAS ¼¹ö¿¡¼ À¥ ÇÁ·ÎÁ§Æ®°¡ ¹èÆ÷µÈ WEB-INF/lib µð·ºÅ丮¿¡¼ log4j-core-2.X.X.jar ÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇÏ¸é µÈ´Ù.
Âü°í·Î À̹ø Ãë¾àÁ¡¿¡ ¿µÇâÀ» ¹Þ´Â ¹öÀüÀº ¡®apache log4j 2.0-beta 9 ~ 2.14.1 ¸ðµç ¹öÀü¡¯À̸ç, Ç¥ÁØÇÁ·¹ÀÓ¿¡¼ °¢ ¹öÀüº° ÃÖÃÊ ¹èÆ÷µÇ´Â Log4jÀÇ ¹öÀüÀº ´ÙÀ½°ú °°´Ù.
3.0 : Log4j 2.0
3.1 : Log4j 2.0
3.5 : Log4j 2.1
3.6 : Log4j 2.5
3.7 : Log4j 2.8.2
3.8 : Log4j 2.10.0
3.9 : Log4j 2.11.2
3.10 : Log4j 2.12.1
4.0(º£Å¸) : Log4j 2.14.0
¹öÀüº° Log4j ÆÐÄ¡ ¹æ¹ý
Ç¥ÁØÇÁ·¹ÀÓ¿öÅ©¼¾ÅÍ´Â ÀüÀÚÁ¤ºÎ¿¡¼ Á¦°øÇÏ´Â ·Î±×¸¦ »ç¿ëÇÒ °æ¿ì ´ÙÀ½ ¼³¸íÀ» µû¶óÇÏ¸é µÈ´Ù. ¸ÕÀú ¡®JDK 1.8¡¯ ÀÌ»óÀÎ °æ¿ì ¡®log4j-core-2.15.0.jar¡¯¸¦ Àû¿ëÇÒ ¼ö Àִµ¥, pom.xml¿¡ ´ÙÀ½À» Ãß°¡ÇÏ¸é µÈ´Ù.
¾Æ¿ï·¯ ¹èÆ÷½Ã ´ë»ó¼¹ö¿¡ WEB-INF/lib µð·ºÅ丮¿¡ log4j-core-2.15.0.jar ÆÄÀÏÀÌ ¹èÆ÷µÆ´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù.
µÎ ¹ø°·Î ¡®JDK 1.7¡¯·Î ¡®Apache Log4j 2.0-beta9 ~ 2.10.0¡¯¿¡ ÇØ´çÇÏ´Â °æ¿ì ¡®JndiLookup Ŭ·¡½º¡¯¸¦ °æ·Î¿¡¼ Á¦°ÅÇÏ¸é µÈ´Ù. ´ë»ó Ŭ·¡½º´Â ¡®zip -q -d log4j-core-*.
jar org/apache/logging/log4j/core/lookup/JndiLookup.class¡¯ ¸í·É¾î·Î »èÁ¦ÇÒ ¼ö ÀÖ´Ù.
¾Æ¿ï·¯ Java 8 ÀÌ»óÀ¸·Î ¾÷±×·¹À̵å ÈÄ Log4j 2.15.0À» ÆÐÄ¡ÇÏ´Â °ÍÀÌ °¡Àå ±ÇÀåµÇ´Â ¹æ¹ýÀÌÁö¸¸, Java 8·Î ¾÷±×·¹À̵åÇÒ ¼ö ÀÖ´Â »óȲÀÌ ¾Æ´Ò °æ¿ì¿¡´Â Apache Log4j ¹öÀüº°·Î Á¶Ä¡ÇØ¾ß ÇÑ´Ù°í ¼³¸íÇß´Ù.
Log4j 2.0-beta9 ~ 2.10.0
-JndiLookup Ŭ·¡½º¸¦ °æ·Î¿¡¼ Á¦°Å : zip -q -d log4j-core-*.
jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Log4j 2.10 ~ 2.14.1
JVM ȯ°æº¯¼ö¿¡¼ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.
Dlog4j2.formatMsgNoLookups=true
OS ȯ°æº¯¼ö¿¡¼ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.
LOG4J_FORMAT_MSG_NO_LOOKUPS ȯ°æº¯¼ö¸¦ true·Î ¼³Á¤
ÇÑÆí, Ç¥ÁØÇÁ·¹ÀÓ¿öÅ©¼¾Åʹ ǥÁØÇÁ·¹ÀÓ¿öÅ©¸¦ Àû¿ëÇÏ°í ÀÖÁö ¾ÊÀº JVM ±â¹Ý À¥¼ºñ½º¶ó°í Çصµ ÀÚ¹Ù(Java) ±â¹Ý JVM ȯ°æÀ» »ç¿ëÇÏ´Â ¸ðµç ¼ºñ½º¿¡¼ Apache Log4 j2¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛÀº ¸ðµÎ Á¶Ä¡ ´ë»óÀ̶ó°í °Á¶ÇÏ°í, °³¹ß½Ã ´Ù¾çÇÑ ¶óÀ̺귯¸®°¡ Ãß°¡·Î Àû¿ëµÇ¾î ÀÖÀ» ¼ö Àֱ⠶§¹®¿¡ ¹Ýµå½Ã °³¹ß ȯ°æÀ̳ª Å×½ºÆ®º£µå ȯ°æ¿¡¼ È®ÀÎÇÑ ÈÄ¿¡ ¿î¿µ¼¹ö¿¡ ¹Ý¿µÇØ¾ß ÇÑ´Ù°í °Á¶Çß´Ù. º¸´Ù ÀÚ¼¼ÇÑ »çÇ×Àº Ç¥ÁØÇÁ·¹ÀÓ¿öÅ© Æ÷ÅÐ(±â¼úÁö¿ø)¿¡¼ È®ÀÎÀÌ °¡´ÉÇÏ´Ù.
[¿øº´Ã¶ ±âÀÚ(boanone@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>