커널 보안 테이블
커널 보안 테이블(KST)로 지정된 커널 영역으로 데이터를 로드하기 전에는 권한, 역할, 특권 명령 및 특권 장치 데이터베이스에 포함된 정보가 보안 고려사항에 사용되지 않습니다. 확장된 RBAC 모드에서 권한 및 특권 검사는 커널에서 수행되므로 해당 검사를 사용하려면 먼저 데이터베이스를 커널로 전송해야 합니다.
- 커널 권한 테이블(KAT)
- 커널 역할 테이블(KRT)
- 커널 명령 테이블(KCT)
- 커널 장치 테이블(KDT)
모든 테이블 또는 선택 테이블은 setkst 명령을 사용하여 사용자 공간에서 커널로 전송할 수 있습니다. KRT과 KCT는 KAT에 종속되므로 KAT를 갱신하도록 선택한 경우 KRT와 KCT도 갱신되어 해당 테이블이 동기화됩니다. KST에 갱신사항을 추가하기 위해 선호되는 방법은 사용자 수준(mkauth, chauth, mkrole 및 setsecattr 등의 명령 사용)에서 필요한 모든 데이터베이스를 작성 또는 수정한 다음 setkst 명령을 사용하여 테이블을 커널에 전송하는 것입니다. 테이블이 커널에 로드되면 lskst 명령을 사용하여 각 테이블에 포함된 정보를 표시할 수 있습니다.
KST에서 제공되는 테이블은 항상 전체 테이블로 전송됩니다. 즉 KST는 개별 항목 수정을 허용하지 않으므로 전체 테이블을 대체해야 합니다. 테이블을 커널로 전송하기 전에 setkst 명령이 테이블 및 테이블 간의 관계를 검증합니다. setkst 명령도 inittab 파일에 포함되어 부트 프로세스 초기에 데이터베이스가 KST로 전송되도록 합니다.
어떤 이유로 테이블을 작성할 수 없거나 커널로 로드할 수 없고 이전에 테이블이 로드되지 않은 경우 시스템이 권한이나 역할이 없는 것처럼 작동합니다. 일치 항목이 없으므로 이 시나리오에서 권한 및 역할 검사를 위한 명령, API 및 시스템 호출이 실패합니다. 이 상태에서의 시스템 운영은 명령에서 사용자가 권한을 강제하는 코드 섹션에 액세스할 수 없다는 것을 제외하고 레거시 RBAC 모드와 매우 유사합니다.