JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1 관리: 보안 서비스     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부보안 개요

1.  보안 서비스(개요)

제2부시스템, 파일 및 장치 보안

2.  시스템 보안 관리(개요)

3.  시스템에 대한 액세스 제어(작업)

4.  바이러스 검사 서비스(작업)

5.  장치에 대한 액세스 제어(작업)

6.  BART를 사용하여 파일 무결성 확인(작업)

7.  파일에 대한 액세스 제어(작업)

제3부역할, 권한 프로파일 및 권한

8.  역할 및 권한 사용(개요)

9.  역할 기반 액세스 제어 사용(작업)

RBAC 사용(작업)

RBAC 기본값 보기 및 사용(작업)

RBAC 기본값 보기 및 사용(작업 맵)

모든 정의된 보안 속성을 보는 방법

지정된 권한을 보는 방법

역할을 맡는 방법

사용자의 보안 속성을 변경하는 방법

지정된 관리 권한을 사용하는 방법

사이트에 대해 RBAC 사용자 정의(작업)

RBAC 초기 구성(작업 맵)

RBAC 구현을 계획하는 방법

역할을 만드는 방법

역할을 지정하는 방법

역할을 감사하는 방법

권한 프로파일을 만드는 방법

시스템 권한 프로파일을 복제하고 수정하는 방법

권한 부여를 만드는 방법

RBAC 등록 정보를 레거시 응용 프로그램에 추가하는 방법

RBAC 및 권한 지정 문제를 해결하는 방법

RBAC 관리(작업)

RBAC 관리(작업 맵)

역할의 암호를 변경하는 방법

역할의 보안 속성을 변경하는 방법

지정된 보안 속성의 순서를 다시 조정하는 방법

관리자를 명시적으로 지정된 권한으로 제한하는 방법

사용자가 고유의 암호를 사용하여 역할을 맡도록 설정하는 방법

root 역할을 사용자로 변경하는 방법

권한 사용(작업)

시스템의 권한을 나열하는 방법

직접 지정된 권한을 확인하는 방법

실행할 수 있는 권한 있는 명령을 확인하는 방법

프로세스의 권한을 확인하는 방법

프로그램에 필요한 권한을 확인하는 방법

확장 권한 정책을 포트에 적용하는 방법

권한 있는 명령으로 셸 스크립트를 실행하는 방법

10.  Oracle Solaris의 보안 속성(참조)

제4부암호화 서비스

11.  암호화 프레임워크(개요)

12.  암호화 프레임워크(작업)

13.  키 관리 프레임워크

제5부인증 서비스 및 보안 통신

14.  플러그 가능한 인증 모듈 사용

15.  Secure Shell 사용

16.  Secure Shell(참조)

17.  단순 인증 및 보안 계층 사용

18.  네트워크 서비스 인증(작업)

제6부Kerberos 서비스

19.  Kerberos 서비스 소개

20.  Kerberos 서비스 계획

21.  Kerberos 서비스 구성(작업)

22.  Kerberos 오류 메시지 및 문제 해결

23.  Kerberos 주체 및 정책 관리(작업)

24.  Kerberos 응용 프로그램 사용(작업)

25.  Kerberos 서비스(참조)

제7부Oracle Solaris에서 감사

26.  감사(개요)

27.  감사 계획

28.  감사 관리(작업)

29.  감사(참조)

용어집

색인

RBAC 기본값 보기 및 사용(작업)

사용자는 기본적으로 권한에 지정됩니다. 시스템의 모든 사용자에 대한 권한은 /etc/security/policy.conf 파일에서 지정됩니다.

RBAC 기본값 보기 및 사용(작업 맵)

Oracle Solaris 설치에서 시스템은 사용자 권한과 프로세스 권한으로 구성됩니다. 더 이상의 구성 없이 RBAC를 보고 사용하려면 다음 작업 맵을 사용하십시오.

작업
설명
수행 방법
보안 속성 데이터베이스의 내용을 봅니다.
시스템의 모든 권한 부여, 권한 프로파일 및 보안 속성 포함 명령을 나열합니다.
권한을 봅니다.
권한 프로파일, 권한 부여, 권한 및 지정된 역할을 나열합니다.
root 역할을 맡습니다.
초기 사용자는 관리 권한을 얻습니다.
사용자의 권한을 수정합니다.
일반 사용자에 보안 속성을 추가하거나 제거합니다.
관리자로 전환합니다.
관리 권한에 지정된 사용자에게 이러한 권한을 사용하기 위한 여러 방법을 제공할 수 있습니다.

모든 정의된 보안 속성을 보는 방법

다음 명령을 사용하여 시스템의 모든 권한 부여, 권한 프로파일 및 보안 속성 포함 명령을 나열합니다. 모든 정의된 권한을 나열하려면 시스템의 권한을 나열하는 방법을 참조하십시오.

  1. 모든 권한 부여를 나열합니다.
    • 이름 지정 서비스에서 모든 권한 부여 이름을 나열합니다.
      % auths info
          solaris.account.activate
          solaris.account.setpolicy
          solaris.admin.edit
      ...
          solaris.zone.login
          solaris.zone.manage
    • 권한 프로파일별 권한 부여 이름을 나열합니다.
      % 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
  2. 모든 권한 프로파일을 나열합니다.
    • 이름 지정 서비스에서 모든 권한 프로파일의 이름을 나열합니다.
      % profiles -a
              Console User
              CUPS Administration
              Desktop Removable Media User
      ...
              VSCAN Management
              WUSB Management
    • 모든 권한 프로파일의 전체 정의를 나열합니다.
      % 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 ...
  3. 모든 보안 속성 포함 명령을 나열합니다.
    % 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 지정 사항을 봅니다. 모든 지정 가능한 권한을 보려면 모든 정의된 보안 속성을 보는 방법을 참조하십시오.

  1. 내 권한 프로파일을 나열합니다.
    % profiles
    Basic Solaris User
    All

    앞의 권한 프로파일은 기본적으로 모든 사용자에 지정됩니다. 초기 사용자인 경우 목록이 더 길어집니다.

    % profiles Initial user
    System Administrator
    Audit Review
    ...
    CPU Power Management
    Basic Solaris User
    All
  2. 내 권한 부여를 나열합니다.
    % auths
    solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq
    solaris.network.autoconf.read,solaris.admin.wusb.read
    solaris.smf.manage.vbiosd,solaris.smf.value.vbiosd

    이러한 권한 부여는 기본적으로 모든 사용자에게 지정되는 권한 프로파일에 포함됩니다.

  3. 내 지정된 역할을 나열합니다.
    % roles
    root

    이 역할은 기본적으로 초기 사용자에 지정됩니다. No roles는 역할이 지정되지 않음을 나타냅니다.

  4. 기본 셸의 권한을 나열합니다.
    % 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.
  5. 권한 프로파일의 명령에 대한 권한을 나열합니다.
    % profiles -l
      Basic Solaris User
    ...
       /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
       /usr/bin/cdda2wav.bin   privs=file_dac_read,sys_devices,
         proc_priocntl,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
...

역할을 맡는 방법

시작하기 전에

역할에 이미 지정되어야 합니다. 기본적으로 root 역할만 존재합니다.

  1. 터미널 창에서 맡을 수 있는 역할을 확인합니다.
    % roles
    Comma-separated list of role names is displayed
  2. su 명령을 사용하여 역할을 맡습니다.
    % su - rolename
    Password: <Type rolename password>
    $

    su - rolename 명령은 해당 셸을 역할의 프로파일 셸로 변경합니다. 프로파일 셸은 권한 부여, 권한, 세트 ID 비트와 같은 보안 속성을 인식합니다.

  3. (옵션) 지금 역할에 속해 있는지 확인합니다.
    $ /usr/bin/whoami
    rolename

    이제 이 터미널 창에서 역할 작업을 수행할 수 있습니다.

  4. (옵션) 역할 기능을 봅니다.

    샘플 출력은 지정된 권한을 보는 방법을 참조하십시오.

    $ profiles -l
    verbose rights profiles output
    $ auths
    authorizations output

예 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 역할을 맡아야 합니다.

사이트에 대해 RBAC를 구성한 후에는 다른 옵션이 제공됩니다. 암호를 비롯한 대부분의 사용자 보안 속성을 변경하려면 User Security 권한 프로파일이 지정된 관리자여야 합니다. 감사 플래그를 지정하거나 역할의 암호를 변경하려면 root 역할을 맡아야 합니다. 다른 사용자 속성을 변경하려면 User Management 권한 프로파일이 지정된 관리자여야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.

