๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Lect & Tip

Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ ํ—ค๋” HSTS(HTTP Strict Transport Security)

by st๊ณต๊ฐ„ 2024. 7. 29.

๋ชฉ์ฐจ

    Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ ํ—ค๋” HSTS(HTTP Strict Transport Security)

    ์•ˆ๋…•ํ•˜์„ธ์š”, ์ „๋ฌธ ๋ธ”๋กœ๊ฑฐ๋กœ์„œ ๊น”๋”ํ•˜๊ณ  ๋…์ฐฝ์ ์ธ ๊ธ€์„ ์ถ”๊ตฌํ•˜์‹œ๋Š” ๋งŒํผ, ์ตœ์ ํ™”๋œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” 'Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ'์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.

    Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ

    ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฐœ์ „๊ณผ ๋ณด์•ˆ ํ•„์š”์„ฑ

    1990๋…„์— ํƒ„์ƒํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €(Web Browser)๋Š” ์›น ์„œ๋ฒ„์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ฉฐ HTML ๋ฌธ์„œ๋‚˜ ํŒŒ์ผ์„ ์ถœ๋ ฅํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์Šคํฌํ†ฑ, ๋ชจ๋ฐ”์ผ ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ HTTP ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธ€๋กœ๋ฒŒ ์‹œ์žฅ์กฐ์‚ฌ์—…์ฒด ์Šคํƒฏ์นด์šดํ„ฐ(StatCounter)์˜ 2020๋…„ 3์›” ์ „ ์„ธ๊ณ„ ๋ธŒ๋ผ์šฐ์ € ์‹œ์žฅ ์ ์œ ์œจ์— ๋”ฐ๋ฅด๋ฉด, ํฌ๋กฌ(Chrome)์ด 65.99%๋กœ ์„ ๋‘๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ทธ ๋’ค๋ฅผ ์‚ฌํŒŒ๋ฆฌ(Safari), ํŒŒ์ด์–ดํญ์Šค(Firefox), ์‚ผ์„ฑ ์ธํ„ฐ๋„ท(Samsung Internet), ์—ฃ์ง€(Edge), ์˜คํŽ˜๋ผ(Opera)๊ฐ€ ์ž‡๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด๋Ÿฌํ•œ ํ†ต๊ณ„๋ฅผ ๋ณด๋ฉด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ์—์„œ๋Š” ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์˜ ์‚ฌ์šฉ๋ฅ ์ด ๋†’์œผ๋ฉฐ, ๋งฅ(Mac) ์‚ฌ์šฉ์ž๋“ค์€ ์‚ฌํŒŒ๋ฆฌ๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํ”Œ๋žซํผ๋ณ„ ์›น ์‚ฌ์ดํŠธ ์ด์šฉ ํ˜„ํ™ฉ์„ ์‚ดํŽด๋ณด๋ฉด ๋ชจ๋ฐ”์ผ์—์„œ์˜ ๋ธŒ๋ผ์šฐ์ € ์ด์šฉ๋ฅ ์ด 51.9%๋กœ ๋ฐ์Šคํฌํ†ฑ์˜ 45.4%๋ฅผ ์•ž์ง€๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๊ตญ๋‚ด์—์„œ๋Š” ์‚ผ์„ฑ ๊ฐค๋Ÿญ์‹œ ์Šค๋งˆํŠธํฐ์˜ ์˜ํ–ฅ์œผ๋กœ ์‚ผ์„ฑ ์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ €์˜ ์ ์œ ์œจ์ด ๋†’๊ฒŒ ๋‚˜ํƒ€๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ธŒ๋ผ์šฐ์ €์˜ ๋‹ค์–‘์„ฑ๊ณผ ์‚ฌ์šฉ ํ™˜๊ฒฝ์˜ ํ™•๋Œ€๋กœ ์ธํ•ด ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜์˜ ์‚ฌ์ด๋ฒ„ ๊ณต๊ฒฉ ๋˜ํ•œ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„๋Œ€์˜ ์›น ์‚ฌ์ดํŠธ๋“ค์€ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ์‚ฌ๊ฐ€ ๋งŒ๋“  ์›น ํŽ˜์ด์ง€์™€ ์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์ œ3์ž์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ๋ณด์•ˆ ๊ด€๋ฆฌ์— ์ทจ์•ฝํ•  ์ˆ˜๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ๋‹ค์ˆ˜์˜ ๋ธŒ๋ผ์šฐ์ € ์ œ์กฐ์‚ฌ๋“ค์€ HTTP ๋ณด์•ˆ ํ—ค๋”(Security Header)๋ฅผ ํ†ตํ•ด ์›น ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋Œ€์‘ ๋ฐฉ์•ˆ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    HTTP ๋ณด์•ˆ ํ—ค๋”์˜ ๊ฐœ์š”

    HTTP ํ—ค๋”๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•˜์—ฌ ์š”์ฒญ๊ณผ ์‘๋‹ต ์‹œ ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋ฉฐ, ์ธ์ฆ, ์บ์‹ฑ, ์ œ์–ด, ์ฟ ํ‚ค, ์—ฐ๊ฒฐ, ๋ณด์•ˆ ๋“ฑ ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ทธ์ค‘ ๋ณด์•ˆ๊ณผ ๊ด€๋ จ๋œ Secure Header๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Secure Header ์ค‘ HSTS(HTTP Strict Transport Security), X-XSS-Protection, CSP(Content-Security-Policy)์— ๋Œ€ํ•ด ์ƒ์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

    HSTS(HTTP Strict Transport Security) ์ƒ์„ธ ๋ถ„์„

    HSTS์˜ ๊ฐœ๋…๊ณผ ํ•„์š”์„ฑ

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

    ์ผ๋ฐ˜์ ์ธ https ๊ฐ•์ œ์ ์šฉ ๋ฐฉ์‹โ€‹

    HSTS๋ฅผ ์ ์šฉํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ HTTP๋กœ ์š”์ฒญํ•˜๋”๋ผ๋„ ์ž๋™์œผ๋กœ HTTPS๋กœ ์ „ํ™˜๋˜์–ด ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์ ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    HSTS์˜ ์ ์šฉ ๋ฐฉ๋ฒ•

    HSTS ๋™์ž‘ ๋ฐฉ์‹โ€‹

    HSTS๋Š” ์„œ๋ฒ„์—์„œ ์‘๋‹ต ํ—ค๋”์— 'Strict-Transport-Security'๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์ง€์‹œ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

    • max-age: HSTS ์ •์ฑ…์ด ์œ ์ง€๋˜๋Š” ๊ธฐ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • includeSubDomains: ํ•ด๋‹น ๋„๋ฉ”์ธ์˜ ๋ชจ๋“  ์„œ๋ธŒ๋„๋ฉ”์ธ์—๋„ HSTS ์ •์ฑ…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • preload: ๋ธŒ๋ผ์šฐ์ €์˜ HSTS preload ๋ฆฌ์ŠคํŠธ์— ๋„๋ฉ”์ธ์„ ๋“ฑ๋กํ•˜์—ฌ ์ดˆ๊ธฐ ์ ‘์† ์‹œ์—๋„ HTTPS๋ฅผ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค.

    ์„œ๋ฒ„ ์„ค์ •์ด๋‚˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฝ”๋“œ ๋ ˆ๋ฒจ์—์„œ ํ•ด๋‹น ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ ์šฉ ํ›„์—๋Š” hstspreload.org ๋“ฑ์„ ํ†ตํ•ด ์ œ๋Œ€๋กœ ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    HSTS ์ง€์‹œ์ž, ์ ์šฉ์˜ˆ์‹œ

    X-XSS-Protection ์ƒ์„ธ ๋ถ„์„

    X-XSS-Protection์˜ ๊ฐœ๋…๊ณผ ํ•„์š”์„ฑ

    XSS(Cross-Site Scripting)๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ฐ€์žฅ ํ”ํ•œ ๊ณต๊ฒฉ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์•…์˜์ ์ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•˜๊ฑฐ๋‚˜ ์‚ฌ์ดํŠธ์˜ ์ •์ƒ์ ์ธ ๋™์ž‘์„ ๋ฐฉํ•ดํ•ฉ๋‹ˆ๋‹ค. X-XSS-Protection ํ—ค๋”๋Š” ๋ธŒ๋ผ์šฐ์ € ๋‚ด์žฅ XSS ํ•„ํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

    X-XSS-Protection์˜ ์ ์šฉ ๋ฐฉ๋ฒ•

    X-XSS-Protection ํ—ค๋”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ง€์‹œ์ž๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

    • 0: XSS ํ•„ํ„ฐ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
    • 1: XSS ํ•„ํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๊ณต๊ฒฉ์ด ๊ฐ์ง€๋˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
    • 1; mode=block: ๊ณต๊ฒฉ์ด ๊ฐ์ง€๋˜๋ฉด ์ „์ฒด ํŽ˜์ด์ง€ ๋กœ๋“œ๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
    • 1; report=URI: ๊ณต๊ฒฉ์ด ๊ฐ์ง€๋˜๋ฉด ์ง€์ •๋œ URI๋กœ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

    ํ•ด๋‹น ํ—ค๋”๋ฅผ ์„œ๋ฒ„ ์‘๋‹ต์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ ์šฉํ•˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ ์šฉ ์˜ˆ์‹œ๋กœ๋Š” PHP์—์„œ header('X-XSS-Protection: 1; mode=block');์™€ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    X-XSS-Protection ์ง€์‹œ์ž

    CSP(Content-Security-Policy) ์ƒ์„ธ ๋ถ„์„

    CSP์˜ ๊ฐœ๋…๊ณผ ํ•„์š”์„ฑ

    CSP๋Š” ์›น ํŽ˜์ด์ง€์— ๋กœ๋“œ๋  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค์˜ ์ถœ์ฒ˜๋ฅผ ์ œํ•œํ•˜์—ฌ XSS, ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ํด๋ฆญ์žฌํ‚น ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ณด์•ˆ ์ •์ฑ…์ž…๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ˜ํ…์ธ  ์†Œ์Šค๋งŒ์„ ํ—ˆ์šฉํ•˜์—ฌ ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ์˜ ์‹คํ–‰์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

    CSP ์ง€์‹œ์ž ์ผ๋ถ€ CSP ์ง€์‹œ์ž ์†์„ฑ๊ฐ’

    CSP์˜ ์ ์šฉ ๋ฐฉ๋ฒ•

    CSP๋Š” ์—ฌ๋Ÿฌ ์ง€์‹œ์ž์™€ ์†์„ฑ๊ฐ’์„ ํ†ตํ•ด ์„ธ๋ถ€์ ์ธ ๋ณด์•ˆ ์ •์ฑ…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ์ง€์‹œ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

    • default-src: ๊ธฐ๋ณธ ์ฝ˜ํ…์ธ  ์†Œ์Šค ์ง€์ •
    • script-src: ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ์†Œ์Šค ์ง€์ •
    • style-src: ์Šคํƒ€์ผ์‹œํŠธ์˜ ์†Œ์Šค ์ง€์ •
    • img-src: ์ด๋ฏธ์ง€ ํŒŒ์ผ์˜ ์†Œ์Šค ์ง€์ •

    ์†์„ฑ๊ฐ’์œผ๋กœ๋Š” 'self', 'none', ํŠน์ • ๋„๋ฉ”์ธ ๋“ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Content-Security-Policy: default-src 'self'; script-src 'self' https://trustedscripts.example.com;์™€ ๊ฐ™์ด ์„ค์ •ํ•˜์—ฌ ์ž์ฒด ๋„๋ฉ”์ธ๊ณผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„๋ฉ”์ธ์—์„œ๋งŒ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋กœ๋“œํ•˜๋„๋ก ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    CSP๋Š” ์„œ๋ฒ„ ์‘๋‹ต ํ—ค๋”๋‚˜ HTML์˜ ๋ฉ”ํƒ€ ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ ์šฉ ํ›„์—๋Š” csp-evaluator.withgoogle.com ๋“ฑ์„ ํ†ตํ•ด ์ •์ฑ…์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๊ฒฐ๋ก 

    ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฐœ์ „๊ณผ ํ•จ๊ป˜ ๋‹ค์–‘ํ•œ ์‚ฌ์ด๋ฒ„ ๊ณต๊ฒฉ ์œ„ํ˜‘์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ทจ์•ฝ์ ์„ ๋…ธ๋ฆฐ ๊ณต๊ฒฉ์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ„ํ˜‘์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด HSTS, X-XSS-Protection, CSP์™€ ๊ฐ™์€ HTTP ๋ณด์•ˆ ํ—ค๋”๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

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

    ํ‚ค์›Œ๋“œ: Secure Header, ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ, HSTS, X-XSS-Protection, CSP, ์›น ์ทจ์•ฝ์ , HTTPS, XSS ๊ณต๊ฒฉ, ์ฝ˜ํ…์ธ  ๋ณด์•ˆ ์ •์ฑ…, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€