๐ง Born2beroot: ์์คํ ์ ์ฃผ์ธ์ด ๋๋ค๋ ๊ฒ
GUI์ ์๋ฝํ ์ ์ ์ธํฐํ์ด์ค ๋คํธ, ๋ชจ๋ ๊ฒ์ด ๋ ๊ฒ์ ํ
์คํธ๋ก ์กด์ฌํ๋ ์ธ์์ด ์๋ค. libft์ get_next_line์ด C์ธ์ด๋ผ๋ ๋๊ตฌ๋ฅผ ๋ ์นด๋กญ๊ฒ ๋ฒผ๋ฆฌ๋ ๊ณผ์ ์ด์๋ค๋ฉด, born2beroot๋ ๊ทธ ๋๊ตฌ๋ฅผ ๋ค๊ณ ๊ทธ๊ณณ์ ๋ฒ์น์ ์ธ์ฐ๋ โ์ค๊ณ์โ์ ์ญํ ์ ๊ฒฝํํ๋ ๊ฒ์ ์๊ตฌํ ์ฒซ ๊ณผ์ ์๋ค. ์ง๊ธ ์๊ฐํด๋ณด๋ฉด Ops ์์ญ์ ์ฒ์์ผ๋ก ๋ง๋ณธ๊ฒ ์๋๊ฐ ์ถ๋ค.
์ด ๊ณผ์ ๋ ๋จ์ํ ์๋ฒ ๊ตฌ์ถ ๊ธฐ์ ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ๋์ด์ ๋ค. ์ฌ์ฉ์์ ์ ์ฅ์์ ์์คํ ์ด โ์ ๊ณตํ๋โ ๊ธฐ๋ฅ์ ์๋์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ด์ ์์ ๋ฒ์ด๋, ์์คํ ์ ๋ชจ๋ ์์๋ฅผ ์ง์ ์ ์ดํ๊ณ ์ฑ ์์ง๋ ๊ด๋ฆฌ์์ ์์ ์ผ๋ก ์ ํํ๋ ๊ทผ๋ณธ์ ์ธ ํจ๋ฌ๋ค์์ ๋ณํ๋ฅผ ๊ฒฝํํ๊ฒ ํ๋ค.
์ฝ๊ฐ ๊ฐ์ค๋ฅผ ์ก๋ ์ญํ ์(ใ ใ ) ํ๊ฒ ํด์ฃผ๊ธฐ๋ ํ๊ณ , ๊ฒ์ ํ๋ฉด์ ์ปค์ ๊น๋นก์์ ๋ ์ด์ ๊ณตํฌ์ ๋์์ด ์๋๋ผ, ์์คํ ๊ณผ ์ง์ ๋ํํ๋ ๊ฐ๋ ฅํ๊ณ ์ ๋ฐํ ์ธ์ด์์ ๊นจ๋ซ๋ ์ฌ์ ์ด์๋ค. OS ๋ผ๋ ๋ฐํ, GUI ๋ค์์ ๋์ํ๋ ์ค์ OS ๋ผ๋ ๊ฒ์ ์ดํดํ๋ ๊ธฐํ๊ฐ ์ด ๊ณผ์ ์์ ์ฒซ ์ฝ์ ๋ณ๋ค๊ณ ๋ณผ์ ์์๋ค.
๐ ์์คํ ์ํคํ ํธ์ ์ฒญ์ฌ์ง: ๋ฌด(็ก)์์ ์ (ๆ)๋ฅผ ์ฐฝ์กฐํ๋ค
born2beroot์ ๋ชฉํ๋ ๋ช
ํํ๋ค. ์ฐ์ OS ๋ผ๋ ๊ฒ์ ์ดํดํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฐํ์์ ๊ฐ์ ๋จธ์ ์ด๋ผ๋ ๊ฒฉ๋ฆฌ๋ ๊ณต๊ฐ์ ๋ ๋ค์ ์ดํดํ๋ค.
ํ๊ฒฝ์ ์ค์ ํ๋ค๋ ๊ฒ์ด ๊ฐ์ง๋ ๋ฆฌ์คํฌ๋ฅผ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ณ ๋๋ฉด, ๋ฐ๋น์(Debian) ๋ฆฌ๋ ์ค ์๋ฒ๋ฅผ ์ค์ง ๋ช ๋ น์ค ์ธํฐํ์ด์ค(CLI)๋ง์ ์ฌ์ฉํ์ฌ ์๊ตฌ์ฌํญ์ ๋ง์ถฐ ๊ตฌ์ถํ๋ค.
์ด๋ ๋ง์น ๊ฑด์ถ๊ฐ๊ฐ ํํ๋ฒํ์ ๊ฑด๋ฌผ์ ์ฌ๋ฆฌ๋ฏ, ๋์คํฌ ํํฐ์ ๋์ผ๋ก ๊ธฐ์ด ๊ณต์ฌ๋ฅผ ํ๊ณ , ์ฌ์ฉ์ ๊ณ์ ์ผ๋ก ๊ณจ์กฐ๋ฅผ ์ธ์ฐ๋ฉฐ, ๋ณด์ ์ ์ฑ ๊ณผ ๋ฐฉํ๋ฒฝ์ผ๋ก ๊ฒฌ๊ณ ํ ์ธ๋ฒฝ์ ์์ ์ฌ๋ฆฌ๋ ๊ณผ์ ์ด์๋ค.
๋ชจ๋ ๊ฒฐ์ ์๋ ์ด์ ๋ฌผ์ํ๋ฅผ ๋์์ก์ผ๋ฉฐ,๋ชจ๋ ๋ช ๋ น์ด๋ ์์คํ ์ ์๊ตฌ์ ์ธ ํ์ ์ ๋จ๊ธฐ๋ ๋งํผ, ์ด ๊ณผ์ ๋ฅผ ํ๋ ์ด๋ค, OS ๋ฅผ ๋ชจ๋ฅด๋ ์ด๋ค์๊ฒ๋ ๊ณผ์ ํ๋ ํ๋๊ฐ ํต๊ณก์ ๋ฐ๋ณต์ ์ด์ด๋๊ฐ์ผ ํ๋ค.
๐ ํต์ฌ ๊ณผ์ ๋ค: ๋จ์ํ ์ค์ ์ ๋์ด ์๋ฆฌ๋ฅผ ์ดํดํ๋ค
๊ณผ์ ๋ฅผ ์ํํ๋ฉฐ ๋ง์ฃผํ ํต์ฌ ๊ณผ์ ๋ค์ ์์คํ ๊ด๋ฆฌ์ ๊ทผ๊ฐ์ ์ด๋ฃจ๋ ๊ฐ๋ ๋ค์ ๋ด๊ณ ์๋ค.
- LVM(Logical Volume Manager) ํํฐ์ ๋: ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ์ ํ๊ณ๋ฅผ ๋์ด ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ณต๊ฐ์ ๋ถํ ํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ๋ค. ์ด๋ ํ๋์จ์ด๋ฅผ ์ํํธ์จ์ด์ ์ผ๋ก ์ถ์ํํ์ฌ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ํ๋ณดํ๋, ํ๋ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ฒด๋ํ๋ ๊ณผ์ ์ด์๋ค. ๊ณ ์ ๋ ์นธ๋ง์ด(๊ธฐ๋ณธ ํํฐ์ )๊ฐ ์๋, ํ์์ ๋ฐ๋ผ ๋์ด๊ณ ์ค์ผ ์ ์๋ ๊ฐ๋ณ์ ์ธ ๊ณต๊ฐ(๋ ผ๋ฆฌ ๋ณผ๋ฅจ)์ ๊ฐ๋ ์ ์ดํดํ๊ฒ ๋์๋ค. ๋ํ ์ด๋ฌํ ํํฐ์ ๋์ ๋ชฉํ๋ ํ๋์จ์ด ๊ตฌ์ถ ์ ํน์ ์์ญ์ OS ์ ์ญํ ์ ๋ฐ๋ผ ์ ์ ํ๊ฒ ๋์ํ๊ณ , ๋ณด๋ค ๋ณต์กํ ์์คํ ์ด๋ผ๋ฉด ํน์ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฑ์ ๊ณ ๋ คํ๊ณ , ์ด๋ฅผ ํตํด ์ต์ ์ ํ๊ฒฝ์ ๊ตฌ์ถํ๊ฑฐ๋ ์ํํ ์ํฉ์ ๋์ํ์ฌ ์๋น์ค๊ฐ ์ง์๋ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ฌด์์ธ์ง ๋ฐฐ์ฐ๋ ์์ฃผ ๊ธฐ์ด์ ๋จํธ์ ์ดํดํ ์ ์์๋ค.
- ๊ฐ๋ ฅํ ์ํธ ์ ์ฑ
(PAM):
/etc/pam.d/common-passwordํ์ผ์ ์์ ํ๋ฉฐ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ ๊ท์น์ ๊ฐํํ๋ ๊ฒ์, ์์คํ ๋ณด์์ ์ฒซ๊ฑธ์์ด์ ๊ฐ์ฅ ์ค์ํ ์์น์ธ โ์ ์ ์ ๋ฐฉ์ดโ์ ๊ฐ๋ ์ ๋ฐฐ์ฐ๋ ๊ฒ์ด๋ค. ๋ณต์ก์ฑ, ์ฃผ๊ธฐ์ ๋ณ๊ฒฝ, ์ฌ์ฌ์ฉ ๊ธ์ง ๋ฑ์ ๊ท์น์ ์ธ๋ถ์ ์ํ์ ๋ง๋ ์ต์ํ์ ๋ฐฉ์ด์ ์ด๋ฉฐ ์ด๋ฅผ OS ์ฐจ์์์ ์ด๋ป๊ฒ ํ๋์ง, ๋ฆฌ๋ ์ค ์์คํ ์ ๋ฌด์์ ํ์ฉํ๋์ง ๋ฐฐ์ธ ์ ์์๋ค. sudo๊ถํ ๊ด๋ฆฌ:sudoers์ค์ ์ ํตํด ์ต๊ณ ๊ด๋ฆฌ์(root) ๊ถํ์ ์ฌ์ฉ์ ํต์ ํ๊ณ ๊ธฐ๋กํ๋ ๊ฒ์ โ์ต์ ๊ถํ ์์น(Principle of Least Privilege)โ์ ์คํํ๋ ๊ณผ์ ์ด์๋ค. ๋ชจ๋sudo๋ช ๋ น์ด ์คํ ์๋๋ฅผ ๋ก๊ทธ๋ก ๋จ๊ธฐ๋ ๊ฒ์ ์์คํ ์ ๋ชจ๋ ๊ด๋ฆฌ ํ์์ ๋ํ โ๊ฐ์ฌ ์ถ์ (Audit Trail)โ์ ์ค์์ฑ์ ์ผ๊นจ์์ฃผ์๋ค. ์ง๊ธ์ ์ดํดํ๊ณ ์์ง๋ง, ์์คํ ๋ด์์ ๋์ํ๋ ํ๋ก์ธ์ค๋ OS ์ ์ฃผ์ธ์ธ ์ ์ ๊ฐ ๋์์ํค๊ธฐ๋ ํ์ง๋ง, ์์คํ ๊ตฌ์ถ ๊ณผ์ ์์ ์ด๋ฌํ ๊ถํ์ ์ ํ๋ ๊ณ์ ์ผ๋ก ๋ง๋ค์ด ์ฌ์ฉํ๊ฒ ๋ง๋ฆ์ผ๋ก์จ ๊ทธ ๊ณ์ ์ด ํ ์ ์๋ ๋์์ ํ๊ณ๋ฅผ ์ง์ ํ๊ณ , ์ด๋ฅผ ํตํด ์์คํ ์ ์ฒด์ ๋ํ ์ ํ์ ์ ๊ณตํ๋ ๊ฒ์, Ops ์ฐจ์์ ์๋นํ ๋ ธํ์ฐ์์ ๋์ค์ ๊นจ๋ฌ์๋ค.- SSH ํฌํธ ๋ณ๊ฒฝ ๋ฐ UFW ๋ฐฉํ๋ฒฝ ์ค์ : ์๋ฒ ๊ฐ๋ฐ๊ณผ ๊ด๋ฆฌ, ์ ์ง๋ณด์ ์ฐจ์์์ ๋ณธ๋ค๋ฉด ์๊ฒฉ์ ์ ์์ ๊ฐ์ฅ ํ์์ด์ ๊ธฐ๋ณธ์ด ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฅผ ์ ํด์ ธ์๋๋ฐ๋ก ํ์ฉํ๋ ๊ฒ์ ์์นซ ๋ณด์์ ๊ตฌ๋ฉ์ ๋ง๋ค ์ ์๋ค. SSH ํฌํธ(22)๋ฅผ ๋นํ์ค ํฌํธ(4242)๋ก ๋ณ๊ฒฝํ๊ณ UFW๋ฅผ ํตํด ํด๋น ํฌํธ๋ง ํ์ฉํ๋ ์์ ์, ์์คํ ์ โ๋๋ฌธโ์ ์งํค๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ณด์ ์กฐ์น์๋ค. ์ด๋ ๋ฌด์ฐจ๋ณ์ ์ธ ์๋ํ ๊ณต๊ฒฉ(Brute-force attack)์ ํ์ ์ด ๋ ๊ฐ๋ฅ์ฑ์ ๋ฎ์ถ๊ณ , ํ๊ฐ๋ ๊ฒฝ๋ก ์ธ์ ๋ชจ๋ ์ ๊ทผ์ ์ฐจ๋จํ๋ โํ์ดํธ๋ฆฌ์คํธโ ๊ธฐ๋ฐ ๋ณด์ ๋ชจ๋ธ์ ๊ธฐ์ด๋ฅผ ๋ค์ง๋ ๊ฒฝํ์ด์๋ค.
- ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน ๊ด๋ฆฌ: ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ
user42๋ฐsudo๊ทธ๋ฃน์ ์์์ํค๋ ๊ณผ์ ์, ์ญํ ๊ธฐ๋ฐ ์ ๊ทผ ์ ์ด(RBAC, Role-Based Access Control)์ ๊ฐ๋ ์ ์ดํดํ๊ฒ ํ๋ค. ๊ฐ ์ฌ์ฉ์์๊ฒ ํ์ํ ์ต์ํ์ ๊ถํ๋ง์ ๋ถ์ฌํจ์ผ๋ก์จ, ์์คํ ์ ์์ ์ฑ์ ๋์ด๊ณ ์ ์ฌ์ ์ธ ๋ณด์ ์ํ์ ์ค์ผ ์ ์์์ ๋ฐฐ์ ๋ค. 3๋ฒ๊ณผ ํจ๊ป ์๊ฐํด๋ณผ ์ฌ์ง๊ฐ ์๋ ์์ญ์ด์๋ค. monitoring.sh์คํฌ๋ฆฝํธ์cron: ์์คํ ๊ตฌ์ถ์ด๋ ์ฌ์ฉ์์ ์ ๋ง ํต์ฌ ์ค์ ํ๋. ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ํ์ฉํด ์์คํ ๋จ๊ณ์์ ๊ฐ ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ์ง๊ธ๋ ํฅ๋ฏธ์ง์งํ ์ฃผ์ ์๋ค. ์ฌ๊ธฐ์๋ ์ฃผ๊ธฐ์ ์ผ๋ก ์๋ฒ์ ์ํ๋ฅผ ๋ณด๊ณ ํ๋ ์ ธ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณcron์ผ๋ก ์๋ํํ๋ ๊ฒ์ ํตํด ์์คํ ์ ์ด์์๋ ์ ๊ธฐ์ฒด์ฒ๋ผ ์ง์์ ์ผ๋ก ๊ด์ฐฐํ๋ โ๋ชจ๋ํฐ๋งโ์ ๋ง๋ค์ด๋ณด์๋ค. ์ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ฌํ์ ๋์ํ๋ ๊ฒ์ ๋์ด, ์์คํ ์ ์ํ๋ฅผ ๋ฅ๋์ ์ผ๋ก ํ์ ํ๊ณ ์์ธกํ๋ ์ธํ๋ผ ๊ด๋ฆฌ์ ๊ธฐ๋ณธ ์์ธ๋ฅผ ๊ธธ๋ฌ์ฃผ์๋ค.
โจ ์ฑ์ฐฐ ๋ฐ ๋ฐฐ์ด ์
์๋ ์์ , Windows Vista๋ฅผ ์ฐ๋ ์์ ๋ ํ์์ด์๋ค. ๋ฌด์จ ๋ณ๋์ผ๊น ์๋์ฐ ๋์ ์๋ก์ด๊ฑธ ๊ฒฝํํด๋ณด๊ณ ์ถ๋ค๋ฉด์ OS ๋ฅผ ์ฐ๋ถํฌ๋ฅผ ๊น์๋ณธ ์ ๋ ์์๋ค. ๊ทธ๋๋ CLI ๋ผ๋ ๊ฐ๋ ์ด ๋ญ์ง๋ ๋ชจ๋ฅด๋ ์ํ๋ก, GUI ์์ด ๋ช ๋ น์ด๋ฅผ ์ณ์ ์ต์ ํ ํ๋ ์์ ์ ๊ทธ๋ฅ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๊ณ ์น๋ฉด ๋๋ โ์ ๋ฌธ๊ฐโ๋ค์ ์์ญ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๋ํ ๊ทธ๋ OS ๋ ์ด์ฐ๋ณด๋ฉด ์ข์ ์ฑ๋ฅ์ ์๋กญ๊ณ ์ ์ ํ ๊ทธ๋ฆผ์ด ๋์ค๋ โ๊ฒ์๊ธฐโ ์ทจ๊ธ์ ํ์๋ค(ใ ใ )
๊ทธ๋ฐ๋ฐ born2beroot๊ณผ์ ๋ฅผ ํ๋ฉด์ OS ๋ฅผ ๋ค์ ์ดํดํ์, ์ฒด๊ณ๋๊ฒ ๋ญ๊ณ , ๊ฐ๋ฐ์์ ์ด๋ป๊ฒ ํ์ฉํ๋๊ฐ, ์ด๋ฐ ๋ถ๋ถ์ ๊ฝค๋ ์ ์ ์์๋ค.
- ๊ด์ ์ ์ ํ (์ฌ์ฉ์์์ ๊ด๋ฆฌ์๋ก): ๋ ์ด์ ๋๋ ์์คํ ์ด ์ ํด์ค ๊ท์น ์์์ ์์ง์ด๋ ์ฌ์ฉ์๊ฐ ์๋์๋ค. ์์คํ ์ ๊ท์น์ ์ง์ ๋ง๋ค๊ณ , ๊ทธ ๊ฒฐ๊ณผ์ ์ฑ ์์ ์ง๋ ๊ด๋ฆฌ์์ ๋ฌด๊ฒ๋ฅผ ๋๋ผ๋ฉฐ, ์ปดํจํฐ์์ ๊ด๊ณ๊ฐ ๊ทผ๋ณธ์ ์ผ๋ก ์ฌ์ ์๋์๋ค.
- CLI๋ ์ธ์ด๋ค: ์ฒ์ ๋ง์ฃผํ์ ๋์ ๋ง๋งํจ๊ณผ ๋ฌ๋ฆฌ, CLI๋ ์์คํ ์ ๋ด๋ถ ๊ตฌ์กฐ์ ์ง์ ์ํตํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ๊ณ ํจ์จ์ ์ธ ์ธ์ด์์ ๊นจ๋ฌ์๋ค. ๋ง์ฐ์ค ํด๋ฆญ์ผ๋ก๋ ๊ฒฐ์ฝ ๋ฟ์ ์ ์๋ ๊น์ด๊น์ง ์์คํ ์ ์ ์ดํ ์ ์๋ ํ์ ์ป์๋ค.
- ๋ชจ๋ ๊ฐ๋ฐ์ ๊ธฐ์ด ์ฒด๋ ฅ: ์๋ฒ ์์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ๋ ํ, ๊ฐ๋ฐ์๋ ์ด์์ฒด์ ๋ก๋ถํฐ ์์ ๋ก์ธ ์ ์๋ค. ์ด ๊ณผ์ ๋ฅผ ํตํด ๋ค์ง ๋คํธ์ํฌ, ๋ณด์, ์ฌ์ฉ์ ๊ถํ, ํ์ผ ์์คํ ์ ๋ํ ์ดํด๋, ํฅํ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์ ํ์ ํ๊ณ ํด๊ฒฐํ ์ ์๋ ๋จ๋จํ ๊ธฐ์ด ์ฒด๋ ฅ์ด ๋์ด์ฃผ์๋ค.
- ์ ๋น๋ก์ด ์๋ฒ์ ์ฒซ ๊ฑธ์: ๊ธฐ๋ณธ ์ธํ , ๊ฑฐ๊ธฐ์ ์๋ํ๋ ์ค๋ฅผ ์ค์นํ๋ ๋ฑ์ ์์ ์ผ๋ก ํด๋๊ณ , ํธ์คํธ์์ ํฌํธํฌ์๋ฉ์ผ๋ก ์ ๊ทผํ๋ ์์ , ๊ทธ๋ ๊ฒํ์ฌ ์น ์ฌ์ดํธ๊ฐ ๋ฑ ๋ด์ ๋ ๊ทธ ๊ฐ๊ฐ์ ์๋ฒ, ์๋น์ด๋๊ฒ ๋ญ์ง ์ฒ์์ผ๋ก ์ ๋๋ก ์ดํดํ ์๊ฐ์ด์๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก born2beroot๋ ๋จ์ํ ์๋ฒ ์ธํ
๊ฐ์ด๋๊ฐ ์๋์๋ค. ๊ทธ๊ฒ์ ๊ฐ๋ฐ์๋ก์ ๋ด๊ฐ ์ ์๋ ๋
, ์ฆ ์ด์์ฒด์ ๋ผ๋ ๊ธฐ๋ฐ์ ๋ ๋ฐ๋ก ์ง์ ๋๊ณ ์ดํดํ๊ฒ ๋ง๋ , ์ง์ ํ ์๋ฏธ์ โ๋ฟ๋ฆฌ ๋ด๋ฆฌ๊ธฐโ ๊ณผ์ ์ด์๋ค.