예 9-6 DHCP를 관리할 수 있는 사용자 만들기

이 예에서 보안 관리자가 LDAP에 사용자를 만듭니다. 로그인 시 jdoe-dhcp 사용자가 DHCP를 관리할 수 있습니다.

# useradd -P "DHCP Management" -s /usr/bin/pfbash -S ldap  jdoe-dhcp

사용자가 로그인 셸로 pfbash에 지정되었기 때문에 DHCP Management 권한 프로파일의 보안 속성을 사용자의 보안 셸에서 사용할 수 있습니다.

예 9-7 사용자에 직접 권한 부여 지정

이 예에서 보안 관리자가 화면 밝기를 조절할 수 있는 로컬 사용자를 만듭니다.

# useradd -c "Screened JDoe, local" -s /usr/bin/pfbash \
-A solaris.system.power.brightness  jdoe-scr

이 권한 부여는 사용자의 기존 권한 부여 지정에 추가됩니다.

예 9-8 사용자의 제한 세트에서 권한 제거

다음 예에서 jdoe의 초기 로그인에서 시작된 모든 세션이 sys_linkdir 권한 사용을 금지합니다. 즉, 사용자가 su 명령을 실행한 후에도 디렉토리에 하드 링크를 만들거나 디렉토리 링크를 해제할 수 없습니다.

$ usermod -K 'limitpriv=all,!sys_linkdir' jdoe
$ userattr limitpriv jdoe
all,!sys_linkdir

예 9-9 사용자에 직접 권한 지정

이 예에서 보안 관리자가 시스템 시간에 영향을 미치는 매우 특정한 권한으로 사용자 jdoe를 신뢰합니다.

$ usermod -K defaultpriv='basic,proc_clock_highres' jdoe

defaultpriv 키워드의 값이 기존 값을 대체합니다. 따라서 basic 권한을 보유할 사용자에 대해 basic 값이 지정됩니다. 기본 구성에서 모든 사용자는 기본 권한을 갖습니다. 기본 권한 목록은 단계 4를 참조하십시오.

지정된 관리 권한을 사용하는 방법

root 역할에서 초기 사용자는 모든 관리 권한을 갖습니다.

단계 1에서는 관리 권한이 지정된 경우 시스템을 관리하는 방법을 보여줍니다. 단계 2에서는 비root 계정으로 시스템 파일을 편집하는 방법을 보여줍니다.

시작하기 전에

