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

문서 정보

머리말

제1부보안 개요

1.  보안 서비스(개요)

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

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

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

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

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

6.  기본 감사 보고 도구 사용(작업)

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

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

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

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

RBAC 사용(작업)

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

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

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

할당된 권한을 보는 방법

역할을 맡는 방법

관리 권한을 얻는 방법

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

RBAC 초기 구성(작업 맵)

RBAC 구현을 계획하는 방법

역할을 만드는 방법

역할을 할당하는 방법

역할을 감사하는 방법

감사 프로파일을 만들거나 변경하는 방법

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

RBAC 및 권한 할당 문제를 해결하는 방법

RBAC 관리(작업)

RBAC 관리(작업 맵)

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

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

사용자의 RBAC 등록 정보를 변경하는 방법

사용자를 데스크탑 응용 프로그램으로 제한하는 방법

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

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

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

권한 사용(작업)

권한 확인(작업 맵)

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

직접 할당된 권한을 확인하는 방법

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

권한 관리(작업 맵)

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

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

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

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

제4부암호화 서비스

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

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

13.  키 관리 프레임워크

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

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

15.  PAM 사용

16.  SASL 사용

17.  Secure Shell 사용(작업)

18.  Secure Shell(참조)

제6부Kerberos 서비스

19.  Kerberos 서비스 소개

20.  Kerberos 서비스 계획

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

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

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

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

25.  Kerberos 서비스(참조)

제7부Oracle Solaris에서 감사

26.  감사(개요)

27.  감사 계획

28.  감사 관리(작업)

29.  감사(참조)

용어집

색인

RBAC 관리(작업)

RBAC를 구성한 후에 사용 중인 경우 다음 절차에 따라 시스템에서 RBAC를 유지 관리하고 수정합니다.

RBAC 관리(작업 맵)

다음 작업 맵은 RBAC(역할 기반 액세스 제어)를 초기에 구현한 후에 RBAC를 유지 관리하기 위한 절차를 가리킵니다.

작업
설명
수행 방법
역할 암호를 변경합니다.
권한이 부여된 사용자나 역할이 다른 역할의 암호를 변경합니다.
역할의 할당된 권한을 수정합니다.
역할의 보안 속성을 수정합니다.
사용자의 권한을 수정합니다.
일반 사용자에 보안 속성을 추가하거나 제거합니다.
권한 프로파일에서 사용자의 권한을 수정합니다.
감사 플래그, 기본 권한과 같은 보안 속성 값을 권한 프로파일에서 할당합니다.
제한된 프로파일 셸을 만듭니다.
사용자나 역할이 소프트웨어의 모든 명령에 전체 액세스하지 못하도록 합니다.
시스템에서 기본 권한을 제거합니다.
특수한 용도의 시스템을 만듭니다.
사용자의 권한을 제한합니다.
사용자의 기본 또는 제한 권한 세트를 제한합니다.
사용자가 역할을 맡으려면 사용자 암호를 제공하도록 합니다.
사용자 암호로 역할에 인증되도록 사용자의 보안 속성을 수정합니다. 이 동작은 Linux 역할 동작과 비슷합니다.
root를 사용자로 변경합니다.
시스템을 폐기하기 전에 root 역할을 사용자로 변경합니다.

이러한 절차는 사용자, 역할, 권한 프로파일에 대한 보안 속성을 관리합니다. 기본 사용자 관리 절차는 Oracle Solaris 관리: 일반 작업의 2 장, 사용자 계정 및 그룹 관리(개요)를 참조하십시오.

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

시작하기 전에

root 역할을 가진 사용자여야 합니다.

예 9-17 역할의 암호 변경

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


주 - 암호를 변경하려면 역할의 암호를 변경하는 방법을 참조하십시오.


  1. 필요한 보안 속성을 가진 관리자가 됩니다.

    자세한 내용은 관리 권한을 얻는 방법을 참조하십시오.

  2. rolemod 명령을 사용합니다.

    이 명령은 로컬 이름 지정 서비스 또는 LDAP에 정의된 역할의 속성을 수정합니다. -A, -P, -R 옵션의 값을 - 또는 ++로 수정할 수 있습니다. -는 현재 지정된 값에서 해당 값을 빼는 것입니다. ++는 현재 지정된 값에 해당 값을 더하는 것입니다.

    rolemod 명령에 대한 자세한 내용은 다음을 참조하십시오.

    • 간단한 설명은 역할을 만드는 방법에서 roleadd 명령의 설명을 참조하십시오.

    • 이 명령의 모든 인수는 rolemod(1M) 매뉴얼 페이지를 참조하십시오.

    • -K 옵션에 대한 키 값 목록은 user_attr(4) 매뉴얼 페이지를 참조하십시오.

    다음 명령은 LDAP 저장소에서 devmgt 역할의 할당된 권한 프로파일을 바꿉니다.

    $ rolemod -P "Device Management,File Management" -S ldap devadmin

예 9-18 로컬 역할의 보안 속성 변경

이 예에서 보안 관리자가 prtmgt 역할에 VSCAN Management 권한 프로파일이 포함되도록 수정합니다.

$ rolemod -c "Handles printers and virus scanning" \
-P "Printer Management,VSCAN Management,All" prtmgt

이러한 권한 프로파일은 policy.conf 파일을 통해 부여된 프로파일에 추가됩니다.

예 9-19 역할에 직접 권한 할당

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

$ rolemod -K priv=proc_clock_highres systime

priv 키워드의 값은 항상 역할의 프로세스에서 권한 목록에 속합니다.

사용자의 RBAC 등록 정보를 변경하는 방법

사용자 등록 정보에는 로그인 셸, 권한 프로파일, 역할이 포함됩니다. 사용자에게 관리 기능을 제공하는 가장 안전한 방법은 사용자에 역할을 할당하는 것입니다. 설명은 보안 속성을 직접 지정할 때 보안 고려 사항을 참조하십시오.

시작하기 전에

사용자의 암호 및 감사 플래그를 제외한, 사용자의 보안 속성을 변경하려면 User Security 권한 프로파일에 할당되어야 합니다. 감사 플래그를 지정하거나 역할의 암호를 변경하려면 root 역할을 맡아야 합니다. 기타 사용자 속성을 변경하려면 User Management 권한 프로파일에 할당되어야 합니다.

  1. 필요한 보안 속성을 가진 관리자가 됩니다.

    자세한 내용은 관리 권한을 얻는 방법을 참조하십시오.

  2. usermod 명령을 사용합니다.

    이 명령은 로컬 이름 지정 서비스 또는 LDAP 이름 지정 서비스에 정의된 사용자의 속성을 수정합니다. 이 명령의 RBAC 인수는 useradd 명령의 인수와 비슷합니다. user_attr(4) 매뉴얼 페이지의 설명과 예 9-23에 표시된 내용을 참조하십시오.

    다음 예에서 LDAP 사용자가 devmgt 역할에 할당됩니다. 이 역할은 이전의 역할 할당을 대체합니다. devmgt 역할은 LDAP 이름 지정 서비스에 존재해야 합니다.

    $ usermod -R devmgt -S ldap jdoe-ldap

    다음 예에서 이 역할이 이전의 역할 할당에 추가됩니다.

    $ usermod -R +devmgt -S ldap jdoe-ldap

예 9-20 로컬 사용자에 역할 할당

이 예에서 사용자 jdoe가 이제 System Administrator인 sysadmin의 역할을 맡을 수 있습니다.

$ userattr roles jdoe
secdevice
$ usermod -R secdevice,sysadmin jdoe
$ userattr roles jdoe
secdevice,sysadmin

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

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

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

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

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

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

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

예 9-23 사용자에 직접 권한 부여 할당

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

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

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

예 9-24 사용자에 직접 권한 할당

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

$ usermod -K defaultpriv=basic,proc_clock_highres jdoe

defaultpriv 키워드의 값이 기존 값을 대체합니다. 따라서 basic 권한을 보유할 사용자에 대해 basic 값이 지정됩니다. 기본 구성에서 모든 사용자는 기본 권한을 갖습니다.

사용자를 데스크탑 응용 프로그램으로 제한하는 방법

Oracle Solaris 사용자를 데스크탑 액세스로만 제한할 수 있습니다.

시작하기 전에

