ગયા અઠવાડિયે જે VPN પ્રોફાઇલ કામ કરતા હતા તે Ubuntu રિલીઝ અપગ્રેડ પછી તૂટી જાય છે, અને લોગ અપગ્રેડનો ભાગ્યે જ ઉલ્લેખ કરે છે. તે જે નામ આપે છે તે નિષ્ફળ થયેલું સ્તર છે: TLS હેન્ડશેક, ડેટા ચેનલ માટે વાટાઘાટ કરેલો સાઇફર, ઇન્સ્ટોલ થયેલું પેકેજ, અથવા બાઇનરી શરૂ થતી વખતે લોડ કરતી OpenSSL ની નકલ. દરેક સ્તરની પોતાની ભૂલ-રચના અને પોતાનું સમારકામ છે, તેથી વર્ગીકરણ પહેલું કામ અને સંપાદન બીજું કામ છે. લોગ નામ ન આપે ત્યાં સુધી પ્રોફાઇલને નિર્દોષ ગણો.

કયું સ્તર નિષ્ફળ ગયું: હેન્ડશેક, સાઇફર, પેકેજ કે લાઇબ્રેરી

પ્રોફાઇલને સ્પર્શ કરતાં પહેલાં ક્લાઇન્ટનો લોગ વાંચો. આઉટપુટની સૌથી પહેલી ભૂલ એ જ સ્તર ઓળખે છે; તેના પછી છપાયેલું બધું સામાન્ય રીતે તે પહેલી નિષ્ફળતાનું પરિણામ હોય છે. જ્યારે ક્લાઇન્ટ બિલકુલ શરૂ જ ન થાય, ત્યારે VPN લોગ ખોલવા માટે ખોટી ફાઇલ છે.

પ્રમાણપત્રો અને સહીઓની ફરિયાદો, અથવા કીની લંબાઈ વિશેનો સંદેશ, નિયંત્રણ ચેનલ અને તેને નિયંત્રિત કરતી લાઇબ્રેરી નીતિમાંથી આવે છે. પરંતુ DEPRECATED OPTION થી શરૂ થતી ચેતવણી ડેટા-ચેનલ વાટાઘાટ સાથે સંબંધિત છે.

આ પ્રકારની લાઇન Unrecognized option ત્રીજી શ્રેણી છે: નવી બાઇનરી હવે એવી સૂચના સ્વીકારતી નથી જે જૂની સહન કરતી હતી, તેથી લાઇબ્રેરી ઢીલી કરવાને બદલે પ્રોફાઇલ ફરીથી લખવી પડે. પેકેજ નિષ્ફળતાઓ ફરી અલગ દેખાય છે કારણ કે તે કોઈ ટનલ કોડ ચાલે તે પહેલાં બને છે. ખોવાયેલી બાઇનરી, લોડ ન થતું પ્લગઇન, અથવા ખોટા કોડનેમ તરફ ઇશારો કરતું રિપોઝિટરી — બધા એ જ આકાર આપે છે. ચાર લક્ષણો, જોવાની ચાર જગ્યાઓ, અને સમારકામો વચ્ચે લગભગ કોઈ ઓવરલેપ નહીં.

જ્યારે હેન્ડશેક નિષ્ફળ જાય, ત્યારે TLS નીતિ પ્રમાણપત્રને નકારે છે

Ubuntu 22.04 એ સિસ્ટમને OpenSSL 3 પર ખસેડ્યું, અને તે શાખામાં ડિફોલ્ટ સુરક્ષા સ્તર પ્રમાણપત્ર સહીઓ અને કીના કદ અંગે 20.04 કરતાં વધુ કડક છે. જૂના ડાયજેસ્ટથી સહી કરેલું CA પ્રમાણપત્ર, અથવા વર્તમાન થ્રેશોલ્ડથી નીચેની કી, હવે હેન્ડશેક દરમિયાન નિષ્ફળ જાય છે. હજી કંઈ પ્રમાણિત ન થયું હોવાથી, ભૂલ ખોટા પાસવર્ડ કે મૃત સર્વર જેવી લાગે છે.

સાંકડું સમારકામ ફક્ત આ જોડાણ સાથે સાઇફર શ્રેણી જોડે છે. ડેસ્કટોપ એડિટરમાં પ્રોફાઇલ ખોલો, અદ્યતન સેટિંગ્સ પર જાઓ અને DEFAULT:@SECLEVEL=0 TLS સાઇફર ક્ષેત્રમાં મૂકો. NetworkManager કી-ફાઇલ [vpn] હેઠળ એ જ મૂલ્ય લે છે:

[vpn]
tls-cipher=DEFAULT:@SECLEVEL=0

