Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
tarian — K8s용 안티바이러스. 사전 등록된 소스 코드, 런타임 프로세스 모니터링, 분석, 알림 및 커뮤니티와의 탐지 공유를 통해 Kubernetes에서 실행 중인 애플리케이션을 악성 공격으로부터 보호합니다. 랜섬웨어로부터도 보호할 수 있습니다. | Kitploit
도구/GitHubGitHub/devopstoday11/tarian
Container SecurityCloud SecurityDevSecOpsIntrusion DetectionIncident Response
GitHubdevopstoday11/tarian

tarian

K8s용 안티바이러스. 사전 등록된 소스 코드, 런타임 프로세스 모니터링, 분석, 알림 및 커뮤니티와의 탐지 공유를 통해 Kubernetes에서 실행 중인 애플리케이션을 악성 공격으로부터 보호합니다. 랜섬웨어로부터도 보호할 수 있습니다.

저장소 보기
24년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Tarian

우리는 이 프로젝트를 오픈소스로 유지하여 사랑받는 Kubernetes 생태계에 대한 공격에 맞서 싸우고자 합니다. 지속적인 기여를 통해 커뮤니티가 함께 위협에 대응할 수 있습니다.
Kubernetes에서 실행 중인 애플리케이션을 악의적인 공격으로부터 보호하세요. 소스 코드 서명 사전 등록, 런타임 프로세스 모니터링, 런타임 소스 코드 모니터링, 변경 탐지, 알림, 탐지에 기반한 사전 구성 및 즉시 대응 조치, 그리고 커뮤니티와 탐지 정보 공유 기능을 제공합니다. Kubernetes 환경을 랜섬웨어로부터 지키세요!

Build status Go Report Card

Tarian은 어떻게 작동하나요?

Tarian은 메인 애플리케이션의 파드에서 사이드카 컨테이너로 실행되며, 프로세스 ID, 실행 중인 프로세스 수, 부모-자식 프로세스 관계 변경, 애플리케이션에 속한 파일 시스템의 파일 및 디렉터리, 파일 서명의 변경 등을 감시합니다. Tarian은 개발 환경부터 프로덕션 환경까지 애플리케이션 파드의 일부가 되므로, 컨테이너 내에서 발생해야 하고 실행되어야 하는 작업, 감시 가능한 항목, 알림을 받을 항목, 그리고 탐지된 변경에 따라 수행할 조치(파드 자체 파괴)를 Tarian DB에 등록할 수 있습니다. 탐지 메커니즘을 좌측으로 이동(Shift-left)하세요!

컨테이너 내에서 Tarian 등록 DB에 없는 알 수 없는 변경이 발생하면 Tarian은 어떻게 반응하나요?

알 수 없는 변경이 발생하면 Tarian은 관찰된 분석 결과를 보안 팀에 알리고 로그를 전송할 수 있습니다. 그러면 보안 엔지니어가 해당 변경이 위협인지 아닌지 분석하여 Tarian DB에 등록하고, 분석 결과에 따라 수행할 조치를 구성할 수 있습니다. 해당 조치는 명령으로 사이드카 Tarian 앱에 전송되어 실행됩니다.

커뮤니티의 기여는 Tarian을 통해 위협에 맞서는 데 어떻게 도움이 되나요?

보안 전문가가 분석하여 위협으로 분류한 새로운 탐지 정보는, 원할 경우 모든 로그, 찾아야 할 문자열, 관찰 내용, 투명성, 구성할 조치 등 전문가가 커뮤니티에 경고하고 공유하고 싶은 모든 정보와 함께 오픈소스 Tarian 커뮤니티 DB에 공유될 수 있습니다. Tarian 사용자는 해당 정보를 사용하여 자신의 환경에서 사용하는 Tarian 앱에 조치를 구성할 수 있습니다. 이는 위협에 대한 정보와 대처 방법을 공유하는 것입니다. 이를 통해 Tarian을 사용하는 모든 사람이 지식과 경험을 공유하며 각자의 Kubernetes 환경에서 함께 분석하고 조치를 취할 수 있습니다.

Tarian은 알려진 위협에 대해 어떤 조치를 취하나요?

