์ž๋™ํ™”๋œ SSL ๋ฐœ๊ธ‰์„ ํ–ฅํ•ด

SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฝค ๋งŽ์Šต๋‹ˆ๋‹ค. (๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์ ์šฉ๋˜๋Š”) ์ธ์ฆ์„œ๋ฅผ ๋งŒ๋“ค๊ณ  ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๊ณต๊ธ‰์—…์ฒด(SSL์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ)๋ฅผ ์ฐพ์œผ์„ธ์š”.
  • CSR์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๊ท€ํ•˜์˜ ๊ณต๊ธ‰์—…์ฒด์— ๋ณด๋‚ด์„ธ์š”.
  • ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ์„ ํ™•์ธํ•˜์„ธ์š”.
  • ์ฆ๋ช…์„œ๋ฅผ ๋ฐ›์œผ์„ธ์š”.
  • ์ธ์ฆ์„œ๋ฅผ ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค(์„ ํƒ ์‚ฌํ•ญ). ์˜ˆ๋ฅผ ๋“ค์–ด, pem ํŒŒ์ผ์„ PKCS #12 ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์›น ์„œ๋ฒ„์— ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

๋น„๊ต์  ๋น ๋ฅด๊ณ  ๋ณต์žกํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ตœ๋Œ€ 10๊ฐœ์ผ ๋•Œ ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ ์ˆ˜๊ฐ€ ๋” ๋งŽ๊ณ  ์ตœ์†Œ ์„ธ ๊ฐœ์˜ ํ™˜๊ฒฝ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์–ด๋–จ๊นŒ์š”? ํด๋ž˜์‹ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ - ์Šคํ…Œ์ด์ง• ํ™˜๊ฒฝ - ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ. ์ด ๊ฒฝ์šฐ ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด ๋ณผ ๋งŒํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ข€ ๋” ๊นŠ์ด ํŒŒ๊ณ ๋“ค์–ด ์ธ์ฆ์„œ ์ƒ์„ฑ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์„ ๋”์šฑ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ถ„์„๊ณผ ๋ฐ˜๋ณต ์ž‘์—…์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐ€์ด๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €ํฌ ํšŒ์‚ฌ์˜ ์ฃผ์š” ์ „๋ฌธ ๋ถ„์•ผ๋Š” .NET์ด๋ฉฐ, ๋”ฐ๋ผ์„œ IIS ๋ฐ ๊ธฐํƒ€ Windows ๊ด€๋ จ ๋ถ„์•ผ๋„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ACME ํด๋ผ์ด์–ธํŠธ์™€ ๊ทธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ž‘์—…๋„ Windows ์‚ฌ์šฉ ๊ด€์ ์—์„œ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ˆ„๊ตฌ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๋ช‡ ๊ฐ€์ง€ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ

์ž‘์„ฑ์ž๊ฐ€ ๋Œ€ํ‘œํ•˜๋Š” ํšŒ์‚ฌ K. URL(์˜ˆ์‹œ): company.tld

ํ”„๋กœ์ ํŠธ X๋Š” ์ €ํฌ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ์ธ์ฆ์„œ ์ž‘์—… ์‹œ ์ตœ๋Œ€ํ•œ์˜ ์‹œ๊ฐ„ ์ ˆ์•ฝ์„ ๋ชฉํ‘œ๋กœ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ์Šคํ…Œ์ด์ง•, ์šด์˜, ์ด๋ ‡๊ฒŒ ๋„ค ๊ฐ€์ง€ ํ™˜๊ฒฝ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์€ ์ €ํฌ ์ธก์—์„œ, ์Šคํ…Œ์ด์ง• ๋ฐ ์šด์˜ ํ™˜๊ฒฝ์€ ๊ณ ๊ฐ ์ธก์—์„œ ๊ฐ๊ฐ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ์˜ ํŠน์ง•์€ ํ•˜์œ„ ๋„๋ฉ”์ธ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ์˜ ์ˆ˜๊ฐ€ ๋งŽ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทธ๋ฆผ์„ ์–ป์Šต๋‹ˆ๋‹ค.

๋ฐ๋ธŒ
Test
์ค€๋น„
์ƒ์‚ฐ

projectX.dev.company.tld
ํ”„๋กœ์ ํŠธX.ํ…Œ์ŠคํŠธ.ํšŒ์‚ฌ.tld
์Šคํ…Œ์ด์ง•.ํ”„๋กœ์ ํŠธX.tld
ํ”„๋กœ์ ํŠธX.tld

