탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris Trusted Extensions 관리자 절차 Oracle Solaris 10 8/11 Information Library (한국어) |
3. Trusted Extensions 관리자로 시작하기(작업)
4. Trusted Extensions 시스템의 보안 요구 사항(개요)
5. Trusted Extensions의 보안 요구 사항 관리(작업)
6. Trusted Extensions의 사용자, 권한 및 역할(개요)
7. Trusted Extensions에서 사용자, 권한 및 역할 관리(작업)
8. Trusted Extensions에서 원격 관리(작업)
9. Trusted Extensions 및 LDAP(개요)
10. Trusted Extensions에서 영역 관리(작업)
11. Trusted Extensions에서 파일 관리 및 마운트(작업)
13. Trusted Extensions에서 네트워크 관리(작업)
14. Trusted Extensions의 다중 레벨 메일(개요)
16. Trusted Extensions의 장치(개요)
17. Trusted Extensions에 대한 장치 관리(작업)
19. Trusted Extensions에서 소프트웨어 관리(작업)
Trusted Extensions에서 소프트웨어 관리(작업)
Trusted Extensions에서 소프트웨어 패키지를 추가하는 방법
Trusted Extensions에서 Java 아카이브 파일을 설치하는 방법
A. Trusted Extensions 관리에 대한 빠른 참조
Oracle Solaris 시스템에 추가할 수 있는 모든 소프트웨어는 Trusted Extensions를 사용하여 구성된 시스템에 추가할 수 있습니다. 또한 Trusted Extensions API를 사용하는 프로그램도 추가할 수 있습니다. Trusted Extensions 시스템에 소프트웨어를 추가하는 방법은 비전역 영역을 실행 중인 Oracle Solaris 시스템에 소프트웨어를 추가하는 방법과 비슷합니다.
예를 들어, 패키지 문제는 비전역 영역을 설치한 시스템에 영향을 줍니다. 패키지 매개변수는 다음을 정의합니다.
패키지의 영역 범위 – 범위에 따라 특정 패키지를 설치할 수 있는 영역의 유형이 결정됩니다.
패키지의 표시 여부 – 표시 여부에 따라 패키지를 설치해야 하는지 및 패키지가 모든 영역에서 동일해야 하는지가 결정됩니다.
패키지 제한 – 한 가지 제한은 패키지를 현재 영역에만 설치해야 하는지 여부입니다.
Trusted Extensions에서 프로그램은 일반적으로 레이블이 있는 영역에서 일반 사용자가 사용하도록 전역 영역에 설치됩니다. 영역에 패키지를 설치하는 방법에 대한 자세한 내용은 System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones의 25 장, About Packages and Patches on a Solaris System With Zones Installed (Overview)를 참조하십시오. 또한 pkgadd(1M) 매뉴얼 페이지를 참조하십시오.
Trusted Extensions 사이트에서 시스템 관리자와 보안 관리자가 함께 작업하여 소프트웨어를 설치합니다. 보안 관리자는 소프트웨어 추가가 보안 정책을 준수하는지 평가합니다. 소프트웨어 사용에 권한 또는 인증이 필요한 경우 보안 관리자 역할은 해당 소프트웨어 사용자에게 적절한 권한 프로파일을 할당합니다.
이동식 매체에서 소프트웨어를 가져오려면 인증이 필요합니다. Allocate Device(장치 할당) 인증이 있는 계정은 이동식 매체에서 데이터를 가져오거나 내보낼 수 있습니다. 데이터는 실행 코드를 포함할 수 있습니다. 일반 사용자는 사용자의 클리어런스 내에 있는 레이블에서만 데이터를 가져올 수 있습니다.
시스템 관리자 역할은 보안 관리자가 승인한 프로그램을 추가할 책임이 있습니다.
Trusted Extensions는 Oracle Solaris OS와 동일한 보안 메커니즘을 사용합니다. 메커니즘에는 다음이 포함됩니다.
인증 – 프로그램 사용자에게 특정 인증이 요구될 수 있습니다. 인증에 대한 자세한 내용은 System Administration Guide: Security Services의 RBAC Elements and Basic Concepts를 참조하십시오. 또한 auth_attr(4) 및 getauthattr(3SECDB) 매뉴얼 페이지를 참조하십시오.
권한 – 프로그램 및 프로세스에 권한이 할당될 수 있습니다. 권한에 대한 자세한 내용은 System Administration Guide: Security Services의 8 장, Using Roles and Privileges (Overview)를 참조하십시오. 또한 privileges(5) 매뉴얼 페이지를 참조하십시오.
ppriv 명령은 디버깅 유틸리티를 제공합니다. 자세한 내용은 ppriv(1) 매뉴얼 페이지를 참조하십시오. 비전역 영역에서 작동하는 프로그램에서 이 유틸리티를 사용하는 방법은 System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones의 Using the ppriv Utility를 참조하십시오.
권한 프로파일 – 권한 프로파일은 한 곳에서 사용자 또는 역할에 할당할 보안 속성을 수집합니다. 권한 프로파일에 대한 자세한 내용은 System Administration Guide: Security Services의 RBAC Rights Profiles를 참조하십시오. Trusted Extensions는 보안 속성이 할당될 수 있는 실행 파일의 유형에 CDE 작업을 추가합니다.
신뢰할 수 있는 라이브러리 – setuid, setgid 및 권한 있는 프로그램에서 사용하는 동적 공유 라이브러리는 신뢰할 수 있는 디렉토리에서만 로드할 수 있습니다. Oracle Solaris OS에서와 마찬가지로 crle 명령은 신뢰할 수 있는 디렉토리 목록에 권한 있는 프로그램의 공유 라이브러리 디렉토리를 추가하는 데 사용됩니다. 자세한 내용은 crle(1) 매뉴얼 페이지를 참조하십시오.
소프트웨어에 권한이 할당되거나 소프트웨어를 대체 사용자 ID 또는 그룹 ID로 실행하면 신뢰할 수 있는 소프트웨어가 됩니다. 신뢰할 수 있는 소프트웨어는 Trusted Extensions 보안 정책을 무시할 수 있습니다. 소프트웨어를 신뢰할 만하지 않은 경우에도 신뢰할 수 있는 소프트웨어로 지정할 수 있습니다. 보안 관리자는 세부 조사를 통해 소프트웨어에서 신뢰할 수 있는 방법으로 권한을 사용한다는 사실이 확인될 때까지 기다렸다가 소프트웨어에 권한을 부여해야 합니다.
프로그램은 신뢰할 수 있는 시스템에서 세 가지 범주로 분류됩니다.
보안 속성이 필요하지 않은 프로그램 – 일부 프로그램은 단일 레벨에서 실행되므로 권한이 필요하지 않습니다. 이러한 프로그램은 공용 디렉토리(예: /usr/local)에 설치할 수 있습니다. 액세스하려면 사용자 및 역할의 권한 프로파일에 있는 명령으로 프로그램을 할당합니다.
root로 실행되는 프로그램 – 일부 프로그램은 setuid 0으로 실행됩니다. 이러한 프로그램에는 권한 프로파일에서 유효 UID 0이 할당될 수 있습니다. 그러면 보안 관리자는 프로파일을 관리 역할에 할당합니다.
참고 - 응용 프로그램에서 권한을 신뢰할 수 있는 방법으로 사용할 수 있는 경우 응용 프로그램에 필요한 권한을 할당하고 프로그램을 root로 실행하지 마십시오.
권한이 필요한 프로그램 – 일부 프로그램은 분명하지 않은 이유로 인해 권한이 필요할 수 있습니다. 프로그램에서 시스템 보안 정책을 위반할 것 같은 기능을 수행하고 있지 않더라도, 해당 프로그램이 보안을 위반하는 기능을 내부적으로 수행할 수 있습니다. 예를 들어, 프로그램에서 공유 로그 파일을 사용하거나 프로그램이 /dev/kmem에서 읽을 수 있습니다. 보안 문제에 대한 자세한 내용은 mem(7D) 매뉴얼 페이지를 참조하십시오.
내부 정책을 무시해도 응용 프로그램의 올바른 작동에 특별히 영향을 미치지 않는 경우도 있습니다. 오히려 내부 정책을 무시하면 사용자가 기능을 보다 편리하게 수행할 수 있습니다.
조직에서 소스 코드에 액세스할 수 있는 경우 응용 프로그램의 성능에 영향을 주지 않고 정책을 무시해야 하는 작업을 제거할 수 있는지 여부를 확인합니다.
프로그램 개발자가 소스 코드에서 권한 세트를 조작할 수 있더라도 보안 관리자가 프로그램에 필요한 권한을 할당하지 않은 경우에는 프로그램이 실패합니다. 따라서 신뢰할 수 있는 프로그램을 만들 때는 개발자와 보안 관리자가 상호 협력해야 합니다.
신뢰할 수 있는 프로그램을 작성하는 개발자는 다음을 수행해야 합니다.
프로그램에서 작업을 수행하는 데 권한이 필요한 경우를 파악합니다.
프로그램에서 권한을 안전하게 사용할 수 있도록 권한 분류 등과 같은 기술을 확인하여 따라야 합니다.
프로그램에 권한을 할당할 때 보안에 미치는 영향에 유의합니다. 프로그램이 보안 정책을 위반하지 않아야 합니다.
신뢰할 수 있는 디렉토리에서 프로그램에 연결되는 공유 라이브러리를 사용하여 프로그램을 컴파일합니다.
자세한 내용은 Developer’s Guide to Oracle Solaris Security를 참조하십시오. Trusted Extensions에 대한 코드 예제는 Trusted Extensions Developer’s Guide를 참조하십시오.
보안 관리자는 새 소프트웨어를 테스트하고 평가해야 할 책임이 있습니다. 신뢰할 수 있는 소프트웨어인지 확인한 후 보안 관리자는 프로그램에 대한 권한 프로파일과 기타 보안 관련 속성을 구성합니다.
보안 관리자의 책임은 다음과 같습니다.
프로그래머와 프로그램 배포 프로세스가 신뢰할 수 있는지 확인합니다.
다음 중 한 가지 방법으로 프로그램에 필요한 권한을 확인합니다.
프로그래머에게 질문합니다.
소스 코드에서 프로그램에 사용할 권한을 검색합니다.
소스 코드에서 프로그램에서 사용자에게 요구하는 인증을 검색합니다.
ppriv 명령에 대한 디버깅 옵션을 사용하여 권한 사용을 검색합니다. 예제는 ppriv(1)매뉴얼 페이지를 참조하십시오.
소스 코드를 조사하여 프로그램을 작동하는 데 필요한 권한과 관련하여 코드가 신뢰할 수 있는 방법으로 작동하는지 확인합니다.
프로그램에서 신뢰할 수 있는 방법으로 권한을 사용하지 못하는 경우 프로그램의 소스 코드를 수정할 수 있으면 코드를 수정합니다. 보안에 대해 잘 알고 있는 보안 컨설턴트 또는 개발자는 코드를 수정할 수 있습니다. 권한 분류, 인증 확인 등을 수정할 수 있습니다.
권한은 수동으로 할당해야 합니다. 권한이 부족하여 실패하는 프로그램에 권한을 할당할 수 있습니다. 또는 보안 관리자가 권한이 필요하지 않도록 유효한 UID 또는 GID를 할당할 수 있습니다.