Zimbra OSE์—์„œ SNI๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

21์„ธ๊ธฐ ์ดˆ์—๋Š” IPv4 ์ฃผ์†Œ์™€ ๊ฐ™์€ ์ž์›์ด ๊ณ ๊ฐˆ ์œ„๊ธฐ์— ์ฒ˜ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. 2011๋…„์— IANA๋Š” ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๋งˆ์ง€๋ง‰ 8๊ฐœ ๋‚จ์€ /2017 ๋ธ”๋ก์„ ์ง€์—ญ ์ธํ„ฐ๋„ท ๋“ฑ๋ก ๊ธฐ๊ด€์— ํ• ๋‹นํ–ˆ์ง€๋งŒ ์ด๋ฏธ 4๋…„์— ์ฃผ์†Œ๊ฐ€ ๋ถ€์กฑํ–ˆ์Šต๋‹ˆ๋‹ค. IPv6 ์ฃผ์†Œ์˜ ์น˜๋ช…์ ์ธ ๋ถ€์กฑ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์€ IPv4 ํ”„๋กœํ† ์ฝœ์˜ ์ถœํ˜„๋ฟ ์•„๋‹ˆ๋ผ ๋‹จ์ผ IPv4 ์ฃผ์†Œ์—์„œ ์—„์ฒญ๋‚œ ์ˆ˜์˜ ์›น์‚ฌ์ดํŠธ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” SNI ๊ธฐ์ˆ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. SNI์˜ ํ•ต์‹ฌ์€ ์ด ํ™•์žฅ์„ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ธ๋“œ์…ฐ์ดํฌ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์—ฐ๊ฒฐํ•˜๋ ค๋Š” ์‚ฌ์ดํŠธ์˜ ์ด๋ฆ„์„ ์„œ๋ฒ„์— ์•Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋Š” ์—ฌ๋Ÿฌ ์ธ์ฆ์„œ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์ด ํ•˜๋‚˜์˜ IP ์ฃผ์†Œ์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. SNI ๊ธฐ์ˆ ์€ ํ•„์š”ํ•œ IPvXNUMX ์ฃผ์†Œ ์ˆ˜์— ๊ด€๊ณ„์—†์ด ๊ฑฐ์˜ ๋ฌด์ œํ•œ์˜ ๋„๋ฉ”์ธ์„ ํ˜ธ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ๊ฐ€์ง„ ๋น„์ฆˆ๋‹ˆ์Šค SaaS ์ œ๊ณต์—…์ฒด ์‚ฌ์ด์—์„œ ํŠนํžˆ ์ธ๊ธฐ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. Zimbra Collaboration Suite Open-Source Edition์—์„œ SNI ์ง€์›์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Zimbra OSE์—์„œ SNI๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

SNI๋Š” ํ˜„์žฌ ์ง€์›๋˜๋Š” ๋ชจ๋“  ๋ฒ„์ „์˜ Zimbra OSE์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์„œ๋ฒ„ ์ธํ”„๋ผ์—์„œ Zimbra ์˜คํ”ˆ ์†Œ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ Zimbra ํ”„๋ก์‹œ ์„œ๋ฒ„๊ฐ€ ์„ค์น˜๋œ ๋…ธ๋“œ์—์„œ ์•„๋ž˜์˜ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ IPv4 ์ฃผ์†Œ์—์„œ ํ˜ธ์ŠคํŒ…ํ•˜๋ ค๋Š” ๊ฐ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด CA์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ์„œ ์ฒด์ธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ์น˜ํ•˜๋Š” ์ธ์ฆ์„œ+ํ‚ค ์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Zimbra OSE์—์„œ SNI๋ฅผ ์„ค์ •ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์˜ค๋ฅ˜ ์›์ธ์€ ์ •ํ™•ํžˆ ์ธ์ฆ์„œ๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์ด ์ž˜๋ชป๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ง์ ‘ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ๋ชจ๋“  ์‚ฌํ•ญ์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋จผ์ € SNI๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. zmprov mcf zimbraReverseProxySNIEnabled TRUE Zimbra ํ”„๋ก์‹œ ๋…ธ๋“œ์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ก์‹œ ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. zmproxyctl ๋‹ค์‹œ ์‹œ์ž‘.

๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. company.ru ๋„๋ฉ”์ธ์ด ์ด๋ฏธ ์ƒ์„ฑ๋œ ํ›„ Zimbra ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„๊ณผ ๊ฐ€์ƒ IP ์ฃผ์†Œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. Zimbra ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋„๋ฉ”์ธ์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•˜๋ฉฐ, ์ธ์ฆ์„œ์— ์ง€์ •๋œ ์ด๋ฆ„๊ณผ๋„ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Zimbra๋ฅผ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. mail.company.ru, ๊ฐ€์ƒ IPv4 ์ฃผ์†Œ๋กœ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 1.2.3.4.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. zmprov md company.ru zimbraVirtualHostName mail.company.ru zimbraVirtualIPAddress 1.2.3.4Zimbra ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ€์ƒ IP ์ฃผ์†Œ์— ๋ฐ”์ธ๋”ฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ NAT ๋˜๋Š” ๋ฐฉํ™”๋ฒฝ ๋’ค์— ์žˆ๋Š” ๊ฒฝ์šฐ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์š”์ฒญ์ด ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์˜ ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ ์ด์™€ ์—ฐ๊ฒฐ๋œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋กœ ์ด๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด ์„ค์น˜ํ•  ๋„๋ฉ”์ธ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ค€๋น„ํ•œ ํ›„ ์„ค์น˜ํ•˜๋Š” ์ž‘์—…๋งŒ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์™„๋ฃŒ๋˜๋ฉด ์ธ์ฆ์„œ๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ XNUMX๊ฐœ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ XNUMX๊ฐœ๋Š” ์ธ์ฆ ๊ธฐ๊ด€์˜ ์ธ์ฆ์„œ ์ฒด์ธ์ด๊ณ  ํ•˜๋‚˜๋Š” ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ง์ ‘ ์ธ์ฆ์„œ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ธ์ฆ์„œ๋ฅผ ์–ป๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ํ‚ค๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ํด๋” ๋งŒ๋“ค๊ธฐ /tmp/company.ru ํ‚ค์™€ ์ธ์ฆ์„œ๊ฐ€ ํฌํ•จ๋œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํŒŒ์ผ์„ ์—ฌ๊ธฐ์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ls /tmp/company.ru
company.ru.key
 company.ru.crt
 company.ru.root.crt
 company.ru.intermediate.crt

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ ์ฒด์ธ์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ณ ์–‘์ด ํšŒ์‚ฌ.ru.root.crt ํšŒ์‚ฌ.ru.intermediate.crt >> ํšŒ์‚ฌ.ru_ca.crt ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ์™€ ๋ชจ๋“  ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. /opt/zimbra/bin/zmcertmgr verifycrt ํ†ต์‹  /tmp/company.ru/company.ru.key /tmp/company.ru/company.ru.crt /tmp/company.ru/company.ru_ca.crt. ์ธ์ฆ์„œ์™€ ํ‚ค ํ™•์ธ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ์„ค์น˜๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋จผ์ € ์ธ์ฆ ๊ธฐ๊ด€์˜ ๋„๋ฉ”์ธ ์ธ์ฆ์„œ์™€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ฒด์ธ์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•˜๋‚˜์˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์–‘์ด ํšŒ์‚ฌ.ru.crt ํšŒ์‚ฌ.ru_ca.crt >> ํšŒ์‚ฌ.ru.๋ฒˆ๋“ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ชจ๋“  ์ธ์ฆ์„œ์™€ ํ‚ค๋ฅผ LDAP์— ๊ธฐ๋กํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค. /opt/zimbra/libexec/zmdomaincertmgr ๋ฐฐํฌcrts. ์„ค์น˜ ํ›„์—๋Š” company.ru ๋„๋ฉ”์ธ์˜ ์ธ์ฆ์„œ์™€ ํ‚ค๊ฐ€ ํด๋”์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. /opt/zimbra/conf/domaincerts/company.ru

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

Zextras Suite์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์งˆ๋ฌธ์€ Zextras Ekaterina Triandafilidi ๋Œ€ํ‘œ์—๊ฒŒ ์ด๋ฉ”์ผ๋กœ ๋ฌธ์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ด๋ฉ”์ผ ๋ณดํ˜ธ]

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€