GCP - Compute Instances

Support HackTricks

Basic Information

Google Cloud Compute Instances गूगल के क्लाउड इन्फ्रास्ट्रक्चर पर अनुकूलन योग्य वर्चुअल मशीनें हैं, जो विभिन्न प्रकार के अनुप्रयोगों के लिए स्केलेबल और ऑन-डिमांड कंप्यूटिंग पावर प्रदान करती हैं। वे वैश्विक तैनाती, स्थायी भंडारण, लचीले OS विकल्प और मजबूत नेटवर्किंग और सुरक्षा एकीकरण जैसी सुविधाएँ प्रदान करते हैं, जिससे वे वेबसाइटों को होस्ट करने, डेटा संसाधित करने और क्लाउड में अनुप्रयोगों को कुशलतापूर्वक चलाने के लिए एक बहुपरकारी विकल्प बन जाते हैं।

Confidential VM

Confidential VMs हार्डवेयर-आधारित सुरक्षा सुविधाओं का उपयोग करती हैं जो नवीनतम पीढ़ी के AMD EPYC प्रोसेसर द्वारा प्रदान की जाती हैं, जिसमें मेमोरी एन्क्रिप्शन और सुरक्षित एन्क्रिप्टेड वर्चुअलाइजेशन शामिल हैं। ये सुविधाएँ VM को उस डेटा की सुरक्षा करने में सक्षम बनाती हैं जो इसके भीतर संसाधित और संग्रहीत होता है, यहां तक कि होस्ट ऑपरेटिंग सिस्टम और हाइपरवाइजर से भी।

Confidential VM चलाने के लिए इसे परिवर्तन करने की आवश्यकता हो सकती है जैसे कि मशीन का प्रकार, नेटवर्क इंटरफेस, बूट डिस्क इमेज

Disk & Disk Encryption

आप डिस्क का चयन करने या एक नई बनाने के लिए स्वतंत्र हैं। यदि आप एक नई चुनते हैं तो आप:

  • डिस्क का आकार चुन सकते हैं

  • OS चुन सकते हैं

  • संकेत कर सकते हैं कि आप इंस्टेंस के हटाए जाने पर डिस्क को हटाना चाहते हैं

  • एन्क्रिप्शन: डिफ़ॉल्ट के रूप में एक गूगल प्रबंधित कुंजी का उपयोग किया जाएगा, लेकिन आप KMS से एक कुंजी चुन सकते हैं या उपयोग करने के लिए कच्ची कुंजी निर्दिष्ट कर सकते हैं।

Deploy Container

यह वर्चुअल मशीन के अंदर एक कंटेनर तैनात करना संभव है। आप उपयोग करने के लिए इमेज को कॉन्फ़िगर कर सकते हैं, अंदर चलाने के लिए कमांड सेट कर सकते हैं, आर्गुमेंट्स, एक वॉल्यूम माउंट कर सकते हैं, और env वेरिएबल्स (संवेदनशील जानकारी?) और इस कंटेनर के लिए कई विकल्प कॉन्फ़िगर कर सकते हैं जैसे कि privileged के रूप में निष्पादित करना, stdin और pseudo TTY।

Service Account

डिफ़ॉल्ट रूप से, कंप्यूट इंजन डिफ़ॉल्ट सेवा खाता का उपयोग किया जाएगा। इस SA का ईमेल इस प्रकार है: <proj-num>-compute@developer.gserviceaccount.com इस सेवा खाते के पास पूरे प्रोजेक्ट पर संपादक की भूमिका (उच्च विशेषाधिकार) है।

और डिफ़ॉल्ट एक्सेस स्कोप निम्नलिखित हैं:

  • https://www.googleapis.com/auth/devstorage.read_only -- बकेट्स तक पढ़ने की पहुंच :)

  • https://www.googleapis.com/auth/logging.write

  • https://www.googleapis.com/auth/monitoring.write

  • https://www.googleapis.com/auth/servicecontrol

  • https://www.googleapis.com/auth/service.management.readonly

  • https://www.googleapis.com/auth/trace.append

हालांकि, इसे एक क्लिक से cloud-platform प्रदान करना संभव है या कस्टम निर्दिष्ट करना।

Firewall

HTTP और HTTPS ट्रैफ़िक की अनुमति देना संभव है।

Networking

  • IP Forwarding: यह संभव है कि इंस्टेंस के निर्माण से IP फॉरवर्डिंग सक्षम करें

  • Hostname: यह संभव है कि इंस्टेंस को एक स्थायी होस्टनाम दिया जाए।

  • Interface: यह संभव है कि एक नेटवर्क इंटरफेस जोड़ा जाए।

Extra Security

ये विकल्प VM की सुरक्षा बढ़ाएंगे और अनुशंसित हैं:

  • सुरक्षित बूट: सुरक्षित बूट आपके VM इंस्टेंस को बूट-स्तरीय और कर्नेल-स्तरीय मैलवेयर और रूटकिट से बचाने में मदद करता है।

  • vTPM सक्षम करें: वर्चुअल ट्रस्टेड प्लेटफॉर्म मॉड्यूल (vTPM) आपके गेस्ट VM की प्री-बूट और बूट अखंडता को मान्य करता है, और कुंजी निर्माण और सुरक्षा प्रदान करता है।

  • अखंडता पर्यवेक्षण: अखंडता निगरानी आपको स्टैकड्राइवर रिपोर्ट का उपयोग करके आपके शील्डेड VM इंस्टेंस की रनटाइम बूट अखंडता की निगरानी और सत्यापन करने की अनुमति देती है। vTPM सक्षम होना आवश्यक है।

VM Access

VM तक पहुंच सक्षम करने का सामान्य तरीका है कुछ SSH सार्वजनिक कुंजियों को VM तक पहुंचने की अनुमति देना। हालांकि, यह भी संभव है कि IAM का उपयोग करके os-config सेवा के माध्यम से VM तक पहुंच सक्षम करें। इसके अलावा, इस सेवा का उपयोग करके VM तक पहुंच के लिए 2FA सक्षम करना भी संभव है। जब यह सेवा सक्षम होती है, तो SSH कुंजियों के माध्यम से पहुंच अक्षम होती है।

Metadata

यह स्वचालन (AWS में userdata) को परिभाषित करना संभव है जो शेल कमांड हैं जो हर बार मशीन चालू होने या पुनः आरंभ होने पर निष्पादित होंगे।

यह भी संभव है कि अतिरिक्त मेटाडेटा कुंजी-मूल्य मान जोड़े जाएं जो मेटाडेटा एंडपॉइंट से सुलभ होंगे। यह जानकारी आमतौर पर पर्यावरण चर और स्टार्टअप/शटडाउन स्क्रिप्ट के लिए उपयोग की जाती है। इसे enumeration सेक्शन में एक कमांड से describe विधि का उपयोग करके प्राप्त किया जा सकता है, लेकिन इसे इंस्टेंस के अंदर मेटाडेटा एंडपॉइंट तक पहुंचकर भी पुनः प्राप्त किया जा सकता है।

# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

Moreover, संलग्न सेवा खाते के लिए प्रमाणीकरण टोकन और संस्थान, नेटवर्क और परियोजना के बारे में सामान्य जानकारी भी मेटाडेटा एंडपॉइंट से उपलब्ध होगी। अधिक जानकारी के लिए देखें:

एन्क्रिप्शन

डिफ़ॉल्ट रूप से एक Google-प्रबंधित एन्क्रिप्शन कुंजी का उपयोग किया जाता है लेकिन एक ग्राहक-प्रबंधित एन्क्रिप्शन कुंजी (CMEK) को कॉन्फ़िगर किया जा सकता है। आप यह भी कॉन्फ़िगर कर सकते हैं कि जब उपयोग की गई CMEK को रद्द किया जाता है तो क्या करना है: नोटिंग या VM को बंद करना।

Support HackTricks

Last updated