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
반응형
'Topic' 카테고리의 다른 글
| Pod Security Standards (PSS) (0) | 2026.01.21 |
|---|---|
| Suricata (0) | 2026.01.20 |
| HashiCorp Boundary (0) | 2026.01.20 |
| HashiCorp Nomad (1) | 2026.01.19 |
| HashiCorp Consul (0) | 2026.01.19 |