[Born2beroot] 2. Apparmor

Yejin Kimยท2022๋…„ 4์›” 5์ผ
0

42 cursus

๋ชฉ๋ก ๋ณด๊ธฐ
2/20

๐Ÿ’ก Apparmor๋ž€?

  • ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœํ•„ ๋ณ„๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์—ญ๋Ÿ‰์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ณด์•ˆ ๋ชจ๋“ˆ
  • ํ”„๋กœํ•„๋“ค์€ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค, raw ์†Œ์ผ“ ์—‘์„ธ์Šค, ํŒŒ์ผ์˜ ์ฝ๊ธฐยท์“ฐ๊ธฐยท์‹คํ–‰ ๊ณผ ๊ฐ™์€ ๋Šฅ๋ ฅ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ฐ•์ œ์  ์ ‘๊ทผ ํ†ต์ œ(Mandatory Access Control, MAC)๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์ „ํ†ต์ ์ธ ์œ ๋‹‰์Šค ์ž„์˜์  ์ ‘๊ทผ ํ†ต์ œ(Discretionary Access Control, DAC) ๋ชจ๋ธ์„ ์ง€์›

์šด์˜์ฒด์ œ์—์„œ๋Š” ์ ‘๊ทผ ํ†ต์ œ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ์ž์›์„ ์ ์ ˆํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน๋งŒ ์ ‘๊ทผ ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ

๐Ÿ”’ DAC(์ž„์˜์  ์ ‘๊ทผ ํ†ต์ œ)
์‹œ์Šคํ…œ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน์˜ ์‹ ๋ถ„์„ ๊ธฐ์ค€์œผ๋กœ ์ œํ•œ
์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน์ด ๊ฐ์ฒด์˜ ์†Œ์œ ์ž๋ผ๋ฉด ๋‹ค๋ฅธ ์ฃผ์ฒด์— ๋Œ€ํ•ด ์ด ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ
์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ง€์ •ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ํƒˆ์ทจ๋‹นํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๊ฐ์ฒด ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ
๐Ÿ”’ MAC(๊ฐ•์ œ์  ์ ‘๊ทผ ํ†ต์ œ)
๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ์ •์ฑ…๊ณผ ๋ณด์•ˆ ๋“ฑ๊ธ‰์— ์˜๊ฑฐํ•˜์—ฌ ์ฃผ์ฒด์—๊ฒŒ ํ—ˆ์šฉ๋œ ์ ‘๊ทผ ๊ถŒํ•œ๊ณผ ๊ฐ์ฒด์—๊ฒŒ ๋ถ€์—ฌ๋œ ํ—ˆ์šฉ ๋“ฑ๊ธ‰์„ ๋น„๊ตํ•˜์—ฌ ์ ‘๊ทผ์„ ํ†ต์ œ
๋†’์€ ๋ณด์•ˆ์„ ์š”๊ตฌํ•˜๋Š” ์ •๋ณด๋Š” ๋‚ฎ์€ ๋ณด์•ˆ ์ˆ˜์ค€์˜ ์ฃผ์ฒด๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์†Œ์œ ์ž๋ผ๊ณ  ํ•ด๋„ ์ •์ฑ…์— ์–ด๊ธ‹๋‚˜๋ฉด ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•จ

apparmor์€ debian ์„ค์น˜ ์‹œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊น”๋ ค ์žˆ์ง€๋งŒ
sudo dkpg -l apparmor ๋กœ ์„ค์น˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ–ˆ์„ ๋•Œ,
์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด
sudo apt install apparmor
sudo apt install apparmor-utils

์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

CentOS์˜ ๊ฒฝ์šฐ์—๋Š” ์„ค์น˜์™€ ๋™์‹œ์— AppArmor์™€ ๊ฐ™์€ ๋ณด์•ˆ ๋ชจ๋“ˆ์ด ์„ค์น˜๋˜์ง€ ์•Š๋Š”๋‹ค
๋ณ„๋„๋กœ SELinux๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์„ค์ •์„ ํ•ด์•ผํ•จ

๐Ÿท AppArmor ํ”„๋กœํ•„

ํ”„๋กœํ•„์€ /etc/apparmor.d ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

์ง€๊ธˆ์€ ๊ฐ€์ƒํ™˜๊ฒฝ์— ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋”ฐ๋กœ ํ”„๋กœํ•„์— ๊ด€ํ•ด์„œ๋Š” ์„ค์ •ํ•  ํ•„์š”๋Š” ์—†์Œ.
AppArmor ํ”„๋กœํ•„์€ ํ•œ๋งˆ๋””๋กœ ๊ฐ ํ”„๋กœ๊ทธ๋žจ๋ณ„ ๋ณด์•ˆ ์ •์ฑ…์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ!

์‰ฝ๊ฒŒ ๋น„์œ ๋ฅผ ๋“ค์ž๋ฉด,
ํœด๋Œ€ํฐ ์„ค์ •์—์„œ ๊ฐ ์–ดํ”Œ(ํ”„๋กœ๊ทธ๋žจ) ๋ณ„ ์นด๋ฉ”๋ผ ๊ถŒํ•œ ํ—ˆ์šฉ, ๋งˆ์ดํฌ ๊ถŒํ•œ ํ—ˆ์šฉ, ํ™”๋ฉด ๊ธฐ๋ก ๊ถŒํ•œ ํ—ˆ์šฉ ๋“ฑ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…


์ฐธ๊ณ  ์‚ฌ์ดํŠธ

profile
The World Is My Oyster ๐ŸŒ

0๊ฐœ์˜ ๋Œ“๊ธ€