Server/basic

๋„๋ฉ”์ธ์— https ์ ์šฉ - letsEcrypt

 

https ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋ฉด http์˜ ๋ณด์•ˆ ์ทจ์•ฝ์„ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค. 

https ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” SSL ์ด๋ผ๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐ›์•„์•ผํ•œ๋‹ค.

์ด๋ฅผ ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰ํ•ด ์ฃผ๋Š” ์‚ฌ์ดํŠธ๊ฐ€ letsEncrypt ์ด๋‹ค.

๊ฐœ์š”

Letโ€™s Encrypt๋ž€?

Letโ€™s Encrypt๋Š” SSL ์ธ์ฆ์„œ๋ฅผ ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰ํ•ด์ฃผ๋Š” CA(Certificate Authorities)์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ธ€๋กœ๋ฒŒ ๊ธฐ์—…์˜ ํ›„์›์„ ๋ฐ›๊ณ  ์žˆ์œผ๋ฉฐ ๋ชจ์งˆ๋ผ(Mozilla) ์žฌ๋‹จ์—์„œ โ€˜์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ ๊ธฐ๊ด€(Trusted CA)โ€™ ์œผ๋กœ ์ธ์ฆ๋„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฒ ๋ฆฌ์‚ฌ์ธ(VeriSign)์ด๋‚˜ ์ฝ”๋ชจ๋„(Comodo)์™€ ๊ฐ™์€ ์œ ๋ช… ์ธ์ฆ ์—…์ฒด์™€ ๊ฐ™์€ ์‹ ๋ขฐ๋„๋ฅผ ๊ฐ€์ง€๋ฉฐ SSL ์•”ํ˜ธํ™” ๊ธฐ์ˆ  ๋ฐฉ์‹๊ณผ ๋™์ž‘๋„ ์ •ํ™•ํžˆ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ง€ ๋‹ค๋ฅธ ๊ฒƒ์€ ์‚ฌ์ดํŠธ์˜ ์ธ์ฆ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด ์ตœ์ข… ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ์ž๊ฐ€ ํ”ผํ•ด๋ฅผ ์ž…์—ˆ์„ ๊ฒฝ์šฐ ๋ฐฐ์ƒ ์—ฌ๋ถ€๋งŒ ์ฐจ์ด๊ฐ€ ์žˆ์„ ๋ฟ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ถ”๊ฐ€์ž๊ฑฐ์ธ SSL๊ณผ CA์— ๋Œ€ํ•œ ์‰ฝ๊ณ  ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•œ ๊ธ€์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Certbot

Letโ€™s Encrypt์˜ SSL์ธ์ฆ์„œ๋Š” ACME(Automatic Certificate Management Environment) ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•ด ๋ฐœ๊ธ‰์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”๋ฐ Letโ€™s Encyrpt๋Š” Certbot ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด ACME๋ฅผ ์ง€์›ํ•˜๋Š” ๊ธฐํƒ€ ํ”„๋กœ๊ทธ๋žจ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ 2016๋…„ 5์›”๊นŒ์ง€ Certbot์€ letsencrypt ๋‚˜ letsencrypt-auto๋กœ ๋ถˆ๋ ธ์Šต๋‹ˆ๋‹ค.

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

 

[์ถœ์ฒ˜: devlog.jwgo.kr/2019/04/16/what-is-letsencrypt/]

 

 

 

letsencrypt ๋ž€ ssl ์ธ์ฆ์„œ๋ฅผ ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰ํ•ด ์ฃผ๋Š” ๊ธฐ๊ด€! ์ด ๊ธฐ๊ด€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์€ cerbot! ์ด๋ผ๊ณ  ์•Œ์•„ ๋‘์ž!

 

 

LetsEncrypt ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

Let's Encrypt - ๋ฌด๋ฃŒ SSL/TLS ์ธ์ฆ์„œ

 

letsencrypt.org

 

 

 

์‰˜ ์—‘์„ธ์Šค ๊ถŒํ•œ์€ aws ec2 ์—์„œ ssh ํ”„๋กœํ† ์ฝœ ์—ด์–ด๋‘”๊ฒƒ์„ ์˜๋ฏธ ํ•  ๋“ฏ ํ•˜๋‹ค.

 

 

 

 

