VirtualBox Debian - AppArmor 프로필 생성

2021. 6. 9. 22:00Linux \ UNIX


<AppArmor란?>

시스템 관리자가, 응용 프로그램의 역량, 권한을 제한할 수 있도록 하난 리눅스 커널 보안 모듈이다.

프로그램의 프로필을 통하여

네트워크 액세스, raw 소켓 액세스, 파일의 읽기, 쓰기, 실행 권한 등

해당 프로그램이 취할 수 있는 작업을 제한하고 관리한다.

강제적 접근 통제(MAC)를 제공하먀, 취약한 서버 소프트웨어에 유용하다.

 

 

<AppArmor 프로필>

프로필은 /etc/apparmor.d 디렉토리에 저장된다.

서버 소프트웨어와 같은 일부 패키지는 패키지와 함께 시스템에 설치된 자체 AppArmor 프로파일로 함께 제공 될 수 있다.

apparmor-profiles 패키지를 설치하여 제공되는 프로필을 이용하거나,

고유한 프로필을 생성하여 소프트웨어를 제한 할 수도 있다.

<Complain mode / Enforce mode>

프로필은 “complain mode”또는 “enforce mode”로 실행할 수 있다.

 

ENFORCE MODE : 응용 프로그램이 제한된 동작을 수행하지 못하게 함.

sudo aa-enforce / path / to / binary

 

COMPLAIN MODE : 응용프로그램을 제한하지 않고, 위반 사항을 보고하는 로그 항목만을 작성함.

sudo aa-complain / path / to / binary

 

<AppAromor 프로필 생성하기>

AppArmor 프로필은 주석을 포함하는 일반 텍스트 파일이기 때문에, 직접 편집할 수 있으나,

편집하기 다소 까다로울 수 있다.

따라서 프로필 생성을 도와주는 패키지를 통해 진행한다.

 

sudo apt-get install apparmor-utils
sudo aa-genprof / path / to / binary

aa-genprof

aa-genprof 를 위와 같이 실행시켜놓은 상태로,

다른 터미널에서  해당 응용 프로그램의 여러가지 기능을 수행하면서

aa-genprof 에서 키를 통해 스캔되는 이벤트들에 대한 작업을 설정한다.

응용 프로그램을 동작하며, aa-genprof에서 스캔

스캔을 진행하면 각 이벤트에 대해 처리할 방법을 묻는다.

필요에 따라 설정해 준 뒤,

S 키로 변경사항을 저장.
/etc/apparmor.d/path.to.binary

aa-status 명령과,

vi /etc/apparmor.d/path.to.binary 를 통해

프로필이 생성된 것을 확인 할 수 있다.

 

이후 aa-enforce 를 통해 해당 제한 사항들을 적용시켜 주자.