Kubernetes NeuVector란? K8s 클라우드 네이티브 보안 솔루션 기능과 활용 범위

반응형
Kubernetes NeuVector란? K8s 클라우드 네이티브 보안 솔루션 기능과 활용 범위

Kubernetes NeuVector란? K8s 클라우드 네이티브 보안 솔루션 기능과 활용 범위

NeuVector는 Kubernetes와 Container 환경을 대상으로 이미지 취약점 관리부터 배포 단계의 보안 정책, 실행 중인 Container의 Runtime Security, Network Security, Compliance까지 관리할 수 있는 Kubernetes Native Container Security Platform입니다.

현재 SUSE에서는 NeuVector를 SUSE Security라는 이름으로 제공하고 있으며, Open Source NeuVector 역시 계속 사용할 수 있습니다.

일반적인 취약점 Scanner가 Container Image의 CVE를 찾아주는 데 집중한다면 NeuVector는 그보다 넓은 범위를 담당합니다.

개발 / Build
      ↓
Container Image
      ↓
Registry
      ↓
Kubernetes 배포
      ↓
Container 실행
      ↓
Network 통신
      ↓
Runtime 행위

      ↑
      │
   NeuVector

전체 Container Lifecycle 보안
핵심:

NeuVector는 단순한 Container Image 취약점 Scanner가 아니라 Build → Registry → Deploy → Runtime까지 Kubernetes Container Lifecycle 전반에 보안 정책을 적용하는 플랫폼입니다.

1. NeuVector의 주요 보안 영역

NeuVector의 주요 활용 범위는 다음과 같이 정리할 수 있습니다.

보안 영역 주요 기능
Image Security Container Image CVE 및 취약점 스캔
Registry Security Harbor 등 Container Registry Image 검사
Admission Control 취약하거나 정책을 위반한 Image의 Kubernetes 배포 차단
Runtime Security 실행 중 Container의 Process, File, Network 행위 감시
Network Security Container 간 통신 분석 및 보안 정책 적용
Threat Detection 비정상 행위 및 공격 탐지
Compliance Kubernetes CIS Benchmark 등 보안 점검
Host Security Kubernetes Node의 취약점 및 보안 상태 점검
DLP / WAF 민감 데이터 및 Web 공격 패턴 탐지
Multi-Cluster 여러 Kubernetes Cluster의 중앙 보안 관리

2. NeuVector 전체 적용 구조

┌──────────────────────────────────────────────┐
│                  CI/CD                       │
│                                              │
│ Developer → GitLab → Jenkins → Maven         │
│                            │                 │
│                            ▼                 │
│                       Docker Build           │
│                            │                 │
│                      Image Scan              │
└────────────────────────────┼─────────────────┘
                             │
                             ▼
                         Harbor
                    Container Registry
                             │
                       Registry Scan
                             │
                             ▼
                    Admission Control
                             │
                   ┌─────────┴─────────┐
                   │                   │
                Allow                Deny
                   │                   │
                   ▼                   X
             Kubernetes Deploy
                   │
                   ▼
          ┌───────────────────┐
          │ Kubernetes Cluster│
          │                   │
          │ Pod   Pod   Pod   │
          │  │     │     │    │
          │  └─────┼─────┘    │
          │        │          │
          │ Runtime Security │
          │ Network Security │
          │ Process Security │
          │ File Monitoring  │
          └───────────────────┘

따라서 NeuVector는 Kubernetes Cluster 내부에만 적용되는 것이 아니라 CI/CD 및 Container Registry 단계까지 연계할 수 있습니다.

3. Container Image 취약점 스캔

NeuVector의 대표적인 기능 중 하나가 Container Image Vulnerability Scanning입니다.

Container Image 내부의 OS Package 및 Application Component 등을 분석하여 알려진 CVE 취약점을 확인합니다.

Docker Image
     │
     ▼
NeuVector Scanner
     │
     ├─ CVE 확인
     ├─ Package 취약점 확인
     ├─ Secret 검사
     └─ Compliance 검사
            │
            ▼
      Security Report

