GCP - VPC & Networking

Support HackTricks

GCP Compute Networking in a Nutshell

VPCs में Firewall नियम होते हैं जो VPC में आने वाले ट्रैफ़िक की अनुमति देते हैं। VPCs में subnetworks भी होते हैं जहाँ virtual machines connected होने वाली हैं। AWS की तुलना में, Firewall AWS Security Groups और NACLs के सबसे करीब होगा, लेकिन इस मामले में ये VPC में परिभाषित होते हैं और प्रत्येक उदाहरण में नहीं।

VPC, Subnetworks & Firewalls in GCP

Compute Instances subnetworks से जुड़े होते हैं जो VPCs का हिस्सा होते हैं (Virtual Private Clouds). GCP में सुरक्षा समूह नहीं होते, वहाँ VPC firewalls होते हैं जिनके नियम इस नेटवर्क स्तर पर परिभाषित होते हैं लेकिन प्रत्येक VM Instance पर लागू होते हैं।

Subnetworks

एक VPC में कई subnetworks हो सकते हैं। प्रत्येक subnetwork 1 क्षेत्र में है

Firewalls

डिफ़ॉल्ट रूप से, प्रत्येक नेटवर्क में दो implied firewall rules होते हैं: allow outbound और deny inbound

जब एक GCP प्रोजेक्ट बनाया जाता है, तो एक VPC जिसे default कहा जाता है, भी बनाया जाता है, जिसमें निम्नलिखित फ़ायरवॉल नियम होते हैं:

  • default-allow-internal: default नेटवर्क पर अन्य उदाहरणों से सभी ट्रैफ़िक की अनुमति दें

  • default-allow-ssh: हर जगह से 22 की अनुमति दें

  • default-allow-rdp: हर जगह से 3389 की अनुमति दें

  • default-allow-icmp: हर जगह से पिंग की अनुमति दें

जैसा कि आप देख सकते हैं, firewall rules internal IP addresses के लिए अधिक उदार होते हैं। डिफ़ॉल्ट VPC Compute Instances के बीच सभी ट्रैफ़िक की अनुमति देता है।

डिफ़ॉल्ट VPC या नए VPCs के लिए अधिक Firewall rules बनाए जा सकते हैं। Firewall rules को निम्नलिखित methods के माध्यम से उदाहरणों पर लागू किया जा सकता है:

दुर्भाग्यवश, इंटरनेट पर खुले पोर्ट वाले सभी Compute Instances को निकालने के लिए कोई सरल gcloud कमांड नहीं है। आपको फ़ायरवॉल नियमों, नेटवर्क टैग, सेवा खातों और उदाहरणों के बीच कनेक्शन बनाना होगा।

इस प्रक्रिया को इस python script का उपयोग करके स्वचालित किया गया था जो निम्नलिखित को निर्यात करेगा:

  • CSV फ़ाइल जो उदाहरण, सार्वजनिक IP, अनुमत TCP, अनुमत UDP दिखाती है

  • nmap स्कैन जो सार्वजनिक इंटरनेट (0.0.0.0/0) से अनुमति प्राप्त पोर्ट पर सभी उदाहरणों को लक्षित करता है

  • masscan जो उन उदाहरणों की पूर्ण TCP रेंज को लक्षित करता है जो सार्वजनिक इंटरनेट (0.0.0.0/0) से सभी TCP पोर्ट की अनुमति देते हैं

Hierarchical Firewall Policies

Hierarchical firewall policies आपको अपने संगठन में एक सुसंगत फ़ायरवॉल नीति बनाने और लागू करने की अनुमति देती हैं। आप hierarchical firewall policies को संगठन के समग्र रूप में या व्यक्तिगत folders पर असाइन कर सकते हैं। इन नीतियों में नियम होते हैं जो स्पष्ट रूप से कनेक्शनों को अस्वीकार या अनुमति दे सकते हैं।

आप फ़ायरवॉल नीतियों को अलग-अलग चरणों के रूप में बनाते और लागू करते हैं। आप resource hierarchy के organization या folder nodes पर फ़ायरवॉल नीतियों को बना और लागू कर सकते हैं। एक फ़ायरवॉल नीति नियम कनेक्शनों को ब्लॉक कर सकता है, कनेक्शनों की अनुमति दे सकता है, या फ़ायरवॉल नियम मूल्यांकन को निम्न स्तर के फ़ोल्डरों या VPC नेटवर्क में परिभाषित VPC फ़ायरवॉल नियमों पर स्थगित कर सकता है।

डिफ़ॉल्ट रूप से, सभी hierarchical firewall policy नियम सभी परियोजनाओं में सभी VMs पर लागू होते हैं जहाँ नीति जुड़ी होती है। हालाँकि, आप target networks या target service accounts को निर्दिष्ट करके यह सीमित कर सकते हैं कि कौन से VMs को एक नियम मिलता है

आप यहाँ पढ़ सकते हैं कि Hierarchical Firewall Policy कैसे बनाएं

Firewall Rules Evaluation

  1. Org: संगठन को असाइन की गई फ़ायरवॉल नीतियाँ

  2. Folder: फ़ोल्डर को असाइन की गई फ़ायरवॉल नीतियाँ

  3. VPC: VPC को असाइन किए गए फ़ायरवॉल नियम

  4. Global: फ़ायरवॉल नियमों का एक और प्रकार जो VPCs को असाइन किया जा सकता है

  5. Regional: VM के NIC और VM के क्षेत्र के VPC नेटवर्क से जुड़े फ़ायरवॉल नियम।

VPC Network Peering

दो Virtual Private Cloud (VPC) नेटवर्क को जोड़ने की अनुमति देता है ताकि प्रत्येक नेटवर्क में संसाधन एक-दूसरे के साथ संवाद कर सकें। Peered VPC नेटवर्क एक ही प्रोजेक्ट में, एक ही संगठन के विभिन्न प्रोजेक्टों में, या विभिन्न संगठनों के विभिन्न प्रोजेक्टों में हो सकते हैं।

इनकी आवश्यकता वाले अनुमतियाँ हैं:

  • compute.networks.addPeering

  • compute.networks.updatePeering

  • compute.networks.removePeering

  • compute.networks.listPeeringRoutes

More in the docs.

References

Support HackTricks

Last updated