NetworkManager ફરી શરૂ કરો અને ફરી જોડાઓ, કારણ કે ડેમન પાર્સ કરેલા પ્રોફાઇલ કેશ કરે છે અને નહીં તો પોતાની પાસે રહેલી નકલ જ વાપરતું રહેશે. લાઇન રાખતાં પહેલાં તે શું કરે છે તે જાણો: આ સેટિંગ સાઇફરનું નામ નથી પરંતુ ઘણા પ્રમાણપત્ર અને કી પરિમાણો પરનું થ્રેશોલ્ડ છે, તેથી તેને નીચું કરવાથી એક પ્રોફાઇલ જે સ્વીકારે છે તેની પહોંચ વધે છે. કયા સર્વરે તેની જરૂર પડી તે નોંધો અને ઓપરેટર વર્તમાન સામગ્રી ફરી બહાર પાડે ત્યારે સેટિંગ છોડી દો. પરંતુ /etc/ssl/openssl.cnf બદલવું તે ફાઇલ વાંચતા દરેક પ્રોગ્રામ માટે એ જ થ્રેશોલ્ડ સુધી પહોંચે છે, જે VPN થી ઘણું આગળ છે.

OpenVPN 2.6 ને વાટાઘાટ માટે સાઇફર સૂચિબદ્ધ જોઈએ

Ubuntu 22.10 એ OpenVPN 2.6 લાવ્યું, અને તે આવૃત્તિમાં --cipher પોતાની જાતે ડેટા ચેનલ પસંદ કરવાનું બંધ કરે છે. સાઇફર વાટાઘાટ કરેલી data-ciphers સૂચિમાં પણ હોવો જોઈએ, નહીં તો ક્લાઇન્ટ અપ્રચલિતતાની ચેતવણી છાપે છે અને પછી ટનલ ઉપર લાવી શકતું નથી.

એ જ સમયગાળાનું NetworkManager પ્લગઇન હજી ફક્ત જૂની સૂચના લખતું હતું. આ વિગત નિદાનને વિભાજિત કરે છે, કારણ કે હાથે સુધારેલી પ્રોફાઇલ શેલમાંથી જોડાઈ શકે છે અને ડેસ્કટોપ એપ્લેટમાંથી હજી નિષ્ફળ જાય છે. સૂચિને કનેક્શન ફાઇલમાં [vpn] હેઠળ ઉમેરો:

data-ciphers=AES-256-CBC

સર્વર જે મૂલ્ય જાહેર કરે તે વાપરો, તમે યાદ રાખો તે નહીં; AES-256-GCM આપતું સર્વર ફક્ત CBC નામ આપતી ક્લાઇન્ટ સૂચિ સાથે વાટાઘાટ નહીં કરે. મેનેજર ફરી શરૂ કરો અને ફરી જોડાઓ, પછી શેલમાંથી પ્રયાસ પુનરાવર્તિત કરો અને સાઇફર સ્પષ્ટ રીતે વાટાઘાટ તથા ફોલબેક બંને માટે આપો:

sudo openvpn --config client.ovpn --data-ciphers AES-256-CBC --data-ciphers-fallback AES-256-CBC

જો તે આદેશ ટનલ ઉપર લાવે, તો સર્વર, પ્રમાણપત્રો અને ઓળખપત્રો બધા સ્વસ્થ છે, અને મેનેજરનો સંગ્રહિત વિકલ્પ જ એકમાત્ર બાકી ખામી છે. keysize સૂચના વિશેની ચેતવણી એ જ સફાઈનો ભાગ છે: તેને ટિપ્પણી કરો અને મૂળ ફાઇલ પ્રોફાઇલ પાસે રાખો.

પેકેજ અને પ્લગઇન ખામી VPN ખામી જેવી લાગે છે

અપગ્રેડ પછીની દરેક નિષ્ફળતા ક્રિપ્ટોગ્રાફિક નથી. જે કોડનેમ રિલીઝ વાપરતું નથી તેના હેઠળ ઉમેરાયેલું OpenVPN રિપોઝિટરી એવું પેકેજ આપે છે જે કદી ઇન્સ્ટોલ થતું નથી, તેથી lsb_release -a શું જણાવે છે તેને તમે ઉમેરેલી સૂચિ-ફાઇલ સાથે સરખાવો. ખૂટતો universe ઘટક કે સુરક્ષા-ખિસ્સું એવું પેકેજ આપે છે જે બિલકુલ મળતું નથી. બંને કિસ્સામાં પ્રોફાઇલ અકબંધ અને ટનલ અશક્ય રહે છે.

VPN લોગ પહેલાં પેકેજ મેનેજરની ભૂલ વાંચો. જો ક્લાઇન્ટ કદી ઇન્સ્ટોલ જ થયું ન હોય, તો પ્રોફાઇલ સંપાદનની કોઈ પણ માત્રા હેન્ડશેક નહીં આપે.