이를 통해 어떤 Image에 High 또는 Critical 수준의 취약점이 존재하는지 파악할 수 있습니다.

4. Harbor Registry와 연계

Kubernetes CI/CD 환경에서는 Harbor와 같은 Private Container Registry를 사용하는 경우가 많습니다. NeuVector는 Registry를 스캔하여 저장된 Container Image의 취약점을 확인할 수 있습니다.

Jenkins
   │
   │ docker push
   ▼
Harbor
   │
   │ Registry Scan
   ▼
NeuVector
   │
   ├─ Image A → Critical CVE 발견
   ├─ Image B → High CVE 발견
   └─ Image C → 이상 없음

이를 통해 Kubernetes에 배포하기 전에 취약한 Image를 식별할 수 있습니다.

5. CI/CD Pipeline 보안

NeuVector는 Build 단계의 Image Scanning과 CI/CD 연계를 지원합니다. Jenkins, GitLab 등의 Pipeline과 연계하여 Image가 운영 Kubernetes Cluster에 배포되기 전에 취약점을 확인하는 구조를 만들 수 있습니다.

Developer
    │
    ▼
GitLab
    │
    ▼
Jenkins
    │
    ▼
Maven Build
    │
    ▼
Docker Build
    │
    ▼
NeuVector Scan
    │
    ├─ PASS → Harbor Push
    │
    └─ FAIL → Pipeline 중단

이를 통해 보안 검사를 운영 단계에서만 수행하는 것이 아니라 개발 및 Build 단계로 앞당기는 Shift Left Security를 구현할 수 있습니다.

6. Admission Control

NeuVector의 중요한 기능 중 하나가 Kubernetes Admission Control입니다.

사용자가 Deployment 등의 Kubernetes Resource를 생성하려고 할 때 API Server에서 실제 Resource가 생성되기 전에 NeuVector가 정책을 확인할 수 있습니다.

Jenkins

kubectl apply
      │
      ▼
Kubernetes API Server
      │
      ▼
NeuVector Admission Control
      │
      ├──────────────┐
      │              │
   정책 통과       정책 위반
      │              │
      ▼              ▼
    Allow           Deny
      │              │
      ▼              X
Deployment 생성    배포 차단

예를 들어 다음과 같은 보안 정책을 구성할 수 있습니다.

Critical CVE가 존재하는 Image → 배포 차단

High CVE가 일정 개수 이상 → 배포 차단

허용되지 않은 Registry Image → 배포 차단

특정 CVE가 존재하는 Image → 배포 차단

위험한 Container 설정 → 배포 차단

NeuVector Admission Control은 Monitor와 Protect 방식으로 운영할 수 있습니다. Monitor에서는 정책 위반을 탐지하고 기록하지만 배포 자체는 허용하며, Protect에서는 정책에 따라 실제 배포를 차단할 수 있습니다.

7. Runtime Security

Container Image가 안전하다고 해서 실행 이후까지 안전하다는 의미는 아닙니다.

애플리케이션 취약점을 통해 공격자가 Container 내부에 접근하거나 예상하지 못한 Process를 실행할 수도 있기 때문입니다.

NeuVector는 실행 중인 Container의 행위를 감시할 수 있습니다.

Running Container
       │
       ├─ Process 실행
       ├─ File 접근
       ├─ Network Connection
       └─ System Activity
              │
              ▼
          NeuVector
              │
        정상 행위와 비교
              │
        ┌─────┴─────┐
        │           │
      정상        비정상
        │           │
      Allow       Alert / Response

8. Process Monitoring

NeuVector는 Container에서 실행되는 Process를 분석하여 정상적인 Application Process와 비정상적인 Process 실행을 구분할 수 있습니다.

예를 들어 일반적인 Web Application Container에서:

java
nginx
httpd

등이 정상 Process라고 학습되어 있는데 갑자기 다음과 같은 의심스러운 행위가 발생할 수 있습니다.

nmap 실행

Reverse Shell

비정상 Shell 실행

Privilege Escalation 시도

NeuVector는 이러한 Runtime 행위를 탐지하고 정책에 따라 대응할 수 있습니다.

9. File System Monitoring

