
क्लाउड नेटिव इन्फ्रास्ट्रक्चर प्रावधान करने से पहले जोखिम को कम करने के लिए इन्फ्रास्ट्रक्चर ऐज़ कोड में अनुपालन और सुरक्षा उल्लंघनों का पता लगाएं।
- यह प्रोजेक्ट अब रखरखाव नहीं किया जाता। रिपॉजिटरी संग्रहित है और आगे कोई अपडेट, मुद्दे या पुल अनुरोध स्वीकार नहीं किए जाएंगे।
- यदि आप विकास जारी रखना चाहते हैं तो इसे फोर्क करने के लिए स्वतंत्र महसूस करें।

Terrascan इन्फ्रास्ट्रक्चर ऐज़ कोड के लिए एक स्थैतिक कोड विश्लेषक है। Terrascan आपको अनुमति देता है:
अपने ब्राउज़र में Terrascan आज़माने के लिए, Terrascan Sandbox देखें https://www.tenable.com/terrascan
Terrascan की सुविधाओं और क्षमताओं के बारे में अधिक जानने के लिए, दस्तावेज़ीकरण पोर्टल देखें: https://runterrascan.io
Terrascan स्थापित करने के कई तरीकों का समर्थन करता है और एक डॉकर इमेज के रूप में भी उपलब्ध है। सभी समर्थित प्लेटफार्मों पर निर्माण के नवीनतम संस्करण के लिए Terrascan का releases पृष्ठ देखें। अपने प्लेटफॉर्म के लिए सही बाइनरी चुनें।
curl -L "$(curl -s https://api.github.com/repos/tenable/terrascan/releases/latest | grep -o -E "https://.+?_Linux_x86_64.tar.gz")" > terrascan.tar.gz
tar -xf terrascan.tar.gz terrascan && rm terrascan.tar.gz
sudo install terrascan /usr/local/bin && rm terrascan
terrascan
AUR के माध्यम से ArchLinux / Manjaro पर स्थापित करेंArchLinux और Manjaro उपयोगकर्ता इस प्रकार स्थापित कर सकते हैं:
yay -S terrascan
brew के माध्यम से स्थापित करेंHomebrew उपयोगकर्ता इस प्रकार स्थापित कर सकते हैं:
$ brew install terrascan
Terrascan एक डॉकर इमेज के रूप में भी उपलब्ध है और इसका उपयोग इस प्रकार किया जा सकता है
$ docker run tenable/terrascan
जानकारी के लिए दस्तावेज़ीकरण देखें।
अपने कोड में सुरक्षा मुद्दों के लिए स्कैन करने के लिए आप निम्नलिखित चला सकते हैं (डिफ़ॉल्ट रूप से Terraform स्कैन करता है)।
$ terrascan scan
नोट: स्कैन के दौरान कोई त्रुटि या उल्लंघन पाया जाने पर Terrascan एक त्रुटि कोड के साथ बाहर निकलेगा।
| परिदृश्य | निकास कोड |
|---|---|
| स्कैन सारांश में त्रुटियां और उल्लंघन हैं | 5 |
| स्कैन सारांश में त्रुटियां हैं लेकिन कोई उल्लंघन नहीं | 4 |
| स्कैन सारांश में उल्लंघन हैं लेकिन कोई त्रुटि नहीं | 3 |
| स्कैन सारांश में कोई उल्लंघन या त्रुटि नहीं | 0 |
| अमान्य इनपुट के कारण स्कैन कमांड त्रुटि देता है | 1 |
Terrascan को CI/CD पाइपलाइनों में एकीकृत किया जा सकता है ताकि सुरक्षा सर्वोत्तम प्रथाओं को लागू किया जा सके। कृपया अपनी पाइपलाइन के साथ एकीकरण के लिए हमारे दस्तावेज़ीकरण देखें।
आप निम्नलिखित विकल्पों के साथ terrascan कमांड का उपयोग कर सकते हैं:
$ terrascan
Terrascan
Usage:
terrascan [command]
Available Commands:
help Help about any command
init Initialize Terrascan
scan Detect compliance and security violations across Infrastructure as Code.
server Run Terrascan as an API server
version Terrascan version
Flags:
-c, --config-path string config file path
-h, --help help for terrascan
-l, --log-level string log level (debug, info, warn, error, panic, fatal) (default "info")
-x, --log-type string log output type (console, json) (default "console")
-o, --output string output type (human, json, yaml, xml) (default "human")
Use "terrascan [command] --help" for more information about a command.
Terrascan नीतियां Rego नीति भाषा का उपयोग करके लिखी जाती हैं। प्रत्येक rego में एक JSON "rule" फ़ाइल शामिल होती है जो नीति के लिए मेटाडेटा को परिभाषित करती है। डिफ़ॉल्ट रूप से, Terrascan पहली बार स्कैन करते समय Terrascan रिपॉजिटरी से नीतियां डाउनलोड करता है। हालांकि, यदि आप नवीनतम नीतियां डाउनलोड करना चाहते हैं, तो आपको आरंभीकरण प्रक्रिया चलानी होगी। आरंभीकरण प्रक्रिया के बारे में जानकारी के लिए उपयोग देखें।
नोट: यदि कोई नीति नहीं मिलती है तो स्कैन कमांड अंतर्निहित रूप से आरंभीकरण प्रक्रिया चलाएगा।
आप --find-vuln फ़्लैग का उपयोग करके Terrascan के आउटपुट के भाग के रूप में उसके रजिस्ट्री में रिपोर्ट की गई कमजोरियों को एकत्र कर सकते हैं। वर्तमान में Terrascan Elastic Container Registry (ECR), Azure Container Registry, Google Container Registry, और Google Artifact Registry का समर्थन करता है।
--find-vuln फ़्लैग का उपयोग IaC फ़ाइलों को स्कैन करते समय निम्नानुसार किया जा सकता है: