एसवीएन + एसएसएच सुरक्षा


9

मैं कुंजी आधारित प्रमाणीकरण के साथ snv + ssh का उपयोग करता हूं। अभी मेरे किसी भी svn यूजर्स के लिए रिपॉजिटरी को सबवर्सन के जरिए एक्सेस करने के लिए, मुझे रेपो फाइल को उन यूजर्स के लिए फाइल सिस्टम पर पढ़ने योग्य और लिखने योग्य बनाने के लिए सेट करना होगा।

मैं उपयोगकर्ताओं को ssh के माध्यम से सर्वर पर लॉग इन करते समय रेपो डेटाबेस को हटाने में सक्षम होने से रोकना चाहता हूं, फिर भी चेकआउट करने और कोड करने में सक्षम होना चाहिए।

मैं यह कैसे कर सकता हूँ पर विचार?

जवाबों:


4

एक svn + ssh URL तक पहुँचने के लिए svn ग्राहक "ssh -q user @ host svnerve -t" का उपयोग करके एक svnerve उदाहरण लॉन्च करता है और stdin / stdout के माध्यम से उस उदाहरण के साथ बात करता है।

यदि आपके उपयोगकर्ताओं को सामान्य ssh अभिगम की आवश्यकता होती है, तब भी आप उन्हें एक उपयोगकर्ता (chown -R svnerve: svnerve repo; chmod -R g-rwx, o-rxx repo) तक पहुँच सीमित करके और svnerve कमांड द्वारा प्रतिस्थापित करके रोक सकते हैं; यह सेट्युड / सेटगिड svnerve आवरण प्रोग्राम


10

एक साझा उपयोगकर्ता वातावरण में, मैं एक वास्तविक तोड़फोड़ सर्वर (या तो svnserveअपाचे के माध्यम से) स्थापित करने की सिफारिश करूंगा । इस वातावरण में, व्यक्तिगत उपयोगकर्ताओं को रिपॉजिटरी फ़ाइलों तक पहुंच की आवश्यकता नहीं होती है क्योंकि सभी फ़ाइल एक्सेस सर्वर प्रक्रिया के उपयोगकर्ता खाते के तहत की जाती है।

तोड़फोड़ पुस्तक में सर्वर कॉन्फ़िगरेशन चुनने पर एक अनुभाग होता है जो मदद कर सकता है। उस खंड से (जोर मेरा):

यदि आपके पास एक मौजूदा बुनियादी ढांचा है जो भारी मात्रा में SSH खातों पर आधारित है, और यदि आपके उपयोगकर्ताओं के पास पहले से ही आपके सर्वर मशीन पर सिस्टम खाते हैं, तो यह svnerve-over-SSH समाधान को तैनात करने के लिए समझ में आता है। अन्यथा, हम जनता के लिए इस विकल्प की व्यापक रूप से अनुशंसा नहीं करते हैं। यह आम तौर पर माना जाता है कि आपके उपयोगकर्ताओं को पूर्ण-प्रचलित सिस्टम खातों के बजाय svnerve या Apache द्वारा प्रबंधित (काल्पनिक) खातों के माध्यम से रिपॉजिटरी का उपयोग करना सुरक्षित है।


4

इस साइट में कुछ अच्छी चालें हैं: http://svn.apache.org/repos/asf/subversion/trunk/notes/ssh-tricks

यदि आप में से कोई भी आपके लिए काम नहीं करता है, तो शायद एक हल चल सकता है? हर बार जब कोई व्यक्ति कुछ ऐसा करता है तो आप कमिटमेंट हूक का बैकअप ले सकते हैं: sudo rsync -a / my / repo / path / my / shut / path /


2

मैं इस समस्या पर हमला करने के लिए दो संभावित दिशा-निर्देश देखता हूं:

  • सीमित शेल एक्सेस प्रदान करें, जैसे उपयोगकर्ता केवल अपने खातों के साथ svn का उपयोग कर सकते हैं (यदि अन्य उद्देश्यों के लिए शेल एक्सेस की आवश्यकता हो तो दूसरे खाते की आवश्यकता हो सकती है) - मैंने svnonly के लिए कुछ दिलचस्प संदर्भ ढूंढे हैं । नोट: स्वयं उन्हें आज़माएं नहीं
  • क्लाइंट प्रमाणपत्रों को जोड़कर, https पर तोड़फोड़ करने के लिए माइग्रेट करें। मैंने लोगों को इस पर चर्चा करते हुए देखा है, लेकिन खुद कभी ऐसा नहीं किया। डाउनसाइड: ssh कुंजियों के अलावा क्लाइंट प्रमाणपत्रों के वितरण की आवश्यकता होती है।

1

मैं ग्रेग और ओलाफ के साथ सहमत हूं - https एक्सेस के लिए जाएं। मैं काफी समय से इस तरह के एक सेटअप का उपयोग कर रहा हूँ और वास्तव में इसके किसी भी नकारात्मक पहलू को नहीं देखता।

आपको रिपॉजिटरी के भीतर बढ़िया अनाज के उपयोग पर नियंत्रण का अतिरिक्त लाभ मिलेगा - इसलिए आप इसके कुछ हिस्सों को केवल पढ़ने के लिए और कुछ चुने हुए उपयोगकर्ताओं के लिए पूरी तरह से दुर्गम बना सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.