बेशक आप ऐसा नहीं कर सकते। यह 2FA के उद्देश्य को हरा देगा। आपके सर्वर के पास उपयोगकर्ता क्रेडेंशियल्स को सत्यापित करने का एक तरीका होना चाहिए , और इस जानकारी को नेटवर्क पर नहीं भेजा जाना चाहिए (यानी। आप केवल क्लाइंट का उपयोग नहीं कर सकते हैं। फाइल फ़ाइल)।
जबकि आपको आवश्यक रूप से यूनिक्स उपयोगकर्ता बनाने की आवश्यकता नहीं है, लेकिन आपको अपने उपयोगकर्ताओं को सर्वर पर अपने सत्यापन कोड स्थापित करने चाहिए। आप वर्चुअल उपयोगकर्ताओं के साथ sftp का उपयोग उनके पहले से जारी प्रमाण पत्र, क्लाइंट साइड (म्युचुअल) प्राधिकरण, CIFS (सांबा) के साथ https, या TLS एक्सटेंशन के साथ अच्छा पुराना ftp या किसी अन्य तरीके से कर सकते हैं, जो सर्वर को उपयोगकर्ताओं द्वारा बनाए गए सत्यापन कोड की जानकारी देता है। । संचार चैनल सुरक्षित (एन्क्रिप्टेड) स्थानीय होना चाहिए।
स्वाभाविक रूप से यदि आपके उपयोगकर्ता अपनी फ़ाइलें अपलोड करते हैं, तो आप Openvpn-otp द्वारा उपयोग की गई कुल फ़ाइल आधारित क्रेडेंशियल्स का उपयोग नहीं कर सकते हैं। सौभाग्य से हमारे पास लिनक्स उत्कृष्ट सुरक्षा मॉड्यूल पाम का उपयोग करके एक और (और बहुत बेहतर) विकल्प है।
सबसे पहले, आपको ऊपर बताए गए तरीकों में से एक द्वारा Google-प्रमाणक द्वारा बनाई गई उपयोगकर्ता फ़ाइलों को एक निर्देशिका में एकत्र करना होगा। हमारे मामले में यह / etc / google-Cort होगा।
आपको यहां सभी फ़ाइलों के लिए एकल उपयोगकर्ता-आईडी लागू करना होगा , क्योंकि आपके पास वास्तविक उपयोगकर्ता नहीं हैं। इसे ओपेनवोन होने दें । अनुमतियाँ 0400 (-r --------) होनी चाहिए। पाम दुनिया / समूह पठनीय साख (निश्चित रूप से) को पसंद नहीं करते हैं। आप इसे आसानी से सांबा, अपाचे, एफटीपी या सबसे खराब स्थिति में क्रोन टैब (अनुशंसित नहीं) का उपयोग करके लागू कर सकते हैं।
परीक्षण के उद्देश्य के लिए, बस यह करें:
mkdir /etc/google-auth
apt-get install libpam-google-authenticator
google-authenticator
# set up as you wish, save image and/or codes
mv ~/.google_authenticator /etc/google-auth/some_username
chown -R openvpn /etc/google-auth
उसके बाद आप ओपनवीपीएन को लिबपाम के खिलाफ प्रमाणित करने के लिए कहेंगे, जिसका अपना स्वयं का गूगल मॉड्यूल है। इसे अपने Openvpn सर्वर फ़ाइल में जोड़ें:
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn
यह कहता है कि हम pam ऑरिजनल आईडी Openvpn के साथ pam ऑथेंटिकेशन विधि का उपयोग करेंगे ।
अब, Openvpn के लिए pam सेटअप बनाएं। संपादित करें /etc/pam.d/openvpn:
auth requisite /lib/security/pam_google_authenticator.so secret=/etc/google-auth/${USER} user=openvpn
account required pam_permit.so
यहां हम कहते हैं कि सफल Google प्रमाणीकरण के बिना हम तुरंत (अपेक्षित) विफल हो जाते हैं, हम डिफ़ॉल्ट $ $ गृह /। हमारे उपयोगकर्ताओं के साथ। अगली पंक्ति में हम कहते हैं कि हम सफल प्रमाणीकरण के बाद सभी को कनेक्ट करने की अनुमति देते हैं। बेशक आपको यहां अपनी अनुमति नीति लागू करनी चाहिए। आप संबंधित उपयोगकर्ताओं को संबंधित pam मॉड्यूल के साथ फ़ाइल, mysql db या ldap द्वारा नियंत्रित कर सकते हैं।
इसे अपने Openvpn क्लाइंट फ़ाइल में जोड़ें
auth-user-pass
auth-nocache
reneg-sec 0
हम उपयोगकर्ता-उपयोगकर्ता-पास का उपयोग करते हैं ताकि ओपनवैप क्लाइंट को यूज़रनेम और पासवर्ड के लिए पूछ सकें। हमें कैशिंग पसंद नहीं है ("पासवर्ड" बदल रहा है) और समय-समय पर फिर से बातचीत उसी कारण से हमारे लिए खराब है।
उसके बाद आपको ओपेनवोन-ओटीपी के बिना कनेक्ट करने में सक्षम होना चाहिए। कृपया इस पर विचार करें कि यह अधिक लचीली विधि है, क्योंकि यदि आप चाहें तो पाम कंट्रोल फाइलों में बहुत ही जटिल नियमों को लागू कर सकते हैं। आप उदाहरण के लिए उन प्रमाणपत्रों को छूने के बिना अपने mysql या ldap निर्देशिका के आधार पर उपयोगकर्ताओं को सक्षम / अक्षम कर सकते हैं।