AppArmor는 Ubuntu·SUSE의 기본 MAC 도구.
SELinux보다 단순한 「프로파일 기반」.
「특정 프로그램이 무엇을 할 수 있는지」 명시.
차이.
SELinux는 「레이블 기반」 — 모든 파일에 보안 컨텍스트 부여, 정교하지만 복잡.
AppArmor는 「경로 기반」 — 「/usr/bin/firefox는 /home/user/Downloads만 쓸 수 있음」 같이 직관적.
학습 비용 낮음.
확인.
sudo aa-status — 현재 활성 프로파일 목록.
「enforced」(차단)·「complain」(로그만)·「unconfined」(통제 없음).
모던 Ubuntu는 거의 모든 인터넷 서비스가 enforced.
디버깅.
어떤 프로그램이 안 동작 → /var/log/syslog에 「DENIED」 로그 → AppArmor 차단.
임시 해제는 sudo aa-complain /etc/apparmor.d/program으로 complain 모드, sudo aa-enforce로 다시 enforce.
프로파일 작성.
/etc/apparmor.d/에 텍스트 파일로 정책.
profile name { /paths r, /other rw, } 같은 단순 문법.
직접 작성보다는 aa-genprof로 자동 생성 후 다듬기.
작은 프로그램은 비교적 쉽게 정책 작성 가능.
한 줄 요약
AppArmor는 Ubuntu·SUSE의 MAC, SELinux보다 단순한 「경로 기반」.
aa-status로 확인, complain/enforce 모드.
/var/log/syslog의 DENIED 로그로 디버깅.
/etc/apparmor.d/ 프로파일.
더 알아볼 것
- aa-genprof — 자동 프로파일 생성
- Snap 패키지의 AppArmor
- SELinux vs AppArmor 비교