๋ชจ๋“ˆ1.ํ”„๋กœ์ ํŠธX.dev.ํšŒ์‚ฌ.tld
๋ชจ๋“ˆ1.ํ”„๋กœ์ ํŠธX.ํ…Œ์ŠคํŠธ.ํšŒ์‚ฌ.tld
๋ชจ๋“ˆ1.์Šคํ…Œ์ด์ง•.ํ”„๋กœ์ ํŠธX.tld
๋ชจ๋“ˆ1.ํ”„๋กœ์ ํŠธX.tld

๋ชจ๋“ˆ2.ํ”„๋กœ์ ํŠธX.dev.ํšŒ์‚ฌ.tld
๋ชจ๋“ˆ2.ํ”„๋กœ์ ํŠธX.ํ…Œ์ŠคํŠธ.ํšŒ์‚ฌ.tld
๋ชจ๋“ˆ2.์Šคํ…Œ์ด์ง•.ํ”„๋กœ์ ํŠธX.tld
๋ชจ๋“ˆ2.ํ”„๋กœ์ ํŠธX.tld

...
...
...
...

๋ชจ๋“ˆN.projectX.dev.company.tld
๋ชจ๋“ˆN.projectX.test.company.tld
๋ชจ๋“ˆN.์Šคํ…Œ์ด์ง•.ํ”„๋กœ์ ํŠธX.tld
๋ชจ๋“ˆN.projectX.tld

ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ตฌ๋งคํ•œ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์—๋Š” ์˜๋ฌธ์˜ ์—ฌ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ธ์ฆ์„œ๋Š” ํ•˜์œ„ ๋„๋ฉ”์ธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ ˆ๋ฒจ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ *.projectX.tld์— ๋Œ€ํ•œ ์ธ์ฆ์„œ๊ฐ€ ์žˆ๋‹ค๋ฉด staging.projectX.tld์—๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ, module1.staging.projectX.tld์—๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €๋Š” ๋ณ„๋„๋กœ ์ธ์ฆ์„œ๋ฅผ ๊ตฌ๋งคํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋Š” ํ•œ ํšŒ์‚ฌ์˜ ํ•œ ํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์œ ์ผํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ๋ชจ๋‘๊ฐ€ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๋ ค๋Š” ๊ณตํ†ต์ ์ธ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋น„๊ต์  ์ตœ๊ทผ์— ๊ตฌ๊ธ€, SSL ์ธ์ฆ์„œ ์ตœ๋Œ€ ์œ ํšจ ๊ธฐ๊ฐ„ ๋‹จ์ถ• ์ œ์•ˆ. ๋ชจ๋“  ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ˆ˜ํ•˜๋ฉด์„œ์š”.
  • ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€ ๋ฐ ํšŒ์‚ฌ ์ „์ฒด์˜ ์š”๊ตฌ์— ๋งž์ถฐ SSL์„ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์œ ์ง€ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์›ํ™œํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
  • ์ธ์ฆ์„œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ค‘์•™์—์„œ ์ €์žฅํ•˜๋ฉด DNS๋ฅผ ์ด์šฉํ•œ ๋„๋ฉ”์ธ ํ™•์ธ ๋ฐ ์ž๋™ ๊ฐฑ์‹  ๋ฌธ์ œ๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ์‹ ๋ขฐ ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŒŒํŠธ๋„ˆ/์‹คํ–‰์ž ํšŒ์‚ฌ ์„œ๋ฒ„์— ๋Œ€ํ•œ CNAME์€ ํƒ€์‚ฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ CNAME๋ณด๋‹ค ๋” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธ€์Ž„์š”, ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด ๊ฒฝ์šฐ์—๋Š” "๊ฐ€์ง„ ๊ฒŒ ์—†๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ซ๋‹ค"๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ๋“ค์–ด๋งž์Šต๋‹ˆ๋‹ค.

SSL ๊ณต๊ธ‰์ž ์„ ํƒ ๋ฐ ์ค€๋น„ ๋‹จ๊ณ„

