[์ •๋ณด] ์†Œ์Šค์ฝ”๋“œ ์ •์  ๋ถ„์„ ๋„๊ตฌ ์ถ”์ฒœ
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
์ •์  ๋ถ„์„ ๋„๊ตฌ๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š”๋ฐ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ช‡ ๊ฐ€์ง€ ์ธ๊ธฐ ์žˆ๋Š” ์ •์  ๋ถ„์„ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. SonarQube: ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ œ๊ณต๋˜๋Š” ์ž๋™ํ™”๋œ ์ฝ”๋“œ ๊ฒ€์‚ฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์–ธ์–ด ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๋ณด์•ˆ, ์ฝ”๋“œ ๋ณต์žก๋„, ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€, ์ฝ”๋“œ ์Šคํƒ€์ผ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์ง€ํ‘œ๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. FindBugs: ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ œ๊ณต๋˜๋Š” Java ์–ธ์–ด์šฉ ์ •์  ๋ถ„์„ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ ์Šคํƒ€์ผ, ์˜ค๋ฅ˜, ์„ฑ๋Šฅ ๋ฌธ์ œ ๋“ฑ์„ ๊ฒ€์‚ฌํ•˜๋ฉฐ, IDE์™€ ์—ฐ๋™๋˜์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Checkmarx: ์ƒ์šฉ ์ œํ’ˆ์œผ๋กœ, ๋‹ค์–‘ํ•œ ์–ธ์–ด ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์ •์  ๋ถ„์„ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ ๋‚ด์˜ ์ทจ์•ฝ์ ์„ ๊ฒ€์‚ฌํ•˜๊ณ  ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Veracode: ์ƒ์šฉ ์ œํ’ˆ์œผ๋กœ, ๋‹ค์–‘ํ•œ ์–ธ์–ด ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•˜๋Š” ํด๋ผ์šฐ๋“œ..
[์ •๋ณด] XDR๊ณผ EDR์˜ ์ฐจ์ด
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
XDR(Extended Detection and Response)์™€ EDR(Endpoint Detection and Response)๋Š” ๋ชจ๋‘ ๋ณด์•ˆ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด์ด๋ฉฐ, ์ฃผ๋กœ ๊ณต๊ฒฉ ํƒ์ง€ ๋ฐ ๋Œ€์‘์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. EDR์€ ์—”๋“œํฌ์ธํŠธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ์ด๋ฒคํŠธ๋ฅผ ํƒ์ง€ํ•˜๊ณ  ๋ถ„์„ํ•˜์—ฌ ๋Œ€์‘ํ•˜๋Š” ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ์•ˆํ‹ฐ๋ฐ”์ด๋Ÿฌ์Šค, ์นจ์ž…๋ฐฉ์ง€์‹œ์Šคํ…œ(IPS), ๋กœ๊ทธ๋ถ„์„ ๋“ฑ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ณด์•ˆ ์†”๋ฃจ์…˜๊ณผ ํ†ตํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— XDR์€ EDR๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๋” ํ™•์žฅ๋œ ๋ฒ”์œ„์˜ ๋ณด์•ˆ ์ด๋ฒคํŠธ๋ฅผ ํƒ์ง€ํ•˜๊ณ  ๋Œ€์‘ํ•˜๋Š” ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. XDR์€ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ณด์•ˆ ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•˜์—ฌ, ๊ณต๊ฒฉ์˜ ๋ฒ”์œ„์™€ ์˜ํ–ฅ๋ ฅ์„ ํŒŒ์•…ํ•˜๊ณ , ๋ณด์•ˆ ์ด๋ฒคํŠธ๋“ค ๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋ถ„์„ํ•˜์—ฌ ํ†ต์ฐฐ๋ ฅ ์žˆ๋Š” ๋Œ€์‘ ์ „๋žต์„ ์ˆ˜๋ฆฝํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ XDR์€ EDR์„ ํฌํ•จํ•˜..
[์ •๋ณด] ์›น ๋ฐฉํ™”๋ฒฝ ip ์ฐจ๋‹จ ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
IP ์ฐจ๋‹จ์€ ์›น ๋ฐฉํ™”๋ฒฝ์—์„œ ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์†Œ์Šค IP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ฐจ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ช‡ ๊ฐ€์ง€ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ๋ ค ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ ์˜ค๋Š” ์š”์ฒญ์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์‹ค์ œ IP์™€ ๋‹ค๋ฅธ IP๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋ณด์•ˆ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •ํ™•ํ•œ IP๋ฅผ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. IP ์ฐจ๋‹จ์œผ๋กœ ์ธํ•ด ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค๋„ ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํŠน์ • IP ์ฃผ์†Œ๊ฐ€ ์•…์„ฑ ํ–‰๋™์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ IP ์ฃผ์†Œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ, ๋‹ค๋ฅธ ๋ณด์•ˆ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. IP ์ฃผ์†Œ๊ฐ€ ๋ณ€๋™์ ์ด๊ฑฐ๋‚˜ ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๋Š” ๊ฒฝ์šฐ, ๋งค์šฐ ์ผ์‹œ์ ์ธ ์ฐจ๋‹จ์œผ๋กœ ์ธํ•ด ๋ถˆ๋งŒ์„ ๋ถˆ๋Ÿฌ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ..
[์ •๋ณด] ๋””์ง€ํ„ธ ํฌ๋ Œ์‹์ด๋ž€
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
๋””์ง€ํ„ธ ํฌ๋ Œ์‹์€ ๋””์ง€ํ„ธ ๊ธฐ๊ธฐ๋‚˜ ๋ฏธ๋””์–ด์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ๋””์ง€ํ„ธ ์ฆ๊ฑฐ๋ฌผ์„ ์ˆ˜์ง‘, ๋ถ„์„, ๋ณด๊ณ ํ•˜๋Š” ๊ณผํ•™์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฒ”์ฃ„ ์ˆ˜์‚ฌ, ์‚ฌ๊ฑด ์กฐ์‚ฌ, ์ธ์ ์‚ฌ๊ณ  ์กฐ์‚ฌ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ํฌ๋ Œ์‹์—์„œ๋Š” ์ปดํ“จํ„ฐ, ์Šค๋งˆํŠธํฐ, ํƒœ๋ธ”๋ฆฟ ๋“ฑ ๋‹ค์–‘ํ•œ ๋””์ง€ํ„ธ ๊ธฐ๊ธฐ์—์„œ ๋ฐœ์ƒํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , ์ด๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ํฌ๋ Œ์‹์—๋Š” ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ, ๋ฐ์ดํ„ฐ ์ถ”์ถœ, ๋ฐ์ดํ„ฐ ๋ถ„์„, ๋ณด๊ณ ์„œ ์ž‘์„ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณผ์ •์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ํฌ๋ Œ์‹์— ๋Œ€ํ•œ ์ง€์‹๊ณผ ๊ธฐ์ˆ ์€ ํ˜„์žฌ ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ”์ฃ„ ์ˆ˜์‚ฌ๋‚˜ ์‚ฌ๊ฑด ์กฐ์‚ฌ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๋””์ง€ํ„ธ ํฌ๋ Œ์‹ ์ „๋ฌธ๊ฐ€์˜ ์—ญํ• ์ด ์ ์ฐจ ๋” ์ค‘์š”ํ•ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
XDR EDR ์ฐจ์ด(CrowdStrike์™€ ํƒ€์‚ฌ ๋น„๊ต ๋ฉ˜ํŠธ)
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
[์ •๋ณด] ์Šคํ”„๋ง ํ”„๋ ˆ์ž„ ์›Œํฌ์—์„œ ์ž์ฃผ ํ•˜๋Š” ์‹ค์ˆ˜ TOP10
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
Spring Framework๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ž์ฃผํ•˜๋Š” ์‹ค์ˆ˜๋Š” ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ ๋Œ€ํ‘œ์ ์ธ ์‹ค์ˆ˜ 10๊ฐ€์ง€๋ฅผ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. Bean ์ด๋ฆ„ ์ถฉ๋Œ: ์Šคํ”„๋ง์—์„œ๋Š” Bean ์ด๋ฆ„์ด ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ๊ฐ์˜ Bean์— ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Singleton Scope ์‚ฌ์šฉ: ๊ธฐ๋ณธ์ ์œผ๋กœ ์Šคํ”„๋ง์—์„œ๋Š” Bean์ด Singleton Scope๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  ์š”์ฒญ์— ๋Œ€ํ•ด ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ณต์œ ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฐ์ฒด์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฅธ Scope๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Component Scan ๋ฒ”์œ„ ์„ค์ •: ์Šคํ”„๋ง์—์„œ Component Scan์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ Bean์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ํŒจํ‚ค์ง€๋ฅผ ์Šค์บ”ํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ Be..
[์ •๋ณด] WAF ์—…์ฒด ๋žญํ‚น 2022
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
WAF ์—…์ฒด ๋žญํ‚น ๋„ํ‘œ์ž…๋‹ˆ๋‹ค. Cloudflare ๋ฐ Akamai๊ฐ€ ๋ฆฌ๋”๋กœ์„œ ์‹œ์žฅ์„ ์ด๋Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. AWS์™€ ๊ฐ™์ด ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ์ฒด์ œ์˜ ๋ชธ์ง‘์ด ํฐ ์—…์ฒด๊ฐ€ ๊ฒฝ์Ÿ๋ ฅ์ด ์ƒ๋‹นํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ์ถœ์ฒ˜ Forrester - WAF ๋™ํ–ฅ
Spring Security ๋กœ๊ทธ์ธ ๊ฐ์ฒด ๊ตฌํ˜„
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
https://djunnni.gitbook.io/springboot/2019-11-30 10. SpringSecurity ์ธ์ฆ ํ›„ ๋กœ๊ทธ์ธ ๊ฐ์ฒด๋Š” ์–ด๋–ป๊ฒŒ? - SpringBoot 2.X ์ •๋ฆฌ public int addActivity(@RequestParam("name") String name,Activity activity,Hash hash,Authentication authentication) { djunnni.gitbook.io
[์ •๋ณด] Mysql ๊ณ„์ •์ƒ์„ฑ ๋ฐ ๊ถŒํ•œ๋ถ€์—ฌ
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
create user kingelip@localhost identified by'password!'; GRANT SELECT ON servermail.* TO kingelip@localhost
[์ •๋ณด] Tomcat CloudFlare IP ํ—ˆ์šฉ
ยท
๐Ÿค–์ •๋ณด๋ณด์•ˆ/๐Ÿ’™๋ธ”๋ฃจํŒ€
์˜๋ขฐ๋ฅผ ๋ฐ›์•„ CloudFlare๋งŒ IP ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก Tomcat IP ์ ‘๊ทผ์ œ์–ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค. CloudFlare์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฌธ์„œ์˜ IP๋งŒ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก Tomcat์„ค์ •์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€ ๋‹จ๋ง๊ธฐ ์ •ํ™•ํžˆ ๋งํ•˜๋ฉด ์ผ๋ถ€ ํ†ต์‹  Node์—์„œ ํ•ด๋‹น ์‚ฌ์ดํŠธ์— Access Denied๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์˜€๋‹ค. CloudFlare์˜ IP์ •๋ณด ์ž‘์„ฑ์ผ์€ 2021๋…„๋„๋กœ ์ƒ๋‹นํžˆ ์˜ค๋ž˜๋˜์—ˆ๋‹ค. ๊ทธ ๋™์•ˆ CloudFlare์˜ ์„œ๋น„์Šค๊ฐ€ ์ฆ๊ฐ€ํ•จ์—๋”ฐ๋ผ ์ถ”๊ฐ€์ ์ธ IP๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์“ด๋‹ค๊ณ  ์ถ”์ธก์„ ํ•˜์˜€๋‹ค. ์ด์— Tomcat์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ๋“ค์— ๋Œ€ํ•˜์—ฌ 403 Status Code๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ ํŠน์ • ๋Œ€์—ญ์œผ๋กœ ์ ‘์† ์‹œ๋„๋ฅผ ํ–ˆ๋‹ค. ๋ฐ”๋กœ SK๋ธŒ๋กœ๋“œ ๋ฐด๋“œ ๋Œ€์—ญ(222.239.225.0/24) ์ด์—ˆ๋‹ค. ํ•ด๋‹น ๋Œ€์—ญ์„ ๋“ฑ๋กํ›„ ..