Security

๐Ÿ”ญ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋Š” ์•ˆ์ „ํ• ๊นŒ? - ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹

์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ณ , ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹ ํˆด์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

2024.03.11 | ์กฐํšŒ 413 |
0
|
DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

์•ˆ๋…•ํ•˜์„ธ์š” ๊ตฌ๋…์ž๋‹˜, ์ตœ์‹  DevOps ์†Œ์‹์„ ์ •๋ฆฌํ•ด์„œ ๊ณต์œ ํ•ด๋“œ๋ฆฌ๋Š” DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€์ž…๋‹ˆ๋‹ค.

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

์ด๋Ÿด ๋•Œ ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ, ์ด๋ฒˆ ์†Œ์‹์ง€์—์„œ ์†Œ๊ฐœํ•ด๋“œ๋ฆด ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹(Container Security Scanning)์ž…๋‹ˆ๋‹ค.

 

๐Ÿ”Ž๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๊ฒ€์‚ฌํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹

์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹ ํˆด์€ ์‚ฌ์šฉ ์ค‘์ธ ์ด๋ฏธ์ง€์— ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹ ํˆด์€ ์‚ฌ์šฉ ์ค‘์ธ ์ด๋ฏธ์ง€์— ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์— ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด๋‚˜ ์ด์Šˆ๋ฅผ ์Šค์บ๋‹ ํˆด๋กœ ๊ฒ€์‚ฌํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ํ–‰์œ„๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

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

๋งŒ์•ฝ ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด, ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ์— ์–ด๋–ค ์ทจ์•ฝ์ ์ด ์กด์žฌํ•˜๋Š”์ง€ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์ „์— ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์‹ค์ œ ์„œ๋น„์Šค์— ๋Œ€ํ•ด์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด, ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•ด๋‹น ์„œ๋น„์Šค๊ฐ€ ๊ณ„์† ๋ชจ๋‹ˆํ„ฐ๋ง๋˜์–ด ์•ˆ์ „ํ•˜๋‹ค๋Š” ์‹ ๋ขฐ๊ฐ๋„ ์ค„ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹์€ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋ ๊นŒ์š”?

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

์ด๋•Œ ์Šค์บ๋‹ ํˆด์˜ ์Šค์บ” ๋ฐฉ์‹์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

  • ์ง€์‹ ๊ธฐ๋ฐ˜(Signature-Based) ์Šค์บ”: ๊ธฐ์กด์— ์•Œ๋ ค์ง„ ์ทจ์•ฝ์ (CVE ๋“ฑ)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์บ”
  • ํ–‰๋™ ๊ธฐ๋ฐ˜(Behavioral-Based) ์Šค์บ”: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ ํ›„ ๋น„์ •์ƒ์ ์ธ ํ”„๋กœ์„ธ์Šค๋‚˜ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๊ฐ™์€ ํ–‰์œ„๊ฐ€ ์žˆ๋Š”์ง€ ์Šค์บ”

 

์ปจํ…Œ์ด๋„ˆ ์Šค์บ๋‹ ํˆด์˜ ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ๋Š” ์œ„์—์„œ๋„ ์ž ๊น ์–ธ๊ธ‰ํ–ˆ๋˜ Clair๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด์„œ ์ข€ ๋” ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”Ž๋ณด์•ˆ ์ทจ์•ฝ์  ๋ถ„์„๊ณผ ์•Œ๋ฆผ ๊ธฐ๋Šฅ๊นŒ์ง€ ์ง€์›ํ•˜๋Š” Clair

