Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
tarian — Kubernetes के लिए eBPF-आधारित रनटाइम सुरक्षा एजेंट जो अज्ञात प्रक्रियाओं और फ़ाइल परिवर्तनों का पता लगाता है, पूर्व-पंजीकृत बाधाओं को लागू करता है, और रैनसमवेयर तथा अन्य हमलों को कम करने के लिए पॉड को स्वचालित रूप से हटाने या अलर्ट करने का कार्य करता है। | Kitploit
उपकरण/GitHubGitHub/kube-tarian/tarian
कंटेनर सुरक्षामालवेयर विश्लेषणक्लाउड सुरक्षाDevSecOpsखतरा खुफियाघुसपैठ का पता लगाना
GitHubkube-tarian/tarian

tarian

Kubernetes के लिए eBPF-आधारित रनटाइम सुरक्षा एजेंट जो अज्ञात प्रक्रियाओं और फ़ाइल परिवर्तनों का पता लगाता है, पूर्व-पंजीकृत बाधाओं को लागू करता है, और रैनसमवेयर तथा अन्य हमलों को कम करने के लिए पॉड को स्वचालित रूप से हटाने या अलर्ट करने का कार्य करता है।

रिपॉजिटरी देखें
58152 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Tarian

अपने Kubernetes पर चल रहे एप्लिकेशन को दुर्भावनापूर्ण हमलों से बचाएं, अपनी विश्वसनीय प्रक्रियाओं और विश्वसनीय फ़ाइल हस्ताक्षरों को पूर्व-पंजीकृत करके। Tarian अज्ञात प्रक्रियाओं और पंजीकृत फ़ाइलों में बदलाव का पता लगाएगा, फिर अलर्ट भेजेगा और स्वचालित कार्रवाई करेगा। अपने K8s वातावरण को Ransomware से बचाएं!

हम इसे एक ओपन-सोर्स प्रोजेक्ट के रूप में बनाए रखना चाहते हैं ताकि हम अपने पसंदीदा Kubernetes इकोसिस्टम पर होने वाले हमलों से लड़ सकें। निरंतर योगदान से, हम एक समुदाय के रूप में मिलकर खतरों से लड़ सकते हैं।

Build status Go Report Card codecov


Tarian कैसे काम करता है?

Tarian Cluster Agent Kubernetes क्लस्टर में चलता है, अज्ञात प्रक्रियाओं और फ़ाइलों में अज्ञात बदलावों का पता लगाता है, Tarian Server को रिपोर्ट करता है, और वैकल्पिक रूप से कार्रवाई करता है: उल्लंघन किए गए pod को हटा देता है। यह नई प्रक्रियाओं का पता लगाने के लिए eBPF का उपयोग करता है। फ़ाइल बदलाव का पता लगाने के लिए, Tarian Cluster Agent आपके मुख्य एप्लिकेशन के pod में एक साइडकार कंटेनर इंजेक्ट करता है जो कॉन्फ़िगर किए गए पथ में फ़ाइल चेकसम की जाँच करेगा और उनकी तुलना Tarian Server में पंजीकृत चेकसम से करेगा। Tarian आपके एप्लिकेशन के pod का हिस्सा dev से prod वातावरण तक रहेगा, इसलिए आप अपने Tarian DB में पंजीकृत कर सकते हैं कि आपके कंटेनर में क्या होना चाहिए और क्या चलना चाहिए + देखी जाने वाली फ़ाइल हस्ताक्षर + क्या सूचित किया जा सकता है + पता लगाए गए बदलावों के आधार पर क्या कार्रवाई करनी है (pod को स्वयं नष्ट करें)। अपने डिटेक्शन तंत्र को Shift-left करें!

यदि कंटेनर के अंदर कोई अज्ञात बदलाव होता है जो Tarian के पंजीकरण DB में नहीं है, तो Tarian उस पर कैसे प्रतिक्रिया करता है?

यदि कोई अज्ञात बदलाव होता है, तो Tarian आपकी सुरक्षा टीम को देखे गए विश्लेषण के बारे में सूचित कर सकता है। फिर आपके सुरक्षा इंजीनियर उस बदलाव को Tarian DB में पंजीकृत कर सकते हैं, चाहे वह खतरा माना जाए या नहीं। साथ ही, उनके विश्लेषण के आधार पर वे कॉन्फ़िगर कर सकते हैं कि जब वह बदलाव फिर से हो तो क्या कार्रवाई करनी है।

