वेब निगरानी उद्देश्य से शुरू होती है, कैप्चर बिंदु से नहीं। सक्रिय ग्राहक गिनना, API कॉल का समय नापना और संदेश बॉडी पढ़ना—इनमें से प्रत्येक के लिए अलग साक्ष्य और अलग गोपनीयता निर्णय चाहिए। सुरक्षित HTTPS आगे भेजने वाला गेटवे पृष्ठ सामग्री नहीं, कनेक्शन देखता है। गलत परत चुनने पर ऐसा डेटा मिलता है जो समृद्ध दिखता है और किसी बात का उत्तर नहीं देता।

डेटा स्रोत से पहले प्रश्न का नाम रखें

उस परिचालन निर्णय से शुरू करें जिसे डेटा को सहारा देना है। उपलब्धता के प्रश्नों को गणनाएँ और समय चाहिए, अनुरोध के प्रश्नों को पथ और स्थिति कोड चाहिए, और सामग्री के प्रश्नों को संदेश बॉडी चाहिए। भीतर की ओर हर कदम संवेदनशीलता और इंजीनियरिंग जटिलता जोड़ता है। संग्रह शुरू होने से पहले सेवा के स्वामी और सुरक्षा के स्वामी से दर्शक, उद्देश्य और प्रबंधन की स्वीकृति लें, क्योंकि सुरंग चलाना वह निर्णय नहीं है।

प्रश्न एक वाक्य में लिखें और उसे संग्रह योजना के पास रखें। यही दायरे का एकमात्र विश्वसनीय नियंत्रण है।

गेटवे क्या दिखा सकता है और क्या नहीं

सही ढंग से सुरक्षित HTTPS आगे भेजने वाला गेटवे आम तौर पर पते, पोर्ट और मात्राएँ देखता है, अनुरोध पंक्तियाँ या बॉडी नहीं।

conntrack -L -d 203.0.113.10 | head
tcpdump -ni vpn0 -c 20 'tcp port 443'

conntrack सूची प्रवाह और अनुवाद दिखाती है, और छोटा कैप्चर पढ़ने योग्य ऐप सामग्री के बिना पैकेट दिखाता है। यह उत्तर देने के लिए पर्याप्त है कि ट्रैफ़िक बहता है या नहीं, कितना, और किन अंत बिंदुओं के बीच। यह URL की सूची नहीं है, और सामान्य CONNECT प्रॉक्सी ऐप के TLS को समाप्त किए बिना एन्क्रिप्टेड अदान-प्रदान आगे भेजता है। जब कोई उस स्थिति से अनुरोध पथ का वादा करता है, तो पूछें कि कौन-सा घटक डिक्रिप्ट करता है और किसके भरोसे।

ऐप लॉग अधिकांश अनुरोध प्रश्नों का उत्तर देते हैं

आपके द्वारा चलाए जा रहे ऐप के लिए, उसका अपना समर्थित लॉगिंग आम तौर पर दूसरों के कनेक्शन डिक्रिप्ट किए बिना अनुरोध-स्तर के प्रश्न का उत्तर देता है।

curl -sS -o /dev/null -w "%{http_code} %{time_total}\n" https://app.example.com/health
tail -n 5 /var/log/nginx/access.log

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

अवरोधन एक अलग भरोसा डिज़ाइन है

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

संग्रह विंडो के अंत में, स्वामियों के माध्यम से कॉन्फ़िगरेशन और उसकी भरोसा सामग्री हटाएँ, और सहमत नीति के तहत रखे गए साक्ष्य का निपटान करें। बताए गए उद्देश्य के लिए पर्याप्त विश्वसनीय जानकारी ही सफलता का मानदंड है, सबसे बड़ा संभव कैप्चर नहीं।

संबंधित लेख