Skip to Content

HTTPS ๋ฐ ์ธ์ฆ์„œ

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

๋ชจ๋“œ์‚ฌ์šฉ์ž๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๋ธŒ๋ผ์šฐ์ € ์‹ ๋ขฐ์ ํ•ฉํ•œ ๊ฒฝ์šฐ
1. ์ผ๋ฐ˜ HTTP (๊ธฐ๋ณธ๊ฐ’)์—†์Œโ€” (HTTP)์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„๋ฆฌ๋œ ๋„คํŠธ์›Œํฌ (OT VLAN, ์ œ์–ด ์บ๋น„๋‹›)
2. HTTPS, ์ž์ฒด ๋ฐœ๊ธ‰ CA๋„๋ฉ”์ธ + ์™€์ผ๋“œ์นด๋“œ DNS; ํด๋ผ์ด์–ธํŠธ์— CA ๋ฃจํŠธ ํ•˜๋‚˜ ๋ฐฐํฌCA๋ฅผ ๋ฐฐํฌํ•˜๋ฉด ์‹ ๋ขฐ๋จIT์˜ ์ธ์ฆ์„œ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  HTTPS ์‚ฌ์šฉ
3. HTTPS, ํšŒ์‚ฌ ์ธ์ฆ์„œ๋„๋ฉ”์ธ + ์™€์ผ๋“œ์นด๋“œ DNS + ํšŒ์‚ฌ CA์˜ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ์ž๋™์œผ๋กœ ์‹ ๋ขฐ๋จ (์กฐ์ง CA)๋‚ด๋ถ€ CA๊ฐ€ ์žˆ๋Š” ํšŒ์‚ฌ ๋„คํŠธ์›Œํฌ

ํšŒ์‚ฌ ํ”„๋ก์‹œ ํ™˜๊ฒฝ ์‚ฌ์šฉ๊ณผ๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ•ด๋‹น ํŽ˜์ด์ง€๋Š” ์–ดํ”Œ๋ผ์ด์–ธ์Šค๊ฐ€ ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์„ ์œ„ํ•ด ํšŒ์‚ฌ CA๋ฅผ ์‹ ๋ขฐํ•˜๋Š” ๊ฒƒ(์–ดํ”Œ๋ผ์ด์–ธ์Šค โ†’ ํด๋ผ์šฐ๋“œ, TLS ๊ฐ€๋กœ์ฑ„๊ธฐ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด)์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€๋Š” ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ โ€” ๋„คํŠธ์›Œํฌ์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋กœ ํ–ฅํ•˜๋Š” ์ธ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ž…๋‹ˆ๋‹ค.


๋ชจ๋“œ 1 โ€” ์ผ๋ฐ˜ HTTP (๊ธฐ๋ณธ๊ฐ’)

์–ป๋Š” ๊ฒƒ. ์–ดํ”Œ๋ผ์ด์–ธ์Šค ์ฃผ์†Œ์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ผ๋ฐ˜ HTTP๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค:

์ธํ„ฐํŽ˜์ด์Šค์ฃผ์†Œ
๋ฉ”์ธ ์–ดํ”Œ๋ผ์ด์–ธ์Šค UIhttp://<APPLIANCE_HOST>
์•ฑ ์›น UIhttp://<APPLIANCE_HOST>:<port>