समुदाय का योगदान Tarian के माध्यम से खतरों से लड़ने में कैसे मदद करता है?

आपके सुरक्षा विशेषज्ञों द्वारा विश्लेषित और खतरे के रूप में चिह्नित कोई भी नया डिटेक्शन, यदि वे चाहें, तो ओपन-सोर्स Tarian समुदाय DB के साथ सभी लॉग, देखने के लिए स्ट्रिंग, अवलोकन, पारदर्शिता, कॉन्फ़िगर करने के लिए कार्रवाइयाँ, ... मूल रूप से वह सब कुछ जो विशेषज्ञ चेतावनी देना चाहते हैं और समुदाय के साथ साझा करना चाहते हैं, साझा किया जा सकता है। आप एक Tarian उपयोगकर्ता के रूप में उस जानकारी का उपयोग कर सकते हैं और अपने वातावरण में उपयोग किए जाने वाले Tarian ऐप में कार्रवाइयाँ कॉन्फ़िगर कर सकते हैं। यह मूल रूप से खतरों और उनके साथ क्या करना है, इस बारे में जानकारी साझा करने का एक तंत्र है। यह Tarian का उपयोग करने वाले सभी लोगों को अपने ज्ञान और अनुभव को साझा करके अपने-अपने K8s वातावरण में एक साथ कार्रवाई करने में मदद करता है।

Tarian ज्ञात खतरे(खतरों) के आधार पर किस प्रकार की कार्रवाई(कार्रवाइयाँ) करेगा?

Tarian उस pod को स्वयं नष्ट कर देगा जिस पर वह चल रहा है। यदि मैलवेयर/वायरस बाकी वातावरण में फैल जाता है, तो आप जानते हैं कि क्या होता है। इसलिए, Tarian मूल रूप से pods को नष्ट करके जोखिम को यथासंभव कम करने में मदद करने के लिए डिज़ाइन किया गया है। नए pod का प्रावधान K8s डिप्लॉयमेंट द्वारा संभाला जाएगा। Tarian केवल pods का विनाश करेगा यदि आप Tarian को ऐसा करने के लिए कहते हैं। यदि आप कोई कार्रवाई नहीं चाहते हैं, तो आपको किसी भी चीज़ को कॉन्फ़िगर या ट्रिगर करने की आवश्यकता नहीं है; आप बस Tarian को केवल आपको सूचित करने के लिए कह सकते हैं। Tarian मूल रूप से वही करता है जो आप जोखिम कम करने के लिए करना चाहते हैं।

जब पहले से ही कई टूल उपलब्ध हैं, जैसे Falco, Kube-Hunter, Kube-Bench, Calico Enterprise Security, और कई अन्य सुरक्षा टूल (ओपन-सोर्स और वाणिज्यिक) जो नेटवर्क, इंफ्रा और एप्लिकेशन स्तर पर खतरों का पता लगा सकते हैं और रोक सकते हैं, तो एक और नया सुरक्षा टूल क्यों? Tarian क्यों?

Tarian के जन्म का मुख्य कारण समुदाय के रूप में एक साथ Kubernetes में खतरों से लड़ना है। दूसरा कारण यह था, क्या होगा यदि अभी भी कोई परिष्कृत हमला है जो आपकी सुरक्षा की प्रत्येक परत को भेदने में सक्षम है, आपके रनटाइम ऐप (Remote Code Execution) और आपके स्टोरेज वॉल्यूम तक पहुंचने में सक्षम है, और आपके इंफ्रा और डेटा को नुकसान पहुंचाने या लॉक करने के लिए फैलने में सक्षम है?! आप ऐसे हमलों के बारे में क्या करना चाहते हैं, विशेष रूप से जो ransomware में बदल जाते हैं। Tarian ऐसे जोखिमों को कम करने के लिए डिज़ाइन किया गया है, कार्रवाई(कार्रवाइयाँ) करके। हम जानते हैं कि Tarian अंतिम समाधान नहीं है, लेकिन हमें विश्वास है कि यह जोखिमों को कम करने में मदद कर सकता है, खासकर जब समुदाय द्वारा लगातार ज्ञान साझा किया जाता है। तकनीकी दृष्टिकोण से, Tarian संक्रमित संसाधनों को नष्ट करके जोखिम को कम करने में मदद कर सकता है।