જે બે-ફેક્ટર પ્રોફાઇલ પૂછવાનું બંધ કરે છે તે એ જ વાર્તાનું પ્લગઇન સંસ્કરણ છે. પડકાર પ્રમાણીકરણ પ્લગઇન તરફથી આવે છે, અને જે અપગ્રેડે તેને કાઢી નાખ્યું કે બદલ્યું તે પ્રોફાઇલ અકબંધ રાખે છે જ્યારે પ્રોમ્પ્ટ અદૃશ્ય થાય છે. જોડાણ કામ કરે તે માટે બીજું ફેક્ટર ડિલીટ કરવાને બદલે સમર્થિત પ્લગઇન ફરી ઇન્સ્ટોલ કરો.

વેન્ડર લાઇબ્રેરી નીતિ-ભૂલ પાછળ છુપાઈ શકે છે

એક પેટર્ન ઓળખવા લાયક છે કારણ કે તે દરેક નીતિ-સમારકામને હરાવે છે. હાર્ડવેર વેન્ડરનું કન્ફિગરેશન સાધન પોતાની OpenSSL લાઇબ્રેરી ઇન્સ્ટોલ કરીને લોડરના શોધ માર્ગમાં સિસ્ટમની નકલોની આગળ મૂકી શકે છે. પછી ક્લાઇન્ટ એવી લાઇબ્રેરી સામે શરૂ થાય છે જે કોઈએ અપગ્રેડ કરી નથી, અને શરૂઆતની નિષ્ફળતા બરાબર નકારાયેલા પ્રમાણપત્ર જેવી લાગે છે.

VPN પેકેજ ફરી ઇન્સ્ટોલ કરવાથી કઈ લાઇબ્રેરી પહેલી મળશે તે બદલાતું નથી, અને TLS સ્તર નીચું કરવાથી એવી લાઇબ્રેરી સુધી પહોંચાય નહીં જે કદી સિસ્ટમમાંથી આવી નથી. લોડરને પૂછો કે બાઇનરી ખરેખર કયા ક્રિપ્ટો ઑબ્જેક્ટ ઉકેલે છે:

ldd /usr/sbin/openvpn | grep -i -E 'ssl|crypto'

વેન્ડરની નકલ દૂર કરો અથવા ફરી નિર્દેશ કરો, પછી એ જ તપાસ ફરી ચલાવો. પ્રોફાઇલ પર પાછા ફરતાં પહેલાં અપેક્ષિત આવૃત્તિ જ વપરાશમાં હોવી જોઈએ.

જૂનું ક્લાઇન્ટ પિન કરવું સમય ખરીદે છે, ઉકેલ નહીં

અગાઉની ક્લાઇન્ટ આવૃત્તિ રાખવાથી જ્યાં સુધી પકડ રહે ત્યાં સુધી ટનલ પાછી આવે છે. તે તે પેકેજની સુરક્ષા-અદ્યતનીકરણને પણ થિજવે છે અને આગલા અપગ્રેડ માટે એ જ ભંગાણ નક્કી કરે છે, તેથી તેને ઉકેલ નહીં પરંતુ તારીખવાળું કામચલાઉ પગલું ગણો.

જો તમે તેમ છતાં પિન કરો, તો પેકેજને સ્પષ્ટ રીતે પકડી રાખો જેથી દેખરેખ વગરનું અપગ્રેડ પિન રદ ન કરી શકે, કારણ અને ફરી વિચારવાની તારીખ લખો, અને પ્રદાતાના આગલા પ્રોફાઇલ પ્રકાશન માટે યાદ સેટ કરો. જે સ્થિતિ પર નજર રાખવા જેવી છે તે છે એવી સર્વર પ્રોફાઇલ જે વર્તમાન સાઇફરની વાટાઘાટ કરે; તે અસ્તિત્વમાં આવે કે તરત પિનને કોઈ વાજબીપણું રહેતું નથી. તેનાથી વિપરીત, નોંધ ન કરેલું પિન છ મહિના પછી એવો વિક્ષેપ બની જાય છે જે કોઈ સમજાવી શકતું નથી, કારણ કે જેણે તે લાગુ કર્યું તે આગળ વધી ગયું છે અને ફાઇલ કંઈ નોંધતી નથી.

આગલી વાર જ્યારે રિલીઝ અપગ્રેડ પછી VPN મરે, ત્યારે પાંચ પ્રશ્નો ક્રમમાં પૂછો: કયા સ્તરે પહેલી ભૂલ આપી, TLS નીતિએ પ્રમાણપત્ર નકાર્યું, સાઇફર બંને દિશામાં વાટાઘાટપાત્ર છે, પેકેજ અને તેનું પ્લગઇન ખરેખર ઇન્સ્ટોલ થયાં, અને પ્રક્રિયા કઈ લાઇબ્રેરી લોડ કરે છે. પાંચેય સ્વચ્છ પાછા આવે પછી જ ડાઉનગ્રેડનો અર્થ છે.

સંબંધિત લેખો