๋ฌด๋ฃŒ SSL ์ธ์ฆ์„œ ์˜ต์…˜ ์ค‘ Cloudflare์™€ Letsencrypt๊ฐ€ ๊ณ ๋ ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ(๋ฐ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋“ค)์˜ DNS๋Š” Cloudflare์— ์žˆ์ง€๋งŒ, ์ €๋Š” Cloudflare ์ธ์ฆ์„œ ์‚ฌ์šฉ์„ ์ง€์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Letsencrypt๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
์™€์ผ๋“œ์นด๋“œ SSL ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ์—๋Š” DNS ๋ ˆ์ฝ”๋“œ(TXT ๋˜๋Š” CNAME)๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์‹œ ์ด๋ฅผ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Linux ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค - certbot์ด๋ฅผ ํ†ตํ•ด ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ (์ผ๋ถ€ DNS ์ œ๊ณต์—…์ฒด์˜ ๊ฒฝ์šฐ ์™„์ „ํžˆ) ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Windows ๊ฐ™์€ ๊ฒƒ ๋ฐœ๊ฒฌํ•˜๊ณ  ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค ACME ํด๋ผ์ด์–ธํŠธ ์˜ต์…˜ ์ค‘์—์„œ ๋‚˜๋Š” ๋‹ค์Œ์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์œˆACME.

๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ธ์ฆ์„œ ์ƒ์„ฑ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž๋™ํ™”๋œ SSL ๋ฐœ๊ธ‰์„ ํ–ฅํ•ด

์šฐ๋ฆฌ๋Š” ๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ, ์ฆ‰ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์„ ์œ„ํ•œ ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ ํ™•์ธ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์˜ต์…˜์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑ(์ž๋™ ์—…๋ฐ์ดํŠธ๋Š” ์ง€์›๋˜์ง€ ์•Š์Œ)
  2. acme-dns ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ๋ ˆ์ฝ”๋“œ ๋งŒ๋“ค๊ธฐ(์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ์Œ) ์—ฌ๊ธฐ์—.
  3. ์ž์‹ ์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(Certbot์šฉ Cloudflare ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์œ ์‚ฌ).

์–ธ๋œป ๋ณด๊ธฐ์—๋Š” ์„ธ ๋ฒˆ์งธ ํ•ญ๋ชฉ์ด ๋งค์šฐ ์ ํ•ฉํ•ด ๋ณด์ด์ง€๋งŒ, DNS ์ œ๊ณต์—…์ฒด๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋Š” CNAME ๋ ˆ์ฝ”๋“œ์ด๋ฉฐ, ๋ชจ๋‘๊ฐ€ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‘ ๋ฒˆ์งธ ํ•ญ๋ชฉ์—์„œ ๋ฉˆ์ถ”๊ณ  ACME-DNS ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ACME DNS ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰

์˜ˆ๋ฅผ ๋“ค์–ด, ์ €๋Š” 2nd.pp.ua ๋„๋ฉ”์ธ์„ ๋งŒ๋“ค์—ˆ๊ณ , ์•ž์œผ๋กœ๋„ ๊ณ„์† ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

ํ•„์ˆ˜ ์š”๊ตฌ ์‚ฌํ•ญ ์„œ๋ฒ„๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ NS ๋ ˆ์ฝ”๋“œ์™€ A ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ฒ˜์Œ ๋ถˆํŽธํ•˜๊ฒŒ ๋А๋‚€ ์ ์€ Cloudflare(์ ์–ด๋„ ๋ฌด๋ฃŒ ์‚ฌ์šฉ ๋ชจ๋“œ์—์„œ๋Š”)๊ฐ€ ๋™์ผํ•œ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด NS ๋ ˆ์ฝ”๋“œ์™€ A ๋ ˆ์ฝ”๋“œ๋ฅผ ๋™์‹œ์— ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, bind์—์„œ๋Š” ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ง€์›ํŒ€์€ ํŒจ๋„์—์„œ ์ด๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋‹ต๋ณ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์—†์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

acmens.2nd.pp.ua. IN A 35.237.128.147
acme.2nd.pp.ua. IN NS acmens.2nd.pp.ua.

์ด ์‹œ์ ์—์„œ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•ด๊ฒฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. acmens.2nd.pp.ua.

$ ping acmens.2nd.pp.ua
PING acmens.2nd.pp.ua (35.237.128.147) 56(84) bytes of data

ํ•˜์ง€๋งŒ acme.2nd.pp.ua ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” DNS ์„œ๋ฒ„๊ฐ€ ์•„์ง ์‹œ์ž‘๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์œผ๋‹ˆ ์ด์ œ ACME-DNS ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์‹คํ–‰์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋‹ค์Œ ์œ„์น˜์— ์„œ๋ฒ„๋ฅผ ํ˜ธ์ŠคํŒ…ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ubuntu ์„œ๋ฒ„ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋˜์ง€๋งŒ, Go ์–ธ์–ด๊ฐ€ ์„ค์น˜๋œ ๊ณณ์ด๋ผ๋ฉด ์–ด๋””์—์„œ๋“  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Windows ์ด๊ฒƒ๋„ ๊ฝค ๊ดœ์ฐฎ์ง€๋งŒ, ์ €๋Š” ์—ฌ์ „ํžˆ ๋” ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. Linux ์„œ๋ฒ„.