आर्किटेक्चर आरेख

आर्क. आरेख

आवश्यकताएँ

  • समर्थित Kubernetes संस्करण (वर्तमान में 1.22+)
  • कर्नेल संस्करण >= 5.8
  • eBPF CO-RE का समर्थन करने के लिए BTF जानकारी वाला कर्नेल। कुछ प्रमुख Linux वितरण पहले से ही कर्नेल BTF के साथ आते हैं। यदि आपके कर्नेल में BTF बिल्ट-इन नहीं है, तो आपको कस्टम कर्नेल बनाने की आवश्यकता होगी। देखें BPF CO-RE।

लोकप्रिय Kubernetes वातावरण/सेवाओं पर परीक्षण किया गया:

नेमस्पेस तैयार करें

root@kitploit:~
kubectl create namespace tarian-system

Dgraph Database सेटअप करें

आप किसी भी Dgraph इंस्टॉलेशन विकल्प का उपयोग कर सकते हैं जब तक इसे tarian सर्वर से एक्सेस किया जा सके।

tarian इंस्टॉल करें

  1. Helm का उपयोग करके tarian इंस्टॉल करें
root@kitploit:~
helm repo add tarian https://kube-tarian.github.io/helm-charts
helm repo update

helm upgrade -i tarian-server tarian/tarian-server --devel -n tarian-system --set server.dgraph.address=DGRAPH_ADDRESS:PORT
helm upgrade -i tarian-cluster-agent tarian/tarian-cluster-agent --devel -n tarian-system
  1. सभी pods के तैयार होने की प्रतीक्षा करें
root@kitploit:~
kubectl wait --for=condition=ready pod --all -n tarian-system
  1. Dgraph schema लागू करें
root@kitploit:~
kubectl exec -ti deploy/tarian-server -n tarian-system -- ./tarian-server dgraph apply-schema

tarianctl cli का उपयोग करके tarian इंस्टॉल करें

github रिलीज़ पेज से tarianctl बाइनरी डाउनलोड करें।

चलाएँ:

root@kitploit:~
tarianctl install

आप अपने इंस्टॉलेशन को अनुकूलित करने के लिए निम्नलिखित फ़्लैग का उपयोग कर सकते हैं।

root@kitploit:~
Tarian को Kubernetes पर इंस्टॉल करें।

उपयोग:
  tarianctl install [flags]

फ़्लैग:
      --agents-values strings   Tarian Cluster Agent और Node agent के लिए helm values फ़ाइल का पथ।
      --charts string           tarian helm चार्ट निर्देशिका का पथ।
      --dgraph-values strings   DGraph के लिए helm values फ़ाइल का पथ।
  -h, --help                    install के लिए सहायता
  -n, --namespace string        Tarian इंस्टॉल करने के लिए नेमस्पेस। (डिफ़ॉल्ट "tarian-system")
      --nats-values strings     Nats के लिए helm values फ़ाइल का पथ।
      --server-values strings   Tarian Server के लिए helm values फ़ाइल का पथ।

ग्लोबल फ़्लैग:
  -k, --kubeconfig string                 उपयोग करने के लिए kubeconfig फ़ाइल का पथ
  -e, --log-formatter string              वैध log formatters: json, text(डिफ़ॉल्ट) (डिफ़ॉल्ट "text")
  -l, --log-level string                  वैध log levels: debug, info(डिफ़ॉल्ट), warn/warning, error, fatal (डिफ़ॉल्ट "info")
  -s, --server-address string             संवाद करने के लिए tarian सर्वर का पता (डिफ़ॉल्ट "localhost:50051")
  -c, --server-tls-ca-file string         सर्वर द्वारा TLS कनेक्शन के लिए उपयोग किया जाने वाला ca फ़ाइल
  -t, --server-tls-enabled                यदि सक्षम है, तो TLS का उपयोग करके सर्वर से संवाद करेगा
  -i, --server-tls-insecure-skip-verify   यदि true पर सेट किया जाता है, तो सर्वर के प्रमाणपत्र श्रृंखला और होस्टनाम सत्यापन को छोड़ देगा (डिफ़ॉल्ट true)

कॉन्फ़िगरेशन

Helm चार्ट मान देखें:

  • tarian-server
  • tarian-cluster-agent

