Topic

AppArmor(Application Armor)

JackerLab 2026. 1. 21. 08:19
728x90
반응형

개요

AppArmor는 리눅스에서 애플리케이션 별로 접근 가능한 리소스를 제어하기 위한 보안 모듈입니다. LSM(Linux Security Module) 프레임워크를 기반으로 하며, 텍스트 기반의 프로파일을 사용하여 각 프로그램이 접근할 수 있는 파일, 네트워크, 시스템 자원을 제한합니다. 시스템 관리자는 AppArmor를 통해 특정 애플리케이션의 행동을 사전에 정의하고 통제할 수 있습니다.


1. 개념 및 정의

항목 설명
정의 리눅스에서 프로세스별 접근 제어를 수행하는 보안 프레임워크
목적 파일 시스템, IPC, 네트워크 등에 대한 접근 제한
필요성 프로그램별 최소 권한 원칙 적용 및 침해사고 방지

AppArmor는 화이트리스트 방식으로 동작하며, 예측 가능한 정책을 기반으로 리스크를 줄입니다.


2. 특징

특징 설명 비교
프로파일 기반 프로그램별 동작 정책 정의 SELinux는 레이블 기반 정책 사용
사용 편의성 비교적 설정이 간단 SELinux보다 진입장벽 낮음
로그 및 학습 모드 정책 위반을 기록하고 분석 가능 audit 로그 기반 대응 가능

정적 정책으로 예측 가능한 보안 운영이 가능합니다.


3. 구성 요소

구성 요소 설명 예시
프로파일(Profile) 애플리케이션별 허용된 리소스 정의 /etc/apparmor.d/ 경로에 저장
AppArmor Parser 프로파일을 커널에 로딩 apparmor_parser 명령어 사용
커널 모듈 정책을 커널 레벨에서 강제 적용 LSM 인터페이스 활용

모든 설정은 프로파일 중심으로 구성되며 커널에서 실행 시점에 적용됩니다.


4. 기술 요소

기술 설명 사용 예
텍스트 기반 정책 사람이 읽고 편집 가능한 정책 문법 허용 파일, 접근 모드, 네트워크 제어
enforcement & complain 모드 강제/비강제 모드 선택 가능 테스트와 실제 운영에 유용
PAM 및 systemd 연계 사용자 로그인, 서비스 단위 보호 가능 aa-exec, aa-status 활용

직관적인 설정으로 빠른 테스트 및 적용이 가능합니다.


5. 장점 및 이점

장점 설명 효과
최소 권한 정책 적용 필요한 자원만 허용 취약점 악용 억제
빠른 적용 텍스트 편집으로 정책 변경 가능 DevOps 환경에 적합
유연한 정책 모드 테스트 → 운영 전환 용이 서비스 중단 없이 적용 가능

애플리케이션 단위로 세밀한 보안 정책을 구현할 수 있습니다.


6. 주요 활용 사례 및 고려사항

사례 설명 참고사항
Ubuntu 기본 보안 모듈로 AppArmor 채택 다양한 서비스에 기본 정책 적용
MySQL, Apache 서비스별로 독립적인 접근 정책 설정 패키지 설치 시 자동 등록 가능
Docker 컨테이너 격리 보안 강화에 활용 사용자 정의 프로파일 설정 필요

기본 정책을 커스터마이징해야 보안과 기능을 균형 있게 유지할 수 있습니다.


7. 결론

AppArmor는 리눅스 애플리케이션의 보안 강화를 위한 실용적인 접근 제어 도구입니다. 비교적 단순한 설정 방식과 학습 모드를 통해 운영 중에도 유연하게 보안 정책을 조정할 수 있어 중소규모 시스템이나 DevSecOps 환경에 매우 적합합니다.

728x90
반응형