मेरी कंपनी में हम LDAP का उपयोग मशीनों के सभी में एक सुसंगत सेट के लिए करते हैं और फिर authorized_keys
सभी सर्वरों में से प्रत्येक उपयोगकर्ता के लिए फ़ाइलों को वितरित करने के लिए कॉन्फ़िगरेशन प्रबंधन टूल (हमारे मामले में वर्तमान में cfengine) का उपयोग करते हैं। कुंजी फाइलें खुद को (अन्य सिस्टम कॉन्फ़िगरेशन जानकारी के साथ) एक गिट रिपॉजिटरी में रखा जाता है ताकि हम देख सकें कि चाबियाँ कब आती हैं और जाती हैं। cfengine एक sudoers
फाइल भी वितरित करता है जो नियंत्रित करता है कि एलडीएपी निर्देशिका से उपयोगकर्ताओं और समूहों का उपयोग करते हुए प्रत्येक मेजबान पर रूट के रूप में कौन पहुंच सकता है।
पासवर्ड प्रमाणीकरण हमारे उत्पादन सर्वरों पर पूरी तरह से अक्षम है, इसलिए SSH कुंजी को अनिवार्य है। पॉलिसी प्रत्येक लैपटॉप / डेस्कटॉप / जो भी हो के लिए एक अलग कुंजी का उपयोग करने और खोए / चोरी हुए लैपटॉप के प्रभाव को कम करने के लिए सभी कुंजी पर पासफ़्रेज़ का उपयोग करने के लिए प्रोत्साहित करती है।
हमारे पास एक गढ़ मेजबान भी है जो उत्पादन नेटवर्क पर मेजबानों तक पहुंचने के लिए उपयोग किया जाता है, जिससे हमें उस नेटवर्क के चारों ओर बहुत प्रतिबंधात्मक फ़ायरवॉल नियम मिल सकते हैं। अधिकांश इंजीनियरों के पास इस पारदर्शी को बनाने के लिए कुछ विशेष SSH विन्यास हैं:
Host prod-*.example.com
User jsmith
ForwardAgent yes
ProxyCommand ssh -q bastion.example.com "nc %h %p"
एक नई कुंजी जोड़ने या एक पुराने को हटाने से इस सेटअप में थोड़ा सा समारोह की आवश्यकता होती है। मेरा तर्क है कि एक नई कुंजी जोड़ने के लिए यह वांछनीय है कि यह एक ऑपरेशन होना चाहिए जो ऑडिट ट्रेल को छोड़ देता है और सभी के लिए दिखाई देता है। हालांकि, ओवरहेड शामिल होने के कारण मुझे लगता है कि लोग कभी-कभी एक पुरानी कुंजी को हटाने के लिए उपेक्षा करते हैं जब इसकी आवश्यकता नहीं होती है और हमारे पास यह ट्रैक करने के लिए कोई वास्तविक तरीका नहीं है कि सफाई को छोड़कर जब कोई कर्मचारी कंपनी छोड़ देता है। नए इंजीनियर को ऑन-बोर्ड करते समय यह कुछ अतिरिक्त घर्षण भी पैदा करता है, क्योंकि उन्हें एक नई कुंजी उत्पन्न करने की आवश्यकता होती है और इसे पूरी तरह से उत्पादक होने से पहले सभी मेजबानों को धकेल दिया जाता है।
हालांकि सबसे बड़ा लाभ प्रत्येक उपयोगकर्ता के लिए एक अलग उपयोगकर्ता नाम है, जिससे हमें आवश्यकता होने पर अधिक दानेदार अभिगम नियंत्रण करना आसान हो जाता है और प्रत्येक उपयोगकर्ता को ऑडिट लॉग में दिखाई देने वाली पहचान देता है, जो कि ट्रैक करने की कोशिश करते समय वास्तव में उपयोगी हो सकता है उत्पादन एक sysadmin कार्रवाई के लिए वापस मुद्दा।
इस सेटअप के तहत परेशान होना स्वचालित सिस्टम है जो उत्पादन मेजबानों के खिलाफ कार्रवाई करता है, क्योंकि उनके "सुपरिचित" एसएसएच कुंजी वैकल्पिक पहुंच पथ के रूप में काम कर सकते हैं। अभी तक हमने केवल इन स्वचालित प्रणालियों के लिए उपयोगकर्ता खातों को बनाया है, केवल उनकी न्यूनतम पहुंच है जो उन्हें अपना काम करने की आवश्यकता है और स्वीकार किया है कि दुर्भावनापूर्ण उपयोगकर्ता (जो पहले से ही उत्पादन पहुंच के साथ इंजीनियर होना चाहिए) भी उन्हीं कार्यों को अर्ध कर सकते हैं- गुमनाम रूप से आवेदन की कुंजी का उपयोग कर।