Linux 에서 AppArmor 프로파일 활성 상태 확인 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 시스템에서 AppArmor 프로파일의 상태를 확인하는 방법을 배우게 됩니다. AppArmor 는 애플리케이션의 동작을 제한하여 시스템 보안을 강화하는 프로파일을 사용하는 보안 모듈입니다. AppArmor 프로파일이 활성화되어 있는지, 그리고 어떻게 구성되어 있는지 확인하는 세 가지 방법을 살펴볼 것입니다.

구체적으로, aa-status 명령을 사용하여 로드된 프로파일과 해당 모드 (enforce 또는 complain) 를 나열하고, /etc/apparmor.d 디렉토리의 내용을 검사하여 사용 가능한 프로파일 파일을 확인하며, /sys/kernel/security 파일 시스템 내에서 AppArmor 상태를 검사합니다. 이러한 단계는 AppArmor 의 작동 상태를 확인하는 방법에 대한 포괄적인 이해를 제공할 것입니다.

aa-status 로 AppArmor 프로파일 목록 확인

이 단계에서는 aa-status 명령을 사용하여 시스템에서 활성 AppArmor 프로파일을 나열하는 방법을 배우게 됩니다. AppArmor 는 프로그램을 제한된 리소스 집합으로 제한하여 MAC (Mandatory Access Control, 강제 접근 제어) 을 제공하는 보안 모듈입니다.

AppArmor 프로파일을 특정 애플리케이션에 대한 보안 정책으로 생각하십시오. 프로파일은 애플리케이션이 접근할 수 있는 파일, 네트워크 리소스 및 기타 시스템 기능을 정의합니다. 이는 악성 소프트웨어 또는 손상된 애플리케이션이 광범위한 피해를 입히는 것을 방지하는 데 도움이 됩니다.

현재 로드되고 적용 중인 프로파일을 확인하려면 터미널을 열고 다음 명령을 입력하십시오.

sudo aa-status

AppArmor 의 상태를 확인하려면 관리자 권한이 필요하므로 sudo를 사용해야 합니다.

명령을 실행하면 다음과 유사한 출력이 표시됩니다.

apparmor module is loaded.
...
profiles are loaded.
...
profiles are in enforce mode.
...
profiles are in complain mode.
...
processes are unconfined.
...

출력은 AppArmor 상태의 요약을 제공합니다.

  • apparmor module is loaded: AppArmor 커널 모듈이 활성 상태임을 나타냅니다.
  • profiles are loaded: 커널에 로드된 AppArmor 프로파일의 총 개수를 보여줍니다.
  • profiles are in enforce mode: 관련 애플리케이션의 동작을 적극적으로 제한하는 프로파일을 나열합니다. 애플리케이션이 적용된 프로파일에서 허용되지 않는 작업을 시도하면 해당 작업이 차단되고 로그 메시지가 생성됩니다.
  • profiles are in complain mode: 관련 애플리케이션의 동작을 모니터링하지만 제한을 적용하지 않는 프로파일을 나열합니다. 애플리케이션이 complain 프로파일에서 허용되지 않는 작업을 시도하면 해당 작업이 허용되지만 로그 메시지가 생성됩니다. 이 모드는 프로파일을 개발하고 테스트하는 데 유용합니다.
  • processes are unconfined: 현재 AppArmor 프로파일에 의해 관리되지 않는 실행 중인 프로세스의 수를 보여줍니다.

aa-status의 출력을 이해하는 것은 AppArmor 를 관리하고 시스템의 보안 상태를 이해하는 첫 번째 단계입니다.

다음 단계로 진행하려면 계속을 클릭하십시오.

/etc/apparmor.d 에서 프로파일 확인

이전 단계에서 aa-status를 사용하여 로드된 AppArmor 프로파일 목록을 확인했습니다. 이제 이러한 프로파일이 파일 시스템에 어디에 저장되어 있는지 살펴보겠습니다.

AppArmor 프로파일은 일반적으로 /etc/apparmor.d/ 디렉토리에 위치합니다. 이 디렉토리에는 각 제한된 애플리케이션에 대한 규칙을 정의하는 일반 텍스트 파일인 프로파일 파일이 포함되어 있습니다.

이 디렉토리의 내용을 나열하려면 ls 명령을 사용하십시오.

ls /etc/apparmor.d/

파일 및 디렉토리 목록이 표시됩니다. 이 디렉토리의 각 파일 (예: abstractions 또는 tunables와 같은 하위 디렉토리에 없는 파일) 은 일반적으로 애플리케이션에 대한 특정 AppArmor 프로파일을 나타냅니다.

