1장 |
|
이 장은 Solaris Security Toolkit 소프트웨어의 디자인 및 용도에 대해 설명합니다. 핵심 구성요소, 기능, 이점 및 지원 플랫폼을 다룹니다. 이 장은 수정 및 전개의 버전 제어 유지를 위한 지침을 제공하며, Solaris Security Toolkit 소프트웨어의 사용자 정의를 위한 중요 지침을 설명합니다.
Solaris Security Toolkit 소프트웨어는 약식으로는 JASS(JumpStart Architecture and Security Scripts) 도구 세트로 알려져 있으며 안전한 Solaris OS 시스템을 구축하고 유지보수하기 위한 자동화되고 확장 가능하며 계량 가능한 체계를 제공합니다. Solaris Security Toolkit 소프트웨어를 사용하면 시스템의 보안을 강화하고, 절차를 최소화하며, 감사를 수행할 수 있습니다.
시스템 설치 및 구성은 가능한 한(이상적으로는 100%) 자동화되어야 합니다. 이 지침에는 OS 설치 및 구성, 네트워크 구성, 사용자 계정, 응용 프로그램 및 보안 수정이 포함되어 있습니다. 보안 수정은 시스템의 목적에 따라서 강화 및/또는 최소화를 포함할 수 있습니다. Solaris OS 설치를 자동화하기 위해 사용 가능한 한 가지 기술이 JumpStart 소프트웨어입니다. JumpStart 소프트웨어는 사람의 간섭이 거의 또는 전혀 필요 없이 네트워크를 통해 시스템을 설치하는 체계를 제공합니다. Solaris Security Toolkit 소프트웨어는 JumpStart 소프트웨어 기반 설치에서 Solaris OS 시스템 강화 및 최소화와 연관된 대부분의 작업을 구현하고 자동화하는 프레임워크 및 스크립트를 제공합니다.
또한 Solaris Security Toolkit 소프트웨어에는 독립형 모드가 있습니다. 이 모드는 JumpStart 모드에서와 동일한 모든 강화 기능을 수행하는 기능을 제공하지만 전개된 시스템에서만 작동합니다. 두 가지 모드 모두에서 보안 수정 사항은 시스템에 대한 보안 요구사항과 일치하도록 사용자 정의할 수 있으며 또한 그렇게 되어야 합니다.
시스템의 설치 방법과 관계 없이 처음에 Solaris Security Toolkit 소프트웨어를 사용하여 시스템을 강화하고 최소화할 수 있습니다. 그런 다음 주기적으로 Solaris Security Toolkit 소프트웨어를 사용하여 보안된 시스템의 보안 프로파일이 우발적이나 악의적으로 수정되지 않았는지 감사하십시오.
|
주 - 감사라는 용어는 보안 상태를 사전 정의된 보안 프로파일과 비교하여 보안 상태를 검증하는 Solaris Security Toolkit 소프트웨어의 자동화된 프로세스를 설명합니다. 이 용어의 사용으로 인해 감사 옵션을 사용한 후 시스템이 완전히 안전함을 보장하는 것은 않습니다. |
이 절은 Solaris Security Toolkit 소프트웨어 구성요소 구조의 개요를 제공합니다. Solaris Security Toolkit 소프트웨어는 파일 및 디렉토리의 집합입니다. 그림 1-1이 해당 구조를 보여줍니다.
이러한 디렉토리 및 하위 디렉토리 이외에 다음 파일이 Solaris Security Toolkit 소프트웨어 구조의 최상위 레벨인 /bin에 있습니다.
Solaris Security Toolkit 구조의 구성요소는 다음 디렉토리로 구성됩니다.
이 절은 각 디렉토리에 대해 설명합니다. 적절한 위치에 각 스크립트, 구성 파일 또는 하위 디렉토리가 나열되며, 자세한 정보를 보기 위한 다른 장으로의 참조가 제공됩니다.
Solaris Security Toolkit 디렉토리 구조는 다음 Sun BluePrints 설명서에 기초합니다. JumpStart Technology: Effective Use in the Solaris Operating Environment
이 디렉토리에는 시스템이 정의된 보안 프로파일 또는 감사 스크립트 세트를 준수하는지 평가하는 감사 스크립트가 들어있습니다. 이 디렉토리의 스트립트는 다음 범주로 구성됩니다.
이러한 각 범주에 있는 스크립트의 상세한 목록과 각 스크립트의 설명에 대해서는 Solaris Security Toolkit 4.1 Reference Manual을 참조하십시오.
이 디렉토리는 README 파일과 같은 사용자를 위한 정보 텍스트 파일을 포함합니다.
이 디렉토리에는 명령, 기능 및 드라이버에 대한 man 페이지의 절의 하위 디렉토리가 들어있습니다. 이 디렉토리는 또한 특별히 제공된 명령 색인인 windex 파일을 포함하고 있습니다.
이런 man 페이지에 대한 상세한 정보는 man 페이지 자체 또는 Solaris Security Toolkit 4.1 Man Page Guide를 참조하십시오.
이 디렉토리에는 Solaris Security Toolkit 소프트웨어를 실행할 때 실행 및 설치되는 파일을 지정하는 구성 정보 파일이 들어있습니다. 이 디렉토리에는 드라이버, 스크립트 및 구성 파일이 들어있습니다.
다음은 Drivers 디렉토리에 있는 드라이버 및 스크립트의 예입니다.
모든 제품 관련 드라이버 및 일부 다른 드라이버는 각 드라이버에 대해 다음 세 가지 파일을 포함합니다.
이 세 파일은 이전 목록에서 대괄호 안에 표시됩니다(예: sunfire_15k_sc-{config|hardening|secure}.driver). 이러한 파일은 완전성을 위해 나열됩니다. 드라이버를 실행하려는 경우에는 name-secure.driver만 사용하십시오. 해당 드라이버가 자동으로 관련 드라이버를 호출합니다.
Solaris Security Toolkit 구조는 실제 스크립트 자체를 수정하지 않지만 드라이버, 종료 및 감사 스크립트가 여러 환경에서 사용될 수 있도록 하는 구성 정보를 포함하고 있습니다. 종료 및 감사 스크립트에서 사용된 모든 변수는 구성 파일 세트에 유지됩니다. 이러한 구성 파일은 드라이버가 가져오며, 드라이버가 호출시 종료 및 감사 스크립트에서 변수를 사용할 수 있습니다.
Solaris Security Toolkit 소프트웨어에는 아래 세 개의 기본 구성 파일이 있는데, 모두가 Drivers 디렉토리에 저장됩니다.
드라이버가 호출하는 종료 스크립트는 Finish 디렉토리에 있습니다. 드라이버가 호출하는 감사 스크립트는 Audit 디렉토리에 있습니다. 드라이버가 설치하는 파일은 Files 디렉토리에서 읽습니다. 종료 및 감사 스크립트에 대한 자세한 정보는 이 설명서의 해당 장을 참조하십시오.
그림 1-2는 드라이버 제어 흐름의 흐름도를 보여줍니다.
첫 번째로 다양한 .init 파일에서 모든 환경 변수를 가져옵니다. 이것이 완료된 후 드라이버가 2부로 이동하는데, 여기에서는 JASS_FILES 및 JASS_SCRIPTS를 정의합니다. 이들의 정의는 선택적입니다. 즉, 하나의 환경을 정의하거나 둘 다 정의하거나 둘 다 정의하지 않을 수 있습니다. 드라이버의 3부는 driver.run을 호출하여 JASS_FILE 및 JASS_SCRIPTS 환경 변수에 의해 정의되는 작업을 수행합니다.
코드 예 1-1은 드라이버의 제어 흐름을 나타냅니다.
이 코드 예제는 DIR 환경 변수를 설정하고 내보내서 드라이버가 시작 디렉토리를 인식하게 합니다. 다음, JASS_FILES 환경 변수가 클라이언트의 JASS_HOME_DIR/Files 디렉토리에서 복사되는 파일을 포함하도록 정의됩니다. 그런 다음 JASS_SCRIPTS 환경 변수가 Solaris Security Toolkit 소프트웨어에 의해 실행되는 종료 스크립트로 정의됩니다. 마지막으로 driver.run 드라이버를 호출하여 강화 작업의 실행이 시작됩니다. 일단 호출되면, driver.run은 JASS_FILES에 의해 지정되는 파일을 복사하고, JASS_SCRIPTS로 지정되는 스크립트를 실행합니다.
이 디렉토리는 JASS_FILES 환경 변수와 driver.run 스크립트에 의해 사용됩니다. 이 디렉토리는 JumpStart 클라이언트로 복사되는 파일을 저장합니다.
이 디렉토리에는 설치 중에 시스템 수정 및 업데이트를 수행하는 종료 스크립트가 들어있습니다. 이 디렉토리의 스트립트는 다음 범주로 구성됩니다.
이러한 각 범주에 있는 스크립트의 상세한 목록과 각 스크립트의 설명에 대해서는 Solaris Security Toolkit 4.1 Reference Manual을 참조하십시오.
이 디렉토리에는 Solaris OS 이미지만 들어있습니다. 이들은 클라이언트 설치의 소스로서 JumpStart 소프트웨어 설치 프로세스에 의해 사용되며 add_install_client 및 rm_install_client 스크립트를 제공합니다. add_client 스크립트가 이들 추가 디렉토리 이름을 받아들입니다.
Solaris OS 이미지 로드 및 수정에 대한 자세한 정보는 Sun BluePrints 설명서 JumpStart Technology: Effective Use in the Solaris Operating Environment를 참조하십시오.
Solaris OS의 경우 다음 이름 지정 표준 규칙을 사용하십시오.
Solaris_os 버전_CD 릴리스의 4자리 숫자 년도_2자리 숫자 월
예를 들어 2001년 4월자 Solaris 8 운영 환경 CD는 Solaris_8_2001-04의 디렉토리 이름을 갖습니다. Solaris OS의 업데이트와 릴리스를 구분하여 테스트 및 전개 목적으로 매우 정교한 제어를 유지할 수 있습니다.
Trusted Solaris의 경우 다음 디렉토리 이름 지정 표준을 사용하십시오.
Trusted_Solaris_os 버전_CD 릴리스의 4자리 숫자 년도_2자리 숫자 월
예를 들어 Trusted Solaris 소프트웨어 릴리스가 2000년 2월자인 경우 디렉토리 이름은 Trusted_Solaris_8_2000-02입니다.
Solaris OS Intel 플랫폼 개정판의 경우 아래 디렉토리 이름 지정을 사용하십시오.
Solaris_os 버전_CD 릴리스의 4자리 숫자 년도_2자리 숫자 월_ia
예를 들어 Solaris OS Intel 플랫폼 개정판 릴리스가 2001년 4월자인 경우 디렉토리 이름은 Solaris_8_2001-04_ia입니다.
이 디렉토리에는 종료 스크립트로 설치할 수 있는 소프트웨어 패키지가 들어있습니다. 예를 들어, Sun Java
System Web Server(이전의 Sun
ONE Web Server 및 iPlanet
Web Server), 소프트웨어 패키지를 Packages 디렉토리에 저장할 수 있으므로 적절한 종료 스크립트가 해당 소프트웨어를 필요시 설치합니다.
Solaris Security Toolkit 소프트웨어에 포함되어 있는 여러 종료 스크립트가 소프트웨어 설치 및 기본 구성 기능을 수행합니다. Packages 디렉토리에서 소프트웨어를 설치하는 스크립트에는 다음이 포함됩니다.
이 디렉토리는 Solaris OS용 Recommended and Security Patch Clusters 저장을 위한 것입니다. 필수 패치를 이 디렉토리에 다운로드하고 추출하십시오.
이 디렉토리에 패치를 저장하고 추출함으로써 설치 능률을 올릴 수 있습니다. 패치가 이 디렉토리로 추출될 때 Solaris Security Toolkit 소프트웨어의 패치 설치 스크립트가 설치를 자동화하므로 각 시스템 설치를 위해 패치 클러스터를 수동으로 추출할 필요가 없게 됩니다.
사용되는 각 Solaris OS 버전에 대한 하위 디렉토리를 작성하십시오. 예를 들어 Patches 디렉토리 안에 2.5.1_Recommended 및 2.6_Recommended 디렉토리를 가질 수 있습니다.
Solaris Security Toolkit 소프트웨어는 Solaris OS 인텔 플랫폼 개정판 패치 클러스터를 지원합니다. 이러한 패치 클러스터에 대한 지원되는 이름 지정 규칙은 SunSolve OnLineSM 서비스를 통해 사용 가능한 규칙과 동일합니다.
형식은 Solaris_<release>_x86_Recommended입니다. Solaris 8 OS용 Solaris OS Intel 플랫폼 개정판 패치 클러스터는 Solaris_8_x86_Recommended라는 이름의 디렉토리에 있습니다.
이 디렉토리에는 모든 JumpStart 프로파일이 들어있습니다. 이들 프로파일에는 설치할 Solaris OS 클러스터(예: 핵심, 일반 사용자, 개발자 또는 전체 배포), 디스크 배치 및 수행할 설치 유형(예: 독립형)을 판별하기 위해 JumpStart 소프트웨어가 사용하는 구성 정보가 들어있습니다.
JumpStart 프로파일은 특정 시스템 또는 시스템 그룹이 구축되는 방법을 정의하기 위해 rules 파일에 나열되고 사용됩니다.
Profiles 디렉토리와 비슷하게 Sysidcfg 디렉토리에는 JumpStart 모드 설치 중에만 사용되는 파일이 들어있습니다. 이들 파일은 필수 설치 정보를 제공하여 Solaris OS 설치를 자동화합니다. 별도의 디렉토리 트리가 OS에 특정한 정보를 저장합니다.
각 Solaris OS는 개별 디렉토리를 갖습니다. 각 릴리스에 대해Solaris_OS 버전으로 이름이 지정되는 디렉토리가 있습니다. Solaris Security Toolkit 소프트웨어에 Solaris OS 버전 2.5.1이상 9이하를 위한 예제 sysidcfg 파일이 포함되어 있습니다.
예제 sysidcfg 파일을 네트워크, 호스트 등과 같은 다른 유형으로 확장할 수 있습니다. Solaris Security Toolkit 소프트웨어는 임의의 sysidcfg 파일을 지원합니다.
sysidcfg 파일에 대한 추가 예제는 Sun BluePrints 설명서 JumpStart Technology: Effective Use in the Solaris Operating Environment를 참조하십시오.
데이터 저장소는 Solaris Security Toolkit 실행 취소 작업을 지원하고 각 작업이 실행되는 방법에 대한 데이터를 저장하고 소프트웨어가 수정한 파일의 목록을 유지하고 실행 로그 데이터를 저장하는 JASS_REPOSITORY 디렉토리의 환경 변수입니다. 실행 취소 기능은 데이터 저장소에 저장된 정보에 의존합니다.
Solaris Security Toolkit 소프트웨어가 사용하는 모든 파일 및 스크립트에 대한 버전 제어 유지는 두 가지 이유 때문에 중요합니다. 첫째, 이 환경의 목표중 하나는 시스템 설치를 다시 작성할 수 있다는 것입니다. 이 목표는 설치시 사용된 모든 파일 버전의 스냅샷이 없으면 불가능합니다. 둘째, 이러한 스크립트는 다수의 조직에 중요한 프로세스인 보안 기능을 수행 중이므로 적절하고 테스트된 변경만 적용되도록 최대한 주의를 기울여야 합니다.
원시 코드 제어 시스템(SCCS) 버전 제어 패키지가 Solaris OS SUNWsprot 패키지에서 제공됩니다. 프리웨어 및 상업용 제품으로 사용할 수 있는 기타 버전 제어 소프트웨어를 사용하여 버전 정보를 관리할 수 있습니다. 버전 제어 제품의 이름에 상관없이 업데이트를 관리하고 향후 시스템 재작성을 위해 버전 정보를 기록해두십시오.
버전 제어 이외에 무결성 관리 솔루션을 사용하여 파일의 내용이 수정되었는지 확인하십시오. 시스템 권한이 있는 사용자는 버전 제어 시스템을 우회할 수 있지만 원격 시스템에 무결성 데이터베이스를 유지하는 무결성 관리 시스템을 쉽게 우회할 수는 없습니다. 지역적으로 저장되는 데이터베이스는 악의적으로 수정될 수 있기 때문에 무결성 관리 솔루션은 중앙 집중될 때 최고의 성능을 갖습니다.
Solaris Security Toolkit 소프트웨어에 대한 Sun 지원은 Solaris 8 및 Solaris 9 운영 체제에서 사용할 때만 가능합니다. 해당 소프트웨어가 Solaris 2.5.1, Solaris 2.6 및 Solaris 7 운영 체제에서 사용될 경우, Sun 지원은 사용할 수 없습니다.
Solaris Security Toolkit 소프트웨어는 자동으로 설치된 Solaris 운영 체제 소프트웨어의 버전을 감지한 후 운영 체제 버전에 적합한 작업을 실행합니다.
시스템 제어(SC)를 관리하기 위해 System Management Services(SMS)를 사용할 경우, SMS 버전 1.3에서 버전 1.4.1까지 사용시 Solaris Security Toolkit 4.1 소프트웨어에 대해 Sun 지원을 사용할 수 있습니다.
Solaris Security Toolkit 소프트웨어에는 Sun BluePrints 설명서 Enterprise Security: Solaris Operating Environment Security Journal, Solaris Operating Environment Versions 2.5.1, 2.6, 7, and 8 및 보안 관련 Sun BluePrints OnLine 기사의 모든 보안 지침을 구현하는 스크립트, 프레임워크 기능 및 변수에 대한 기본값이 들어있습니다. 이러한 설정값이 모든 시스템에 적합한 것은 아니므로, Solaris Security Toolkit 소프트웨어를 사용자 정의하여 사용 시스템의 보안 요구사항에 맞도록 합니다.
Solaris Security Toolkit 소프트웨어의 가장 중요한 특성 중 하나는 사용자의 환경, 시스템 및 요구사항에 맞도록 쉽게 사용자 정의할 수 있다는 점입니다. Solaris Security Toolkit 소프트웨어를 사용자 정의하려면 드라이버, 종료 스크립트, 감사 스크립트, 프레임워크 기능, 환경 변수 및 파일 템플리트를 통해 소프트웨어의 활동을 조정하십시오.
대부분의 사용자는 Solaris Security Toolkit 코드를 수정할 필요가 없습니다. 임의로 변경하면 지원 가능성 및 업그레이드에 부정적인 영향을 줄 수도 있습니다. 사용자 환경에서 Solaris Security Toolkit 소프트웨어를 사용하기 위해 코드 수정이 절대적으로 필요한 경우 코드를 고유한 파일 또는 기능 이름으로 복사하여 지침에서와 같이 변경사항을 쉽게 추적할 수 있게 하십시오.
이 안내서에서 Solaris Security Toolkit 소프트웨어 사용자 정의에 대한 안내 및 지침은 각 장에서 해당될 경우 제공됩니다. 드라이버 사용자 정의에 대해 유용한 정보를 찾으려면 Solaris Security Toolkit 4.1 Reference Manual을 참조하십시오. 사용자 정의에는 파일 또는 변수 수정 및 작성이 포함됩니다.
다음 장에서 Solaris Security Toolkit 소프트웨어 사용자 정의 예제를 제공합니다. 예제에서 Solaris Security Toolkit 소프트웨어를 사용자 정의할 수 있는 몇 가지 방법을 알려주지만, 그 이외에도 많은 방법이 있습니다.
다음 절은 Solaris Security Toolkit 소프트웨어의 사용자 정의 전에 명확히 이해해야 할 정보를 나타냅니다. 이 정보는 많은 전개에서 수집되는 공유된 경험을 바탕으로 하므로 일반적인 함정을 피할 수 있습니다.
Solaris Security Toolkit 소프트웨어를 사용자 정의 및 전개 시, 적절한 계획을 세우면 결과 플랫폼 구성이 올바르고 조직의 기대를 부응할 수 있습니다.
계획 수립 단계에서 보안 방침 및 표준사항, 산업 규정 및 지침, 그리고 공급업체가 제공하는 바람직한 실례를 포함한 다양한 소스로부터 정보를 얻으십시오.
이 정보 이외에 구성의 결과가 플랫폼의 비즈니스 기능 제공 능력에 영향을 주지 않도록 적용 및 작업 요구사항을 고려하는 것이 필수적입니다.
Solaris Security Toolkit 소프트웨어를 사용자 정의할 때 다음 지침을 고려하십시오. 이들 지침을 이해하고 준수하는 것이 전개를 유지하는 프로세스를 훨씬 더 쉽고 보다 효율적으로 만드는 데 도움이 됩니다.
Copyright © 2004, Sun Microsystems, Inc. All rights reserved.