Certbot

Different Internet services are distinguished by using different TCP port numbers. Unencrypted HTTP normally uses TCP port 80, while encrypted HTTPS normally uses TCP port 443. To use certbot โ€“webroot, certbot โ€“apache, or certbot โ€“nginx, you should h

certbot.eff.org

 

 

cerbot ํŽ˜์ด์ง€๋กœ ๊ฐ€๋ฉด ์„ ํƒ ๋ž€์ด ์žˆ๋‹ค. ๋‚˜๋Š” aws ec2 ์ธ์Šคํ„ด์Šค๋Š” ubuntu AMI ์ด๊ณ  nginx ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•œ ์ƒํƒœ ์ด๋ฏ€๋กœ nignx ์™€ ubuntu 20.04 ๋ฅผ ์„ ํƒ ํ•˜๊ฒ ๋‹ค.

 

ssh ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ ์—ด์–ด ๋‘์—ˆ๊ณ ,

snapd ๋ผ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ ํ•˜๋ผ๊ณ  ํ•œ๋‹ค. snap ์€ ์šฐ๋ถ„ํˆฌ์—์„œ ๋‚˜์˜จ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ์ด๋‹ค. ๊ธฐ์กด ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์˜์กด์„ฑ ๋ผ์ด๋ธŒ ๋Ÿฌ๋ฆฌ๋ฅผ ๋ชจ๋‘ ํ•จ๊ป˜ ์„ค์น˜ํ•˜์—ฌ ์ค€๋‹ค.

 

snap ํ…Œ์ŠคํŠธ

 

 

4๋ฒˆ์€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋กœ ์„ค์น˜ํ•œ ๊ธฐ์กด cerbot์„ ์ง€์šฐ๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๊ฑฐ ์—†์œผ๋‹ˆ ๊ฑด๋„ˆ๋›ด๋‹ค.

 

 

7๋ฒˆ์„ ํ•˜๊ธฐ ์ „์— nignx ๋ฅผ ์ž ์‹œ ์Šคํƒ‘ํ•ด๋‘์ž. sudo service nginx stop

-email ์„ ๋ฌผ์–ด๋ณธ๋‹ค

-์„œ๋น„์Šค ๋™์˜๋ฅผ ๋ฌผ์–ด๋ณธ๋‹ค -> yes

-letsencrypt ์—์„œ ์ด๋ฉ”์ผ ์ˆ˜์‹  ๋™์˜๋ฅผ ๋ฌผ์–ด๋ณธ๋‹ค -> ๋‚œ no ํ–‡๋‹ค.

-domain name ์„ค์ •์„ ๋ฌผ์–ด๋ณธ๋‹ค -> ์ž์‹ ์˜ ๋„๋ฉ”์ธ์„ ์ ๋Š”๋‹ค.

 

์„ค์น˜๊ฐ€ ์™„๋ฃŒ ๋ซ์„ ๊ฒƒ์ด๋‹ค.

 

 

 

 

- aws ec2 ํ•ด๋‹น ํ˜ธ์ŠคํŠธ ์˜์—ญ์— ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€ ์ƒ์„ฑ

 

์œ ํ˜•์€ CAA ๋กœ ํ•˜๊ณ  ๊ฐ’์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋„ฃ์–ด์„œ ๋งŒ๋“ ๋‹ค. www๋ฅผ ํฌํ•จํ•œ ๋ ˆ์ฝ”๋“œ ๋˜ํ•œ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

 

 

 

- ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

 

HTTPS ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

 

 

์ด์ œ ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•˜๊ณ  ๋“ค์–ด๊ฐ€๋ฉด https ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋˜๋ฉด์„œ ์ž˜ ๋  ๊ฒƒ์ด๋‹ค.

๋งŒ์ผ ์•ˆ๋  ์‹œ์—๋Š” ๋ฐฉํ™•๋ฒฝ์„ ํ™•์ธํ•˜์ž.

Nginx Full, OpenSSH ๋ฅผ allow ํ•ด์ฃผ์ž.