ํ•„์š”ํ•œ ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

$ mkdir config
$ mkdir data
$ touch config/config.cfg

์ข‹์•„ํ•˜๋Š” ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์ธ vim์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ˜ํ”Œ์„ config.cfg์— ๋ถ™์—ฌ๋„ฃ์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ.

์„ฑ๊ณต์ ์ธ ์ž‘์—…์„ ์œ„ํ•ด์„œ๋Š” ์ผ๋ฐ˜ ๋ฐ API ์„น์…˜์„ ์ˆ˜์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

[general]
listen = "0.0.0.0:53"
protocol = "both"
domain = "acme.2nd.pp.ua"
nsname = "acmens.2nd.pp.ua" 
nsadmin = "admin.2nd.pp.ua" 
records = 
    "acme.2nd.pp.ua. A 35.237.128.147",
    "acme.2nd.pp.ua. NS acmens.2nd.pp.ua.",                                                                                                                                                                                                  ]
...
[api]
...
tls = "letsencrypt"
โ€ฆ

๋˜ํ•œ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์„œ๋น„์Šค ๋””๋ ‰ํ† ๋ฆฌ์— docker-compose ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

version: '3.7'
services:
  acmedns:
    image: joohoi/acme-dns:latest
    ports:
      - "443:443"
      - "53:53"
      - "53:53/udp"
      - "80:80"
    volumes:
      - ./config:/etc/acme-dns:ro
      - ./data:/var/lib/acme-dns

์™„๋ฃŒ. ๋ฐœ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker-compose up -d

์ด ์‹œ์ ์—์„œ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ™•์ธ์„ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. acme.2nd.pp.ua, ๊ทธ๋ฆฌ๊ณ  404๊ฐ€ ๋‚˜ํƒ€๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค https://acme.2nd.pp.ua

$ ping acme.2nd.pp.ua
PING acme.2nd.pp.ua (35.237.128.147) 56(84) bytes of data.

$ curl https://acme.2nd.pp.ua
404 page not found

์ด๊ฒƒ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉด - docker logs -f <container_name> ๋‹คํ–‰ํžˆ๋„ ๋กœ๊ทธ๋Š” ์ฝ๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์ธ์ฆ์„œ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PowerShell์„ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  winacme๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”. ๋‹ค์Œ ์„ ํƒ ์‚ฌํ•ญ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • M: ์ƒˆ ์ธ์ฆ์„œ ๋งŒ๋“ค๊ธฐ(์ „์ฒด ์˜ต์…˜)
  • 2: ์ˆ˜๋™ ์ž…๋ ฅ
  • 2: [dns-01] acme-dns๋กœ ๊ฒ€์ฆ ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ(https://github.com/joohoi/acme-dns)
  • ACME-DNS ์„œ๋ฒ„ ๋งํฌ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์ƒ์„ฑ๋œ ์„œ๋ฒ„์˜ URL(https)์„ ์‘๋‹ต์œผ๋กœ ์ž…๋ ฅํ•˜์„ธ์š”. acme-dns ์„œ๋ฒ„์˜ URL: https://acme.2nd.pp.ua

์ด์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ๊ธฐ์กด DNS ์„œ๋ฒ„์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค(ํ•œ ๋ฒˆ๋งŒ ์ˆ˜ํ–‰๋˜๋Š” ์ ˆ์ฐจ).

[INFO] Creating new acme-dns registration for domain 1nd.pp.ua

Domain:              1nd.pp.ua
Record:               _acme-challenge.1nd.pp.ua
Type:                   CNAME
Content:              c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.
Note:                   Some DNS control panels add the final dot automatically.
                           Only one is required.

์ž๋™ํ™”๋œ SSL ๋ฐœ๊ธ‰์„ ํ–ฅํ•ด

์šฐ๋ฆฌ๋Š” ํ•„์š”ํ•œ ๊ธฐ๋ก์„ ๋งŒ๋“ค๊ณ  ๊ทธ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด์กŒ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ํ™”๋œ SSL ๋ฐœ๊ธ‰์„ ํ–ฅํ•ด

$ dig CNAME _acme-challenge.1nd.pp.ua +short
c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.

winacme์— ํ•„์š”ํ•œ ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ธ์ฆ์„œ ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ํ™”๋œ SSL ๋ฐœ๊ธ‰์„ ํ–ฅํ•ด

certbot์„ ํด๋ผ์ด์–ธํŠธ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

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

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster