사용자 지정 규정 준수 컨텐츠를 통해 SaltStack SecOps Compliance에 내장된 보안 벤치마크 및 검사 라이브러리를 보완하는 자체 보안 표준을 정의할 수 있습니다.

사용자 지정 컨텐츠는 내부 요구 사항에 맞게 SaltStack SecOps Compliance 정책을 개선하는 데 유용합니다.

SaltStack SecOps Compliance에는 사용자 지정 보안 컨텐츠를 직접 생성, 테스트 및 구축하는 데 사용할 수 있는 사용자 지정 컨텐츠 SDK(Software Development Kit)가 포함되어 있습니다. 평가 및 업데이트 적용을 위해 사용자 지정 보안 컨텐츠를 가져와서 SaltStack SecOps Compliance 기본 제공 보안 라이브러리와 함께 사용할 수 있습니다. 사용자 지정 컨텐츠를 가져오는 기능을 통해 원하는 버전 제어 시스템(예: Git)을 사용하여 컨텐츠 버전을 지정할 수도 있습니다.

사용자 지정 검사를 사용하려면 먼저 SaltStack SecOps Compliance 사용자 지정 컨텐츠 SDK를 초기화해야 합니다. SDK에는 샘플 파일이 포함되어 있으며, 이것을 수정하여 자체 사용자 지정 검사는 물론 벤치마크를 생성할 수 있습니다. SDK에는 새 컨텐츠를 테스트할 수 있는 Docker 기반 테스트 환경도 포함되어 있습니다.

사용자 지정 컨텐츠를 생성하고 테스트한 후에는 컨텐츠 파일을 구축하고 SaltStack SecOps Compliance로 가져와서 평가 및 업데이트 적용을 시작할 수 있습니다. SaltStack 검사에는 built-in-checks-shield-icon 아이콘이 포함되지만 사용자 지정 검사에는 사용자 아이콘인 custom-checks-user-icon 이 포함됩니다. SaltStack SecOps Compliance는 사용자 지정 컨텐츠와 정책 간의 종속성 추적하여, 컨텐츠를 삭제하면 중단될 수 있는 종속성 목록을 제공합니다.

사전 요구 사항

프로시저

  1. 명령줄에서 파일이 포함된 디렉토리로 이동하여 다음 명령을 실행합니다.
    운영 체제 명령
    Mac OS 또는 Linux ./secops_sdk init
    Windows secops_sdk.exe init
    예상대로 출력이 표시되지 않습니다. 디렉토리에는 다음과 같은 폴더와 파일이 포함되어 있습니다.
    • benchmarks - 사용자 지정 벤치마크 메타(.meta) 파일을 포함
    • salt/locke/custom - 사용자 지정 검사 상태(.sls) 및 메타(.meta) 파일을 포함
    • sample_tests - Docker를 사용하여 테스트하기 위한 예제 파일을 포함
    • README.md - SDK에 대한 자세한 정보를 제공
  2. (선택 사항) 변경 내용을 버전 제어 저장소에 커밋합니다.
  3. 사용자 지정 검사를 생성하려면 사용자 지정 컨텐츠 SDK에서 salt/locke/custom으로 이동합니다. 사용자 지정 벤치마크를 생성하려면 8단계로 건너뜁니다.
    참고: 모든 사용자 지정 검사는 상태(.sls) 파일과 해당 메타(.meta) 파일 모두에서 구성해야 합니다.
  4. 샘플 상태(.sls) 파일과 해당 메타(.meta) 파일의 복사본을 생성하고 두 파일의 이름을 원하는 사용자 지정 이름으로 바꿉니다. 이 두 파일을 salt/locke/custom의 하위 디렉토리에 함께 저장합니다.
    두 파일은 동일한 디렉토리에 있어야 하며 동일한 이름으로 시작해야 합니다(예: my_first_check.metamy_first_check.sls).
  5. 메타 파일의 컨텐츠를 편집하여 필요에 따라 검사를 사용자 지정합니다.
    참고: 검사 메타 파일에 다양한 벤치마크에 대한 참조가 포함되어 있습니다. 사용자 지정 컨텐츠를 생성하는 경우에는 검사 메타 파일에 관련 벤치마크를 모두 포함해야 합니다.
  6. 상태 파일의 컨텐츠를 편집합니다.
  7. 두 파일이 동일한 디렉토리에 저장되어 있는지 확인합니다.
  8. 사용자 지정 벤치마크를 생성하려면 사용자 지정 컨텐츠 SDK에서 benchmarks 디렉토리로 이동합니다. 이 디렉토리에는 샘플 벤치마크 메타(.meta) 파일이 포함되어 있습니다.
  9. Sample_benchmark.meta의 복사본을 만들고 복사본의 이름을 원하는 사용자 지정 이름으로 바꿉니다.
  10. 메타 파일의 컨텐츠를 편집하여 필요에 따라 벤치마크를 사용자 지정합니다.

결과

사용자 지정 검사 및 벤치마크가 생성됩니다. 필요한 경우 SecOps > 검사 또는 SecOps > 벤치마크로 이동하여 사용자 지정 컨텐츠 옆에 있는 메뉴 아이콘 을 클릭하고 삭제를 클릭하여 사용자 지정 검사 또는 벤치마크를 삭제할 수 있습니다.

다음에 수행할 작업

사용자 지정 컨텐츠를 생성한 후에는 명령줄을 열고 사용자 지정 컨텐츠 SDK sample_tests 디렉토리로 이동한 후 다음 명령을 실행하여 테스트할 수 있습니다.

명령 결과
1. ./build.sh 테스트를 위해 Salt로 CentOS7의 Docker 이미지를 구축합니다.
2. ./up.sh 테스트 컨테이너를 시작합니다.
3. ./test.sh salt-call --local state.apply locke.custom.mounts.my_first_check test=True salt/locke/custom 디렉토리에서 생성한 검사에 대해 샘플 테스트를 실행합니다. 일반적인 Salt 상태와 마찬가지로 사용자 지정 검사를 시작할 수 있습니다. Salt 상태에 대한 자세한 내용은 Salt 상태를 사용하는 방법을 참조하십시오.
4. ./down.sh 테스트가 완료되면 이 명령을 실행하여 테스트 컨테이너를 종료합니다.

사용자 지정 컨텐츠를 테스트한 후 사용자 지정 컨텐츠 라이브러리를 구축할 수 있습니다.