GCP - Logging Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
यह सेवा उपयोगकर्ताओं को GCP से लॉग डेटा और घटनाओं को स्टोर, सर्च, एनालाइज, मॉनिटर और अलर्ट करने की अनुमति देती है।
Cloud Logging अन्य GCP सेवाओं के साथ पूरी तरह से एकीकृत है, जो आपके सभी GCP संसाधनों से लॉग के लिए एक केंद्रीकृत भंडार प्रदान करता है। यह स्वचालित रूप से विभिन्न GCP सेवाओं जैसे App Engine, Compute Engine, और Cloud Functions से लॉग एकत्र करता है। आप Cloud Logging का उपयोग ऑन-प्रिमाइसेस या अन्य क्लाउड में चल रहे अनुप्रयोगों के लिए भी कर सकते हैं, Cloud Logging एजेंट या API का उपयोग करके।
Key Features:
लॉग डेटा केंद्रीकरण: विभिन्न स्रोतों से लॉग डेटा को एकत्रित करें, आपके अनुप्रयोगों और अवसंरचना का समग्र दृश्य प्रदान करें।
वास्तविक समय लॉग प्रबंधन: तात्कालिक विश्लेषण और प्रतिक्रिया के लिए वास्तविक समय में लॉग स्ट्रीम करें।
शक्तिशाली डेटा विश्लेषण: बड़े मात्रा के लॉग डेटा को जल्दी से छानने के लिए उन्नत फ़िल्टरिंग और खोज क्षमताओं का उपयोग करें।
BigQuery के साथ एकीकरण: विस्तृत विश्लेषण और क्वेरी के लिए लॉग को BigQuery में निर्यात करें।
लॉग-आधारित मैट्रिक्स: निगरानी और अलर्टिंग के लिए अपने लॉग डेटा से कस्टम मैट्रिक्स बनाएं।
बुनियादी रूप से, सिंक्स और लॉग आधारित मैट्रिक्स यह निर्धारित करेंगे कि लॉग को कहाँ स्टोर किया जाना चाहिए।
Cloud Logging विभिन्न परिचालन आवश्यकताओं के अनुसार अत्यधिक कॉन्फ़िगर करने योग्य है:
लॉग बकेट्स (वेब में लॉग स्टोरेज): Cloud Logging में बकेट्स को परिभाषित करें ताकि लॉग रिटेंशन का प्रबंधन किया जा सके, यह नियंत्रित करते हुए कि आपके लॉग प्रविष्टियाँ कितनी देर तक रखी जाती हैं।
डिफ़ॉल्ट रूप से बकेट्स _Default
और _Required
बनाए जाते हैं (एक वह लॉग कर रहा है जो दूसरा नहीं कर रहा)।
_Required है:
डेटा का रखरखाव अवधि प्रति बकेट कॉन्फ़िगर किया गया है और यह कम से कम 1 दिन होना चाहिए। हालाँकि, _Required की रखरखाव अवधि 400 दिन है और इसे संशोधित नहीं किया जा सकता।
ध्यान दें कि लॉग बकेट क्लाउड स्टोरेज में दिखाई नहीं देते।
लॉग सिंक (वेब में लॉग राउटर): विभिन्न गंतव्यों जैसे Pub/Sub, BigQuery, या Cloud Storage में लॉग प्रविष्टियों को निर्यात करने के लिए सिंक बनाएं जो एक फिल्टर के आधार पर हैं।
डिफ़ॉल्ट रूप से बकेट के लिए सिंक _Default
और _Required
बनाए जाते हैं:
_Required logging.googleapis.com/projects//locations/global/buckets/_Required LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency") _Default logging.googleapis.com/projects//locations/global/buckets/_Default NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT LOG_ID("externalaudit.googleapis.com/activity") AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT LOG_ID("externalaudit.googleapis.com/system_event") AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency")
डिफ़ॉल्ट रूप से Admin Write ऑपरेशंस (जिन्हें Admin Activity ऑडिट लॉग भी कहा जाता है) वे होते हैं जो लॉग किए जाते हैं (मेटाडेटा या कॉन्फ़िगरेशन जानकारी लिखें) और अक्षम नहीं किए जा सकते।
फिर, उपयोगकर्ता Data Access ऑडिट लॉग सक्षम कर सकता है, ये हैं Admin Read, Data Write और Data Write।
आप प्रत्येक प्रकार के लॉग के बारे में अधिक जानकारी दस्तावेज़ों में पा सकते हैं: https://cloud.google.com/iam/docs/audit-logging
हालांकि, ध्यान दें कि इसका मतलब है कि डिफ़ॉल्ट रूप से GetIamPolicy
क्रियाएँ और अन्य पढ़ने की क्रियाएँ लॉग नहीं की जा रही हैं। इसलिए, डिफ़ॉल्ट रूप से एक हमलावर जो वातावरण को एन्यूमरेट करने की कोशिश कर रहा है, पकड़ा नहीं जाएगा यदि सिस्टम प्रशासक ने अधिक लॉग उत्पन्न करने के लिए कॉन्फ़िगर नहीं किया है।
कंसोल में अधिक लॉग सक्षम करने के लिए सिस्टम प्रशासक को https://console.cloud.google.com/iam-admin/audit पर जाना होगा और उन्हें सक्षम करना होगा। वहाँ 2 अलग-अलग विकल्प हैं:
डिफ़ॉल्ट कॉन्फ़िगरेशन: यह एक डिफ़ॉल्ट कॉन्फ़िगरेशन बनाने और सभी Admin Read और/या Data Read और/या Data Write लॉग को लॉग करने और यहां तक कि छूट प्राप्त प्रिंसिपल जोड़ने की संभावना है:
सेवाओं का चयन करें: या बस उन सेवाओं का चयन करें जिनके लिए आप लॉग उत्पन्न करना चाहते हैं और उस विशिष्ट सेवा के लिए लॉग के प्रकार और छूट प्राप्त प्रिंसिपल।
यह भी ध्यान दें कि डिफ़ॉल्ट रूप से केवल वही लॉग उत्पन्न किए जा रहे हैं क्योंकि अधिक लॉग उत्पन्न करने से लागत बढ़ेगी।
gcloud
कमांड-लाइन टूल GCP पारिस्थितिकी तंत्र का एक अभिन्न हिस्सा है, जो आपको अपने संसाधनों और सेवाओं का प्रबंधन करने की अनुमति देता है। यहाँ बताया गया है कि आप अपने लॉगिंग कॉन्फ़िगरेशन और एक्सेस लॉग को प्रबंधित करने के लिए gcloud
का उपयोग कैसे कर सकते हैं।
cloudresourcemanager
के लॉग की जांच करने का उदाहरण (जिसका उपयोग BF अनुमतियों के लिए किया जाता है): https://console.cloud.google.com/logs/query;query=protoPayload.serviceName%3D%22cloudresourcemanager.googleapis.com%22;summaryFields=:false:32:beginning;cursorTimestamp=2024-01-20T00:07:14.482809Z;startTime=2024-01-01T11:12:26.062Z;endTime=2024-02-02T17:12:26.062Z?authuser=2&project=digital-bonfire-410512
testIamPermissions
के लॉग नहीं हैं:
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)