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 ํ•ด์ฃผ์ž.