๋ฌธ์
string_interpret_escape()๋ฅผ ํธ์ถํ๋ ์ฝ๋๋ ์ค์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์๋ฅผ ์ํ ๋ฒํผ๋ฅผ ํ ๋นํ๊ณ ๋ ธ์ถ๋ ํฌ์ธํฐ๋ ๋ฒํผ ๊ฒฝ๊ณ ์ธ๋ถ ์์ญ์์ ๋๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ ๋ ฅ๋ ๋ฌธ์์ด์ ์ฒ๋ฆฌํ๋ ค๊ณ ํ ๋ ํ ๋น๋ ๋ฒํผ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ์์ญ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์ํฉ์ด ๋ฐ์ํ๋ฉฐ, ์ด์ค์ผ์ดํ๋์ง ์์ ๋ฌธ์์ด์ ์ฐ๋ ค๊ณ ํ๋ฉด ๋ฒํผ์ ๋ฒ์๋ฅผ ๋์ด์ ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ๊ตฌ์ฑ์์๋ ์๋ฒ์ ๋ณด์ ์ฐ๊ฒฐ์ ์ค์ ํ ๋ ํน๋ณํ ์ค๊ณ๋ ๋ฐ์ดํฐ๋ฅผ SNI๋ก ์ ์กํ์ฌ ์ทจ์ฝ์ ์ ์
์ฉํ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ ์ธ์ฆ์ ์ธ์ฆ์ ์ํด ๊ตฌ์ฑ๋ ๊ตฌ์ฑ์์ ํผ์ด๋n ๊ฐ์ ์์ ํ๊ฑฐ๋ ์ธ์ฆ์๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ด ๋ฌธ์ ๋ฅผ ์
์ฉํ ์๋ ์์ต๋๋ค. ์ถ์๋ถํฐ SNI, Peerdn์ ํตํ ๊ณต๊ฒฉ ๊ฐ๋ฅ
Glibc๋ฅผ ์ฌ์ฉํ๋ Linux ์์คํ ์ i386 ๋ฐ amd64 ์ํคํ ์ฒ์์ ์คํ๋๋ SNI๋ฅผ ํตํ ๊ณต๊ฒฉ์ ์ํ ์ต์คํ๋ก์ ํ๋กํ ํ์ ์ด ์ค๋น๋์์ต๋๋ค. ์ด ์ต์คํ๋ก์์ ํ ์์ญ์ ๋ฐ์ดํฐ ์ค๋ฒ๋ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ํ์ผ ์ด๋ฆ์ด ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฎ์ด์ฐ๊ฒ ๋ฉ๋๋ค. ํ์ผ ์ด๋ฆ์ "/../../../../../../../../etc/passwd"๋ก ๋์ฒด๋ฉ๋๋ค. ๋ค์์ผ๋ก ๋ณด๋ธ ์ฌ๋์ ์ฃผ์๊ฐ ํฌํจ๋ ๋ณ์๋ฅผ ๋ฎ์ด์ฐ๊ณ ๋จผ์ ๋ก๊ทธ์ ์ ์ฅ๋๋ฉฐ ์ด๋ฅผ ํตํด ์์คํ ์ ์ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋ฐฐํฌํ์์ ๋ฆด๋ฆฌ์ค๋ ์ทจ์ฝ์ฑ ์์ ์ฌํญ์ด ํฌํจ๋ ํจํค์ง ์
๋ฐ์ดํธ
์ทจ์ฝ์ ์ ์ฐจ๋จํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก TLS ์ง์์ ๋นํ์ฑํํ๊ฑฐ๋ ์ถ๊ฐํ ์ ์์ต๋๋ค.
ACL ์น์
โacl_smtp_mailโ:
๊ฑฐ๋ถ ์กฐ๊ฑด = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
๊ฑฐ๋ถ ์กฐ๊ฑด = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
์ถ์ฒ : opennet.ru