실행 중인 Container의 File 접근이나 변경도 감시할 수 있습니다.

Container
   │
   ├─ /etc
   ├─ /bin
   ├─ /usr
   └─ Application Files
          │
          ▼
     File Monitoring

정상적인 Container에서는 변경되지 않아야 할 시스템 파일이나 Application 파일이 갑자기 수정되는 경우 침해 사고 가능성을 분석하는 데 활용할 수 있습니다.

10. Container Network Security

NeuVector는 Kubernetes 내부의 Container 및 Pod 간 Network 통신을 분석할 수 있습니다.

Frontend Pod
      │
      ▼
Backend Pod
      │
      ▼
Database

정상적인 서비스 통신 패턴을 학습하여 어떤 서비스가 어떤 서비스와 통신하는지 시각화하고 이를 기반으로 Network Security Policy를 구성할 수 있습니다.

11. Kubernetes East-West Traffic 보안

일반적인 Firewall이나 외부 보안 장비는 Kubernetes Cluster 외부에서 들어오는 North-South Traffic 보호에 집중하는 경우가 많습니다.

반면 Kubernetes 내부에서는 Pod 간 East-West Traffic이 대량으로 발생합니다.

외부 사용자
     │
     │ North-South
     ▼
Ingress / Gateway
     │
     ▼
Frontend Pod
     │
     │ East-West
     ▼
Backend Pod
     │
     │ East-West
     ▼
Database Pod

NeuVector는 이러한 Container 간 내부 통신을 가시화하고 비정상적인 Network Connection을 탐지하는 데 활용할 수 있습니다.

12. Zero Trust Network Policy

서비스가 실제로 사용하는 통신을 기준으로 허용 정책을 구성하고 필요하지 않은 통신을 제한하는 방식으로 Zero Trust Network Security를 구현할 수 있습니다.

Frontend → Backend : Allow

Backend → Database : Allow

Frontend → Database : Deny

Unknown Pod → Database : Deny

즉 기본적으로 필요한 통신만 허용하고 나머지를 제한하는 구조를 구성할 수 있습니다.

13. Threat Detection

NeuVector는 Container Network Traffic 및 Runtime 행위를 분석하여 다양한 공격이나 이상 행위를 탐지할 수 있습니다.

예를 들면 다음과 같은 영역입니다.

DDoS 관련 공격

DNS 관련 공격

Port Scan

Reverse Shell

Privilege Escalation

비정상 Process

비정상 Network Connection

Container 내부 의심 행위

단순 CVE Scanner와 NeuVector의 가장 큰 차이 중 하나가 바로 이러한 Runtime Threat Detection입니다.

14. DLP와 WAF 기능

NeuVector는 Network Traffic을 검사하여 Data Loss Prevention과 Web Application 공격 탐지 기능도 제공합니다.

Network Traffic
      │
      ▼
NeuVector
      │
      ├─ DLP Sensor
      │
      └─ WAF Sensor
             │
             ▼
       위협 패턴 탐지

WAF Sensor를 통해 일반적인 Web 공격 패턴을 탐지할 수 있으며, DLP Sensor를 통해 민감 데이터와 관련된 Traffic을 검사할 수 있습니다.

15. Kubernetes CIS Benchmark 점검

NeuVector는 Kubernetes와 Container 환경에 대한 Compliance 점검에도 활용할 수 있습니다.

대표적으로 CIS Benchmark 기반의 보안 점검을 수행할 수 있습니다.

Kubernetes Cluster
       │
       ▼
NeuVector Compliance Scan
       │
       ├─ Kubernetes CIS Benchmark
       ├─ Container Compliance
       ├─ Node Security
       └─ Custom Compliance
              │
              ▼
        Compliance Report

이를 통해 Kubernetes 설정 중 보안 기준에 맞지 않는 항목을 식별하는 데 활용할 수 있습니다.

16. Kubernetes Node 보안

NeuVector의 보안 범위는 Pod와 Container에만 한정되지 않습니다. Kubernetes Worker Node에 대한 취약점과 보안 상태도 점검할 수 있습니다.