Clair๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ๋ณด๊ณ ํ•ด์ฃผ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. Indexer, Matcher, Notifier๋ผ๋Š” ์ด๋ฆ„์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, Clair์˜ ์ž‘์—…์€ ํฌ๊ฒŒ Indexing, Matching, Notification์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กœ์„ธ์Šค์™€ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Clair์˜ ์ทจ์•ฝ์  ๋ถ„์„์€ Indexer์™€ Matcher๊ฐ€ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
Clair์˜ ์ทจ์•ฝ์  ๋ถ„์„์€ Indexer์™€ Matcher๊ฐ€ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • Indexing
    • Clair์˜ Indexer๋Š” ์Šค์บ” ๋Œ€์ƒ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„์„ํ•˜๊ณ  ํ•ด๋‹น ์ด๋ฏธ์ง€์˜ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์–ด๋ƒ…๋‹ˆ๋‹ค.
    • ์ด๋ ‡๊ฒŒ ์–ป์–ด๋‚ธ ์ •๋ณด๋Š” Manifest๋ž€ ์ด๋ฆ„์œผ๋กœ DB์— ์ €์žฅ๋˜๋ฉฐ, ์ด Indexing์— ๋Œ€ํ•œ ์ •๋ณด๋„ IndexReport๋ผ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ DB์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • Matching
    • Clair์˜ Matcher๋Š” Indexer๊ฐ€ DB์— ์ €์žฅํ•œ IndexReport๋ฅผ ๊ฐ€์ ธ์™€ ์ทจ์•ฝ์  ๋ถ„์„์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์  ๋ถ„์„์€ DB์— ๋ฏธ๋ฆฌ ์ €์žฅ๋˜์–ด์žˆ๋Š” ์ตœ์‹  ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
    • ์ทจ์•ฝ์  ๋ถ„์„์ด ์™„๋ฃŒ๋˜๋ฉด ์ทจ์•ฝ์  ๋ณด๊ณ ์„œ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
    • Matcher๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ DB์— ์ตœ์‹  ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์—ญํ• ๋„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Notification
    • Clair์˜ Notifier๋Š” ์ทจ์•ฝ์  ๋ถ„์„์— ๋Œ€ํ•œ ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • Matcher๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ตœ์‹  ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, ์ด๋ฏธ ์ทจ์•ฝ์  ๋ถ„์„์„ ์™„๋ฃŒํ•œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ค‘ ์ƒˆ๋กœ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ Webhook์œผ๋กœ ์•Œ๋ฆผ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

 

๐Ÿ”ญ๋งˆ์น˜๋ฉฐ...

์ด๋ฒˆ ์†Œ์‹์ง€์—์„  ์ปจํ…Œ์ด๋„ˆ ๋ณด์•ˆ ์Šค์บ๋‹๊ณผ Clair์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. 

ํ˜น์‹œ ์ด๋ฒˆ ๋‚ด์šฉ ๊ด€๋ จํ•ด์„œ ๋” ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋ฉ”์ผ๋ฆฌ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.๐Ÿ˜€

๊ทธ๋Ÿผ, ๋‹ค์Œ ์†Œ์‹์ง€์—์„œ ๋ณด๋‹ค ์•Œ์ฐจ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜บ

 

๐Ÿ”—References

https://www.wiz.io/academy/container-security-scanning

https://snyk.io/learn/container-security/container-scanning

https://aquasecurity.github.io/trivy/v0.49/

https://quay.github.io/clair/

 

 

๋‹ค๊ฐ€์˜ฌ ๋‰ด์Šค๋ ˆํ„ฐ๊ฐ€ ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๊ตฌ๋…ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”

โœ‰๏ธ

์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ ์–ด๋– ์…จ๋‚˜์š”?

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€ ๋‹˜์—๊ฒŒ โ˜•๏ธ ์ปคํ”ผ์™€ โœ‰๏ธ ์ชฝ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”!

๋Œ“๊ธ€

์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

ํ™•์ธ
์˜๊ฒฌ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ œ์ผ ๋จผ์ € ๋Œ“๊ธ€์„ ๋‹ฌ์•„๋ณด์„ธ์š” !
ยฉ 2024 DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌธ์˜eduukulelekim@gmail.com

๋ฉ”์ผ๋ฆฌ ๋กœ๊ณ 

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ ์„œ๋น„์Šค ์†Œ๊ฐœ์„œ ์˜ค๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ œ๋ณด

์„œ๋น„์Šค ์ด์šฉ ๋ฌธ์˜admin@team.maily.so

๋ฉ”์ผ๋ฆฌ ์‚ฌ์—…์ž ์ •๋ณด

๋ฉ”์ผ๋ฆฌ (๋Œ€ํ‘œ์ž: ์ดํ•œ๊ฒฐ) | ์‚ฌ์—…์ž๋ฒˆํ˜ธ: 717-47-00705 | ์„œ์šธ ์„œ์ดˆ๊ตฌ ๊ฐ•๋‚จ๋Œ€๋กœ53๊ธธ 8, 8์ธต 11-7ํ˜ธ

์ด์šฉ์•ฝ๊ด€ | ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ | ์ •๊ธฐ๊ฒฐ์ œ ์ด์šฉ์•ฝ๊ด€ | ๋ผ์ด์„ ์Šค