Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
tarian — K8s向けアンチウイルス。Kubernetes上で動作するアプリケーションを、事前登録されたソースコード、ランタイムプロセスの監視、分析、アラート、そしてコミュニティとの検出結果の共有により、悪意のある攻撃から保護します。ランサムウェアからも守るかもしれません。 | Kitploit
ツール/GitHubGitHub/devopstoday11/tarian
コンテナセキュリティクラウドセキュリティDevSecOps侵入検知インシデントレスポンス
GitHubdevopstoday11/tarian

tarian

K8s向けアンチウイルス。Kubernetes上で動作するアプリケーションを、事前登録されたソースコード、ランタイムプロセスの監視、分析、アラート、そしてコミュニティとの検出結果の共有により、悪意のある攻撃から保護します。ランサムウェアからも守るかもしれません。

リポジトリを見る
24年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Tarian

私たちは、お気に入りのKubernetesエコシステムへの攻撃と戦うために、これをオープンソースとして維持したいと考えています。継続的な貢献により、コミュニティとして脅威と戦うことができます。
Kubernetes上で動作するアプリケーションを悪意のある攻撃から保護するために、ソースコード署名の事前登録、ランタイムプロセスの監視、ランタイムソースコードの監視、変更検出、アラート、検出に基づく事前設定および即時対応アクション、さらにコミュニティとの検出情報の共有を行います。ランサムウェアからK8s環境を守りましょう!

Build status Go Report Card

Tarianの仕組みは?

Tarianは、メインアプリケーションのPod内でサイドカーコンテナとして動作し、プロセスIDの変更、実行中のプロセス数、親子プロセスの関係の変化、アプリケーションに属するファイルシステム内のファイルやディレクトリ、ファイル署名の変更などを監視します。Tarianは開発環境から本番環境までアプリケーションのPodの一部となるため、コンテナ内で何が起こり、何が実行されるべきか、何を監視できるか、何を通知できるか、検出された変更に基づくアクション(Podの自己破壊など)をTarian DBに事前登録できます。シフトレフトで検出メカニズムを導入しましょう!

Tarianの登録DBにない未知の変更がコンテナ内で発生した場合、Tarianはどのように対応しますか?

未知の変更が発生した場合、Tarianは単純にセキュリティチームに観測された分析結果を通知し、ログを送信することができます。その後、セキュリティエンジニアはその変更が脅威かどうかをTarian DBに登録し、分析に基づいて実行するアクションを設定できます。そのアクションはコマンドとしてサイドカーのTarianアプリに送信され、実行されます。

コミュニティの貢献は、Tarianを介して脅威と戦うためにどのように役立ちますか?

セキュリティ専門家によって分析され脅威としてマークされた新しい検出情報は、希望する場合、オープンソースのTarianコミュニティDBに共有できます。これには、すべてのログ、検索すべき文字列、観察結果、透明性、設定すべきアクション、専門家がコミュニティに警告・共有したい情報が含まれます。Tarianユーザーはその情報を利用し、自身の環境で使用するTarianアプリにアクションを設定できます。これにより、脅威に関する情報とその対処法が共有され、Tarianを使用する全員がそれぞれのK8s環境で分析結果を共有し、知識と経験に基づいて共同でアクションを取ることができます。

既知の脅威に対してTarianはどのようなアクションを取りますか?

Tarianは、リスクを軽減するために、実行中のPodを自己破壊し、ボリューム上のファイルを削除します。マルウェアやウイルスが環境全体に拡散した場合のリスクはご存じの通りです。そのため、TarianはPodを破壊することで可能な限りリスクを軽減するように設計されています。新しいPodのプロビジョニングは、Kubernetesの仕組みによって自動的に行われます。TarianはPodの破壊のみを行い、その破壊は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データベースを準備します。クラウドサービスのDB as a Serviceを使用するか、クラスター内で自分で実行することもできます。例えば、クラスター内に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. すべてのPodがReadyになるのを待つ
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 chartの値については以下を参照してください。

  • tarian-server
  • tarian-cluster-agent

使用方法

tarianctlを使用してtarian-serverを制御する

  1. Githubのリリースページからダウンロード
  2. ファイルを展開し、tarianctlをPATHの通ったディレクトリにコピー
  3. Ingressまたはport-forwardを使用してtarian-serverをマシンに公開します。この例ではport-forwardを使用します。
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

Podでtarianエージェントを実行する

制約を作成した後、アノテーションを追加してtarian-pod-agentをPodに注入します。

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

このアノテーションが付いたPodには、追加のコンテナ(tarian-pod-agent)が注入されます。tarian-pod-agentコンテナは、登録された制約に基づいてランタイム環境を継続的に検証します。違反が検出されると報告され、tarianctl get eventsで確認できます。

デモ: 制約に違反するPodを試す

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

# Readyになるのを待つ
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"
ツールをダウンロード