Kubernetes Cluster

Master / Control Plane

Worker Node 1
Worker Node 2
Worker Node 3
      │
      ▼
NeuVector
      │
      ├─ Host Vulnerability
      ├─ Process
      ├─ File Activity
      └─ Compliance

17. NeuVector 주요 구성요소

NeuVector Runtime Security는 주요하게 다음 구성요소로 구성됩니다.

구성요소 역할
Controller NeuVector 정책, Cluster 상태 및 보안 제어 관리
Enforcer Node에 배치되어 Runtime 및 Network 보안 정책 적용
Manager Web UI 및 관리 인터페이스 제공
Scanner Container Image, Container, Node 등의 취약점 스캔

특히 Enforcer는 Kubernetes Node에 배치되어 해당 Node에서 실행되는 Container의 Network 및 Runtime 활동을 감시하고 정책을 적용하는 핵심 구성요소입니다.

18. NeuVector의 Kubernetes 배치 개념

Kubernetes Cluster

┌─────────────────────────────────────────┐
│                                         │
│ NeuVector Controller                    │
│ NeuVector Manager                       │
│ NeuVector Scanner                       │
│                                         │
│ Worker Node 1                           │
│ ├─ NeuVector Enforcer                   │
│ ├─ Application Pod                      │
│ └─ Application Pod                      │
│                                         │
│ Worker Node 2                           │
│ ├─ NeuVector Enforcer                   │
│ ├─ Application Pod                      │
│ └─ Application Pod                      │
│                                         │
│ Worker Node 3                           │
│ ├─ NeuVector Enforcer                   │
│ └─ Application Pod                      │
│                                         │
└─────────────────────────────────────────┘

19. CRD 기반 Security Policy 관리

NeuVector는 Kubernetes CRD를 이용하여 보안 정책을 선언적으로 관리할 수도 있습니다.

지원되는 Security Rule CRD에는 다음과 같은 유형이 있습니다.

NvSecurityRule

NvClusterSecurityRule

NvAdmissionControlSecurityRule

NvGroupDefinition

이를 통해 Security Policy 역시 Kubernetes Manifest처럼 Git에서 Version 관리하는 Policy as Code 형태로 운영할 수 있습니다.

GitLab
   │
   ▼
Security Policy YAML
   │
   ▼
kubectl / GitOps
   │
   ▼
NeuVector CRD
   │
   ▼
Security Policy 적용

20. 기존 CI/CD 환경에 NeuVector를 적용하면?

GitLab, Jenkins, Harbor, Kubernetes를 사용하는 환경이라면 다음과 같은 형태로 연계할 수 있습니다.

개발자
   │
   ▼
GitLab
   │
   ▼
Jenkins
   │
   ├─ Git Clone
   ├─ Maven Build
   ├─ Docker Build
   │       │
   │       ▼
   │  Image Security Scan
   │
   ├─ Docker Push
   │       │
   │       ▼
   │     Harbor
   │       │
   │   Registry Scan
   │
   └─ kubectl apply
            │
            ▼
      Admission Control
            │
       ┌────┴────┐
       │         │
     Allow      Deny
       │
       ▼
   Kubernetes
       │
       ▼
      Pod
       │
       ▼
 Runtime Security
 Network Security
 Process Monitoring
 File Monitoring

이렇게 구성하면 CI/CD 시작부터 운영 Container까지 하나의 Security Lifecycle로 연결할 수 있습니다.

21. NeuVector 적용 전과 적용 후 비교

항목 적용 전 NeuVector 적용 후
Image 취약점 별도 Scanner 필요 Image / Registry Scan 가능
취약 Image 배포 배포될 가능성 존재 Admission Control로 정책 기반 차단 가능
Runtime Process 가시성 제한 Process 행위 감시
Container File 가시성 제한 File Activity 감시
Pod Network 별도 분석 필요 Network 통신 가시화 및 정책 적용
Compliance 별도 점검 필요 CIS 및 Compliance 점검
위협 대응 수동 분석 중심 정책 기반 탐지 및 Response 가능

22. NeuVector 활용 범위