root 역할을 가진 사용자여야 합니다.

  1. 프로파일 셸을 로그인 셸로 사용자에 할당합니다.

    예를 들어, pfbash 셸을 사용자에 할당할 수 있습니다.

    # usermod -s /usr/bin/pfbash username

    이제 모든 사용자 프로세스가 RBAC 통제하에 있습니다.

  2. Oracle 데스크탑에서 사용자가 기본 애플릿을 실행할 수 있는 권한 프로파일을 만듭니다.

    다음 명령은 권한 프로파일을 만듭니다. end 명령은 추가된 명령에 보안 속성이 필요 없음을 나타냅니다. LDAP 저장소에 권한 프로파일을 만들려면 -S ldap 옵션을 사용합니다.

    # profiles -p "Desktop Applets"
    profiles:Desktop Applets> set desc="Can use basic desktop applications"
    profiles:Desktop Applets> add cmd=/usr/bin/nautilus;end
    profiles:Desktop Applets> add cmd=/usr/bin/dbus-launch;end
    profiles:Desktop Applets> add cmd=/usr/lib/dbus-daemon;end
    profiles:Desktop Applets> add cmd=/usr/lib/clock-applet;end
    profiles:Desktop Applets> add cmd=/usr/lib/gconfd-2;end
    profiles:Desktop Applets> add cmd=/usr/lib/gvfsd;end
    profiles:Desktop Applets> add cmd=/usr/lib/gvfsd-metadata;end
    profiles:Desktop Applets> add cmd=/usr/lib/gvfsd-trash;end
    profiles:Desktop Applets> add cmd=/usr/lib/gvfs-hal-volume-monitor;end
    profiles:Desktop Applets> add cmd=/usr/lib/gnome-pty-helper;end
    profiles:Desktop Applets> add cmd=/usr/lib/utmp_update;end
    profiles:Desktop Applets> add cmd=/usr/bin/sh;end
    profiles:Desktop Applets> add cmd=/usr/bin/bash;end
    profiles:Desktop Applets> add cmd=/usr/bin/csh;end
    profiles:Desktop Applets> add cmd=/usr/bin/ksh;end
    profiles:Desktop Applets> commit
    profiles:Desktop Applets> exit
  3. 권한 프로파일의 입력이 올바른지 확인합니다.

    입력에 오타, 누락, 반복과 같은 오류가 있는지 검토합니다.

    # profiles -p "Desktop Applets" info
    Found profile in files repository.
    name=Desktop Applets
    desc=Can use basic desktop applications
    cmd=/usr/bin/nautilus
    cmd=/usr/bin/dbus-launch
    cmd=/usr/lib/dbus-daemon
    cmd=/usr/lib/clock-applet
    cmd=/usr/lib/gconfd-2
    cmd=/usr/lib/gvfsd
    cmd=/usr/lib/gvfsd-metadata
    cmd=/usr/lib/gvfsd-trash
    cmd=/usr/lib/gvfs-hal-volume-monitor
    cmd=/usr/lib/gnome-pty-helper
    cmd=/usr/lib/utmp_update
    cmd=/usr/bin/sh
    cmd=/usr/bin/bash
    cmd=/usr/bin/csh
    cmd=/usr/bin/ksh

    참고 - 데스크탑 아이콘을 가진 응용 프로그램 또는 응용 프로그램 클래스에 대해 권한 프로파일을 만들 수 있습니다. 그런 다음, 이 새 권한 프로파일에 대한 보충 권한 프로파일로 Desktop Applets를 추가합니다. 더불어, 이러한 권한 프로파일을 통해 사용자가 적절한 데스크탑 응용 프로그램을 사용할 수 있습니다.


  4. Desktop Applets 권한 프로파일과 Stop 권한 프로파일을 사용자에 할당합니다.
    # usermod -P "Desktop Applets,Stop" username

    이 사용자는 Basic Solaris User 권한 프로파일이나 Console User 권한 프로파일을 보유하지 않습니다. 따라서 이 사용자는 Desktop Applets 권한 프로파일의 명령 이외의 다른 명령을 실행할 수 없습니다. 예를 들어, 사용자는 터미널 창에 액세스할 수 없습니다.

    자세한 내용은 권한 프로파일, 지정된 보안 속성의 검색 순서Trusted Extensions 구성 및 관리의 사용자를 데스크탑 응용 프로그램으로 제한하는 방법을 참조하십시오.

    usermod 명령은 로컬 이름 지정 서비스 또는 LDAP에 정의된 사용자 속성을 수정합니다. 이 명령의 인수는 usermod(1M) 매뉴얼 페이지를 참조하십시오.

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

다음 두 가지 방법으로 역할이나 사용자를 제한된 수의 관리 작업으로 제한할 수 있습니다.

시작하기 전에

root 역할을 가진 사용자여야 합니다.

예 9-25 사용자에 제공되는 권한을 제한하도록 시스템 수정

이 예에서 관리자가 네트워크 관리에만 사용되는 시스템을 만듭니다. 관리자가 Basic Solaris User 권한 프로파일과 solaris.device.cdrw 권한 부여를 policy.conf 파일에서 제거합니다. Console User 권한 프로파일은 제거되지 않습니다. policy.conf 결과 파일에서 영향을 받는 라인은 다음과 같습니다.

...
#AUTHS_GRANTED=solaris.device.cdrw
#PROFS_GRANTED=Basic Solaris User
CONSOLE_USER=Console User
...

권한 부여, 명령, 권한 프로파일이 명시적으로 할당된 사용자만 이 시스템을 사용할 수 있습니다. 로그인 후에 권한이 부여된 사용자가 관리 업무를 수행할 수 있습니다. 권한이 부여된 사용자가 시스템 앞에 앉으면 Console User의 권한을 갖습니다.

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

