필수 액세스 제어

필수 액세스 제어는 오브젝트의 민감도 및 사용자의 클리어런스를 기반으로 하여 오브젝트에 대한 액세스를 제한하는 시스템 적용 방법입니다. 이와 대조적으로 임의 액세스 제어는 시스템 대신 개별 파일 소유자에 의해 적용됩니다.

MAC의 레이블 사용

Trusted AIX®는 레이블의 시스템을 사용하여 MAC를 적용합니다. Trusted AIX 시스템에서 이름 붙여진 모든 오브젝트에는 오브젝트의 민감도 레벨을 식별하는 민감도 레이블(SL)이 있습니다. 프로세스에도 SL이 있습니다. 프로세스 SL은 프로세스가 액세스할 수 있는 민감한 정보 레벨을 표시합니다. 일반적으로 프로세스는 오브젝트에 액세스하기 위해 오브젝트의 레벨보다 높거나 같은 민감도 레벨을 가지고 있어야 합니다. SL을 사용하면 파일을 읽기 전용 액세스 가능한 상태로 만들거나 일반 사용자가 파일을 액세스하는 것을 완전히 금지할 수 있습니다.

파일, IPC 오브젝트, 네트워크 연결 및 프로세스와 같은 모든 시스템 오브젝트에는 SL이 있습니다. SL은 오브젝트가 작성될 때 자동으로 오브젝트에 배치됩니다. 모든 코어 덤프는 오브젝트로 인식되어 시스템에서 자동으로 레이블됩니다.

Trusted AIX 설치 후에 이러한 오브젝트에 액세스하는 경우 Trusted AIX를 설치하기 전에 존재하는 오브젝트는 디폴트 SYSTEM_LOW SL(SLSL)을 받습니다. SL은 이러한 오브젝트에 영구적으로 설정되지 않습니다. SL을 설정하려면 오브젝트에서 settxattr 명령을 실행해야 합니다. Trusted AIX 설치 후에 작성된 오브젝트의 경우 오브젝트의 SL은 작성 프로세스의 SL로 설정됩니다.

사용자 및 레이블

시스템이 시스템 디폴트 또는 사용자 고유 설정으로 각 사용자 계정에 유효한 SL 범위를 지정하면 사용자는 이 범위 내에서 조작할 수 있습니다. 프로세스 또는 사용자는 프로세스나 사용자의 민감도 레이블에서만 파일 및 디렉토리를 작성할 수 있으며 시스템 부과된 MAC 제한에 따라서만 파일을 읽고 쓸 수 있습니다.

MAC 적용

필수 액세스 제어는 파일 시스템 오브젝트를 열거나, 파일 시스템 오브젝트의 속성을 받거나, 프로세스에 신호를 보내거나, STREAM을 통해 데이터를 전송하거나, 네트워크 인터페이스를 통해 패킷을 보내거나 받는 프로세스 시도에 항상 적용됩니다. 임의의 파일 시스템에 대한 액세스는 MAC와 DAC 기준이 둘 다 충족되는 경우에만 가능합니다. 사용자가 파일 액세스를 시도하면 ACL의 권한 비트와 같은 DAC 제한을 검사하기 전에 MAC 제한이 적용됩니다.

파일 시스템 오브젝트에 대한 액세스는 오브젝트의 SL 뿐만 아니라 오브젝트가 상주하는 디렉토리의 SL에 의해 제한됩니다. 그러므로 파일 시스템 오브젝트는 오브젝트의 SL과 다른 민감도 레벨(디렉토리의 SL)에서 보호될 수 있습니다. 파일 시스템 오브젝트는 하나 이상의 디렉토리에 여러 이름(링크)을 가질 수 있습니다. 각 이름(링크)은 링크가 연결되는 파일과 동일한 SL로 보호되지만 링크가 보호 레벨이 다른 디렉토리에 있기 때문에 여러 링크에 대한 효과적인 보호 방법은 다를 수 있습니다.

오브젝트의 이름은 오브젝트가 상주하는 디렉토리에 저장됩니다. 그러므로 해당 디렉토리에 대한 액세스 권한을 가진 프로세스는 이 디렉토리에 있는 모든 오브젝트의 이름을 볼 수 있습니다. 그러나 적절한 액세스 권한을 가진 프로세스만 오브젝트 중 하나에(서) 쓰거나 읽을 수 있습니다.

SL 나열 및 변경

시스템에 있는 오브젝트 및 프로세스의 SL은 lstxattr 명령을 사용하여 볼 수 있고 settxattr 명령을 사용하여 수정할 수 있습니다.

적절한 권한을 가진 사용자와 적절한 특권을 가진 프로세스만 파일 또는 프로세스의 SL을 변경할 수 있습니다.

settxattr 명령을 사용하여 파일 시스템 오브젝트 SL을 낮은 레벨 SL로 설정하려면 사용자가 aix.mls.label.sl.downgrade 권한을 가지고 있어야 합니다. 파일 시스템 오브젝트의 SL을 업그레이드하려면 사용자가 aix.mls.label.sl.upgrade 권한을 가지고 있어야 합니다. 프로세스의 SL을 변경하는 경우 업그레이드하려면 사용자가 aix.mls.proc.sl.upgrade 권한을 가지고 있어야 하고 다운그레이드하려면 사용자가 aix.mls.proc.sl.downgrade 권한을 가지고 있어야 합니다.

열린 파일 설명자의 MAC

읽기/쓰기 및 단순 파일 액세스의 경우 프로세스가 파일에 액세스할 때 MAC 검사가 수행됩니다. 프로세스에 파일의 파일 설명자가 있으면 프로세스 SL이 파일의 SL보다 낮은 레벨로 변경된 경우에도 파일을 읽고 쓸 수 있습니다. 그러나 프로세스가 파일 설명자를 얻은 후 파일 소유자, 권한, 레이블 및 특권 설정과 같은 일부 조작에서 액세스 검사를 수행합니다.

이는 프로세스가 파일 설명자를 사용하여 파일에 액세스할 때 MAC 검사 및 파티션된 디렉토리 경로 해석이 수행되지 않는다는 의미입니다. 파일 및/또는 프로세스의 SL을 변경할 수 있으며 액세스가 여전히 허용됩니다.