예시 출력:

bootchartd             usr.sbin.tcpdump
...

이 파일 이름은 종종 제한하도록 설계된 실행 파일의 경로에 해당합니다. 예를 들어, usr.sbin.tcpdump/usr/sbin/tcpdump 명령에 대한 프로파일입니다.

nano와 같은 텍스트 편집기를 사용하여 프로파일 파일의 내용을 볼 수 있습니다. usr.sbin.tcpdump에 대한 프로파일을 살펴보겠습니다. 다음 명령을 입력하십시오.

nano /etc/apparmor.d/usr.sbin.tcpdump

그러면 nano 편집기에서 프로파일 파일이 열립니다. 파일 액세스 규칙, 네트워크 권한 및 기타 제한 사항을 정의하는 줄이 표시됩니다. 지금 당장은 모든 줄을 이해하는 것에 대해 걱정하지 마십시오. 목표는 프로파일 파일의 구조를 확인하는 것입니다.

nano를 종료하려면 Ctrl + X를 누르십시오. 변경 사항을 저장하라는 메시지가 표시됩니다. 아니요 (No) 를 선택하려면 N을 누른 다음 Enter를 눌러 확인합니다.

/etc/apparmor.d/의 파일을 탐색하면 시스템의 서로 다른 애플리케이션에 적용된 특정 보안 정책에 대한 통찰력을 얻을 수 있습니다.

다음으로 이동하려면 계속을 클릭하십시오.

/sys/kernel/security 에서 AppArmor 상태 검사

aa-status 명령 외에도 /sys 파일 시스템을 통해 AppArmor 의 상태를 직접 검사할 수도 있습니다. /sys 파일 시스템은 커널 데이터 구조에 대한 인터페이스를 제공하며 AppArmor 와 같은 보안 모듈에 대한 정보를 포함합니다.

/sys 내에서 AppArmor 상태와 관련된 디렉토리는 /sys/kernel/security/apparmor/입니다.

이 디렉토리의 내용을 나열하여 사용 가능한 정보를 확인해 보겠습니다.

ls /sys/kernel/security/apparmor/

로드된 프로파일, 정책 규칙 및 적용 상태와 같은 AppArmor 상태에 대한 세부 정보를 제공하는 파일 및 디렉토리가 표시됩니다.

예시 출력:

features  profiles  policy  revision  ...

특히 유용한 파일 중 하나는 profiles입니다. cat 명령을 사용하여 내용을 볼 수 있습니다.

cat /sys/kernel/security/apparmor/profiles

이 파일은 현재 로드된 AppArmor 프로파일과 해당 상태 (예: enforce, complain 또는 unconfined) 를 나열합니다. 출력은 aa-status로 확인한 프로파일 목록과 유사하지만, 커널 상태를 직접적으로 보여줍니다.

예시 출력:

/usr/sbin/tcpdump (enforce)
...

/sys/kernel/security/apparmor/ 디렉토리와 해당 파일을 검사하면 AppArmor 상태를 이해하는 더 낮은 수준의 방법을 제공하며 디버깅 또는 고급 분석에 도움이 될 수 있습니다.

이제 Linux 시스템에서 AppArmor 프로파일의 상태와 존재 여부를 확인하는 세 가지 다른 방법을 배웠습니다.

랩을 완료하려면 계속을 클릭하십시오.

요약

이 랩에서는 Linux 에서 AppArmor 프로파일이 활성 상태인지 확인하는 방법을 배웠습니다. 먼저 sudo와 함께 aa-status 명령을 사용하여 로드된 AppArmor 프로파일을 나열하고, 강제 (enforce) 모드인지 불평 (complain) 모드인지 여부를 포함하여 해당 상태를 이해했습니다. 이 명령은 AppArmor 모듈의 상태와 활성적으로 프로세스를 관리하는 프로파일 수를 빠르게 보여줍니다.

또한 이 랩에서는 /etc/apparmor.d 디렉토리를 검사하여 다양한 애플리케이션에 대한 보안 정책을 나타내는 사용 가능한 AppArmor 프로파일 파일을 확인하는 방법을 다루었습니다. 마지막으로, 시스템의 보안 프레임워크 내에서 AppArmor 커널 모듈의 존재 여부와 상태를 확인하기 위해 /sys/kernel/security 경로를 검사하는 방법을 배웠습니다.