โ SELinux
๊ด๋ฆฌ์๊ฐ ์์คํ
์ก์ธ์ค ๊ถํ์ ํจ๊ณผ์ ์ผ๋ก ์ ์ดํ ์ ์๊ฒ ํ๋ Linux ์์คํ
์ฉ ๋ณด์ ์ํคํ
์ฒ
Security-Enhanced Linux์ ์ฝ์
SELinux๋ 2000๋
์ ์คํ์์ค ์ปค๋ฎค๋ํฐ์ ๋ฆด๋ฆฌ์ค ๋์ด 2003๋
์ ์
์คํธ๋ฆผ Linux ์ปค๋๋ก ํตํฉ ๋จ
How to work?
SELinux๋ ์์คํ
์ ์ ํ๋ฆฌ์ผ์ด์
, ํ๋ก์ธ์ค, ํ์ผ์ ๋ํ ์ก์ธ์ค ์ ์ด๋ฅผ ์ ์ํ๋ค.
์ก์ธ์ค ํ ์ ์๋ ๋์์ ์ ํ๋ ๋ฃฐ ์ธํธ์ธ ๋ณด์ ์ ์ฑ
์ ์ฌ์ฉํ์ฌ ํ์ฉ๋ ์ก์ธ์ค๋ฅผ ์คํํ๋ค.
์ก์ธ์ค๋ฅผ ์๋ํ๋ ์ฃผ์ฒด์ธ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ํ๋ก์ธ์ค๊ฐ ํ์ผ๊ณผ ๊ฐ์ ๊ฐ์ฒด์ ์ก์ธ์ค๋ฅผ ์์ฒญํ๋ ๊ฒฝ์ฐ,
SELinux๋ ์ฃผ์ฒด์, ๋์์ด ๋๋ ๊ฐ์ฒด์ ๋ํ ๊ถํ์ด ์บ์๋๋ AVC(Access Vector Cache)๋ฅผ ํ์ธํ๋ค.
SELinux๊ฐ ์ค์ค๋ก ์ก์ธ์ค์ ๋ํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋ ๊ฒฝ์ฐ ๋ณด์ ์๋ฒ์ ์ก์ธ์ค ์ ๊ทผ ์์ฒญ์ ์ ์กํ๋๋ฐ,
๋ณด์ ์๋ฒ๋ ์ฃผ์ฒด์ธ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ํ๋ก์ธ์ค์ ๋ณด์ ์ปจํ
์คํธ์ ํ์ผ์ ํ์ธํ๋ค.
๊ทธ ๋ค ์ก์ธ์ค ๊ถํ์ด ํ์ฉ๋๊ฑฐ๋ ๊ฑฐ๋ถ๋๋ค.
๊ถํ ๊ฑฐ๋ถ ์ avc: denied๋ผ๋ ๋ฉ์์ง๊ฐ /var/log.messages์ ๋ํ๋๋ค.
ย How to setting?
์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ํ๊ฒ ์ ์ฑ
๋๋ ๋ค๋จ๊ณ ์ ์ฑ
์ด๋ผ ๋ถ๋ฆฌ๋ MLS(Multi-Level Security)์ด๋ค.
ํ๊ฒ ์ ์ฑ
์ ๊ธฐ๋ณธ ์ต์
์ผ๋ก ๋ค์ํ ํ๋ก์ธ์ค์ ํ์คํฌ ๋ฐ ์๋น์ค๋ฅผ ์ฒ๋ฆฌํ๋ค.
MLS๋ ๋งค์ฐ ๋ณต์กํ ์ ์์ด ๋ณดํต ์ ๋ถ ๊ธฐ๊ด์์๋ง ์ฌ์ฉํ๋ค.
/etc/sysconfig/selinux ํ์ผ์ ๋ณด๋ฉด ์์คํ
์ด ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ์คํ๋์ด์ผ ํ๋์ง ์ ์ ์๋ค.
SELinux๊ฐ permissive mode์ธ์ง, enforcing mode์ธ์ง, ๋๋ ๋น ํ์ฑํ ๋ชจ๋์ธ์ง ๊ทธ๋ฆฌ๊ณ ์ด๋ ์ ์ฑ
์ด ๋ก๋ ๋์ด์ผ ํ๋์ง ๋ณด์ฌ์ฃผ๋ ์น์
์ด ์๋ค.
ย DAC(์์ ์ก์ธ์ค ์ ์ด) , MAC(ํ์ ์ก์ธ์ค ์ ์ด)
์ ํต์ ์ธ Linux์ UNIX ์์คํ
์ DAC๋ฅผ ์ฌ์ฉํ์๋ค. SELinux๋ Linux์ฉ MAC ์์คํ
์ ํ ์์ด๋ค.
DAC ์์คํ
์ฌ์ฉ ์ ํ์ผ๊ณผ ํ๋ก์ธ์ค์๋ ์์ ์๊ฐ ์กด์ฌํ๋ค. ์ฌ์ฉ์๊ฐ ํ์ผ์ ์์ ํ๊ฑฐ๋ ๊ทธ๋ฃน์ด ํ์ผ์ ์์ ํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ๋์ด ํ์ผ์ ์์ ํ ์ ์๋ค. ๋ํด์ ์์ ์๋ ์์ ์ ํ์ผ์ ๋ํ ๊ถํ์ ๋ณ๊ฒฝํ ์ ์๋ค.
root ์ฌ์ฉ์๋ DAC ์์คํ
์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ๊ฐ์ง๋ค. root ๊ถํ์ด ์์ผ๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์์ ํ์ผ์ ์ ๊ทผํ ์ ์๊ณ ์์คํ
์ ๋ชจ๋ ์์
์ ์ํํ ์ ์๋ค.
ํ์ง๋ง SELinux์ ๊ฐ์ MAC ์์คํ
์์๋ ์ก์ธ์ค์ ๋ํด ๊ด๋ฆฌ์ ์ผ๋ก ์ค์ ๋ ์ ์ฑ
์ด ์๋ค.
๋ค์ ๋งํด ์์คํ
์ ์ฒด์ ์ก์ธ์ค์ ๋ํ ์ ์ฑ
์ด ์๋ค๋ ๋ง๊ณผ ๊ฐ๋ค. ๋ฐ๋ผ์ ํ ๋๋ ํฐ๋ฆฌ์ DAC ์ค์ ์ด ๋ณ๊ฒฝ ๋๋๋ผ๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ ํ๋ก์ธ์ค๊ฐ ๋๋ ํฐ๋ฆฌ์ ์ ๊ทผํ ์ ์๊ฒํ๋ SELinux ์ ์ฑ
์ด ์์คํ
์ ์์ ํ๊ฒ ์ ์งํ๋ค.
โ AppArmor
Application Armor์ ์ฝ์๋ก ๋ฆฌ๋
์ค ์ปค๋ ๋ณด์ ๋ชจ๋์ด๋ค.
AppArmor๋ ์์คํ
๊ด๋ฆฌ์๊ฐ ํ๋ก๊ทธ๋จ ํ๋กํ ๋ณ๋ก ํ๋ก๊ทธ๋จ์ ์ญ๋์ ์ ํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฆฌ๋
์ค ์ปค๋ ๋ณด์ ๋ชจ๋์ด๋ค.
MAC(๊ฐ์ ์ ์ ๊ทผ ํต์ )๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ์ ํต์ ์ธ DAC(์์์ ์ ๊ทผ ํต์ ) ๋ชจ๋ธ์ ์ง์ํ๋ค.
โ ๋น๊ต
type\categories | OS | Security Model | ๋ณต์ก๋ |
SELinux | RedHat(RHEL, Fedora, CentOS) | MAC (์์คํ
์ ์ฒด) | ๋ณต์ก |
AppArmor | SUSE, Debian ๊ณ์ด | MAC (๊ฐ๋ณ ํ๋ก๊ทธ๋จ) | ๊ฐ๋จ |