कुछ दिनों पहले OpenVPN 2.4.9 का नया संस्करण जारी किया गया था, यह हो रहा है एक सुधारात्मक संस्करण वह लॉन्च किया गया था भेद्यता CVE-2.020-11.810 को सही करने के लिए, जो क्लाइंट के सत्र को नए IP पते पर अनुवाद करने की अनुमति देता है, जो तब तक पंजीकृत नहीं था।
समस्या का उपयोग एक नए जुड़े क्लाइंट को बाधित करने के लिए किया जा सकता है उस चरण में जहां सहकर्मी पहचान पहले ही उत्पन्न हो चुकी है, लेकिन सत्र कुंजियों की बातचीत पूरी नहीं हुई है (एक ग्राहक अन्य ग्राहकों के सत्रों को रोक सकता है)।
OpenVPN के बारे में
ओपनवीपीएन से अपरिचित लोगों के लिए आपको यह जानना चाहिए यह एक मुफ्त सॉफ्टवेयर आधारित कनेक्टिविटी उपकरण है, एसएसएल (सिक्योर सॉकेट्स लेयर), वीपीएन वर्चुअल प्राइवेट नेटवर्क।
OpenVPN कनेक्टेड उपयोगकर्ताओं और मेजबानों के श्रेणीबद्ध सत्यापन के साथ पॉइंट-टू-पॉइंट कनेक्टिविटी प्रदान करता है दूर से। यह वाई-फाई प्रौद्योगिकियों (IEEE 802.11 वायरलेस नेटवर्क) में एक बहुत अच्छा विकल्प है और लोड बैलेंसिंग सहित एक विस्तृत कॉन्फ़िगरेशन का समर्थन करता है।
OpenVPN एक मल्टीप्लाय रिकॉर्डर उपकरण है जिसने पुराने समय की तुलना में वीपीएन के कॉन्फ़िगरेशन को सरल बनाया है और इस तरह के प्रौद्योगिकी के रूप में IPsec जैसे कॉन्फ़िगर करने और अनुभवहीन लोगों के लिए इसे अधिक सुलभ बनाने के लिए और अधिक कठिन है।
OpenVPN 2.4.9 में नया क्या है?
उपरोक्त बग में फिक्स के अलावा, यह नया संस्करण भी है इंटरैक्टिव उपयोगकर्ता सेवाओं को सत्यापित करने के लिए प्रक्रिया में बदलाव को लागू करता है (विंडोज पर, कॉन्फ़िगरेशन स्थान पहले सत्यापित है, और फिर डोमेन नियंत्रक को एक अनुरोध भेजा जाता है।)
विकल्प का उपयोग करते समय "- सामान्य उपयोगकर्ता-पास फ़ाइल", अगर पासवर्ड के लिए, अनुरोध करने के लिए फ़ाइल में केवल एक उपयोगकर्ता नाम हैक्रेडेंशियल्स को प्रबंधित करने के लिए एक इंटरफ़ेस की आवश्यकता होती है (कंसोल प्रांप्ट के माध्यम से OpenVPN का उपयोग करके पासवर्ड का अनुरोध करना बंद करें)।
विंडोज प्लेटफॉर्म पर, "-cryptoapicert" विकल्प में यूनिकोड खोज स्ट्रिंग्स का उपयोग करने की अनुमति है।
कई CRL को डाउनलोड करने में असमर्थता के साथ एक समस्या भी तय की (OpenSL सिस्टम पर "–crl-verify" विकल्प का उपयोग करते समय एक ही फ़ाइल में स्थित प्रमाणपत्र प्रमाणपत्र सूची)।
और FreeBSD प्लेटफॉर्म पर संकलन मुद्दों को हल करने योग्य-async-push ध्वज का उपयोग करके हल किया गया है।
फिक्स्ड ओपनएसएसएल निजी कुंजी पासफ़्रेज़ नोटिस और एक्सपायर्ड सर्टिफिकेट्स को विंडोज सर्टिफिकेट स्टोर में भेज दिया जाता है।
OpenVPN कैसे स्थापित करें?
जो लोग अपने सिस्टम पर OpenVPN स्थापित करने में सक्षम हैं, उनके लिए, वे निर्देशों का पालन कर सकते हैं हम नीचे साझा करते हैं।
पहली चीज उपकरण और आसान आरएसए स्थापित करना होगा क्योंकि विश्वसनीय प्रमाणपत्र जारी करने के लिए, एक साधारण प्रमाणपत्र प्राधिकरण (CA) को कॉन्फ़िगर किया जाना चाहिए:
sudo apt update sudo apt install openvpn easy-rsa
अब हम प्रमाण पत्र प्राधिकरण को कॉन्फ़िगर करने जा रहे हैं:
make-cadir ~/openvpn-ca cd ~/openvpn-ca
Y आइए कुछ चरों को संपादित करते हैं जो प्रमाण पत्र बनाने का निर्णय लेने में मदद करते हैं:
gedit vars
आसान-आरएसए अनुभाग देखें और संपादित करें ताकि यह इस तरह दिखाई दे:
कुछ समायोजन के बाद:
# These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="Tustin" export KEY_ORG="SSD Nodes" export KEY_EMAIL= class="hljs-string">"joel@example.com" export KEY_OU="Marketing" # X509 Subject Field export KEY_NAME="vpnserver"
आप सहेजें और टर्मिनल में टाइप करें:
source vars ./build-ca
एक नई RSA कुंजी बनाई जाएगी और आपको उन विवरणों की पुष्टि करने के लिए कहा जाएगा जो आपने फ़ाइल में दर्ज किए थे। यह किया अब ग्राहक के सार्वजनिक / निजी कुंजी बनाने का समय आ गया है, जहां [सर्वर] में वे अपना मनचाहा नाम रखते हैं।
./build-key-server [server]
इसके बाद, उन्हें डिफी-हेलमैन कीज़ बनाने की आवश्यकता है।
./build-dh
अंत में, उन्हें प्रमाण पत्र को मजबूत करने के लिए एक एचएमएसी हस्ताक्षर उत्पन्न करना चाहिए।
openvpn --genkey --secret keys/ta.key source vars ./build-key client1
Y यदि आप पासवर्ड सुरक्षित क्रेडेंशियल बनाना चाहते हैं:
स्रोत vars
./build-key-pass client1
अब हम OpenVPN सर्वर को कॉन्फ़िगर करने जा रहे हैं
cd ~/openvpn-ca/keys sudo cp ca.crt ca.key vpnserver.crt vpnserver.key ta.key dh2048.pem /etc/openvpn gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
अब हमें कॉन्फ़िगरेशन फ़ाइल में कुछ संपादन करने की आवश्यकता है।
sudo nano /etc/openvpn/server.conf
सबसे पहले, आइए सुनिश्चित करें कि OpenVPN सही .crt और .key फ़ाइलों की तलाश में है।
इसके पहले:
ca ca.crt cert server.crt key server.key # This file should be kept secret
तो:
ca ca.crt cert vpnserver.crt key vpnserver.key # This file should be kept secret
हम फिर क्लाइंट और सर्वर के बीच समान एचएमएसी लागू करते हैं।
इसके पहले:
;tls-auth ta.key 0 # This file is secret
तो:
tls-auth ta.key 0 # This file is secret key-direction 0
यदि आप opendns के अलावा किसी DNS का उपयोग करना पसंद करते हैं, आपको उन दो पंक्तियों को बदलना होगा जो पुश «धिक-विकल्प से शुरू होती हैं।
इसके पहले:
# If enabled, this directive will configure # all clients to redirect their default # network gateway through the VPN, causing # all IP traffic such as web browsing and # and DNS lookups to go through the VPN # (The OpenVPN server machine may need to NAT # or bridge the TUN/TAP interface to the internet # in order for this to work properly). ;push "redirect-gateway def1 bypass-dhcp" # Certain Windows-specific network settings # can be pushed to clients, such as DNS # or WINS server addresses. CAVEAT: # http://openvpn.net/faq.html#dhcpcaveats # The addresses below refer to the public # DNS servers provided by opendns.com. ;push "dhcp-option DNS 208.67.222.222" ;push "dhcp-option DNS 208.67.220.220"
तो:
# If enabled, this directive will configure # all clients to redirect their default # network gateway through the VPN, causing # all IP traffic such as web browsing and # and DNS lookups to go through the VPN # (The OpenVPN server machine may need to NAT # or bridge the TUN/TAP interface to the internet # in order for this to work properly). push "redirect-gateway def1" # Certain Windows-specific network settings # can be pushed to clients, such as DNS # or WINS server addresses. CAVEAT: # http://openvpn.net/faq.html#dhcpcaveats # The addresses below refer to the public # DNS servers provided by opendns.com. push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"
तो हमें उपयोग करने के लिए सिफर का चयन करना होगा:
इसके पहले:
# Select a cryptographic cipher. # This config item must be copied to # the client config file as well. ;cipher BF-CBC # Blowfish (default) ;cipher AES-128-CBC # AES ;cipher DES-EDE3-CBC # Triple-DES
तो:
# Select a cryptographic cipher. # This config item must be copied to # the client config file as well. ;cipher BF-CBC # Blowfish (default) cipher AES-256-CBC # AES ;cipher DES-EDE3-CBC # Triple-DES auth SHA512
अंत में, आइए OpenVPN को रूट के बजाय एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता खाते का उपयोग करें, जो विशेष रूप से सुरक्षित नहीं है।
user openvpn group nogroup
अब हम उस उपयोगकर्ता को बनाने के लिए इस फ़ाइल को सहेज और बंद कर सकते हैं:
sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
और हम सेवा को इसके साथ सक्रिय करते हैं:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server