मैं इस पर कुछ आउट ऑफ़ द बॉक्स समाधान के लिए अपनी सांस नहीं पकड़ूंगा।अपने स्वयं के लॉगिंग से परे, आपको अपनी निर्भरताओं द्वारा किए गए लॉगिंग के बारे में भी चिंतित होना होगा। उस ने कहा, आपके पास काम करने के लिए दो क्षेत्र हैं: लॉग में क्या होता है और किसके पास लॉग तक पहुंच है।
जहां तक लॉग में जाता है, इस समस्या का मुकाबला करने के लिए आपके सर्वोत्तम उपकरण शिक्षा और सहयोग (उपर्युक्त कोड समीक्षा सहित) हैं। लॉगिंग के लिए गैर-कार्यात्मक आवश्यकताओं की एक सूची लिखने के साथ शुरू करें जिसमें सुरक्षा शामिल है जो लॉग इन करें और लॉग कैसे करें (मार्कर, स्तर, संवेदनशील पैरामीटर इत्यादि) को संबोधित करता है। मैं इस सूची को परिभाषित करने के लिए सहकर्मियों के साथ काम करने की सलाह देता हूं, इसलिए "हमें वास्तव में कुछ करने की ज़रूरत है" के बजाय "रवि के लॉगिंग क्रूसेड" के रूप में जाना जाने वाला नहीं है।
एक बार उस सूची को परिभाषित करने के बाद और आप अपने सहयोगी और/या प्रबंधन के खरीद-इन प्राप्त कर लेते हैं, तो आप उन कार्यान्वयन लॉगिंग के लिए रैपर लिख सकते हैं जो आपके द्वारा एकत्र की गई गैर-कार्यात्मक लॉगिंग आवश्यकताओं की सूची का समर्थन करते हैं। यदि संवेदनशील पैरामीटर को लॉग इन करना वास्तव में जरूरी है, तो मूल खाते द्वारा बाद में पुनर्प्राप्ति के लिए पैरामीटर को असम्बद्ध रूप से एन्क्रिप्टेड करने का एक तरीका प्रदान करें: जैसे फ़ाइल में संग्रहीत एन्क्रिप्शन कुंजी केवल रूट/कंटेनर द्वारा पहुंचा जा सकता है। प्रबंधन के लिए, आपको मूल्य प्रस्ताव लिखने में कुछ समय बिताना पड़ सकता है कि आपकी पहल आपकी कंपनी के लिए मूल्यवान क्यों है।
जो भी आपके एसएलडीसी को परिभाषित करता है उसके साथ अगला काम - सुनिश्चित करें कि आपके एसडीएलसी में परिवर्तन बाहरी रूप से संप्रेषित है। क्या उन्हें आपकी कंपनी के लिए 1 आइटम के साथ कार्यान्वित करने के लिए एक सुरक्षित कोडिंग चेकलिस्ट बनाएं जो कहती है: सभी लॉगिंग OurCompanySecureLogger का उपयोग करके लागू की गई है। अब आप पहल को लागू करने पर काम करना शुरू कर सकते हैं। मैं निर्माण सर्वर पर एक चेक लिखने की अनुशंसा करता हूं जो निर्भरताओं को देखता है और बिल्ड को विफल करता है अगर उसे log4j, slf4j, logback, आदि के लिए सीधे संदर्भ मिलता है
समस्या के दूसरे भाग के बारे में, अपनी SysOps टीम के साथ काम करें कर्तव्यों के अलगाव के नियमों को परिभाषित करें। यही है, सॉफ़्टवेयर इंजीनियरों को उन सर्वरों तक पहुंच नहीं होनी चाहिए जहां लॉगिंग की जा रही है। यदि आप इस धारणा का समर्थन करने के लिए इस बिंदु पर पर्याप्त रूप से पर्याप्त कर्मचारी नहीं हैं, तो आपको रचनात्मक होना पड़ सकता है।
स्रोत
2017-04-22 11:47:29
इस तरह की चीजें टूल्स द्वारा 100% हल नहीं की जा सकती हैं, भले ही आप स्थिर कोड विश्लेषण करते हैं, यह केवल तभी काम करता है जब आपके लॉग इन वेरिएबल नाम या जानकारी ग्रंथों में वास्तव में "उपयोगकर्ता" या "पासवर्ड" जैसे सबस्ट्रिंग होते हैं। यदि वे नहीं करते हैं, तो आप इसका पता नहीं लगा सकते हैं। क्या आपने कभी इस हास्यास्पद चीज़ के बारे में सुना है जिसे कोड समीक्षा कहा जाता है? मैंने सुना है कि यह सहायक है। – kriegaex