일반 사용자에게 지정되지 않는 권한이 사용자에게 지정되었습니다. root가 아닌 경우 역할, 관리 권한 프로파일 또는 특정 권한이나 권한 부여가 지정되어야 합니다.

  1. 다음 방법 중 하나를 선택하여 관리 명령을 실행합니다.

    터미널 창을 엽니다.

    • root가 됩니다.
      % su -
      Password: Type the root password
      #

      주 - 이 방법은 root가 사용자인지 아니면 역할인지 여부에 상관없이 작동합니다. 파운드 기호(#) 프롬프트는 지금 root임을 나타냅니다.


    • 지정된 역할을 맡습니다.

      다음 예에서는 감사 구성 역할을 맡습니다. 이 역할에는 Audit Configuration 권한 프로파일이 포함됩니다.

      % su - audadmin
      Password: Type the audadmin password
      $

      이 명령을 입력한 셸이 이제는 프로파일 셸에 있습니다. 이 셸에서 auditconfig 명령을 실행할 수 있습니다. 프로파일 셸에 대한 자세한 내용은 프로파일 셸 및 RBAC를 참조하십시오.


      참고 - 역할 기능을 보려면 지정된 권한을 보는 방법의 단계를 사용하십시오.


    • 사용자로서 pfbash 명령을 사용하여 관리 권한으로 실행되는 셸을 만듭니다.

      예를 들어, 다음 명령 세트를 사용하면 pfbash 셸에서 감사 사전 선택 값 및 감사 정책을 볼 수 있습니다.

      % pfbash
      $ auditconfig -getflags
      active user default audit flags = ua,ap,lo(0x45000,0x45000)
      configured user default audit flags = ua,ap,lo(0x45000,0x45000)
      $ auditconfig -getpolicy
      configured audit policies = cnt
      active audit policies = cnt
    • 사용자로서 pfexec 명령을 사용하여 관리 권한으로 실행되는 프로세스를 만듭니다.

      권한 프로파일에서 권한 있는 명령 이름으로 pfexec 명령을 실행합니다. 예를 들어, 다음 명령을 사용하면 사용자의 사전 선택된 감사 플래그를 볼 수 있습니다.

      % pfexec auditconfig -getflags
      active user default audit flags = ua,ap,lo(0x45000,0x45000)
      configured user default audit flags = ua,ap,lo(0x45000,0x45000)

      pfbash와 동일한 권한 제한이 pfexec에 적용됩니다. 그러나 다른 권한 있는 명령을 실행하려면 권한 있는 명령을 입력하기 전에 pfexec를 다시 입력해야 합니다.

      % pfexec auditconfig -getpolicy
      configured audit policies = cnt
      active audit policies = cnt
    • 사용자로서 sudo 명령을 사용하여 관리 권한으로 실행되는 프로세스를 만듭니다.

      sudoers 파일에서 지정된 관리 명령의 이름을 사용하여 sudo 명령을 실행합니다. 자세한 내용은 sudo(1M) 및 sudoers(4) 매뉴얼 페이지를 참조하십시오.

  2. 시스템 파일을 편집하려면 pfedit 명령을 사용하십시오.

    UID가 0root가 아닌 경우 기본적으로 시스템 파일을 편집할 수 없습니다. 하지만 solaris.admin.edit/ path-to-system-file 권한 부여가 지정된 경우 system-file을 편집할 수 있습니다. 예를 들어, solaris.admin.edit/etc/security/audit_warn 권한 부여가 지정된 경우 audit_warn 파일을 편집할 수 있습니다.

    $ pfedit /etc/security/audit_warn

    이 명령은 $EDITOR 값을 사용하여 텍스트 편집기를 확인합니다. 자세한 내용은 pfedit(1M) 매뉴얼 페이지를 참조하십시오. 감사가 AUE_PFEXEC 이벤트를 감사하도록 구성된 경우 pfedit 명령은 root 역할이 유용하게 실행할 수 있습니다.

예 9-10 역할 사용의 편의성을 위해 인증 캐싱

이 예에서 관리자가 감사 구성을 관리하는 역할을 구성하되, 사용자의 인증을 캐싱하여 사용 편의성을 제공합니다. 먼저, 관리자가 역할을 만들고 지정합니다.

# roleadd -K roleauth=user -P "Audit Configuration" audadmin
# usermod -R +audadmin jdoe

jdoe가 역할로 전환할 때 -c 옵션을 사용하는 경우 auditconfig 출력 표시에 앞서 암호를 요구합니다.

% su - audadmin -c auditconfig option
Password:
auditconfig output

인증이 캐싱되지 않는 경우 jdoe가 즉시 명령을 다시 실행하면 암호 프롬프트가 나타납니다.

관리자가 인증 캐싱을 사용으로 설정하는 su 스택을 저장하기 위해 pam.d 디렉토리에 파일을 만듭니다. 따라서 처음에 암호가 필요하지만 이후에는 일정 시간이 지날 때까지 필요하지 않습니다.

# pfedit /etc/pam.d/su
## Cache authentication for switched user
#
auth required           pam_unix_cred.so.1
auth sufficient         pam_tty_tickets.so.1
auth requisite          pam_authtok_get.so.1
auth required           pam_dhkeys.so.1
auth required           pam_unix_auth.so.1

파일을 만든 후 관리자가 항목에 오타, 누락, 반복이 있는지 검사합니다.

관리자는 전체 선행 su 스택을 제공해야 합니다. pam_tty_tickets.so.1 모듈은 캐시를 구현합니다. PAM에 대한 자세한 내용은 pam.conf(4) 매뉴얼 페이지 및 14 장플러그 가능한 인증 모듈 사용을 참조하십시오.

관리자가 su PAM 파일을 추가하고 시스템을 재부트한 후에는 일련의 명령을 실행할 때 audadmin 역할을 포함하는 모든 역할에 대해 암호를 묻는 프롬프트가 한 번만 표시됩니다.

% su - audadmin -c auditconfig option
Password:
auditconfig output
% su - audadmin -c auditconfig option
auditconfig output
...