장치 할당을 사용하여 데이터 손실, 컴퓨터 바이러스 및 기타 보안 침해로부터 사이트를 보호할 수 있습니다. 장치 정책과 달리, 장치 할당은 선택 사항입니다. 장치 할당은 권한 부여를 사용하여 할당 가능한 장치에 대한 액세스를 제한합니다.
장치 할당 방식의 구성 요소는 다음과 같습니다.
svc:/system/device/allocate 서비스. 자세한 내용은 smf(5) 매뉴얼 페이지와 장치 할당 명령에 대한 매뉴얼 페이지를 참조하십시오.
allocate, deallocate, dminfo 및 list_devices 명령. 자세한 내용은 장치 할당 명령을 참조하십시오.
Device Management 및 Device Security 권한 프로파일. 자세한 내용은 장치 할당 권한 프로파일을 참조하십시오.
각 할당 가능한 장치에 대한 device-clean 스크립트
이러한 명령과 스크립트는 다음 로컬 파일을 사용하여 장치 할당을 구현합니다.
/etc/security/device_allocate 파일. 자세한 내용은 device_allocate(4) 매뉴얼 페이지를 참조하십시오.
/etc/security/device_maps 파일. 자세한 내용은 device_maps(4) 매뉴얼 페이지를 참조하십시오.
각 할당 가능한 장치에 대한 /etc/security/dev 디렉토리의 잠금 파일.
각 할당 가능한 장치와 연관된 잠금 파일의 변경된 속성
svc:/system/device/allocate 서비스는 장치 할당을 제어합니다. 이 서비스는 기본적으로 사용 안함으로 설정됩니다.
장치 및 장치 할당을 관리하려면 Device Management 및 Device Security 권한 프로파일이 필요합니다.
이러한 권한 프로파일은 다음 권한을 포함합니다.
solaris.device.allocate – 장치를 할당하는 데 필요합니다.
solaris.device.cdrw – CD-ROM 읽기 및 쓰기에 필요합니다.
solaris.device.config – 장치의 속성을 구성하는 데 필요합니다.
solaris.device.mount.alloptions.fixed – 고정된 장치를 마운트할 때 마운트 옵션을 지정하는 데 필요합니다.
solaris.device.mount.alloptions.removable – 이동식 장치를 마운트할 때 마운트 옵션을 지정하는 데 필요합니다.
solaris.device.mount.fixed – 고정된 장치를 마운트하는 데 필요합니다.
solaris.device.mount.removable – 이동식 장치를 마운트하는 데 필요합니다.
solaris.device.revoke – 장치를 취소하거나 회수하는 데 필요합니다.
대문자 옵션과 함께 사용되는 allocate, deallocate 및 list_devices 명령은 관리 명령입니다. 그렇지 않으면 이러한 명령은 사용자 명령입니다. 다음 표는 장치 할당 명령을 나열합니다.
|
기본적으로 사용자가 할당 가능한 장치를 예약하려면 solaris.device.allocate 권한이 있어야 합니다. solaris.device.allocate 권한 부여가 포함되도록 권한 프로파일을 만들려면 장치를 할당할 수 있도록 사용자에게 권한을 부여하는 방법을 참조하십시오.
관리자가 장치의 할당 상태를 변경하려면 solaris.device.revoke 권한이 있어야 합니다. 예를 들어, allocate 및 list_devices 명령에 –U 옵션을 사용하거나 deallocate 명령에 –F 옵션을 사용하려면 solaris.device.revoke 권한 부여가 필요합니다.
자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 권한 부여가 필요한 선택된 명령을 참조하십시오.
deallocate 명령이 할당 해제를 실패하거나 allocate 명령이 할당을 실패할 때 장치가 할당 오류 상태에 놓입니다. 할당 가능한 장치가 할당 오류 상태에 있을 때 장치를 강제로 할당 해제해야 합니다. Device Management 권한 프로파일이나 Device Security 권한 프로파일을 가진 사용자/역할만 할당 오류 상태를 처리할 수 있습니다.
deallocate 명령을 –F 옵션과 함께 사용하면 강제로 할당 해제됩니다. 또는 allocate -U를 사용하여 장치를 사용자에 지정할 수 있습니다. 일단 장치를 할당하면 오류 메시지가 나타날 경우 조사할 수 있습니다. 장치 관련 문제를 수정한 후에 강제로 할당 해제할 수 있습니다.
장치 할당을 설정할 때 장치 맵이 생성됩니다. /etc/security/device_maps 파일은 각 할당 가능한 장치와 연관된 장치 이름, 장치 유형, 장치 특수 파일을 포함합니다.
device_maps 파일은 각 장치에 대한 장치 특수 파일 매핑을 정의하며, 이는 대부분의 경우 직관적이 아닙니다. 이 파일을 사용하여 프로그램은 어떤 장치 특수 파일이 어떤 장치에 매핑되는지 찾을 수 있습니다. 예를 들어, dminfo 명령을 사용하여 할당 가능한 장치를 설정할 때 지정된 장치 이름, 장치 유형, 장치 특수 파일을 검색할 수 있습니다. dminfo 명령은 device_maps 파일을 사용하여 이 정보를 보고합니다.
각 장치는 다음과 같은 형식의 한 라인으로 입력됩니다.
device-name:device-type:device-list예 4-11 샘플 device_maps 입력
다음 예는 device_maps 파일의 항목을 보여줍니다.
audio0:\ audio:\ /dev/audio /dev/audioctl /dev/dsp /dev/dsp0 /dev/mixer0 /dev/sound/0 /dev/sound/0ctl /dev/sound/audio810\:0mixer /dev/sound/audio810\:0dsp /dev/sound/audio810\:0 /dev/sound/audio810\:0ctl
device_maps 파일에서 다음 행에 입력을 계속하기 위해서는 행이 백슬래시(\)로 끝날 수 있습니다. 주석을 포함할 수도 있습니다. 파운드 기호(#)는 백슬래시 바로 앞에 오지 않는 다음 개행 전까지 모든 후속 텍스트를 주석 처리합니다. 선행 및 후행 공백이 필드에 허용됩니다. 필드 정의는 다음과 같습니다.
장치의 이름을 지정합니다. 현재 장치 이름 목록은 장치에 대한 할당 정보를 보는 방법을 참조하십시오.
일반 장치 유형을 지정합니다. 일반 이름은 st, fd, rmdisk, audio와 같은 장치 클래스의 이름입니다. device-type 필드는 관련 장치를 논리적으로 그룹화합니다.
물리적 장치와 연관된 장치 특수 파일을 나열합니다. device-list는 특정 장치에 액세스가 허용된 특수 파일을 모두 포함해야 합니다. 목록이 불완전하면 악의적인 사용자가 개인 정보를 계속 얻거나 수정할 수 있습니다. device-list 필드의 유효한 항목은 /dev 디렉토리에 위치한 장치 파일을 반영합니다.
/etc/security/device_allocate 파일을 수정하여 장치를 할당 가능에서 할당 불가능으로 변경하거나 새 장치를 추가할 수 있습니다.
device_allocate 파일의 항목에 장치가 할당 가능함을 특별히 언급하지 않는 한, 장치가 할당 가능함을 의미하지는 않습니다.
device_allocate 파일에서 각 장치는 다음과 같은 형식의 한 라인으로 입력됩니다.
device-name;device-type;reserved;reserved;auths;device-exec
다음 예제는 샘플 device_allocate 파일을 보여줍니다.
st0;st;;;;/etc/security/lib/st_clean fd0;fd;;;;/etc/security/lib/fd_clean sr0;sr;;;;/etc/security/lib/sr_clean audio;audio;;;*;/etc/security/lib/audio_clean
audio 장치 항목의 다섯번째 필드에는 별표(*)가 있습니다.
device_allocate 파일에서 다음 행에 입력을 계속하려면 백슬래시(\)로 끝날 수 있습니다. 주석을 포함할 수도 있습니다. 파운드 기호(#)는 백슬래시 바로 앞에 오지 않는 다음 개행 전까지 모든 후속 텍스트를 주석 처리합니다. 선행 및 후행 공백이 필드에 허용됩니다. 필드 정의는 다음과 같습니다.
장치의 이름을 지정합니다. 현재 장치 이름 목록은 장치에 대한 할당 정보를 보는 방법을 참조하십시오.
일반 장치 유형을 지정합니다. 일반 이름은 st, fd, sr과 같은 장치 클래스의 이름입니다. device-type 필드는 관련 장치를 논리적으로 그룹화합니다. 장치를 할당 가능하도록 만들 때 device_maps 파일의 device-type 필드에서 장치 이름을 검색합니다.
Oracle은 나중에 사용하도록 reserved로 표시된 필드 두 개를 예약합니다.
장치가 할당 가능한지 여부를 지정합니다. 이 필드의 별표(*)는 장치가 할당 불가능함을 나타냅니다. 권한 부여 문자열 또는 빈 필드는 장치가 할당 가능함을 나타냅니다. 예를 들어, auths 필드의 문자열 solaris.device.allocate는 장치를 할당하려면 solaris.device.allocate 권한 부여가 필요함을 나타냅니다. 이 필드의 at 기호(@)는 모든 사용자에 의해 장치가 할당 가능함을 나타냅니다.
할당 프로세스 동안 정리 및 객체 재사용 보호와 같은 특수 처리를 위해 호출할 스크립트의 경로 이름을 제공합니다. device-exec 스크립트는 장치가 deallocate 명령으로 작동할 때 언제든지 실행됩니다.
예를 들어, 다음과 같은 sr0 장치의 입력은 solaris.device.allocate 권한 부여를 가진 사용자에 의해 CD-ROM 드라이브가 할당 가능함을 나타냅니다.
sr0;sr;reserved;reserved;solaris.device.allocate;/etc/security/lib/sr_clean
기본 장치 및 정의된 특성을 사용하도록 결정할 수 있습니다. 새 장치를 설치한 후에 항목을 수정할 수 있습니다. 사용 전에 할당되어야 할 장치는 해당 장치 시스템의 device_allocate 및 device_maps 파일에 정의해야 합니다. 현재 카트리지 테이프 드라이브, 디스켓 드라이브, CD-ROM 드라이브, 이동식 매체 드라이브 및 오디오 칩이 할당 가능한 것으로 고려됩니다. 이러한 장치 유형에는 device-clean 스크립트가 있습니다.
장치 할당은 보안 감사자의 일부 객체 재사용 요구 사항을 충족합니다. device-clean 스크립트는 재사용 전에 물리적 장치에서 모든 사용 가능한 데이터를 비우도록 보안 요구 사항을 처리합니다. 다른 사용자에 의해 장치가 할당 가능하기 전에 데이터를 지웁니다. 기본적으로 카트리지 테이프 드라이브, 디스켓 드라이브, CD-ROM 드라이브 및 오디오 장치는 Oracle Solaris가 제공하는 device-clean 스크립트가 필요합니다. 이 절은 device-clean 스크립트가 하는 일을 설명합니다.
st_clean device-clean 스크립트는 세 가지 테이프 장치를 지원합니다.
SCSI ¼인치 테이프
Archive ¼인치 테이프
Open-reel ½인치 테이프
st_clean 스크립트는 mt 명령에 –rewoffl 옵션을 사용하여 장치를 정리합니다. 자세한 내용은 mt(1) 매뉴얼 페이지를 참조하십시오. 스크립트가 시스템 부트 중 실행되면 장치를 질의하여 장치가 온라인인지 확인합니다. 장치가 온라인이면 장치 안에 매체가 있는지 확인합니다. ¼인치 테이프 장치 안에 매체가 있으면 할당 오류 상태에 놓입니다. 할당 오류 상태에 놓이면 관리자가 수동으로 장치를 정리해야 합니다.
정상적인 시스템 운영 중에 deallocate 명령을 대화식 모드로 실행할 때 매체를 제거하라는 메시지가 나타납니다. 매체를 장치에서 제거할 때까지 할당 해제가 지연됩니다.
다음 device-clean 스크립트가 디스켓 및 CD-ROM 드라이브용으로 제공됩니다.
스크립트가 eject 명령을 사용하여 드라이브에서 매체를 제거합니다. eject 명령을 실패하면 장치가 할당 오류 상태에 놓입니다. 자세한 내용은 eject(1) 매뉴얼 페이지를 참조하십시오.
오디오 장치는 audio_clean 스크립트로 정리합니다. 스크립트가 AUDIO_GETINFO ioctl 시스템 호출을 수행하여 장치를 읽습니다. 그런 다음 AUDIO_SETINFO ioctl 시스템 호출을 수행하여 장치 구성을 기본값으로 재설정합니다.
시스템에 할당 가능한 장치를 더 추가하면 고유의 device-clean 스크립트를 만들어야 합니다. deallocate 명령은 device-clean 스크립트에 매개변수를 전달합니다. 여기에 표시된 매개변수는 장치 이름을 포함하는 문자열입니다. 자세한 내용은 device_allocate(4) 매뉴얼 페이지를 참조하십시오.
clean-script -[I|i|f|S] device-name
Device-clean 스크립트는 성공은 "0", 실패는 "0"보다 큰 값을 반환해야 합니다. –I, –f, –S 옵션이 스크립트의 실행 모드를 결정합니다.