Trusted Solaris 관리 개요

장치와 드라이버

장치에 보안이 필요한 이유는 장치가 시스템으로부터 데이터를 가져오고 내보내기 위한 수단이 되기 때문입니다. Trusted Solaris 환경에서 실행 프로파일에 할당된 인증 및 강제 액세스 제어를 통해 장치가 제어됩니다. 테이프 드라이브, 플로피 디스크 드라이브 및 마이크가 할당 가능한 장치의 예입니다.

장치의 할당은 Solaris SunSHIELD Basic Security Module(BSM)에서 제공합니다. SunSHIELD Basic Security Module Guilde의 제4장, "Device Allocation"을 참조하십시오. 레이블 범위는 Trusted Solaris에 대해 고유합니다.

장치를 할당하면 데이터 가져오기 및 내보내기를 제어할 수 있습니다. Trusted Solaris 환경에서 관리자는 어떤 장치를 사용하여 데이터를 가져오고 내보낼 것인지 결정하고 /etc/security/device_maps 파일 및 /etc/security/device_allocate 파일에 그 장치를 포함시킵니다.

사용자는 장치 할당 관리자를 통해 장치를 할당합니다. 장치 할당 관리자는 장치를 마운트하고 새로운 스크립트를 실행하여 장치를 준비하며("장치 정리 스크립트" 참조), 할당을 수행합니다. 이 작업을 마치면 사용자는 장치 할당 관리자를 통해 장치 할당을 해제하며, 장치 할당 관리자는 다른 새로운 스크립트를 실행하여 장치의 마운트와 할당을 해제합니다.

장치 할당 관리자를 통한 장치 관리

장치 할당 관리자는 프론트 패널의 스타일 관리자(Style Manager) 위에 있는 트러스트 데스크탑 부속 패널에서 액세스합니다. 장치 할당 관리자(Device Allocatin Manager)는 할당 및 할당 해제를 위한 장치 할당 인증을 가진 사용자만 사용할 수 있습니다. 일반 사용자는 장치가 다른 사용자에 현재 할당되어 있는지 여부를 알 수 없으며, 인증된 사용자와 관리자만 사용할 수 있는 장치 할당 관리자의 장치 관리(Device Administration) 버튼으로 유지관리 작업을 수행할 수 없습니다. 장치 할당 관리자 관리 도구는 다음 페이지의 그림에 요약되어 있습니다.

그림 7-8 장치 할당 관리 대화 상자

Graphic

장치 관리 대화 상자

장치 할당 관리자(Device Allocatin Manager)의 주 윈도우에서 장치 관리(Device Administration) 버튼을 누르면 장치 관리(Device Administration) 대화 상자가 표시됩니다. 이 대화 상자를 사용하여 장치를 선택할 수 있으며, 선택한 장치의 상태가 표시됩니다. 반환(Reclaim) 버튼을 누르면 현재 오류 상태에 있는 장치를 볼 수 있습니다. 해제(Revoke) 버튼을 누르면 선택한 장치가 사용중(할당됨)에서 사용 가능 상태(할당 해제됨)로 이동합니다. 장치 인증을 해제하거나 반환하려면 이들 버튼을 사용해야 합니다.

장치 할당 구성 대화 상자

장치 할당 구성(Device Allocation Configuration) 대화 상자를 사용하려면 장치 속성 구성 인증이 필요합니다. 장치 할당 관리(Device Allocation Maintenance) 대화 상자의 구성(Configuration) 버튼을 누르면 장치 할당 구성 대화 상자가 표시되어 장치 레이블 범위 내의 최소 민감도 레이블 및 최대 민감도 레이블을 설정하고 새로운 프로그램을 지정하며 장치 사용을 허용할 사용자를 지정할 수 있습니다.

장치 할당 인증 대화 상자

장치 할당 구성 대화 상자의 인증(Authorizations) 버튼을 누르면 장치 할당 인증(Device Allocation Authorizations) 대화 상자가 표시됩니다. 이 대화 상자에서 장치 사용에 필요한 인증을 지정할 수 있습니다.

장치 할당 보안 정책

장치 할당에 관한 보안 정책을 변경할 수 있습니다. device_policy(4) 이 작업은 device_policy(4) 파일을 편집하면 변경할 수 있습니다. Trusted Solaris Administrator's Procedures의 제15장, "Managing Devices,"를 참조하십시오.

할당 명령

장치 할당 관리자에 액세스할 수 없는 경우 이 절에서 설명한 명령을 사용하여 할당 가능 장치를 관리할 수 있습니다. 그러나 사용자는 이들 명령을 사용할 수 없습니다.

allocate

allocate(1M) 명령은 할당 메커니즘을 통해 장치의 소유권을 관리합니다. 이 명령을 사용하면 한번에 한 명의 유자격 사용자만 각 장치를 사용하도록 할 수 있습니다.

deallocate

