Oracle® Solaris 11.2에서 시스템 및 연결된 장치의 보안

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

장치 할당

장치 할당을 사용하여 데이터 손실, 컴퓨터 바이러스 및 기타 보안 침해로부터 사이트를 보호할 수 있습니다. 장치 정책과 달리, 장치 할당은 선택 사항입니다. 장치 할당은 권한 부여를 사용하여 할당 가능한 장치에 대한 액세스를 제한합니다.

장치 할당의 구성 요소

    장치 할당 방식의 구성 요소는 다음과 같습니다.

  • svc:/system/device/allocate 서비스. 자세한 내용은 smf(5) 매뉴얼 페이지와 장치 할당 명령에 대한 매뉴얼 페이지를 참조하십시오.

  • allocate, deallocate, dminfolist_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, deallocatelist_devices 명령은 관리 명령입니다. 그렇지 않으면 이러한 명령은 사용자 명령입니다. 다음 표는 장치 할당 명령을 나열합니다.

표 4-4  장치 할당 명령
명령 매뉴얼 페이지
용도
한 사용자가 사용하도록 할당 가능한 장치를 예약합니다.
기본적으로 사용자가 장치를 할당하려면 solaris.device.allocate 권한이 있어야 합니다. 사용자 권한 부여가 필요하지 않도록 device_allocate 파일을 수정할 수 있습니다. 그러면 시스템의 사용자가 사용할 장치가 할당되도록 요청할 수 있습니다.
장치에서 할당 예약을 제거합니다.
할당 가능한 장치를 장치 유형별, 장치 이름별, 전체 경로 이름별로 검색합니다.
할당 가능한 장치의 상태를 나열합니다.
device_maps 파일에 나열된 장치와 연관된 장치 특수 파일을 모두 나열합니다.
–U 옵션을 사용하여 지정된 사용자 ID에 할당 가능한 또는 할당된 장치를 나열합니다. 이 옵션으로 다른 사용자에게 할당 가능한 또는 할당된 장치를 확인할 수 있습니다. solaris.device.revoke 권한 부여가 있어야 합니다.
할당 명령에 대한 권한 부여

기본적으로 사용자가 할당 가능한 장치를 예약하려면 solaris.device.allocate 권한이 있어야 합니다. solaris.device.allocate 권한 부여가 포함되도록 권한 프로파일을 만들려면 장치를 할당할 수 있도록 사용자에게 권한을 부여하는 방법을 참조하십시오.

관리자가 장치의 할당 상태를 변경하려면 solaris.device.revoke 권한이 있어야 합니다. 예를 들어, allocatelist_devices 명령에 –U 옵션을 사용하거나 deallocate 명령에 –F 옵션을 사용하려면 solaris.device.revoke 권한 부여가 필요합니다.

자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 권한 부여가 필요한 선택된 명령을 참조하십시오.

할당 오류 상태

deallocate 명령이 할당 해제를 실패하거나 allocate 명령이 할당을 실패할 때 장치가 할당 오류 상태에 놓입니다. 할당 가능한 장치가 할당 오류 상태에 있을 때 장치를 강제로 할당 해제해야 합니다. Device Management 권한 프로파일이나 Device Security 권한 프로파일을 가진 사용자/역할만 할당 오류 상태를 처리할 수 있습니다.

deallocate 명령을 –F 옵션과 함께 사용하면 강제로 할당 해제됩니다. 또는 allocate -U를 사용하여 장치를 사용자에 지정할 수 있습니다. 일단 장치를 할당하면 오류 메시지가 나타날 경우 조사할 수 있습니다. 장치 관련 문제를 수정한 후에 강제로 할당 해제할 수 있습니다.

device_maps 파일

장치 할당을 설정할 때 장치 맵이 생성됩니다. /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 파일에서 다음 행에 입력을 계속하기 위해서는 행이 백슬래시(\)로 끝날 수 있습니다. 주석을 포함할 수도 있습니다. 파운드 기호(#)는 백슬래시 바로 앞에 오지 않는 다음 개행 전까지 모든 후속 텍스트를 주석 처리합니다. 선행 및 후행 공백이 필드에 허용됩니다. 필드 정의는 다음과 같습니다.

device-name

장치의 이름을 지정합니다. 현재 장치 이름 목록은 장치에 대한 할당 정보를 보는 방법을 참조하십시오.

device-type

일반 장치 유형을 지정합니다. 일반 이름은 st, fd, rmdisk, audio와 같은 장치 클래스의 이름입니다. device-type 필드는 관련 장치를 논리적으로 그룹화합니다.

device-list

물리적 장치와 연관된 장치 특수 파일을 나열합니다. device-list는 특정 장치에 액세스가 허용된 특수 파일을 모두 포함해야 합니다. 목록이 불완전하면 악의적인 사용자가 개인 정보를 계속 얻거나 수정할 수 있습니다. device-list 필드의 유효한 항목은 /dev 디렉토리에 위치한 장치 파일을 반영합니다.

device_allocate 파일

/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 파일에서 다음 행에 입력을 계속하려면 백슬래시(\)로 끝날 수 있습니다. 주석을 포함할 수도 있습니다. 파운드 기호(#)는 백슬래시 바로 앞에 오지 않는 다음 개행 전까지 모든 후속 텍스트를 주석 처리합니다. 선행 및 후행 공백이 필드에 허용됩니다. 필드 정의는 다음과 같습니다.

device-name

장치의 이름을 지정합니다. 현재 장치 이름 목록은 장치에 대한 할당 정보를 보는 방법을 참조하십시오.

device-type

일반 장치 유형을 지정합니다. 일반 이름은 st, fd, sr과 같은 장치 클래스의 이름입니다. device-type 필드는 관련 장치를 논리적으로 그룹화합니다. 장치를 할당 가능하도록 만들 때 device_maps 파일의 device-type 필드에서 장치 이름을 검색합니다.

reserved

Oracle은 나중에 사용하도록 reserved로 표시된 필드 두 개를 예약합니다.

auths

장치가 할당 가능한지 여부를 지정합니다. 이 필드의 별표(*)는 장치가 할당 불가능함을 나타냅니다. 권한 부여 문자열 또는 빈 필드는 장치가 할당 가능함을 나타냅니다. 예를 들어, auths 필드의 문자열 solaris.device.allocate는 장치를 할당하려면 solaris.device.allocate 권한 부여가 필요함을 나타냅니다. 이 필드의 at 기호(@)는 모든 사용자에 의해 장치가 할당 가능함을 나타냅니다.

device-exec

할당 프로세스 동안 정리 및 객체 재사용 보호와 같은 특수 처리를 위해 호출할 스크립트의 경로 이름을 제공합니다. device-exec 스크립트는 장치가 deallocate 명령으로 작동할 때 언제든지 실행됩니다.

예를 들어, 다음과 같은 sr0 장치의 입력은 solaris.device.allocate 권한 부여를 가진 사용자에 의해 CD-ROM 드라이브가 할당 가능함을 나타냅니다.

sr0;sr;reserved;reserved;solaris.device.allocate;/etc/security/lib/sr_clean

기본 장치 및 정의된 특성을 사용하도록 결정할 수 있습니다. 새 장치를 설치한 후에 항목을 수정할 수 있습니다. 사용 전에 할당되어야 할 장치는 해당 장치 시스템의 device_allocatedevice_maps 파일에 정의해야 합니다. 현재 카트리지 테이프 드라이브, 디스켓 드라이브, CD-ROM 드라이브, 이동식 매체 드라이브 및 오디오 칩이 할당 가능한 것으로 고려됩니다. 이러한 장치 유형에는 device-clean 스크립트가 있습니다.


주 -  Xylogics 및 Archive 테이프 드라이브에는 또한 SCSI 장치용으로 제공된 st_clean 스크립트가 사용됩니다. 터미널, 그래픽 타블렛 및 기타 할당 가능한 장치에 대한 고유의 device-clean 스크립트를 만들어야 합니다. 스크립트는 해당 유형의 장치에 대한 객체 재사용 요구 사항을 충족해야 합니다.

Device-Clean 스크립트

장치 할당은 보안 감사자의 일부 객체 재사용 요구 사항을 충족합니다. device-clean 스크립트는 재사용 전에 물리적 장치에서 모든 사용 가능한 데이터를 비우도록 보안 요구 사항을 처리합니다. 다른 사용자에 의해 장치가 할당 가능하기 전에 데이터를 지웁니다. 기본적으로 카트리지 테이프 드라이브, 디스켓 드라이브, CD-ROM 드라이브 및 오디오 장치는 Oracle Solaris가 제공하는 device-clean 스크립트가 필요합니다. 이 절은 device-clean 스크립트가 하는 일을 설명합니다.

테이프용 Device-Clean 스크립트

    st_clean device-clean 스크립트는 세 가지 테이프 장치를 지원합니다.

  • SCSI ¼인치 테이프

  • Archive ¼인치 테이프

  • Open-reel ½인치 테이프

st_clean 스크립트는 mt 명령에 –rewoffl 옵션을 사용하여 장치를 정리합니다. 자세한 내용은 mt(1) 매뉴얼 페이지를 참조하십시오. 스크립트가 시스템 부트 중 실행되면 장치를 질의하여 장치가 온라인인지 확인합니다. 장치가 온라인이면 장치 안에 매체가 있는지 확인합니다. ¼인치 테이프 장치 안에 매체가 있으면 할당 오류 상태에 놓입니다. 할당 오류 상태에 놓이면 관리자가 수동으로 장치를 정리해야 합니다.

정상적인 시스템 운영 중에 deallocate 명령을 대화식 모드로 실행할 때 매체를 제거하라는 메시지가 나타납니다. 매체를 장치에서 제거할 때까지 할당 해제가 지연됩니다.

디스켓 및 CD-ROM 드라이브용 Device-Clean 스크립트

    다음 device-clean 스크립트가 디스켓 및 CD-ROM 드라이브용으로 제공됩니다.

  • fd_clean 스크립트 – 디스켓용 Device-clean 스크립트입니다.

  • sr_clean 스크립트 – CD-ROM 드라이브용 Device-clean 스크립트입니다.

스크립트가 eject 명령을 사용하여 드라이브에서 매체를 제거합니다. eject 명령을 실패하면 장치가 할당 오류 상태에 놓입니다. 자세한 내용은 eject(1) 매뉴얼 페이지를 참조하십시오.

오디오용 Device-Clean 스크립트

오디오 장치는 audio_clean 스크립트로 정리합니다. 스크립트가 AUDIO_GETINFO ioctl 시스템 호출을 수행하여 장치를 읽습니다. 그런 다음 AUDIO_SETINFO ioctl 시스템 호출을 수행하여 장치 구성을 기본값으로 재설정합니다.

새 Device-Clean 스크립트 작성

시스템에 할당 가능한 장치를 더 추가하면 고유의 device-clean 스크립트를 만들어야 합니다. deallocate 명령은 device-clean 스크립트에 매개변수를 전달합니다. 여기에 표시된 매개변수는 장치 이름을 포함하는 문자열입니다. 자세한 내용은 device_allocate(4) 매뉴얼 페이지를 참조하십시오.

clean-script -[I|i|f|S] device-name

Device-clean 스크립트는 성공은 "0", 실패는 "0"보다 큰 값을 반환해야 합니다. –I, –f, –S 옵션이 스크립트의 실행 모드를 결정합니다.

–I

시스템 부트 중에만 필요합니다. 모든 출력은 시스템 콘솔로 이동해야 합니다. 매체 강제 배출을 실패하거나 불가능한 경우 장치가 할당 오류 상태에 놓여야 합니다.

–i

–I 옵션과 비슷하지만, 단 출력이 표시되지 않습니다.

–f

강제 정리용입니다. 옵션이 대화식이고 사용자가 프롬프트에 응답할 수 있다고 가정합니다. 이 옵션을 사용하는 스크립트는 정리의 한 부분을 실패할 경우 정리를 완료하려고 시도해야 합니다.

–S

표준 정리입니다. 옵션이 대화식이고 사용자가 프롬프트에 응답할 수 있다고 가정합니다.