NeuVector는 크게 다음 네 단계에서 활용할 수 있습니다.

① Build Security

   Source
     ↓
   Docker Build
     ↓
   Image Scan


② Registry Security

   Harbor
     ↓
   Registry Scan
     ↓
   CVE 관리


③ Deployment Security

   kubectl apply
     ↓
   Admission Control
     ↓
   Allow / Deny


④ Runtime Security

   Running Pod
     ↓
   Process / File / Network
     ↓
   Threat Detection
     ↓
   Response

23. NeuVector 장점

Container Lifecycle 전체 보안

Image Scan에만 국한되지 않고 Build, Registry, Deployment, Runtime까지 하나의 Platform에서 관리할 수 있습니다.

Kubernetes Native 구조

Kubernetes의 Namespace, Workload, Pod, Container 등의 구조를 기반으로 정책을 구성할 수 있으며 CRD를 이용한 Policy as Code 방식도 지원합니다.

Runtime Security 제공

이미 실행된 Container의 Process, File, Network 활동을 감시할 수 있어 Image Scanner만 사용하는 것보다 운영 단계의 보안 가시성을 확보할 수 있습니다.

East-West Traffic 가시성

Kubernetes 내부 Pod 및 Container 간 통신을 분석할 수 있어 외부 Firewall만으로 확인하기 어려운 Cluster 내부 통신을 파악할 수 있습니다.

Admission Control

취약한 Image나 보안 정책을 위반하는 Workload가 Kubernetes에 배포되는 것을 사전에 차단할 수 있습니다.

CI/CD 연계

Jenkins, GitLab 및 Container Registry와 연계하여 개발 단계부터 보안을 적용할 수 있습니다.

Multi-Cluster 관리

여러 Kubernetes Cluster를 운영하는 환경에서는 중앙에서 Security Policy와 Scan 결과를 관리하는 구조를 구성할 수 있습니다.

24. NeuVector 단점 및 고려사항

Cluster Resource 사용량 증가

Controller, Scanner, Enforcer 등의 추가 Workload가 실행되므로 CPU와 Memory Resource가 추가로 필요합니다.

특히 대규모 Cluster에서 Runtime Monitoring, Network Inspection, Registry Scan을 광범위하게 활성화하면 Resource 사용량을 모니터링하고 기능별 튜닝이 필요할 수 있습니다.

초기 정책 수립이 필요하다

Runtime Security와 Network Policy를 처음부터 Protect Mode로 강하게 적용하면 정상 Application 통신까지 차단할 위험이 있습니다.

초기 구축

Discover
   ↓
Monitor
   ↓
정상 통신 / Process 분석
   ↓
Policy 정제
   ↓
Protect

따라서 실제 운영 환경에서는 충분한 학습과 검증 후 차단 정책으로 전환하는 것이 중요합니다.

False Positive 관리

동적으로 Process가 생성되거나 Network 연결이 자주 변경되는 Application에서는 정상 행위가 Security Violation으로 탐지될 수 있으므로 정책 튜닝이 필요합니다.

운영 복잡도 증가

Kubernetes뿐 아니라 CVE, Container Image, Network, Process, Admission Control 등의 보안 정책까지 관리해야 하므로 운영 담당자의 Container Security 이해가 필요합니다.

보안 솔루션 자체의 패치 관리

NeuVector 역시 Kubernetes에서 높은 권한을 사용하는 Security Component를 포함하므로 NeuVector 자체의 Security Advisory와 Version Update를 지속적으로 관리해야 합니다.

25. 운영 환경 권장 적용 순서

처음부터 모든 기능을 차단 모드로 활성화하기보다는 단계적으로 적용하는 것이 안전합니다.

1단계
NeuVector 구축
       ↓
Cluster / Workload 가시성 확보


2단계
Image / Registry Scan
       ↓
CVE 현황 파악


3단계
CIS / Compliance Scan
       ↓
Cluster 보안 설정 점검


4단계
Runtime Monitor
       ↓
정상 Process / Network 학습


5단계
Admission Control Monitor
       ↓
배포 정책 검증


6단계
Admission Control Protect
       ↓
