탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 관리: 보안 서비스 Oracle Solaris 11.1 Information Library (한국어) |
RBAC를 구성한 후에 사용 중인 경우 다음 절차에 따라 시스템에서 RBAC를 유지 관리하고 수정합니다.
다음 작업 맵은 RBAC(역할 기반 액세스 제어)를 초기에 구현한 후에 RBAC를 유지 관리하기 위한 절차를 가리킵니다.
|
이러한 절차는 사용자, 역할, 권한 프로파일에 대한 보안 속성을 관리합니다. 기본 사용자 관리 절차에 대한 자세한 내용은 Oracle Solaris 11.1에서 사용자 계정 및 사용자 환경 관리의 1 장, 사용자 계정 및 사용자 환경 관리(개요)를 참조하십시오.
역할은 여러 사용자에게 지정할 수 있기 때문에 역할이 지정된 사용자가 역할 암호를 변경할 수 없습니다.
시작하기 전에
root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# passwd [-r naming-service] rolename
files 또는 ldap 저장소에 암호 변경을 적용합니다. 기본 저장소는 files입니다. 저장소를 지정하지 않으면 모든 저장소에서 암호가 변경됩니다.
수정하려는 기존 역할의 이름입니다.
더 많은 명령 옵션은 passwd(1) 매뉴얼 페이지를 참조하십시오.
예 9-24 역할의 암호 변경
이 예에서 root 역할이 로컬 devmgt 역할의 암호를 변경합니다.
# passwd -r files devmgt New password: Type new password Confirm password: Retype new password
이 예에서 root 역할이 LDAP 디렉토리 서비스에서 devmgt 역할의 암호를 변경합니다.
# passwd -r ldap devmgt New password: Type new password Confirm password: Retype new password
이 예에서 root 역할이 파일 및 LDAP에서 devmgt 역할의 암호를 변경합니다.
# passwd devmgt New password: Type new password Confirm password: Retype new password
시작하기 전에
역할에 대한 대부분의 보안 속성을 변경하려면 User Security 권한 프로파일이 지정된 관리자여야 합니다. 감사 플래그를 지정하거나 역할의 암호를 변경하려면 root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
이 명령은 로컬 이름 지정 서비스 또는 LDAP에 정의된 역할의 속성을 수정합니다. -A, -P 및 -R 옵션 값은 - 또는 + 옵션으로 수정할 수 있습니다. - 기호는 현재 지정된 값에서 해당 값을 뺍니다. + 기호는 현재 지정된 값에 해당 값을 더하는 것을 나타냅니다.
rolemod 명령에 대한 자세한 내용은 다음을 참조하십시오.
간단한 설명은 역할을 만드는 방법에서 roleadd 명령의 설명을 참조하십시오.
이 명령의 모든 인수는 rolemod(1M) 매뉴얼 페이지를 참조하십시오.
-K 옵션에 대한 키 값 목록은 user_attr(4) 매뉴얼 페이지를 참조하십시오.
다음 명령은 두 개의 권한 프로파일을 LDAP 저장소의 devmgt 역할에 추가합니다.
$ rolemod -P +"Device Management,File Management" -S ldap devadmin
예 9-25 로컬 역할의 보안 속성 변경
이 예에서 보안 관리자가 prtmgt 역할에 VSCAN Management 권한 프로파일이 포함되도록 수정합니다.
$ rolemod -c "Handles printers and virus scanning" \ -P "Printer Management,VSCAN Management,All" prtmgt
예 9-26 역할에 직접 권한 지정
이 예에서 보안 관리자가 시스템 시간에 영향을 미치는 매우 특정한 권한으로 systime 역할을 신뢰합니다.
$ rolemod -K defaultpriv='proc_clock_highres' systime
defaultpriv 키워드의 값은 항상 역할의 프로세스에서 권한 목록에 속합니다.
Oracle Solaris는 지정된 보안 속성의 검색 순서에 설명된 대로 지정 순서에 따라 권한 프로파일을 읽습니다. 이 절차에서는 권한 프로파일의 순서를 재지정합니다.
시작하기 전에
사용자는 User Security 권한 프로파일이 지정된 관리자여야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
목록은 순서대로 표시됩니다.
$ profiles username|rolename
$ usermod | rolemod -P "list-of-profiles"
예 9-27 특정 순서로 권한 프로파일 지정
이 예에서 관리자는 권한 있는 명령을 포함하는 권한 프로파일이 devadmin 역할의 All 권한 프로파일 다음에 나열되는지 확인합니다.
$ profiles devadmin Basic Solaris User All Device Management
따라서 devadmin 역할은 지정된 권한으로 장치 관리 명령을 실행할 수 없습니다.
관리자가 권한 프로파일을 devadmin에 다시 지정합니다. 새로운 지정 순서로 devadmin이 지정된 권한으로 장치 관리 명령을 실행할 수 있습니다.
$ rolemod -P "Device Management,Basic Solaris User,All" $ profiles devadmin Device Management Basic Solaris User All
다음 두 가지 방법으로 역할이나 사용자를 제한된 수의 관리 작업으로 제한할 수 있습니다.
Stop 권한 프로파일을 사용할 수 있습니다.
Stop 권한 프로파일은 제한된 셸을 만드는 가장 간단한 방법입니다. policy.conf 파일에 지정된 권한 부여 및 권한 프로파일은 고려되지 않습니다. 따라서 역할이나 사용자에게 Basic Solaris User 권한 프로파일, Console User 권한 프로파일 또는 solaris.device.cdrw 권한 부여가 지정되지 않습니다.
시스템에서 policy.conf 파일을 수정하고, 역할이나 사용자가 관리 작업에 해당 시스템을 사용할 수 있도록 합니다.
시작하기 전에
root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
예를 들어, 감사 평가만 수행하도록 auditrev 역할을 제한할 수 있습니다.
# rolemod -P "Audit Review,Stop" auditrev
auditrev 역할에 Console User 권한 프로파일이 없기 때문에 감사자가 시스템을 종료할 수 없습니다. 이 역할에 solaris.device.cdrw 권한 부여가 없기 때문에 감사자가 CD-ROM 드라이브에서 읽기/쓰기를 수행할 수 없습니다. 이 역할에 Basic Solaris User 권한 프로파일이 없기 때문에 이 역할에서 Audit Review 권한 프로파일의 명령 이외의 다른 명령을 실행할 수 없습니다. 예를 들어, ls 명령이 실행되지 않습니다. 역할이 File Browser를 사용하여 감사 파일을 봅니다.
자세한 내용은 권한 프로파일 및 지정된 보안 속성의 검색 순서를 참조하십시오.
rolemod 명령은 로컬 이름 지정 서비스 또는 LDAP에 정의된 역할의 속성을 수정합니다. 이 명령의 인수는 rolemod(1M) 매뉴얼 페이지를 참조하십시오. 역할을 만드는 방법에 설명된 대로 RBAC 인수 목록은 roleadd 명령의 목록과 비슷합니다.
예 9-28 사용자에 제공되는 권한을 제한하도록 시스템 수정
이 예에서 관리자가 네트워크 관리에만 사용되는 시스템을 만듭니다. 관리자가 Basic Solaris User 권한 프로파일과 모든 권한 부여를 policy.conf 파일에서 제거합니다. Console User 권한 프로파일은 제거되지 않습니다. policy.conf 결과 파일에서 영향을 받는 라인은 다음과 같습니다.
... #AUTHS_GRANTED= #PROFS_GRANTED=Basic Solaris User CONSOLE_USER=Console User ...
권한 부여, 명령, 권한 프로파일이 명시적으로 지정된 사용자만 이 시스템을 사용할 수 있습니다. 로그인 후에 권한이 부여된 사용자가 관리 업무를 수행할 수 있습니다. 권한이 부여된 사용자가 시스템 콘솔 앞에 앉으면 Console User의 권한을 갖습니다.
기본적으로 사용자가 역할을 맡으려면 역할의 암호를 입력해야 합니다. 이 절차에 따라 Linux 환경에서 역할을 맡듯이 Oracle Solaris에서 역할을 맡을 수 있습니다.
시작하기 전에
User Security 권한 프로파일이 포함된 역할을 맡습니다. 이 역할은 변경하려는 roleauth 값이 속한 역할일 수 없습니다.
$ rolemod -K roleauth=user rolename
이 역할을 맡으려면 지정된 사용자가 역할을 위해 특별히 만든 암호가 아닌, 고유의 암호를 사용할 수 있습니다.
예 9-29 권한 프로파일을 사용할 때 역할이 지정된 사용자의 암호를 사용하도록 설정
이 예에서 root 역할이 로컬 시스템에서 secadmin 역할에 대한 roleauth의 값을 변경합니다.
$ profiles -p "Local System Administrator" profiles:Local System Administrator> set roleauth="user" profiles:Local System Administrator> end profiles:Local System Administrator> exit
Security Administrator 권한 프로파일에 지정된 사용자가 역할을 맡을 때 암호를 묻는 메시지가 나타납니다. 다음 시퀀스에서 역할 이름은 secadmin입니다.
% su - secadmin Password: Type user password $ /** You are now in a profile shell with administrative rights**/
사용자가 다른 역할에 지정된 경우도 해당 역할로 인증하기 위해 고유의 암호를 사용합니다.
예 9-30 LDAP 저장소에서 역할에 대한 roleauth의 값 변경
이 예에서 root 역할을 통해 secadmin 역할을 맡을 수 있는 모든 사용자가 역할을 맡을 때 고유의 암호를 사용하도록 합니다. 이 기능은 LDAP 서버에서 관리되는 모든 시스템에 대해 해당 사용자에게 부여됩니다.
# rolemod -S ldap -K roleauth=user secadmin
일반 오류
roleauth=user가 역할에 설정된 경우 사용자 암호를 통해 인증된 역할이 해당 역할에 지정된 모든 권한에 액세스할 수 있습니다. 이 키워드는 검색에 종속적입니다. 자세한 내용은 지정된 보안 속성의 검색 순서를 참조하십시오.
관리자가 네트워크에서 제거된 시스템을 폐기할 때 root를 사용자로 변경할 수 있습니다. 이 경우 root로 시스템에 로그인하면 간단히 정리됩니다.
시작하기 전에
root가 되어야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
예를 들어, 두 사용자로부터 역할 지정을 제거합니다.
% su - root Password: a!2@3#4$5%6^7 # roles jdoe root # roles kdoe root # roles ldoe secadmin # usermod -R "" jdoe # usermod -R "" kdoe #
# rolemod -K type=normal root
현재 root 역할에 속한 사용자는 그대로 남고, 루트 액세스를 가진 다른 사용자는 root에 su를 실행하거나 root 사용자로 시스템에 로그인할 수 있습니다.
다음 명령 중 하나를 사용할 수 있습니다.
# getent user_attr root root::::auths=solaris.*;profiles=All;audit_flags=lo\:no;lock_after_retries=no; min_label=admin_low;clearance=admin_high
type 키워드가 출력에서 누락되거나 normal과 같은 경우 계정은 역할이 아닙니다.
# userattr type root
출력이 비어 있거나 normal을 나열하는 경우 계정은 역할이 아닙니다.
예 9-31 root 역할이 시스템 구성에 사용되지 못하도록 금지
이 예에서 사이트 보안 정책에 따라 root 계정이 시스템을 유지 관리하지 못하도록 해야 합니다. 관리자가 시스템을 유지 관리하는 역할을 만들고 테스트했습니다. 이러한 역할에는 모든 보안 프로파일과 System Administrator 권한 프로파일이 포함됩니다. 신뢰된 사용자에게 백업을 복원할 수 있는 역할이 지정되었습니다. 시스템, 사용자, 권한 프로파일에 대한 감사 플래그를 변경할 수 있는 역할은 없습니다.
root 계정이 시스템 유지 관리에 사용되지 못하도록 하려면 보안 관리자가 root 역할 지정을 제거합니다. root 계정이 단일 사용자 모드로 시스템에 로그인할 수 있어야 하므로 계정이 암호를 유지합니다.
# usermod -K roles= jdoe # userattr roles jdoe
예 9-32 root 사용자를 root 역할로 변경
이 예에서 root 사용자가 root 사용자를 역할로 되돌립니다.
먼저, root 사용자가 root 계정을 역할로 변경하고 변경 사항을 확인합니다.
# usermod -K type=role root # getent user_attr root root::::type=role;auths=solaris.*;profiles=All;audit_flags=lo\:no; lock_after_retries=no;min_label=admin_low;clearance=admin_high
그런 다음, root가 root 역할을 로컬 사용자에 지정합니다.
# usermod -R root jdoe
일반 오류
데스크탑 환경에서 root가 역할일 때 root로 직접 로그인할 수 없습니다. 진단 메시지는 root가 시스템의 역할임을 나타냅니다.
root 역할을 맡을 수 있는 로컬 계정이 없는 경우 하나 만듭니다. root로서 단일 사용자 모드로 시스템에 로그인하여 로컬 사용자 계정 및 암호를 만들고 새 계정에 root 역할을 지정합니다. 그런 다음, 새 사용자로 로그인하여 root 역할을 맡습니다.