๊ฐ ์•ฑ UI๋Š” ์ž๋™์œผ๋กœ ํ• ๋‹น๋œ ์ž์ฒด ํฌํŠธ์— ๊ฒŒ์‹œ๋˜๋ฉฐ, IronFlock UI๊ฐ€ ๊ฐ๊ฐ์˜ ์ •ํ™•ํ•œ ๋งํฌ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์•ฑ UI๋Š” ์–ดํ”Œ๋ผ์ด์–ธ์Šค ๋กœ๊ทธ์ธ ๋’ค์— ์œ ์ง€๋ฉ๋‹ˆ๋‹ค โ€” ํ•˜๋‚˜๋ฅผ ์—ด๋ฉด ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ๊ณ  ํ•ด๋‹น ๋””๋ฐ”์ด์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ์—†๋Š” ํ•œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋ฉ๋‹ˆ๋‹ค(์›ํ•˜๋Š” ๊ฒฝ์šฐ ์•ฑ๋ณ„๋กœ ํฌํŠธ๋ฅผ **๊ณต๊ฐœ(public)**๋กœ ํ‘œ์‹œํ•˜์—ฌ ๊ฐœ๋ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

ํ•ด์•ผ ํ•  ์ผ. ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค โ€” ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ์–ดํ”Œ๋ผ์ด์–ธ์Šค์˜ IP ๋˜๋Š” ํ˜ธ์ŠคํŠธ๋ช…์„ ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. DNS๋„, ์ธ์ฆ์„œ๋„, ํšŒ์‚ฌ IT์˜ ๊ฐœ์ž…๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ. ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„๋ฆฌ๋œ ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ์–ดํ”Œ๋ผ์ด์–ธ์Šค โ€” ๋จธ์‹ /OT VLAN์˜ ์ œ์–ด ์บ๋น„๋‹› โ€” ๋กœ, ์ผ๋ฐ˜ HTTP๊ฐ€ ํ‘œ์ค€์ด๊ณ  ๋„คํŠธ์›Œํฌ ๋ถ„๋ฆฌ์™€ ๋ฌผ๋ฆฌ์  ๋ณด์•ˆ์œผ๋กœ ์ ‘๊ทผ์ด ํ†ต์ œ๋˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.


๋ชจ๋“œ 2 โ€” ์ž์ฒด ๋ฐœ๊ธ‰ CA๋ฅผ ์‚ฌ์šฉํ•˜๋Š” HTTPS

์–ป๋Š” ๊ฒƒ. ์–ดํ”Œ๋ผ์ด์–ธ์Šค๊ฐ€ ๋‚ด์žฅ HTTPS ์ธ๊ทธ๋ ˆ์Šค๋ฅผ ์ผœ๊ณ  ์‚ฌ์šฉ์ž์˜ ๋„๋ฉ”์ธ ์•„๋ž˜์—์„œ ๋ชจ๋“  ๊ฒƒ์„ HTTPS๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค โ€” ์Šค์Šค๋กœ ์ƒ์„ฑํ•œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ํ•  ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ๋„, ๋‹ค์‹œ ์—ฐ๊ฒฐํ•  URL๋„ ์—†์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ชจ๋“  ๊ฒƒ์„ ์—ฐ๊ฒฐํ•ด ์ค๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค์ฃผ์†Œ
๋ฉ”์ธ ์–ดํ”Œ๋ผ์ด์–ธ์Šค UIhttps://<APPLIANCE_DOMAIN>
์•ฑ ์›น UIhttps://<device>-<app>-<port>.<APPLIANCE_DOMAIN>
ํ”Œ๋žซํผ ์„œ๋น„์Šคapi. ยท auth. ยท login. ยท ws. ยท ide. ยท registry. <APPLIANCE_DOMAIN>

ํ•ด์•ผ ํ•  ์ผ.

  1. ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋กœ ํ™•์ธ๋˜๋Š” ๋„๋ฉ”์ธ์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค โ€” ์ด๋ฅผ ์‚ฌ์šฉํ•  ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์™€ ๋””๋ฐ”์ด์Šค์— ๋Œ€ํ•ด ํ™•์ธ๋˜์–ด์•ผ ํ•˜๋ฉฐ, APPLIANCE_HOST์™€ APPLIANCE_DOMAIN์„ ๋ชจ๋‘ ์ด ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. ์–ดํ”Œ๋ผ์ด์–ธ์Šค๊ฐ€ ์ธ์ฆ์„œ๋ฅผ ์ง์ ‘ ๋ฐœ๊ธ‰ํ•˜๋ฏ€๋กœ ์–ด๋–ค ์ด๋ฆ„์ด๋“  ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค โ€” ์œ ์ผํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์ด๋ฆ„์ด ํ™•์ธ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ…Œ์ŠคํŠธ๋ฅผ ๋„˜์–ด์„œ๋Š” ์šฉ๋„๋ผ๋ฉด, ์ž์ฒด DNS์— ์™€์ผ๋“œ์นด๋“œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ†ต์ œํ•˜๋Š” ๋‚ด๋ถ€ ๋„๋ฉ”์ธ(์˜ˆ: appliance.corp.example.com)์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค: ๊ฒฉ๋ฆฌ๋˜๊ฑฐ๋‚˜ DNS๊ฐ€ ์ œํ•œ๋œ ์–ดํ”Œ๋ผ์ด์–ธ์Šค ๋„คํŠธ์›Œํฌ๋Š” ๋ณดํ†ต ๊ธฐ๋ณธ <host-ip>.nip.io ์ด๋ฆ„์ด ์˜์กดํ•˜๋Š” ๊ณต๊ฐœ nip.io ์„œ๋น„์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. (ํ•ด๋‹น ๊ธฐ๋ณธ๊ฐ’์€ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ธํ„ฐ๋„ท์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค โ€” ๊ฐœ๋ฐœ ๋จธ์‹ ์—์„œ ์ž‘๋™ํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ฐ”๋กœ ์ด๊ฒƒ์ž…๋‹ˆ๋‹ค.)

  2. ์™€์ผ๋“œ์นด๋“œ DNS๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค โ€” ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ๋‘ ๋ ˆ์ฝ”๋“œ ๋ชจ๋‘ ์–ดํ”Œ๋ผ์ด์–ธ์Šค ํ˜ธ์ŠคํŠธ IP๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค:

    • *.<APPLIANCE_DOMAIN> โ€” ์•ฑ UI์™€ ๋ชจ๋“  ์„œ๋น„์Šค ์„œ๋ธŒ๋„๋ฉ”์ธ์„ ํฌ๊ด„ํ•ฉ๋‹ˆ๋‹ค.
    • <APPLIANCE_DOMAIN> (apex) โ€” ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ๋ฉ”์ธ UI.

    (nip.io ๊ฐ™์€ ์™€์ผ๋“œ์นด๋“œ DNS ์„œ๋น„์Šค๋Š” ์ด๋ฏธ ์ด๋“ค์„ ์ž๋™์œผ๋กœ ํ™•์ธํ•˜๋ฏ€๋กœ ์ถ”๊ฐ€ํ•  ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค โ€” ํ•˜์ง€๋งŒ ์ด๋Š” ํ•ด๋‹น ์™ธ๋ถ€ ์„œ๋น„์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.)

  3. --tls๋กœ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค:

    curl -fsSL https://instance-registry.ironflock.com/dl/appliance/install_ironflock.sh \ | sudo bash -s -- <your-instance-key> --interactive --tls

    --interactive๋Š” APPLIANCE_HOST / APPLIANCE_DOMAIN์„ ์ž…๋ ฅํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค(๋ฌด์ธ ์„ค์น˜์˜ ๊ฒฝ์šฐ IRONFLOCK_APPLIANCE_HOST / IRONFLOCK_APPLIANCE_DOMAIN์„ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค). ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋Š” /opt/ironflock/certs/ca/rootCA.crt์— ๋กœ์ปฌ CA๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด CA๋กœ ์„œ๋ช…๋œ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  4. CA ๋ฃจํŠธ๋ฅผ ํด๋ผ์ด์–ธํŠธ ๋จธ์‹ ์— ๋ฐฐํฌํ•˜์‹ญ์‹œ์˜ค. MDM์„ ํ†ตํ•ด rootCA.crt๋ฅผ ํ‘ธ์‹œํ•˜๊ฑฐ๋‚˜ ๊ฐ ๋จธ์‹ ์˜ OS/๋ธŒ๋ผ์šฐ์ € ์‹ ๋ขฐ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. ๋จธ์‹ ์ด ์ด๋ฅผ ์‹ ๋ขฐํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  5. 1๋…„ ์ด๋‚ด์— ๊ฐฑ์‹ ํ•˜์‹ญ์‹œ์˜ค. ์„œ๋ฒ„ ์ธ์ฆ์„œ๋Š” ์•ฝ 1๋…„์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค โ€” ๋ธŒ๋ผ์šฐ์ €๋Š” ๋” ์˜ค๋ž˜ ์œ ํšจํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐฑ์‹ ํ•˜๋ ค๋ฉด ์ธ์ฆ์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ tls.crt/tls.key๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ๋™์ผํ•œ CA์— ๋Œ€ํ•ด ์ƒˆ ์ธ์ฆ์„œ๋ฅผ ๋‹ค์‹œ ์„œ๋ช…ํ•˜๋ฏ€๋กœ, ๋ฐฐํฌํ•ด ๋‘” ์‹ ๋ขฐ๊ฐ€ ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋””๋ฐ”์ด์Šค๋Š” ์ผ๋ฐ˜ IP ๊ฒฝ๋กœ์— ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์ธก๋งŒ HTTPS๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ๋””๋ฐ”์ด์Šค๋Š” ๊ณ„์† IP๋ฅผ ํ†ตํ•ด ์–ดํ”Œ๋ผ์ด์–ธ์Šค์— ๋„๋‹ฌํ•˜๋ฏ€๋กœ, ๋ชจ๋“  ๋””๋ฐ”์ด์Šค์— CA๋ฅผ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ. ๊ณต์œ  ๋„คํŠธ์›Œํฌ์—์„œ HTTPS๋ฅผ ์›ํ•˜์ง€๋งŒ ํšŒ์‚ฌ IT์˜ ์ธ์ฆ์„œ๊ฐ€ ์—†๊ฑฐ๋‚˜(๋˜๋Š” ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์‹ถ์ง€ ์•Š๊ณ ), UI๋ฅผ ์—ด ๋จธ์‹ ์— ๋ฃจํŠธ CA๋ฅผ ํ‘ธ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.


๋ชจ๋“œ 3 โ€” ํšŒ์‚ฌ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” HTTPS

์–ป๋Š” ๊ฒƒ. ๋ชจ๋“œ 2์™€ ๋™์ผํ•œ ์ „์ฒด ์–ดํ”Œ๋ผ์ด์–ธ์Šค HTTPS โ€” ํ•˜์ง€๋งŒ ์ธ์ฆ์„œ๊ฐ€ ์กฐ์ง์˜ CA์—์„œ ๋‚˜์˜ค๋ฉฐ, ๊ทธ ๋ฃจํŠธ๋Š” ๋ชจ๋“  ๊ด€๋ฆฌ๋˜๋Š” ๋จธ์‹ ์—์„œ ์ด๋ฏธ ์‹ ๋ขฐ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ๊ฒฝ๊ณ ๋„, ๋ฐฐํฌํ•  ๊ฒƒ๋„ ์—†์Šต๋‹ˆ๋‹ค. ๋””๋ฐ”์ด์Šค๋„ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ•ด์•ผ ํ•  ์ผ.

  1. ์‚ฌ์šฉ์ž๊ฐ€ ํ†ต์ œํ•˜๋Š” ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์„ ์„ ํƒํ•˜๊ณ  APPLIANCE_HOST์™€ APPLIANCE_DOMAIN์„ ์ด ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค(์˜ˆ: appliance.corp.example.com). ์—ฌ๊ธฐ์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉ์ž ์†Œ์œ ์˜ ๋„๋ฉ”์ธ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค โ€” CA๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ํ•œ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด์„œ๋งŒ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๋ฏ€๋กœ ์ด ๋ชจ๋“œ์—์„œ๋Š” nip.io ์ด๋ฆ„์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ์™€์ผ๋“œ์นด๋“œ DNS๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค โ€” ๋ชจ๋“œ 2์˜ 2๋‹จ๊ณ„์™€ ๊ฐ™์ด *.<APPLIANCE_DOMAIN>์™€ apex๊ฐ€ ์–ดํ”Œ๋ผ์ด์–ธ์Šค ํ˜ธ์ŠคํŠธ IP๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋‚ด๋ถ€ CA์—์„œ *.<APPLIANCE_DOMAIN>์— ๋Œ€ํ•œ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์œผ์‹ญ์‹œ์˜ค โ€” ๋‘ ๊ฐœ์˜ PEM ํŒŒ์ผ๋กœ: tls.crt(๊ฐ€๊ธ‰์  ์ „์ฒด ์ฒด์ธ)์™€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ tls.key.
  4. ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ์„œ๋กœ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค:
    curl -fsSL https://instance-registry.ironflock.com/dl/appliance/install_ironflock.sh \ | sudo bash -s -- <your-instance-key> --interactive \ --tls-cert /path/to/wildcard.crt \ --tls-key /path/to/wildcard.key
    --tls-cert๋Š” --tls๋ฅผ ํ•จ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ๋™๋“ฑํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜: IRONFLOCK_TLS_CERT / IRONFLOCK_TLS_KEY.
  5. CA์˜ ์ผ์ •์— ๋”ฐ๋ผ ๊ต์ฒดํ•˜์‹ญ์‹œ์˜ค. ์ƒˆ PEM ํŒŒ์ผ์„ ์ธ์ฆ์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋„ฃ๊ณ  ์žฌ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค:
    sudo cp wildcard.crt /opt/ironflock/certs/tls.crt sudo cp wildcard.key /opt/ironflock/certs/tls.key sudo chmod 0600 /opt/ironflock/certs/tls.key sudo systemctl restart ironflock.service
    ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋Š” ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์ธ์ฆ์„œ๋ฅผ ์ž๋™์œผ๋กœ ๋‹ค์‹œ ๋กœ๋“œํ•˜๋ฉฐ, ์žฌ์‹œ์ž‘์€ ์ด๋ฅผ ์ฆ‰์‹œ ์ ์šฉํ•  ๋ฟ์ž…๋‹ˆ๋‹ค. ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ --tls-cert๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๋Š” ํ•œ ๊ธฐ์กด ์ธ์ฆ์„œ๋ฅผ ๋ฎ์–ด์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋””๋ฐ”์ด์Šค๋„ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์„œ๊ฐ€ ํ”Œ๋ฆฟ ์ „์ฒด์—์„œ ์‹ ๋ขฐ๋˜๋ฏ€๋กœ, ๋””๋ฐ”์ด์Šค ํŠธ๋ž˜ํ”ฝ โ€” ๋””๋ฐ”์ด์Šค ๋งํฌ, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ, ๋””๋ฐ”์ด์Šค ์—์ด์ „ํŠธ ์—…๋ฐ์ดํŠธ โ€” ๋„ ๋„๋ฉ”์ธ์„ ํ†ตํ•ด TLS๋กœ ์‹คํ–‰๋˜๋ฉฐ, insecure-registries ์šฐํšŒ ๋ฐฉ๋ฒ•์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ „ํ™˜ ์ดํ›„์— ๋นŒ๋“œ๋œ ์•ฑ ์ด๋ฏธ์ง€์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ „ํ™˜ ์ „์— ์„ค์น˜๋œ ์•ฑ์€ ๋นŒ๋“œ ๋‹น์‹œ์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜์ง€๋งŒ, ์—์ด์ „ํŠธ 0.21.3 ์ด์ƒ์€ ์ด ์ฃผ์†Œ๋ฅผ ์Šค์Šค๋กœ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์š”๊ฑด 4๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด ๋ชจ๋“œ์—์„œ ์—ฐ๊ฒฐ๋œ ๋””๋ฐ”์ด์Šค์— ํ•„์š”ํ•œ ๊ฒƒ

์–ดํ”Œ๋ผ์ด์–ธ์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ ์—ฃ์ง€ ๋””๋ฐ”์ด์Šค๋Š” ๋‹ค์Œ์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  1. ๋„๋ฉ”์ธ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. <APPLIANCE_DOMAIN>๊ณผ ๊ทธ ํ•˜์œ„ ๋„๋ฉ”์ธ(์™€์ผ๋“œ์นด๋“œ ๋ ˆ์ฝ”๋“œ)์ด ๋””๋ฐ”์ด์Šค์˜ ๋„คํŠธ์›Œํฌ์—์„œ ์–ดํ”Œ๋ผ์ด์–ธ์Šค IP๋กœ ํ™•์ธ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์— ์ œ๊ณต๋˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ DNS ๋ ˆ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
  2. ํฌํŠธ 443์œผ๋กœ ์–ดํ”Œ๋ผ์ด์–ธ์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ ์—ฐ๊ฒฐ, ๋””๋ฐ”์ด์Šค ์—์ด์ „ํŠธ ์—…๋ฐ์ดํŠธ(https://registry.<APPLIANCE_DOMAIN>/dl์—์„œ ์ œ๊ณต๋˜๋ฉฐ, ์ด ๋ชจ๋“œ์—์„œ๋Š” ํฌํŠธ 15002๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค), ๊ทธ๋ฆฌ๊ณ  ์ „ํ™˜ ์ดํ›„์— ๋นŒ๋“œ๋œ ์•ฑ ์ด๋ฏธ์ง€๋ฅผ ์œ„ํ•ด ๋””๋ฐ”์ด์Šค์— ํ•„์š”ํ•œ ์œ ์ผํ•œ ํฌํŠธ์ž…๋‹ˆ๋‹ค(์ „ํ™˜ ์ „์— ์„ค์น˜๋œ ์•ฑ์€ ์š”๊ฑด 4๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”). ์ด๊ฒƒ์ด ๋ฐ”๋กœ ํ†ต์ œ๊ฐ€ ์—„๊ฒฉํ•œ ๋„คํŠธ์›Œํฌ์˜ ๋””๋ฐ”์ด์Šค์— ๋ชจ๋“œ 3์ด ์ ํ•ฉํ•œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ์•„์›ƒ๋ฐ”์šด๋“œ 443์€ ๊ฑฐ์˜ ๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ ํ—ˆ์šฉ๋˜๋ฉฐ, ์—ฐ๊ฒฐ์€ ํšŒ์‚ฌ HTTP ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค(ํšŒ์‚ฌ ํ”„๋ก์‹œ ํ™˜๊ฒฝ ์‚ฌ์šฉ โ†’ ์—ฃ์ง€ ๋””๋ฐ”์ด์Šค์˜ ์„ค๋ช…๋Œ€๋กœ ์—์ด์ „ํŠธ์— ํ”„๋ก์‹œ๋ฅผ ์ „๋‹ฌํ•˜์„ธ์š”). ๋ฐ˜๋ฉด ๋‹จ์ˆœ ๋ชจ๋“œ์—์„œ๋Š” ๋””๋ฐ”์ด์Šค๊ฐ€ ์–ดํ”Œ๋ผ์ด์–ธ์Šค์˜ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค ํฌํŠธ์— ์ง์ ‘ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”๋ฐ, ํšŒ์‚ฌ ๋ฐฉํ™”๋ฒฝ๊ณผ ํ”„๋ก์‹œ๋Š” ์ด๋Ÿฐ ํฌํŠธ๋ฅผ ์ž์ฃผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฐ”์ด์Šค ์—ฐ๊ฒฐ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  3. ํšŒ์‚ฌ ๋ฃจํŠธ CA๋ฅผ ์‹ ๋ขฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ์™€ Docker๋Š” ๋””๋ฐ”์ด์Šค ์šด์˜์ฒด์ œ์˜ ์‹ ๋ขฐ ์ €์žฅ์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์–ดํ”Œ๋ผ์ด์–ธ์Šค์˜ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค:
    • ๊ด€๋ฆฌ ๋Œ€์ƒ ๋จธ์‹ (๋„๋ฉ”์ธ์— ๊ฐ€์ž…๋œ Windows, MDM์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” Linux)์€ ๋Œ€๊ฐœ ์ด๋ฏธ ํšŒ์‚ฌ ๋ฃจํŠธ๋ฅผ ์‹ ๋ขฐํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„ ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” Windows: ๊ด€๋ฆฌ์ž ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ์—์„œ ๋ฃจํŠธ CA๋ฅผ ์ปดํ“จํ„ฐ ์ €์žฅ์†Œ์— ์„ค์น˜ํ•˜๊ณ (certutil -addstore -f Root corporate-root-ca.crt), ๊ทธ๋‹ค์Œ Docker Desktop(์‹œ์ž‘ ์‹œ Windows ์ €์žฅ์†Œ์—์„œ ์‹ ๋ขฐ๋œ ๋ฃจํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค)๊ณผ ์—์ด์ „ํŠธ ์„œ๋น„์Šค(device-agent.exe service stop; device-agent.exe service start)๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์„ธ์š”.
    • Linux: sudo cp corporate-root-ca.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates๋ฅผ ์‹คํ–‰ํ•œ ๋’ค Docker(sudo systemctl restart docker)์™€ ์—์ด์ „ํŠธ(sudo systemctl restart ironflock-device-agent)๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์„ธ์š”.
    • ์•ฑ ์ปจํ…Œ์ด๋„ˆ๋Š” ์ด ์‹ ๋ขฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ฌผ๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค(์—์ด์ „ํŠธ 0.21.3 ์ด์ƒ). ์ปจํ…Œ์ด๋„ˆ๋Š” ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์— ํฌํ•จ๋œ CA ๋ฒˆ๋“ค๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์‚ฌ๋‚ด ๋ฃจํŠธ CA๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ TLS๋กœ ์–ดํ”Œ๋ผ์ด์–ธ์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ์•ฑ์€ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์—์ด์ „ํŠธ๊ฐ€ ๋””๋ฐ”์ด์Šค ์ž์ฒด์˜ ์‹ ๋ขฐ ์ €์žฅ์†Œ๋ฅผ ๋ชจ๋“  ์•ฑ ์ปจํ…Œ์ด๋„ˆ์— ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ /etc/ironflock/certs/ca-bundle.crt ์— ๋งˆ์šดํŠธํ•˜๊ณ  ์ฃผ์š” ๋Ÿฐํƒ€์ž„์ด ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค(SSL_CERT_FILE, REQUESTS_CA_BUNDLE, NODE_EXTRA_CA_CERTS). ๋”ฐ๋กœ ์„ค์ •ํ•  ๊ฒƒ์€ ์—†์ง€๋งŒ, ์—์ด์ „ํŠธ๊ฐ€ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ๋””๋ฐ”์ด์Šค์˜ ์‹ ๋ขฐ์ด๋ฏ€๋กœ ๋””๋ฐ”์ด์Šค ์ž์ฒด๊ฐ€ ๋ฃจํŠธ CA๋ฅผ ์‹ ๋ขฐํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์ž์ฒด SSL_CERT_FILE ์„ ์„ค์ •ํ•œ ๊ฒฝ์šฐ์—๋Š” ๊ทธ ๊ฐ’์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  4. ๋””๋ฐ”์ด์Šค ์—์ด์ „ํŠธ๋ฅผ 0.21.3 ์ด์ƒ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜, ์ „ํ™˜ ์ „์— ์„ค์น˜๋œ ์•ฑ์„ ๋‹ค์‹œ ๊ฒŒ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์— ์ €์žฅ๋œ compose ํŒŒ์ผ์—๋Š” ์•ฑ์„ ๋นŒ๋“œํ•  ๋•Œ ๊ณ ์ •๋œ ์ •๊ทœํ™”๋œ ์ด๋ฏธ์ง€ ์ฐธ์กฐ โ€” <APPLIANCE_IP>:15001/apps/โ€ฆ โ€” ๊ฐ€ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฐธ์กฐ๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ๋„๋ฉ”์ธ์œผ๋กœ ์˜ฎ๊ฒจ๋„ compose ํŒŒ์ผ์€ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ 0.21.3 ์ด์ƒ์€ ๊ทธ๋Ÿฐ ์ฐธ์กฐ๋ฅผ ๋””๋ฐ”์ด์Šค ์ž์‹ ์—๊ฒŒ ์„ค์ •๋œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ํ•ด์„ํ•˜๋ฏ€๋กœ, ์ „ํ™˜ ์ „์— ์„ค์น˜๋œ ์•ฑ๋„ ์•„๋ฌด ์กฐ์น˜ ์—†์ด ๋„๋ฉ”์ธ์„ ํ†ตํ•ด ๊ณ„์† ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ ํ›„ ์ฒซ ์‹œ์ž‘์—์„œ ๊ฐ ์ด๋ฏธ์ง€๋ฅผ ์ƒˆ ์ด๋ฆ„์œผ๋กœ ํ•œ ๋ฒˆ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๋” ์˜ค๋ž˜๋œ ์—์ด์ „ํŠธ๋Š” ์ฐธ์กฐ๋ฅผ ์ ํžŒ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด ์˜ˆ์ „ IP์™€ ํฌํŠธ๋กœ ๊ณ„์† ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋””๋ฐ”์ด์Šค๋Š” ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ•ด registry.<APPLIANCE_DOMAIN>์„ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ ๊ฒŒ์‹œํ•  ๋•Œ๊นŒ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํฌํŠธ(15001)์— ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ํฌํŠธ 443๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋Š” ์ž๊ธฐ ์ชฝ ๋ฌธ์ œ๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ž์‹ ์˜ ์—์ด์ „ํŠธ๊ฐ€ 0.21.3๋ณด๋‹ค ์˜ค๋ž˜๋˜์—ˆ๊ณ  ๊ทธ๋Ÿฐ ์ฐธ์กฐ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ๋‚จ์•„ ์žˆ๋Š” ๋™์•ˆ์—๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ณ , ์˜ํ–ฅ๋ฐ›๋Š” compose ํŒŒ์ผ์„ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ์ถœ๋ ฅ์— ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋ฅผ ์ตœ์‹ ์œผ๋กœ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ ํ•ด๋‹น ์•ฑ์„ ๋‹ค์‹œ ๊ฒŒ์‹œํ•˜๋ฉด, ๋‹ค์Œ sudo ironflock-update๋Š” ๋” ๊ธฐ๋‹ค๋ฆด ๊ฒƒ์„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ์Šค์Šค๋กœ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค.
  5. ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ๋จธ์‹ ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ๊ทœ์น™์œผ๋กœ ํ—ˆ์šฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์‹œ์Šคํ…œ ์„œ๋น„์Šค๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ, ์‚ฌ์šฉ์ž ID์— ์—ฐ๊ฒฐ๋œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™(ID ์ธ์‹ ๋ฐฉํ™”๋ฒฝ ๋˜๋Š” ํ”„๋ก์‹œ)์€ ํ•ด๋‹น ์‚ฌ์šฉ์ž ์„ธ์…˜์ด ๋งŒ๋ฃŒ๋˜๋Š” ์ˆœ๊ฐ„ ๋””๋ฐ”์ด์Šค๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฐ”์ด์Šค๋ฅผ ์ปดํ“จํ„ฐ ๊ณ„์ •, ์ด๋ฆ„์ด ์ง€์ •๋œ ํ˜ธ์ŠคํŠธ ๊ฐ์ฒด ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ ID๋กœ ์‹๋ณ„ํ•˜์‹ญ์‹œ์˜ค โ€” IronFlock ํ˜ธ์ŠคํŠธ์˜ ๋„คํŠธ์›Œํฌ ID ์ฐธ์กฐ.

์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ. ํ‘œ์ค€์ ์ธ ํšŒ์‚ฌ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๊ฒฝ๋กœ: ์กฐ์ง์ด ์ด๋ฏธ ๋‚ด๋ถ€ CA๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์–ด, ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋ฅผ ํ•œ ๋ฒˆ ๋ฐœ๊ธ‰๋ฐ›์œผ๋ฉด ๋จธ์‹ ๋ณ„ ์„ค์ • ์—†์ด ๋ชจ๋“  ๊ณณ์—์„œ ์‹ ๋ขฐ๋ฉ๋‹ˆ๋‹ค.


๋ฌธ์ œ ํ•ด๊ฒฐ

์•ฑ UI ๋งํฌ๊ฐ€ ์—ด๋ฆฌ์ง€ ์•Š์Œ / ์—ฐ๊ฒฐ ๊ฑฐ๋ถ€๋จ. ์ผ๋ฐ˜ ๋ชจ๋“œ์—์„œ ์•ฑ UI๋Š” http://<host>:<port>์— ์žˆ์Šต๋‹ˆ๋‹ค โ€” IronFlock UI์— ํ‘œ์‹œ๋œ ์ •ํ™•ํ•œ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€(ํฌํŠธ๋Š” ์•ฑ๋ณ„๋กœ ํ• ๋‹น๋จ), ๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ์—์„œ ํ•ด๋‹น ํฌํŠธ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ์ด ์—†๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๊ฒฝ๊ณ ํ•จ(--tls ์ดํ›„). ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•„์ง ์ธ์ฆ์„œ์˜ CA๋ฅผ ์‹ ๋ขฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“œ 2์—์„œ๋Š” ์–ดํ”Œ๋ผ์ด์–ธ์Šค๊ฐ€ ์ƒ์„ฑํ•œ CA(/opt/ironflock/certs/ca/rootCA.crt)๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๋ฐฐํฌํ•˜์‹ญ์‹œ์˜ค. ๋ชจ๋“œ 3์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‚ด๋ถ€ CA ๋ฃจํŠธ๋ฅผ ์‹ ๋ขฐํ•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ธ์ฆ์„œ ๋งŒ๋ฃŒ๋จ(์ž์ฒด ๋ฐœ๊ธ‰). ์ž์ฒด ๋ฐœ๊ธ‰ ์„œ๋ฒ„ ์ธ์ฆ์„œ๋Š” ์•ฝ 1๋…„๊ฐ„ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค(๋ธŒ๋ผ์šฐ์ €๋Š” ๋” ์˜ค๋ž˜ ์œ ํšจํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค). ๊ฐฑ์‹ ํ•˜์‹ญ์‹œ์˜ค: ์ธ์ฆ์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ tls.crt/tls.key๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์—ฌ ๋™์ผํ•œ, ์—ฌ์ „ํžˆ ์‹ ๋ขฐ๋˜๋Š” CA์— ๋Œ€ํ•ด ๋‹ค์‹œ ์„œ๋ช…ํ•˜์‹ญ์‹œ์˜ค โ€” ๋˜๋Š” ์‚ฌ์šฉ์ž ์†Œ์œ  CA์˜ --tls-cert๋กœ ์ „ํ™˜ํ•˜์‹ญ์‹œ์˜ค.

์ธ์ฆ์„œ ์ด๋ฆ„ ๋ถˆ์ผ์น˜. ์ธ์ฆ์„œ๊ฐ€ ์‚ฌ์šฉ ์ค‘์ธ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์™€์ผ๋“œ์นด๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. *.<APPLIANCE_DOMAIN>๋ฅผ ํฌ๊ด„ํ•ด์•ผ ํ•˜๋ฉฐ, URL์˜ ๋„๋ฉ”์ธ์ด APPLIANCE_DOMAIN๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ธŒ๋„๋ฉ”์ธ์ด ํ™•์ธ๋˜์ง€ ์•Š์Œ(--tls ์ดํ›„). ์™€์ผ๋“œ์นด๋“œ DNS๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์–ดํ”Œ๋ผ์ด์–ธ์Šค ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” *.<APPLIANCE_DOMAIN> A ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค โ€” ์ด๋Š” ์•ฑ UI์™€ ๋ชจ๋“  ์„œ๋น„์Šค ์„œ๋ธŒ๋„๋ฉ”์ธ์„ ํฌ๊ด„ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“œ 3์œผ๋กœ ์ „ํ™˜ํ•œ ๋’ค ์•ฑ์ด ์‹œ์ž‘๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•จ โ€” ํฌํŠธ 15001์—์„œ โ€œconnection refusedโ€. ํ•ด๋‹น ์•ฑ์˜ compose ํŒŒ์ผ์€ ๋นŒ๋“œ ๋‹น์‹œ์˜ ๋Œ€์ƒ์ด์—ˆ๋˜ ์–ดํ”Œ๋ผ์ด์–ธ์Šค IP ์ฃผ์†Œ๋กœ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๊ณ„์† ์ฐธ์กฐํ•˜๋ฉฐ, ๊ทธ ๋””๋ฐ”์ด์Šค์˜ ์—์ด์ „ํŠธ๋Š” 0.21.3๋ณด๋‹ค ์˜ค๋ž˜๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „๋ถ€ํ„ฐ ์—์ด์ „ํŠธ๋Š” ๊ทธ๋Ÿฐ ์ฐธ์กฐ๋ฅผ ์ž์‹ ์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ์ง์ ‘ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฐ”์ด์Šค ์—์ด์ „ํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜, ์ด๋ฏธ์ง€๊ฐ€ registry.<APPLIANCE_DOMAIN>์„ ํ†ตํ•ด ํ™•์ธ๋˜๋„๋ก ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ  ๋‹ค์‹œ ๊ฒŒ์‹œํ•˜์„ธ์š”. ๊ทธ๋•Œ๊นŒ์ง€๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ด๋Š” ์–ดํ”Œ๋ผ์ด์–ธ์Šค๊ฐ€ ์Šค์Šค๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํ‰๋ฒ”ํ•œ sudo ironflock-update ํ•œ ๋ฒˆ์œผ๋กœ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ๋ฐ”์ธ๋”ฉ์ด ๋ณต์›๋˜๊ณ , ์•„์ง ์˜› ์ฐธ์กฐ๋ฅผ ์ง€๋‹Œ compose ํŒŒ์ผ์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

์•ฑ์€ ์‹คํ–‰ ์ค‘์ด์ง€๋งŒ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๊ณ , ๋กœ๊ทธ์— ๋ช‡ ์ดˆ๋งˆ๋‹ค ๊ฐ™์€ ์—ฐ๊ฒฐ ์‹œ๋„๊ฐ€ ๋ฐ˜๋ณต๋จ. ์•ฑ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์–ดํ”Œ๋ผ์ด์–ธ์Šค์˜ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค. TLS ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์„œ๋ฒ„ ์ธ์ฆ์„œ ์งํ›„์— ์ค‘๋‹จ๋˜๊ณ  SDK๊ฐ€ ๋ฌดํ•œํžˆ ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์šด์˜์ฒด์ œ์˜ ์‹ ๋ขฐ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ทธ๋ ‡์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฐ”์ด์Šค ์ž์ฒด๋Š” ์˜จ๋ผ์ธ์œผ๋กœ ๋‚จ์Šต๋‹ˆ๋‹ค. ๋””๋ฐ”์ด์Šค์˜ ์‹ ๋ขฐ ์ €์žฅ์†Œ๋ฅผ ์•ฑ ์ปจํ…Œ์ด๋„ˆ์— ์ „๋‹ฌํ•˜๋Š” 0.21.3 ์ด์ƒ์œผ๋กœ ์—์ด์ „ํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ๋””๋ฐ”์ด์Šค๊ฐ€ ํšŒ์‚ฌ ๋ฃจํŠธ CA๋ฅผ ์‹ ๋ขฐํ•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค(์œ„ ์š”๊ตฌ ์‚ฌํ•ญ 3). ๋””๋ฐ”์ด์Šค์—์„œ docker logs <์ปจํ…Œ์ด๋„ˆ> ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ธ์ฆ์„œ ๊ฒ€์ฆ ์˜ค๋ฅ˜๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „ ์—์ด์ „ํŠธ์—์„œ๋Š” ์•ฑ๋งˆ๋‹ค ๋Œ€์‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฃจํŠธ CA๋ฅผ ์ด๋ฏธ์ง€์— ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๋งˆ์šดํŠธํ•œ ๋’ค ์•ฑ์˜ compose ํŒŒ์ผ์—์„œ SSL_CERT_FILE ์„ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋“œ 3์œผ๋กœ ์ „ํ™˜ํ•œ ๋’ค ๋””๋ฐ”์ด์Šค๊ฐ€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Œ. ์œ„์˜ ๋‹ค์„ฏ ๊ฐ€์ง€ ๋””๋ฐ”์ด์Šค ์š”๊ฑด์„ ์ฐจ๋ก€๋กœ ํ™•์ธํ•˜์„ธ์š”. ๋„๋ฉ”์ธ์ด ๋””๋ฐ”์ด์Šค ๋„คํŠธ์›Œํฌ์—์„œ ํ™•์ธ๋˜์–ด์•ผ ํ•˜๊ณ , ์–ดํ”Œ๋ผ์ด์–ธ์Šค์˜ ํฌํŠธ 443์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ(์ง์ ‘ ๋˜๋Š” ๋””๋ฐ”์ด์Šค์˜ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด), ๋””๋ฐ”์ด์Šค๊ฐ€ ํšŒ์‚ฌ ๋ฃจํŠธ CA๋ฅผ ์‹ ๋ขฐํ•ด์•ผ ํ•˜๊ณ , ์ „ํ™˜ ์ „์— ์„ค์น˜๋œ ์•ฑ์€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํฌํŠธ๊ฐ€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š๊ฒŒ ๋˜๊ธฐ ์ „์— ์—์ด์ „ํŠธ 0.21.3 ๋˜๋Š” ์žฌ๊ฒŒ์‹œ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ๋””๋ฐ”์ด์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ๋จธ์‹ ์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Windows์—์„œ๋Š” C:\ProgramData\IronFlock\DeviceAgent\device-agent.log(Linux์—์„œ๋Š” /var/log/ironflock/device-agent.log)์˜ ์—์ด์ „ํŠธ ๋กœ๊ทธ์— ์ •ํ™•ํ•œ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. DNS ์‹คํŒจ, ์‹œ๊ฐ„ ์ดˆ๊ณผ, ์ธ์ฆ์„œ ๊ฒ€์ฆ ์˜ค๋ฅ˜๋Š” ๊ฐ๊ฐ ์•ž์˜ ์„ธ ์š”๊ฑด ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ๋””๋ฐ”์ด์Šค์˜ ๊ธฐ์กด ์„ธ์…˜์€ ์œ ์ง€๋˜๋Š”๋ฐ ์ƒˆ ์—ฐ๊ฒฐ์—์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๋งˆ์ง€๋ง‰ ์š”๊ฑด์„ ํ™•์ธํ•˜์„ธ์š”.

Last updated on