deallocate(1M) 명령은 호출하는 사용자에게 할당된 장치의 할당을 해제합니다. 장치는 device_deallocate(4) 또는 장치에 관련된 장치 특수 파일 중 하나에 정의된 장치일 수 있습니다. 이 명령은 장치에 관련된 모든 장치 특수 파일에 대한 소유권 및 허용 권한을 재설정하여 장치에 대한 사용자의 액세스 권한을 비활성 상태로 만듭니다. 수퍼유저는 이 옵션을 사용하여 다른 사용자의 액세스를 제거할 수 있습니다.

할당 해제나 강제 할당 해제를 수행할 때 device_deallocate(4)에 기초하여 적절한 장치 정리 프로그램이 실행됩니다. 이들 정리 프로그램은 대개 /etc/security/lib에 저장됩니다.

list_devices

list_devices(1M) 명령을 사용하면 시스템 내의 할당 가능한 장치를 특정 자격에 따라 열거할 수 있습니다.

장치와 그 장치에 관련된 모든 장치 특수 파일을 열거합니다. 장치 인수는 선택 사항이며 인수를 지정하지 않으면 관련 장치가 모두 열거됩니다.

dminfo

dminfo(1M) 명령을 사용하면 장치 맵 파일에 있는 장치 항목에 관한 정보를 표시할 수 있습니다.

add_drv

add_drv(1M) 명령은 새로 설치된 장치를 시스템에게 알려주는 역할을 합니다. add_drv 명령을 사용하려면 sys_devices 특권이 있어야 합니다.

rem_drv

rem_drv(1M) 명령은 제거된 장치를 시스템에게 알려주는 역할을 합니다. rem_drv 명령을 사용하려면 sys_devices 특권이 있어야 합니다.

장치 정리 스크립트

장치 정리 스크립트는 특수 스크립트이며, 다음과 같은 두 가지 보안 문제를 해결합니다.

할당 데이터베이스

장치 할당 구성을 위한 파일은 다음과 같습니다.

device_allocate

device_allocate(4) 파일에는 할당 가능한 각 물리적 장치에 대한 인증 및 강제 액세스 제어 정보가 포함됩니다. 각 항목에는 다음과 같은 내용이 수록됩니다.

device_deallocate

device_allocate(4) 파일은 장치의 할당 해제 메커니즘이 장치를 강제로 할당 해제할 것인지, 상태를 그대로 유지시킬 것인지 또는 사용자가 결정하도록 프롬프트를 표시할 것인지 여부를 알아야 하는 시스템 부팅, 사용자 로그 아웃 및 시간 종료로 인한 강제 로그 아웃 시점에서 사용자가 할당 해제하지 않은 할당 장치에 대한 장치 할당 해제 옵션을 지정합니다.

각 장치의 할당 해제 옵션은 다음과 같은 내용을 포함하는 항목으로 나타납니다.

device_maps

device_maps(4) 파일은 물리적 장치 이름을 장치 특수 파일로 매핑합니다. 각 장치는 다음을 포함하는 항목으로 나타납니다.

장치 레이블 범위

각 할당 가능 장치에는 민감도 레이블 범위가 있습니다. 사용자의 프로세스 민감도 레이블은 장치가 사용자에게 할당된 동안 가져오거나 내보낸 데이터에 사용합니다.

레이블 범위를 가진 장치는 테이프 드라이브, 디스켓, CD-ROM 드라이브 및 프린터 등이 있습니다.

장치 드라이버 보안

특정 커널 드라이버에서 선택한 구성 매개변수를 관리하기 위한 ndd(1M) 명령을 사용하여 드라이버 매개변수를 설정하려면 SYS_NET_CONFIG 특권을 상속해야 합니다.

kstat(3K) 명령을 사용하면 드라이버가 수신한 인터럽트 수 또는 수행된 NFS 작업 수와 같은 커널 드라이버 통계에 액세스할 수 있습니다. 이러한 종류의 정보는 불분명하고 모듈화가 어려우며 기록된 작업의 수행 속도에 따라 영향을 받기 때문에 잠재적 위장 채널을 엽니다. 이러한 상황이 허용되지 않는 경우에는 설치 시점에서 /dev/kstat에 대한 민감도 레이블을 ADMIN_LOW에서 ADMIN_HIGH로 변경하고, /dev/kstat를 읽거나 쓰는 프로그램들을 ADMIN_HIGH에서 실행하거나 file_mac_read/file_mac_write 특권을 사용하여 실행해야 합니다.

/dev/kstat 민감도 레이블을 변경하려면 /etc/security/tsol/minor_perm.adjunct 파일을 편집하고 kstat을 ADMIN_HIGH로 설정하는 행의 주석 처리를 취소해야 합니다. 이 행은 "#kstat:kstat 0x7777777 ..."과 같이 시작합니다.

/dev/kstat에 액세스하여 ADMIN_HIGH에서 실행하거나 특권을 사용하여 실행해야 하는 명령은 다음과 같습니다. netstat, in.rwhod, cachefslog, cachefsstat, nfsstat, fuser, iostat, mpstat, prtdiag, psrinfo, rpc.rstat, sad, sendmail, vmstat, wlux