
빌드부터 런타임까지 모든 것을 보호하는 오픈 소스 클라우드 네이티브 보안
오픈 소스, 클라우드 네이티브 보안 및 정책 프로젝트
cnspec은 전체 인프라의 보안과 규정 준수를 평가합니다. 퍼블릭 및 프라이빗 클라우드 환경, Kubernetes 클러스터, 컨테이너, 컨테이너 레지스트리, 서버, 엔드포인트, SaaS 제품, 코드형 인프라, API 등에서 취약점과 잘못된 구성을 찾아냅니다.
강력한 정책형 코드(policy as code) 엔진인 cnspec은 Mondoo의 보안 데이터 패브릭을 기반으로 구축되었습니다. 기본 보안 정책이 미리 구성되어 있어 바로 사용할 수 있습니다. 빠르고 간편하게 사용할 수 있습니다!
bash -c "$(curl -sSL https://install.mondoo.com/sh)" cnspec scan local

## 설치
설치 스크립트를 사용하여 cnspec을 설치하세요:
**Linux 및 macOS**```bash
bash -c "$(curl -sSL https://install.mondoo.com/sh)"
Windows```powershell Set-ExecutionPolicy Unrestricted -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://install.mondoo.com/ps1')); Install-Mondoo;
수동 설치를 선호하는 경우, [releases](https://github.com/mondoohq/cnspec/releases)에서 cnspec 패키지를 찾을 수 있습니다.
## 정책으로 스캔 실행하기
`cnspec scan` 하위 명령을 사용하여 로컬 및 원격 대상의 잘못된 구성과 취약점을 확인하세요.
### 로컬 스캔
이 명령은 로컬 머신의 보안을 평가합니다:```bash
cnspec scan local
스캔할 원격 대상을 지정할 수도 있습니다. 예를 들어:```bash
cnspec scan docker image ubuntu:22.04
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/r6z5b8t4 cnspec scan docker image public.ecr.aws/r6z5b8t4
cnspec scan aws
cnspec scan aws ec2 instance-connect root@i-1234567890abcdef0
cnspec scan k8s cnspec scan k8s manifest.yaml
export GITHUB_TOKEN=<personal_access_token> cnspec scan github repo <org/repo>
[:books: 자세히 알아보려면 cnspec 문서를 읽어보세요.](https://mondoo.com/docs/cnspec)
### 정책
cnspec 정책은 policy as code 개념을 기반으로 구축되었습니다. cnspec은 지원되는 모든 대상에 대해 구성된 기본 보안 정책과 함께 제공됩니다. 기본 정책은 이 저장소의 `content` 디렉터리에서 확인할 수 있습니다.
## 취약점 스캔
cnspec은 다양한 플랫폼에서 취약점을 스캔합니다. 취약점 스캔은 컨테이너 이미지에 국한되지 않으며 빌드 및 런타임에서도 작동합니다.

NOTE: 취약점 스캔을 사용하려면 클라이언트가 Mondoo Platform에 로그인되어 있어야 합니다.
### 예시```bash
# scan container image
cnspec vuln docker debian:12
# scan aws instance via EC2 instance connect
cnspec vuln aws ec2 instance-connect root@i-1234567890abcdef0
# scan instance via SSH
cnspec vuln ssh user@host
# scan windows via SSH or Winrm
cnspec vuln ssh user@host --ask-pass
cnspec vuln winrm user@host --ask-pass
# scan VMware vSphere ESXi hosts
cnspec vuln vsphere user@host --ask-pass
# scan Linux, Windows
cnspec vuln local
| 플랫폼 | 버전 |
|---|---|
| Alpine | 3.10 - 3.24 |
| AlmaLinux | 8, 9, 10 |
| Amazon Linux | 1, 2, 2023 |
| Arch Linux | Rolling |
| CentOS | 6, 7, 8, Stream |
| Debian | 8, 9, 10, 11, 12, 13 |
| Fedora | 30 - 44 |
| openSUSE | Leap 15, Leap 16 |
| Oracle Linux | 6, 7, 8, 9, 10 |
| Photon Linux | 2, 3, 4, 5 |
| Red Hat Enterprise Linux | 6, 7, 8, 9, 10 |
| Rocky Linux | 8, 9, 10 |
| SUSE Linux Enterprise | 12, 15, 16 |
| Ubuntu | 18.04, 20.04, 22.04, 24.04, 26.04 |
| VMware vSphere ESXi | 6, 7, 8, 9 |
| Windows | 10, 11, 2016, 2019, 2022, 2025 |
cnspec은 또한 어서션을 탐색할 수 있는 대화형 셸을 제공합니다. 이는 보안 정책이 사용하는 어서션을 이해하고 직접 정책을 작성하는 데 도움이 됩니다. 또한 로컬 및 원격 대상과 즉석에서 상호 작용할 수 있는 훌륭한 방법입니다.
cnspec shell local
셸은 cnspec을 구동하는 리소스에 대한 정보를 제공하는 `help` 명령을 제공합니다. 인수 없이 `help`를 실행하면 사용 가능한 모든 리소스와 해당 필드가 나열됩니다. 특정 리소스에 대한 자세한 내용을 보려면 `help <resource>`를 실행할 수도 있습니다. 예를 들어:```bash
cnspec> help ports
ports: TCP/IP ports on the system
list []port: List of all TCP/IP ports
listening []port: All listening ports
셸은 자동 완성을 사용하므로 쉽게 탐색할 수 있습니다.
셸에 들어가면 다음과 같이 MQL 어서션을 입력할 수 있습니다:```coffeescript
ports.listening.none( port == 23 )
터미널을 지우려면 `clear`를 입력하세요.
종료하려면 CTRL + D를 누르거나 `exit`를 입력하세요.
## Mondoo Platform으로 중요한 위험의 우선순위를 정하세요
Mondoo 통합 보안 플랫폼은 비즈니스에 가장 높은 위험을 초래하는 취약점과 잘못된 구성을 찾아 우선순위를 정합니다. Mondoo의 보안 데이터 패브릭은 인프라의 고유한 맥락 안에서 모든 발견 사항의 위협과 노출을 분석합니다. 관련 없는 보안 경고의 홍수 대신, Mondoo는 보안 태세에 즉각적이고 중요한 영향을 미칠 수 있는 방법을 보여줍니다.
시작하려면 [문의하세요](https://mondoo.com/contact).
Mondoo Platform에 대해 알아보려면 [Mondoo Platform 문서](https://mondoo.com/docs)를 읽거나 [mondoo.com](https://mondoo.com)을 방문하세요.
### Mondoo Platform에 cnspec 등록하기
Mondoo Platform과 함께 cnspec을 사용하려면 [Mondoo App에서 토큰을 생성](https://mondoo.com/docs/cnspec/install/registration)한 후 다음을 실행하세요:```bash
cnspec login --token TOKEN
인증이 완료되면, 어떤 대상이든 스캔할 수 있습니다:```bash cnspec scan
cnspec는 스캔 결과를 `STDOUT`과 Mondoo Platform으로 반환합니다.
Mondoo Platform 계정이 있으면 정책을 업로드할 수 있습니다:```bash
cnspec bundle upload mypolicy.mql.yaml
cnspec 정책은 단순히 YAML 파일로, 여러분의 플릿에 대한 모든 보안 규칙이나 모범 사례를 표현할 수 있게 해줍니다.
이 저장소의 examples 폴더에서 몇 가지 예제를 찾을 수 있습니다. 다음 정책 중 어느 것이든 실행할 수 있습니다:```bash
cnspec scan local -f examples/example.mql.yaml
자신만의 정책을 작성하거나 정책을 cnspec 커뮤니티에 기여하는 데 관심이 있다면 Mondoo의 [정책 작성 가이드](https://mondoo.com/docs/cnspec/write-policies/write-intro)를 읽어보세요.