탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 관리: 보안 서비스 Oracle Solaris 11 Information Library (한국어) |
사용자는 기본적으로 권한에 할당됩니다. 시스템의 모든 사용자에 대한 권한은 /etc/security/policy.conf 파일에서 할당됩니다.
Oracle Solaris 설치에서 시스템은 사용자 권한과 프로세스 권한으로 구성됩니다. 더 이상의 구성 없이 RBAC를 보고 사용하려면 다음 작업 맵을 사용하십시오.
|
다음 명령을 사용하여 시스템의 모든 권한 부여, 권한 프로파일 및 보안 속성 포함 명령을 나열합니다. 모든 정의된 권한을 나열하려면 시스템의 권한을 나열하는 방법을 참조하십시오.
% getent auth_attr | more solaris.:::All Solaris Authorizations::help=AllSolAuthsHeader.html solaris.account.:::Account Management::help=AccountHeader.html ... solaris.zone.login:::Zone Login::help=ZoneLogin.html solaris.zone.manage:::Zone Deployment::help=ZoneManage.html
% getent prof_attr | more All:::Execute any command as the user or role:help=RtAll.html Audit Configuration:::Configure Solaris Audit:auths=solaris.smf.value.audit; help=RtAuditCfg.html ... Zone Management:::Zones Virtual Application Environment Administration: help=RtZoneMngmnt.html Zone Security:::Zones Virtual Application Environment Security:auths=solaris.zone.*, solaris.auth.delegate;help=RtZoneSecurity.html ...
% getent exec_attr | more All:solaris:cmd:::*: Audit Configuration:solaris:cmd:::/usr/sbin/auditconfig:privs=sys_audit ... Zone Security:solaris:cmd:::/usr/sbin/txzonemgr:uid=0 Zone Security:solaris:cmd:::/usr/sbin/zonecfg:uid=0 ...
다음 명령을 사용하여 RBAC 할당 사항을 봅니다. 모든 할당 가능한 권한을 보려면 모든 정의된 보안 속성을 보는 방법을 참조하십시오.
% auths solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq
이러한 권한 부여는 기본적으로 모든 사용자에 할당됩니다.
% profiles Basic Solaris User All
이러한 권한 프로파일은 기본적으로 모든 사용자에 할당됩니다.
% roles root
이 역할은 기본적으로 초기 사용자에 할당됩니다. No roles는 역할이 할당되지 않음을 나타냅니다.
% ppriv $$ 1234: /bin/csh flags = <none> E: basic I: basic P: basic L: all
모든 사용자는 기본적으로 기본 권한 세트에 할당됩니다. 제한 세트는 모든 권한입니다.
% ppriv -vl basic file_link_any Allows a process to create hardlinks to files owned by a uid different from the process' effective uid. file_read Allows a process to read objects in the filesystem. file_write Allows a process to modify objects in the filesystem. net_access Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. proc_exec Allows a process to call execve(). proc_fork Allows a process to call fork1()/forkall()/vfork() proc_info Allows a process to examine the status of processes other than those it can send signals to. Processes which cannot be examined cannot be seen in /proc and appear not to exist. proc_session Allows a process to send signals or trace processes outside its session.
% profiles -l Basic Solaris User /usr/bin/cdda2wav.bin privs=file_dac_read,sys_devices, proc_priocntl,net_privaddr /usr/bin/cdrecord.bin privs=file_dac_read,sys_devices, proc_lock_memory,proc_priocntl,net_privaddr /usr/bin/readcd.bin privs=file_dac_read,sys_devices,net_privaddr All *
사용자의 권한 프로파일에는 특정 권한으로 실행되는 명령이 포함될 수 있습니다. Basic Solaris User 프로파일은 사용자가 CD-ROM을 읽고 쓸 수 있는 명령을 포함합니다.
예 9-1 사용자의 권한 부여 나열
% auths username solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq
예 9-2 사용자 또는 역할의 권한 프로파일 나열
다음 명령은 특정 사용자의 권한 프로파일을 나열합니다.
% profiles jdoe jdoe: Basic Solaris User All
다음 명령은 cryptomgt 역할의 권한 프로파일을 나열합니다.
% profiles cryptomgt cryptomgt: Crypto Management Basic Solaris User All
다음 명령은 root 역할의 권한 프로파일을 나열합니다.
% profiles root root: All Console User Network Wifi Info Desktop Removable Media User Suspend To RAM Suspend To Disk Brightness CPU Power Management Network Autoconf User Basic Solaris User
예 9-3 사용자의 할당된 역할 나열
다음 명령은 특정 사용자의 할당된 역할을 나열합니다.
% roles jdoe root
예 9-4 특정 명령에 대한 사용자의 권한 나열
다음 명령은 일반 사용자의 권한 프로파일에서 권한 있는 명령을 나열합니다.
% profiles -l jdoe jdoe: Basic Solaris User /usr/bin/cdda2wav.bin privs=file_dac_read,sys_devices, proc_priocntl,net_privaddr /usr/bin/cdrecord.bin privs=file_dac_read,sys_devices, proc_lock_memory,proc_priocntl,net_privaddr /usr/bin/readcd.bin privs=file_dac_read,sys_devices,net_privaddr All *
시작하기 전에
역할에 이미 할당되어야 합니다. 이름 지정 서비스를 해당 정보로 업데이트해야 합니다.
% roles Comma-separated list of role names is displayed
% su - rolename Password: <Type rolename password> $
su - rolename 명령은 해당 셸을 역할의 프로파일 셸로 변경합니다. 프로파일 셸은 권한 부여, 권한, 세트 ID 비트와 같은 보안 속성을 인식합니다.
$ /usr/bin/whoami rolename
이제 이 터미널 창에서 역할 작업을 수행할 수 있습니다.
절차는 할당된 권한을 보는 방법을 참조하십시오.
예 9-5 root 역할 맡기
다음 예에서 초기 사용자가 root 역할을 맡고 역할의 셸에 권한을 나열합니다.
% roles root % su - root Password: <Type root password> # Prompt changes to root prompt # ppriv $$ 1200: pfksh flags = <none> E: all I: basic P: all L: all
권한에 대한 내용은 권한(개요)을 참조하십시오.
관리 권한은 프로파일 셸을 실행 중일 때 적용됩니다. 기본적으로 역할 계정은 프로파일 셸에 할당됩니다. 역할은 특정 관리 작업에 할당된 특수한 계정으로, 일반적으로 감사 파일 검토와 같은 관리 활동에 관련됩니다.
root 역할에서 초기 사용자는 모든 관리 권한을 가진 수퍼유저입니다. root 역할로 다른 역할을 만들 수 있습니다.
시작하기 전에
시스템을 관리하려면 일반 사용자에 할당되지 않은 권한이 있어야 합니다. 수퍼유저가 아닌 경우 역할, 관리 권한 프로파일 또는 특정 권한이나 권한 부여에 할당되어야 합니다.
터미널 창을 엽니다.
% su - Password: Type the root password #
주 - 이 방법은 root가 사용자인지 아니면 역할인지 여부에 상관없이 작동합니다. 파운드 기호(#) 프롬프트는 지금 수퍼유저임을 나타냅니다.
다음 예에서 네트워크 관리 역할을 맡습니다. 이 역할에는 Network Management 권한 프로파일이 포함됩니다.
% su - networkadmin Password: Type the networkadmin password $
지금 프로파일 셸에 있습니다. 이 셸에서 snoop, route, dladm 및 기타 명령을 실행할 수 있습니다. 프로파일 셸에 대한 자세한 내용은 프로파일 셸 및 RBAC를 참조하십시오.
예를 들어, 다음 명령 세트는 pfbash 셸의 네트워크 패킷을 조사할 수 있습니다.
% pfbash $ anoop
net_observability 권한이 할당되지 않은 경우 snoop: cannot open "net0": Permission denied와 비슷한 오류 메시지와 함께 snoop 명령을 실패합니다. 권한이 직접 또는 권한 프로파일이나 역할을 통해 할당된 경우 이 명령을 성공합니다. 또한 이 셸에서 추가로 권한 있는 명령을 실행할 수 있습니다.
권한 프로파일에서 권한 있는 명령 이름으로 pfexec 명령을 실행합니다. 예를 들어, 다음 명령은 네트워크 패킷을 조사할 수 있습니다.
% pfexec snoop
pfbash와 동일한 권한 제한이 pfexec에 적용됩니다. 그러나 다른 권한 있는 명령을 실행하려면 권한 있는 명령을 입력하기 전에 pfexec를 다시 입력해야 합니다.
예 9-6 역할 사용의 편의성을 위해 인증 캐싱
이 예에서 관리자가 네트워크를 관리하는 역할을 구성하되, 사용자의 인증을 캐싱하여 사용 편의성을 제공합니다. 먼저, 관리자가 역할을 만들고 할당합니다.
# roleadd -K roleauth=user -P "Network Management" netmgt # usermod -R +netmgt jdoe
jdoe가 역할로 전환할 때 -c 옵션을 사용하는 경우 snoop 출력 표시에 앞서 암호를 요구합니다.
% su - netmgt -c snoop options Password: snoop output
인증이 캐싱되지 않는 경우 jdoe가 즉시 명령을 다시 실행하면 암호 프롬프트가 나타납니다.
관리자가 인증을 캐싱하도록 pam.conf 파일을 구성합니다. 그러면 초기에 암호가 필요하지만, 그 후에 특정 시간이 지날 때까지 암호를 요구하지 않습니다. 관리자가 모든 사용자 정의된 pam.conf 스택을 파일 끝에 놓습니다.
# vi /etc/pam.conf ... # ## Cache authentication for switched user # su auth required pam_unix_cred.so.1 su auth sufficient pam_tty_tickets.so.1 su auth requisite pam_authtok_get.so.1 su auth required pam_dhkeys.so.1 su auth required pam_unix_auth.so.1
입력한 후에 관리자가 입력에 오타, 누락, 반복이 있는지 검사합니다.
전체 su 스택이 필요합니다. pam_tty_tickets.so.1 모듈은 캐시를 제공합니다. PAM에 대한 자세한 내용은 pam.conf(4) 매뉴얼 페이지와 15 장PAM 사용을 참조하십시오.
su PAM 스택을 pam.conf 파일에 추가한 후에는 netmgt 역할이 일련의 명령을 실행할 때 한번만 암호를 묻습니다.
% su - netmgt -c snoop options Password: snoop output % su - netmgt -c snoop options snoop output ...