क्लाउड / विक्रेता-विशिष्ट कॉन्फ़िगरेशन

प्राइवेट GKE क्लस्टर

प्राइवेट GKE क्लस्टर डिफ़ॉल्ट रूप से फ़ायरवॉल नियम बनाता है जो मास्टर से नोड्स तक संचार को केवल पोर्ट 443 और 10250 तक सीमित करता है। tarian-pod-agent कंटेनर को इंजेक्ट करने के लिए, tarian एक म्यूटेटिंग एडमिशन वेबहुक का उपयोग करता है। वेबहुक सर्वर पोर्ट 9443 पर चलता है। इसलिए, हमें मास्टर IP एड्रेस रेंज से नोड्स तक TCP पोर्ट 9443 पर इनग्रेस की अनुमति देने के लिए एक नया फ़ायरवॉल नियम बनाने की आवश्यकता है।

अधिक जानकारी के लिए, इस विषय पर GKE दस्तावेज़ देखें: https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules।

उपयोग

tarian-server को नियंत्रित करने के लिए tarianctl का उपयोग करें

  1. Github रिलीज़ पेज से डाउनलोड करें
  2. फ़ाइल निकालें और tarianctl को अपने PATH निर्देशिका में कॉपी करें
  3. tarian-server को अपनी मशीन पर Ingress या port-forward के माध्यम से एक्सपोज़ करें। इस उदाहरण के लिए, हम port-forward का उपयोग करेंगे:
root@kitploit:~
kubectl port-forward svc/tarian-server -n tarian-system 41051:80
  1. env var के साथ सर्वर एड्रेस कॉन्फ़िगर करें
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 agent चलाएँ

बाधाएँ बनने के बाद, हम एक एनोटेशन जोड़कर pod में tarian-pod-agent इंजेक्ट करते हैं:

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/kube-tarian/tarian/main/dev/config/monitored-pod/configmap.yaml
kubectl apply -f https://raw.githubusercontent.com/kube-tarian/tarian/main/dev/config/monitored-pod/pod.yaml

# wait for it to become ready
kubectl wait --for=condition=ready pod nginx

# simulate unknown process runs
kubectl exec -ti nginx -c nginx -- sleep 15

# you should see it reported in tarian
tarianctl get events

अलर्ट मैनेजर इंटीग्रेशन

Tarian डिफ़ॉल्ट रूप से Prometheus 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 मान को खाली सेट कर सकते हैं।

समस्या निवारण

देखें 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"

स्वचालित बाधा पंजीकरण dev/staging क्लस्टर में भी किया जा सकता है, ताकि प्रोडक्शन में कम बदलाव हों।

अन्य समर्थित एनोटेशन

root@kitploit:~
metadata:
  annotations:
    # tarian-pod-agent को फ़ाइल चेकसम कितनी बार सत्यापित करना चाहिए, यह निर्दिष्ट करें
    pod-agent.k8s.tarian.dev/file-validation-interval: "1m"

tarian-server को TLS से सुरक्षित करना

tarian-server को TLS से सुरक्षित करने के लिए, TLS प्रमाणपत्र वाला एक सीक्रेट बनाएँ। आप मैन्युअल रूप से सीक्रेट बना सकते हैं, या Cert Manager का उपयोग कर सकते हैं। एक बार आपके पास सीक्रेट होने पर, आप नाम को helm chart मान में पास कर सकते हैं:

root@kitploit:~
helm upgrade -i tarian-server tarian/tarian-server --devel -n tarian-system \
  --set server.tlsSecretName=tarian-server-tls

योगदान

देखें docs/contributing.md

आचार संहिता

देखें CODE_OF_CONDUCT.md

कोड स्वामी और अनुरक्षक सूची

देखें MAINTAINERS.md

हमारे Slack चैनल "tarian" में शामिल हों

Kube-Tarian-Slack

टूल डाउनलोड करें
वातावरणकाम करता हैनोट्स
Kind v0.14.0✔️
Minikube v1.26.0✔️
Linode Kubernetes Engine (LKE) 1.22✔️
Digital Ocean Kubernetes Engine (DOKS) 1.22✔️
Google Kubernetes Engine (GKE) 1.22✔️
Amazon Elastic Kubernetes Engine (EKS)➖kernel < 5.8
Azure Kubernetes Service (AKS)➖kernel < 5.8