취약 Image 배포 차단


7단계
Runtime / Network Protect
       ↓
검증된 정책 기반 차단

26. NeuVector가 특히 유용한 환경

환경 활용 이유
다수 Kubernetes Cluster Multi-Cluster 보안 관리
Rancher 운영 환경 Kubernetes 관리 환경과 Container Security 연계
Harbor 사용 환경 Registry Image 취약점 관리
Jenkins CI/CD Build 단계 Image Scan 연계
보안 규제가 강한 환경 Compliance 및 Runtime Monitoring
Microservice 환경 East-West Traffic 가시화 및 Network Security
폐쇄망 Kubernetes 내부 Registry와 연계한 Container Security 체계 구성 가능

27. Harbor와 NeuVector의 차이

Harbor에도 Image 취약점 Scanner를 연계할 수 있기 때문에 NeuVector와 역할이 겹친다고 생각할 수 있습니다. 하지만 전체적인 역할은 다릅니다.

구분 Harbor NeuVector
주요 역할 Container Registry Container Security Platform
Image 저장 O 주요 목적 아님
Image 취약점 Scanner 연계를 통해 가능 O
Admission Control 주요 역할 아님 O
Runtime Security X O
Process Monitoring X O
Network Security X O
Compliance 제한적 O

따라서 두 제품은 경쟁 관계라기보다 다음처럼 연계해서 사용하는 구조로 이해하는 것이 쉽습니다.

Harbor
= Image 저장소

NeuVector
= Image + Deployment + Runtime 보안

28. NeuVector를 한 문장으로 정리하면

NeuVector는 Kubernetes 환경에서 Container Image의 취약점부터 Kubernetes 배포 정책, 실행 중인 Pod의 Process·File·Network 활동까지 감시하고 보호하는 Cloud Native Container Security Platform이다.

29. 전체 보안 흐름 최종 정리

                [ 개발 영역 ]

Developer
    │
    ▼
GitLab
    │
    ▼
Jenkins
    │
    ▼
Docker Build
    │
    ▼
Image Security Scan
    │
    ▼
Harbor
    │
    ▼
Registry Security Scan


               [ 배포 영역 ]

Jenkins
    │
    │ kubectl apply
    ▼
Kubernetes API Server
    │
    ▼
NeuVector Admission Control
    │
 ┌──┴──┐
 │     │
Allow Deny
 │     │
 ▼     X
Deploy


               [ 운영 영역 ]

Kubernetes Pod
      │
      ├─ Vulnerability
      ├─ Network
      ├─ Process
      ├─ File
      ├─ Threat
      └─ Compliance
              │
              ▼
           NeuVector
              │
              ▼
      Detect / Alert / Protect

30. 결론

NeuVector는 Kubernetes 환경에서 Container Image 취약점만 검사하는 단순 Scanner가 아니라 CI/CD부터 Kubernetes Runtime까지 Container Lifecycle 전체를 보호하는 보안 플랫폼입니다.

Jenkins에서 생성되는 Container Image를 검사하고, Harbor Registry에 저장된 Image의 CVE를 관리하며, Kubernetes Admission Control을 통해 위험한 Workload의 배포를 사전에 제한할 수 있습니다.

애플리케이션이 배포된 이후에는 Pod와 Container의 Network, Process, File 활동을 지속적으로 감시하여 Image Scan만으로 확인하기 어려운 Runtime 공격이나 비정상 행위를 탐지할 수 있습니다.

따라서 GitLab → Jenkins → Docker → Harbor → Kubernetes 형태의 CI/CD 환경에서는 Build 보안 → Registry 보안 → 배포 보안 → Runtime 보안으로 이어지는 통합적인 Container Security 체계를 구성하는 데 활용할 수 있습니다.

다만 실제 운영 환경에서는 처음부터 모든 기능을 차단 모드로 적용하기보다 Image 및 Registry Scan으로 가시성을 확보하고, Runtime과 Admission Control을 Monitor 방식으로 검증한 뒤 정상 동작 기준이 충분히 확보되면 Protect 정책을 단계적으로 적용하는 것이 중요합니다.

반응형