Tarian은 위험을 줄이기 위해 자신이 실행 중인 파드를 자체 파괴하고 볼륨의 파일도 삭제합니다. 만약 멀웨어/바이러스가 나머지 환경으로 퍼지면 어떤 일이 발생하는지 잘 아실 것입니다. 따라서 Tarian은 기본적으로 파드를 파괴하여 위험을 최대한 줄이도록 설계되었습니다. 새 파드 프로비저닝은 Kubernetes가 처리하므로 신경 쓸 필요가 없습니다. Tarian은 파드 파괴만 수행하며, Tarian 컨트롤러에 조치를 미리 구성하거나 즉시 Tarian에 지시한 경우에만 수행합니다. 조치가 필요하지 않다면 구성하거나 트리거할 필요 없이 단순히 알림만 받도록 설정할 수 있습니다. Tarian은 기본적으로 위험을 줄이기 위해 원하는 작업을 수행합니다.

Falco, Kube-Hunter, Kube-Bench, Calico Enterprise Security 등 네트워크, 인프라, 애플리케이션 수준에서 위협을 탐지하고 방지할 수 있는 많은 보안 도구(오픈소스 및 상용)가 이미 있는데 왜 또 다른 새로운 보안 도구가 필요한가요? 왜 Tarian인가요?

위에서 언급했듯이, Tarian이 탄생한 주요 이유는 Kubernetes에서 위협에 맞서기 위해 커뮤니티와 함께 싸우기 위함입니다. 또 다른 이유는, 모든 보안 계층을 뚫고 런타임 애플리케이션과 스토리지 볼륨에 도달하여 인프라와 데이터를 손상시키거나 잠글 수 있는 정교한 공격이 여전히 존재할 수 있다면? 그러한 공격, 특히 랜섬웨어로 변질되는 공격에 대해 무엇을 하고 싶으신가요? Tarian은 조치를 취함으로써 이러한 위험을 줄이도록 설계되었습니다. Tarian이 궁극적인 해결책은 아니지만, 커뮤니티가 지속적으로 지식을 공유하고 기술적 관점에서 감염된 리소스를 파괴하여 위험을 줄이는 데 도움이 될 수 있다고 확신합니다.

아키텍처 다이어그램

보안 전문가 몇 분과 논의를 마친 후(이미 몇 분과 논의했으며, 추가 논의가 몇 건 남아 있습니다) 디자인 다이어그램을 곧 확정할 예정입니다.

Arch. Diagram

설치

  1. tarian-system 네임스페이스 생성
root@kitploit:~
kubectl create namespace tarian-system
  1. PostgreSQL 데이터베이스 준비. 클라우드 서비스의 DBaaS를 사용하거나 직접 클러스터에 설치할 수 있습니다. 예를 들어 클러스터에 DB를 설치하려면 다음을 실행합니다:
root@kitploit:~
helm install tarian-postgresql bitnami/postgresql -n tarian-system \
  --set postgresqlUsername=postgres \
  --set postgresqlPassword=tarian \
  --set postgresqlDatabase=tarian
  1. tarian 설치
root@kitploit:~
helm repo add tarian https://devopstoday11.github.io/tarian
helm repo update

helm install tarian-server tarian/tarian-server --devel -n tarian-system
helm install tarian-cluster-agent tarian/tarian-cluster-agent --devel -n tarian-system
  1. 모든 파드가 준비될 때까지 대기
root@kitploit:~
kubectl wait --for=condition=ready pod --all -n tarian-system
  1. 필요한 테이블을 생성하기 위해 데이터베이스 마이그레이션 실행
root@kitploit:~
kubectl exec -ti deploy/tarian-server -n tarian-system -- ./tarian-server db migrate

설정

Helm 차트 값 참조:

  • tarian-server
  • tarian-cluster-agent

사용법

tarianctl을 사용하여 tarian-server 제어

  1. Github 릴리스 페이지에서 다운로드
  2. 파일을 추출하고 tarianctl을 PATH 디렉터리에 복사
  3. Ingress 또는 포트 포워딩을 통해 tarian-server를 머신에 노출. 이 예제에서는 포트 포워딩을 사용합니다:
root@kitploit:~
kubectl port-forward svc/tarian-server -n tarian-system 41051:80
  1. 환경 변수로 서버 주소 설정
root@kitploit:~
export TARIAN_SERVER_ADDRESS=localhost:41051

위반 이벤트 확인

root@kitploit:~
tarianctl get events

프로세스 제약 조건 추가

root@kitploit:~
tarianctl add constraint --name nginx --namespace default \
  --match-labels run=nginx \
  --allowed-processes=pause,tarian-pod-agent,nginx 
root@kitploit:~
tarianctl get constraints

파일 제약 조건 추가

root@kitploit:~
tarianctl add constraint --name nginx-files --namespace default \
  --match-labels run=nginx \
  --allowed-file-sha256sums=/usr/share/nginx/html/index.html=38ffd4972ae513a0c79a8be4573403edcd709f0f572105362b08ff50cf6de521
root@kitploit:~
tarianctl get constraints

파드에서 tarian agent 실행

제약 조건이 생성된 후, 주석을 추가하여 파드에 tarian-pod-agent를 주입합니다:

root@kitploit:~
metadata:
  annotations:
    pod-agent.k8s.tarian.dev/threat-scan: "true"

이 주석이 있는 파드는 추가 컨테이너(tarian-pod-agent)가 주입됩니다. tarian-pod-agent 컨테이너는 등록된 제약 조건에 따라 런타임 환경을 지속적으로 확인합니다. 위반 사항이 있으면 보고되며, tarianctl get events로 확인할 수 있습니다.

데모: 제약 조건을 위반하는 파드 시도

root@kitploit:~
kubectl apply -f https://raw.githubusercontent.com/devopstoday11/tarian/main/dev/config/monitored-pod/configmap.yaml
kubectl apply -f https://raw.githubusercontent.com/devopstoday11/tarian/main/dev/config/monitored-pod/pod.yaml

# 준비될 때까지 대기
kubectl wait --for=condition=ready pod nginx

# 알 수 없는 프로세스 실행 시뮬레이션
kubectl exec -ti nginx -c nginx -- sleep 15

# tarian에서 보고되는지 확인
tarianctl get events

Alert Manager 통합

Tarian은 기본적으로 Prometheus Alert Manager를 포함합니다. 다른 alert manager 인스턴스를 사용하려면:

root@kitploit:~
helm install tarian-server tarian/tarian-server --devel \
  --set server.alert.alertManagerAddress=http://alertmanager.monitoring.svc:9093 \
  --set alertManager.install=false \
  -n tarian-system

비활성화하려면 alertManagerAddress 값을 비워두면 됩니다.

Falco 통합

docs/falco-integration.md 참조

문제 해결

docs/troubleshooting.md 참조

자동 제약 조건 등록

tarian-pod-agent가 등록 모드로 실행되면, 알 수 없는 프로세스와 파일을 위반으로 보고하는 대신 자동으로 새 제약 조건으로 등록합니다. 이는 수동 등록 시간을 절약하는 데 유용합니다.

제약 조건 등록을 활성화하려면 cluster-agent를 구성해야 합니다.

root@kitploit:~
helm install tarian-cluster-agent tarian/tarian-cluster-agent --devel -n tarian-system \
  --set clusterAgent.enableAddConstraint=true
root@kitploit:~
metadata:
  annotations:
    # 프로세스와 파일 체크섬 모두 등록
    pod-agent.k8s.tarian.dev/register: "processes,files"
    # 자동 등록에서 특정 경로 제외
    pod-agent.k8s.tarian.dev/register-file-ignore-paths: "/usr/share/nginx/**/*.txt"

자동 제약 조건 등록은 개발/스테이징 클러스터에서도 수행할 수 있어 프로덕션에서의 변경을 줄일 수 있습니다.

지원되는 다른 주석

root@kitploit:~
metadata:
  annotations:
    # tarian-pod-agent가 파일 체크섬을 확인하는 빈도 지정
    pod-agent.k8s.tarian.dev/file-validation-interval: "1m"
도구 다운로드