요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
설정
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 - apparmor@lists.ubuntu.com
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. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
AppArmor란 무엇인가
1-13AppArmor는 Linux kernel용 MAC-style security extension입니다. task-centered policy를 구현하며 userspace에서 task profile을 만들어 load합니다.
profile이 정의되지 않은 task는 unconfined state로 실행되며 standard 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입니다.
standard Linux DAC를 넘어 restriction을 enforce하려면 userspace에서 kernel로 policy를 load해야 합니다.
문서와 project link
40-54문서는 project wiki에서 볼 수 있습니다.
AppArmor
apparmor.rst:1-13task profile과 unconfined DAC 상태를 설명합니다.