기본적으로 사용자가 역할을 맡으려면 역할의 암호를 입력해야 합니다. 이 절차에 따라 Linux 환경에서 역할을 맡듯이 Oracle Solaris에서 역할을 맡을 수 있습니다.

시작하기 전에

User Security 권한 프로파일이 포함된 역할을 맡고 있어야 합니다. 이 역할은 변경하려는 roleauth 값이 속한 역할일 수 없습니다.

예 9-26 권한 프로파일을 사용할 때 역할이 할당된 사용자의 암호를 사용하도록 설정

이 예에서 root 역할이 로컬 시스템에서 secadmin 역할에 대한 roleauth의 값을 변경합니다.

# profiles -K roleauth=user "System Administrator"

Security Administrator 권한 프로파일에 할당된 사용자가 역할을 맡을 때 암호를 묻는 메시지가 나타납니다. 다음 시퀀스에서 역할 이름은 secadmin입니다.

% su - secadmin
Password: Type user password
$ /** You are now in a profile shell with administrative rights**/

사용자가 다른 역할에 할당된 경우도 해당 역할로 인증하기 위해 고유의 암호를 사용합니다.

예 9-27 LDAP 저장소에서 역할에 대한 roleauth의 값 변경

이 예에서 root 역할을 통해 secadmin 역할을 맡을 수 있는 모든 사용자가 역할을 맡을 때 고유의 암호를 사용하도록 합니다. 이 기능은 LDAP 서버에서 관리되는 모든 시스템에 대해 해당 사용자에게 부여됩니다.

# rolemod -S ldap -K roleauth=user secadmin
# profiles -S ldap -K roleauth=user "Security Administrator"

일반 오류

roleauth=user가 역할에 설정된 경우 사용자 암호를 통해 인증된 역할이 해당 역할에 할당된 모든 권한에 액세스할 수 있습니다. 이 키워드는 검색에 종속적입니다. 자세한 내용은 지정된 보안 속성의 검색 순서를 참조하십시오.

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

관리자가 네트워크에서 제거된 시스템을 폐기할 때 root를 사용자로 변경할 수 있습니다. 이 경우 root로 시스템에 로그인하면 간단히 정리됩니다.

시작하기 전에

User Management 및 User Security 권한 프로파일에 지정된 관리자여야 합니다.

  1. 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
    #
  2. root 역할을 사용자로 변경합니다.
    # rolemod -K type=normal root

    현재 root 역할에 속한 사용자는 그대로 남고, 루트 액세스를 가진 다른 사용자는 rootsu를 실행하거나 root 사용자로 시스템에 로그인할 수 있습니다.

  3. 변경 사항을 확인합니다.

    다음 명령 중 하나를 사용할 수 있습니다.

    # 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-28 root 역할이 시스템 구성에 사용되지 못하도록 금지

이 예에서 사이트 보안 정책에 따라 root 계정이 시스템을 유지 관리하지 못하도록 해야 합니다. 관리자가 시스템을 유지 관리하는 역할을 만들고 테스트했습니다. 이러한 역할에는 모든 보안 프로파일과 System Administrator 권한 프로파일이 포함됩니다. 신뢰된 사용자에게 백업을 복원할 수 있는 역할이 지정되었습니다. 시스템, 사용자, 권한 프로파일에 대한 감사 플래그를 변경할 수 있는 역할은 없습니다.

root 계정이 시스템 유지 관리에 사용되지 못하도록 하려면 보안 관리자가 루트 role 지정을 제거합니다. root 계정이 단일 사용자 모드로 시스템에 로그인할 수 있어야 하므로 계정이 암호를 유지합니다.

# rolemod -K roles= jdoe
# userattr roles jdoe

예 9-29 root 사용자를 root 역할로 변경

이 예에서 root 사용자가 root 사용자를 역할로 되돌립니다.

먼저, rootroot 계정을 역할로 변경하고 변경 사항을 확인합니다.

# rolemod -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

그런 다음, rootroot 역할을 로컬 사용자에 지정합니다.

# usermod -R root jdoe

일반 오류

데스크탑 환경에서 root가 역할일 때 root로 직접 로그인할 수 없습니다. 진단 메시지는 root가 시스템의 역할임을 나타냅니다.

root 역할을 맡을 수 있는 로컬 계정이 없는 경우 하나 만듭니다. root로서 단일 사용자 모드로 시스템에 로그인하여 로컬 사용자 계정 및 암호를 만들고 새 계정에 root 역할을 지정합니다. 그런 다음, 새 사용자로 로그인하여 root 역할을 맡습니다.