요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
설정
apparmor.rst:14-39Kconfig, CONFIG_LSM과 command-line enable·disable을 안내합니다.
문서
apparmor.rst:40-54mailing list, wiki, tools와 kernel tree를 연결합니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
========
AppArmor
========
What is AppArmor?
=================
AppArmor is MAC style security extension for the Linux kernel. It implements
a task centered policy, with task "profiles" being created and loaded
from user space. Tasks on the system that do not have a profile defined for
them run in an unconfined state which is equivalent to standard Linux DAC
permissions.
How to enable/disable
=====================
set ``CONFIG_SECURITY_APPARMOR=y``
If AppArmor should be selected as the default security module then set::
CONFIG_DEFAULT_SECURITY_APPARMOR=y
The CONFIG_LSM parameter manages the order and selection of LSMs.
Specify apparmor as the first "major" module (e.g. AppArmor, SELinux, Smack)
in the list.
Build the kernel
If AppArmor is not the default security module it can be enabled by passing
``security=apparmor`` on the kernel's command line.
If AppArmor is the default security module it can be disabled by passing
``apparmor=0, security=XXXX`` (where ``XXXX`` is valid security module), on the
kernel's command line.
For AppArmor to enforce any restrictions beyond standard Linux DAC permissions
policy must be loaded into the kernel from user space (see the Documentation
and tools links).
Documentation
=============
Documentation can be found on the wiki, linked below.
Links
=====
Mailing List - [email protected]
Wiki - http://wiki.apparmor.net
User space tools - https://gitlab.com/apparmor
Kernel module - git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
AppArmor란 무엇인가
1-13AppArmor는 Linux kernel용 MAC-style security extension입니다. task-centered policy를 구현하며 userspace에서 task profile을 만들어 load합니다.
profile이 정의되지 않은 task는 unconfined 상태로 실행되며 표준 Linux DAC permission과 같습니다.
Enable·disable 방법
14-39AppArmor를 build하려면 `CONFIG_SECURITY_APPARMOR=y`로 설정합니다.
default security module로 선택하려면 다음 값을 설정합니다.
CONFIG_DEFAULT_SECURITY_APPARMOR=y
`CONFIG_LSM` parameter가 LSM 순서와 선택을 관리합니다. AppArmor, SELinux, Smack 같은 major module 중 `apparmor`를 list의 첫 major module로 지정하십시오.
kernel을 build한 뒤 AppArmor가 default가 아니라면 kernel command line에 `security=apparmor`를 전달해 enable할 수 있습니다.
AppArmor가 default라면 `apparmor=0, security=XXXX`로 disable할 수 있습니다. `XXXX`는 유효한 security module입니다.
표준 Linux DAC를 넘어 제한을 강제하려면 userspace에서 kernel로 policy를 load해야 합니다.
문서와 project link
40-54문서는 project wiki에서 볼 수 있습니다.
AppArmor
apparmor.rst:1-13task profile과 unconfined DAC 상태를 설명합니다.