Microsoft๋ ํด๋ผ์ฐ๋ ์ธํ๋ผ, ์ฃ์ง ์์คํ ๋ฐ ๋ค์ํ Microsoft ์๋น์ค์์ ์ฌ์ฉ๋๋ Linux ํ๊ฒฝ์ ์ํ ๋ฒ์ฉ ๊ธฐ๋ณธ ํ๋ซํผ์ผ๋ก ๊ฐ๋ฐ๋๊ณ ์๋ ๋ฐฐํฌ ํคํธ CBL-Mariner 2.0.20221029(Common Base Linux Mariner)์ ๋ํ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐํํ์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ Microsoft์์ ์ฌ์ฉ๋๋ Linux ์๋ฃจ์ ์ ํตํฉํ๊ณ ๋ค์ํ ๋ชฉ์ ์ ์ํด Linux ์์คํ ์ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋จ์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ํ๋ก์ ํธ์ ๊ฐ๋ฐ์ MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. aarch64 ๋ฐ x86_64 ์ํคํ ์ฒ์ฉ ํจํค์ง๊ฐ ์์ฑ๋ฉ๋๋ค. x1.1_86 ์ํคํ ์ฒ์ฉ์ผ๋ก ์ค๋น๋ ๋ถํ ๊ฐ๋ฅํ ISO ์ด๋ฏธ์ง(64GB)
์ ๋ฒ์ ์์:
- Linux ์ปค๋ 5.15.74, PHP 8.1.11, nodejs 16.17.1, cassandra 4.0.7, dbus 1.15.2, expat 2.5.0, mysql 8.0.31, terraform 1.32.2, tidy์ ์ ์๋ ๋ฆด๋ฆฌ์ค๋ฅผ ํฌํจํ์ฌ ์ ๋ฐ์ดํธ๋ ํจํค์ง ๋ฒ์ 5.8.0, ์์ด์ด์คํฌ 3.4.16, nginx 1.22.1.
- ์๋ก์ด ํจํค์ง cairomm 1.12.0, cpptest 1.1.2, k-exec-tools, kernel-drivers-gpu, libcroco 0.6.13, python-google-auth-oauthlib, sgx-backwards-compatability๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- TCP ํผ์ก ์ ์ด ์๊ณ ๋ฆฌ์ฆ(TCP ํผ์ก)์ ๋ณ๊ฒฝํ๊ธฐ ์ํ ๋ชจ๋์ด ํฌํจ๋์ด ์์ต๋๋ค.
- ์ทจ์ฝ์ ์์ ์ฌํญ์ด libtar, unbound, aspell, libtiff, redis, livepatch, libtasn1, PHP, nodejs, dbus, expat, mod_wsgi, Wireshark, nginx, mysql, terraform ํจํค์ง๋ก ์ด๋๋์์ต๋๋ค.
CBL-Mariner ๋ฐฐํฌํ์ ํด๋ผ์ฐ๋ ์ธํ๋ผ ๋ฐ ์ฃ์ง ์ฅ์น์์ ์คํ๋๋ ์ปจํ ์ด๋, ํธ์คํธ ํ๊ฒฝ ๋ฐ ์๋น์ค์ ์ฝํ ์ธ ๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋ณดํธ์ ์ธ ๊ธฐ๋ฐ ์ญํ ์ ํ๋ ์์ ํ์ค ๊ธฐ๋ณธ ํจํค์ง ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. CBL-Mariner ์์ ์ถ๊ฐ ํจํค์ง๋ฅผ ์ถ๊ฐํ๋ฉด ๋ ๋ณต์กํ๊ณ ์ ๋ฌธ์ ์ธ ์๋ฃจ์ ์ ๋ง๋ค ์ ์์ง๋ง ์ด๋ฌํ ๋ชจ๋ ์์คํ ์ ๊ธฐ๋ณธ์ ๋์ผํ๊ฒ ์ ์ง๋๋ฏ๋ก ์ ์ง ๊ด๋ฆฌ ๋ฐ ์ ๋ฐ์ดํธ๊ฐ ๋ ์ฝ์ต๋๋ค. ์๋ฅผ ๋ค์ด CBL-Mariner๋ WSL2(Linux์ฉ Windows ํ์ ์์คํ ) ํ์ ์์คํ ๊ธฐ๋ฐ ํ๊ฒฝ์์ Linux GUI ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ๊ทธ๋ํฝ ์คํ ๊ตฌ์ฑ ์์๋ฅผ ์ ๊ณตํ๋ WSLg ๋ฏธ๋ ๋ฐฐํฌํ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. WSLg์ ํ์ฅ๋ ๊ธฐ๋ฅ์ Weston Composite Server, XWayland, PulseAudio ๋ฐ FreeRDP์ ์ถ๊ฐ ํจํค์ง๋ฅผ ํฌํจํจ์ผ๋ก์จ ์คํ๋ฉ๋๋ค.
CBL-Mariner ๋น๋ ์์คํ ์ ์ฌ์ฉํ๋ฉด SPEC ํ์ผ๊ณผ ์์ค ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฐ๋ณ RPM ํจํค์ง๋ฟ๋ง ์๋๋ผ rpm-ostree ํดํท์ ์ฌ์ฉํ์ฌ ์์ฑ๋๊ณ ๋ณ๋์ ํจํค์ง๋ก ๋ถํ ํ์ง ์๊ณ ์์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๋ ๋ชจ๋๋ฆฌ์ ์์คํ ์ด๋ฏธ์ง๋ฅผ ๋ชจ๋ ์์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฐ๋ณ ํจํค์ง ์ ๋ฐ์ดํธ์ ์ ์ฒด ์์คํ ์ด๋ฏธ์ง ์ฌ๊ตฌ์ถ ๋ฐ ์ ๋ฐ์ดํธ๋ผ๋ ๋ ๊ฐ์ง ์ ๋ฐ์ดํธ ์ ๋ฌ ๋ชจ๋ธ์ด ์ง์๋ฉ๋๋ค. ๊ตฌ์ฑ ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฒด ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ฝ 3000๊ฐ์ ์ฌ์ ๋น๋๋ RPM ํจํค์ง ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐฐํฌํ์๋ ๊ฐ์ฅ ํ์ํ ๊ตฌ์ฑ ์์๋ง ํฌํจ๋์ด ์์ผ๋ฉฐ ์ต์ํ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ๋์คํฌ ๊ณต๊ฐ ์๋น์ ๋์ ๋ก๋ฉ ์๋์ ์ต์ ํ๋์ด ์์ต๋๋ค. ์ด ๋ฐฐํฌํ์๋ ๋ณด์์ ๊ฐํํ๊ธฐ ์ํ ๋ค์ํ ์ถ๊ฐ ๋ฉ์ปค๋์ฆ์ด ํฌํจ๋ ์ ๋ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. ์ด ํ๋ก์ ํธ๋ "๊ธฐ๋ณธ์ ์ผ๋ก ์ต๋ ๋ณด์" ์ ๊ทผ ๋ฐฉ์์ ์ทจํฉ๋๋ค. seccomp ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ์์คํ ํธ์ถ์ ํํฐ๋งํ๊ณ , ๋์คํฌ ํํฐ์ ์ ์ํธํํ๊ณ , ๋์งํธ ์๋ช ์ ์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
Linux ์ปค๋์์ ์ง์๋๋ ์ฃผ์ ๊ณต๊ฐ ๋ฌด์์ํ ๋ชจ๋๋ ๋ฌผ๋ก ์ฌ๋ณผ๋ฆญ ๋งํฌ ๊ณต๊ฒฉ, mmap, /dev/mem ๋ฐ /dev/kmem์ ๋ํ ๋ณดํธ ๋ฉ์ปค๋์ฆ๋ ํ์ฑํ๋ฉ๋๋ค. ์ปค๋ ๋ฐ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ์ธ๊ทธ๋จผํธ๊ฐ ํฌํจ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋๋ก ์ค์ ๋๊ณ ์ฝ๋ ์คํ์ด ๊ธ์ง๋ฉ๋๋ค. ์ ํ์ ์ต์ ์ ์์คํ ์ด๊ธฐํ ํ ์ปค๋ ๋ชจ๋ ๋ก๋๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ์ ๋๋ค. iptables ํดํท์ ๋คํธ์ํฌ ํจํท์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋น๋ ๋จ๊ณ์์๋ ์คํ ์ค๋ฒํ๋ก, ๋ฒํผ ์ค๋ฒํ๋ก ๋ฐ ๋ฌธ์์ด ํ์ ๋ฌธ์ ์ ๋ํ ๋ณดํธ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค(_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
์์คํ
๊ด๋ฆฌ์ systemd๋ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ถํ
ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํจํค์ง ๊ด๋ฆฌ๋ฅผ ์ํด RPM ๋ฐ DNF ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์ ๊ณต๋ฉ๋๋ค. SSH ์๋ฒ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ง ์์ต๋๋ค. ๋ฐฐํฌํ์ ์ค์นํ๊ธฐ ์ํด ํ
์คํธ ๋ฐ ๊ทธ๋ํฝ ๋ชจ๋์์ ๋ชจ๋ ์๋ํ ์ ์๋ ์ค์น ํ๋ก๊ทธ๋จ์ด ์ ๊ณต๋ฉ๋๋ค. ์ค์น ํ๋ก๊ทธ๋จ์ ์ ์ฒด ๋๋ ๊ธฐ๋ณธ ํจํค์ง ์ธํธ๋ฅผ ์ค์นํ๋ ์ต์
์ ์ ๊ณตํ๊ณ ๋์คํฌ ํํฐ์
์ ํ, ํธ์คํธ ์ด๋ฆ ์ ํ ๋ฐ ์ฌ์ฉ์ ์์ฑ์ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ถ์ฒ : opennet.ru