VPN ની ખાનગી કી ક્યાં રહેવી જોઈએ: ફાઇલ, CNG કે TPM?
VPN ઓળખ માટે કી ફાઇલ, નિકાસ ન કરી શકાય તેવા સૉફ્ટવેર ભંડાર અને TPM વચ્ચે પસંદ કરો, પછી પસંદગીને આદેશો અને પાછા ફરવાની યોજના સાથે સાબિત કરો.
બે પ્રશ્નો નક્કી કરે છે કે VPN ની ખાનગી કી ક્યાં રહે: કી સામગ્રી હોસ્ટ પરથી કૉપી કરી શકાય છે કે નહીં, અને કોઈ પ્રક્રિયા કીબોર્ડ પર કોઈ વિના તેનો ઉપયોગ કરી શકે છે કે નહીં. ભંડારનું માર્કેટિંગ લેબલ બંનેમાંથી એકનો પણ જવાબ આપતું નથી. જે ટનલ ડિમન પુનઃપ્રારંભ પછી પાછું આવવું પડે તેને દેખરેખ વગરનો ઉપયોગ જોઈએ, જે માણસ દ્વારા ટાઇપ કરેલા PIN પર આધારિત દરેક વસ્તુને બાદ કરે છે.
કૉપી અને ઉપયોગ વચ્ચે પસંદ કરો
કૉપી અને ઉપયોગ જુદી જુદી રીતે નિષ્ફળ જાય છે, તેથી તેમને એક નહીં બે આવશ્યકતા ગણો. જે હુમલાખોર કીના બાઇટ વાંચી શકે છે તે ઓળખને બીજા હોસ્ટ પર લઈ જાય છે, અને મૂળ મશીનને ખબર પડતી નથી. જે હુમલાખોર બાઇટ વાંચી શકતો નથી પણ સહીની પ્રક્રિયા સુધી પહોંચે છે, તે તે પ્રવેશ ચાલે ત્યાં સુધી પ્રમાણિત થતો રહે છે.
ફાઇલમાંની કી સહેલાઈથી કૉપી થાય છે, તેથી તેનું બેકઅપ અને પુનઃસ્થાપન પણ સૌથી સહેલું છે. સૉફ્ટવેર કી ભંડાર API બદલે છે, મર્યાદા નહીં: પ્રદાતા પોતાના નિકાસ કૉલ નકારે છે, પણ જે વ્યવસ્થાપક સંદર્ભે કી સ્થાપી તેની પાસે સામગ્રી સુધી સામાન્ય રીતે બીજા રસ્તા હોય છે. સૉફ્ટવેર પ્રદાતામાં નિકાસ ન કરી શકાય તેવું હોવું સમર્થિત ક્રિયાઓ વિશેનું નિવેદન છે, હાર્ડવેર દીવાલનો પુરાવો નહીં. તેને આકસ્મિક કૉપી સામે ગતિ-અવરોધક ગણો, જેની પાસે પહેલેથી તમારું સત્ર છે તેની સામે રક્ષણ નહીં.
TPM અથવા સ્માર્ટ કાર્ડ સહીની ક્રિયા હાર્ડવેરની અંદર કરે છે અને ફક્ત પરિણામ પાછું આપે છે. તે કૉપીનો રસ્તો બંધ કરે છે અને ઉપયોગનો રસ્તો દરેક એવી વસ્તુ માટે ખુલ્લો રાખે છે જે સહી માંગી શકે.
ભંડારને ટનલ ડિમન સાથે મેળવો
ડિમન આને સુરક્ષા નીતિ કરતાં વધુ મર્યાદિત કરે છે. WireGuard ફાઇલ અથવા wg set ઇનપુટમાંથી base64 ખાનગી કી લે છે અને પ્રમાણપત્ર ભંડાર સુધી કોઈ રસ્તો નથી, તેથી TPM આધારિત ઇન્ટરફેસ કી પ્રશ્નમાં નથી. OpenSSL 3 સામે બનેલું OpenVPN પ્રદાતા URI દ્વારા કી લોડ કરી શકે છે, અને strongSwan PKCS#11 સમર્થનની સાથે TPM પ્લગઇન આપે છે, પણ બંને તમારું પેકેજ કેવી રીતે કમ્પાઇલ થયું તેના પર આધારિત છે.
જે ડિમન પસંદ કરેલા ભંડાર સુધી પહોંચી શકતું નથી તે હાર્ડવેર મર્યાદાને શણગાર બનાવે છે. કોઈ કી એક વાર નિકાસ કરે છે, ફાઇલમાં છોડી દે છે, અને બાકીની ડિઝાઇન શાંતિથી તે જ નકલ પર ચાલે છે.
નવીકરણ મેળનો બીજો અર્ધો ભાગ છે, અને અહીં જ મોટાભાગની ડિઝાઇન તૂટે છે. જે ભંડાર પ્રથમ નોંધણી પર કામ કરે છે પણ દરેક પુનઃઇશ્યુ માટે કન્સોલ લૉગિન માંગે છે, તે પ્રથમ વાર બાયપાસ થાય છે જ્યારે પ્રમાણપત્ર અણગમતા કલાકે સમાપ્ત થાય. પુનઃઇશ્યુનો રસ્તો ત્યારે ચકાસો જ્યારે વર્તમાન કી પાસે હજી મહિના બાકી હોય.
કી ખસેડતા પહેલાં યાદી બનાવો
કી શું છે અને ક્યાં રહેવી છે તે બદલતા પહેલાં લખી લો, કારણ કે જે સ્થાનાંતરણ subject alternative names ગુમાવે છે તે ટનલને એ રીતે તોડે છે જે રૂટિંગ ભૂલ જેવું વંચાય છે. પ્રમાણપત્ર ડમ્પ કરો, ખાતરી કરો કે ખાનગી કી ત્યાં વાંચી શકાય છે જ્યાં ડિમન તેની અપેક્ષા રાખે છે, અને ચકાસો કે જોડી ખરેખર મેળ ખાય છે.
openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256
છેલ્લા બે સારાંશ સમાન હોવા જોઈએ. જો ન હોય, ડિમન સેટઅપ પૂર્ણ કરે છે અને પછી દરેક પ્રયાસમાં પ્રમાણપત્ર અથવા સહીની ભૂલથી નિષ્ફળ જાય છે જે ખરા કારણની નજીક ક્યાંય નિર્દેશ કરતી નથી. WireGuardનું સમકક્ષ ટૂંકું છે, કારણ કે જાહેર કી સીધી ખાનગીમાંથી ઉતરે છે: wg pubkey < /etc/wireguard/wg0.key એ તે સહયોગી કી છાપવી જોઈએ જે તમારો સર્વર પહેલેથી સંગ્રહિત રાખે છે.
પરવાનગીઓ એ જ યાદીનો ભાગ છે. stat -c '%a %U:%G' /etc/wireguard/wg0.key એ 600 root:root પાછું આપવું જોઈએ, અને જે જૂથ કે વિશ્વ માટે વાંચી શકાય તેનો અર્થ છે કે કી પહેલેથી એવી પ્રક્રિયાઓ માટે ઉપલબ્ધ હતી જેની તમે ક્યારેય કલ્પના ન કરી.
ભંડાર અને ઉપયોગનો રસ્તો ચકાસો
ચકાસણીના ત્રણ ભાગ છે, અને ત્રીજો તે છે જે છોડી દેવાય છે. ખાતરી કરો કે કી પસંદ કરેલા ભંડારમાં છે, ખાતરી કરો કે ડિમને તે જ કી લોડ કરી છે બાકીની નકલ નહીં, અને પછી ખાતરી કરો કે નિકાસ કલાકૃતિ ગયા પછી પણ તે શરૂ થાય છે.
certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts
Windows પર પ્રથમ આદેશ વ્યક્તિગત ભંડારની યાદી કરે છે અને દરેક નોંધની બાજુમાં કી પ્રદાતા છાપે છે, અને ત્યાં જ એવું પ્રમાણપત્ર દેખાય છે જે હાર્ડવેર-સમર્થિત લાગે છે પણ સૉફ્ટવેર પ્રદાતામાં બેઠું છે. બીજો પ્લેટફોર્મ ક્રિપ્ટો પ્રદાતા પાસેની કીની યાદી કરે છે, તેથી ત્યાં ગેરહાજર VPN ઓળખ જ્યારે તેનું પ્રમાણપત્ર હાજર હોય, તેનો અર્થ છે કે ખાનગી અર્ધો ભાગ બીજે રહે છે. Linux ગેટવે પર ipsec listcerts જણાવે છે કે strongSwan એ શું લોડ કર્યું, TPM પ્લગઇનમાંથી આવેલી કી સહિત. નોંધની સંખ્યા પર ભરોસા કરવાને બદલે ફિંગરપ્રિન્ટ કે જાહેર કી હેશની યાદી સાથે સરખામણી કરો.
નકારાત્મક પરીક્ષણ તે જ છે જે ડિઝાઇન સાબિત કરે છે. નિકાસ કરેલી કીને ડિમનની રૂપરેખાંકન ડિરેક્ટરીની બહાર ખસેડો, સેવા ફરી શરૂ કરો અને લૉગમાં વાંચો કે તે કઈ ઓળખ રજૂ કરે છે. જે ટનલ તો પણ ઉપર આવે છે તે ભંડાર વાપરે છે; નિષ્ફળ પ્રારંભનો અર્થ છે કે ડિઝાઇન ખરેખર નકલ પર ચાલતી હતી.
નવીકરણ અને પાછા ફરવું લખો
પાછા ફરવું બંને પરિવારોમાં તીવ્ર રીતે અલગ છે, અને તે તફાવત ડિઝાઇન નોંધનો ભાગ છે, ઘટના કૉલનો નહીં. ફાઇલ કીને એન્ક્રિપ્ટેડ બેકઅપ અને પુનઃસ્થાપિત કરી શકાય છે, તેથી નિષ્ફળ સ્થાનાંતરણ ઉલટાવી શકાય છે. નિકાસ ન કરી શકાય તેવી કીનું બેકઅપ જરાય ન થઈ શકે, જે ઉપકરણ મરે ત્યારે પુનઃઇશ્યુ અને પુનઃનોંધણીને પુનઃપ્રાપ્તિનો એકમાત્ર રસ્તો બનાવે છે.
સમાપ્તિને વિક્ષેપ બનતા પહેલાં ચકાસો: openssl x509 -in vpn.crt -noout -checkend 2592000 બિન-શૂન્ય કોડ સાથે પૂરો થાય છે જ્યારે પ્રમાણપત્ર ત્રીસ દિવસમાં સમાપ્ત થાય, તેથી તે સીધું દેખરેખ ચકાસણીમાં આવે છે. તે લીટીનું સાપ્તાહિક ચલાવવું તે નવીકરણ પકડે છે જે કોઈએ આયોજિત નહોતું કર્યું.
દૂર કરવું સર્વર પર થાય છે: સહયોગી કાઢી નાખો અથવા ક્રમિક નંબર રદ કરો, પછી ખાતરી કરો કે ટનલ નિષ્ફળ જાય છે, કારણ કે કેશ કરેલું સત્ર ધરાવતો ક્લાયન્ટ અડધું પૂરું રદ કરવું થોડા સમય છુપાવી શકે છે. રદ કરવું ફક્ત CA ડેટાબેઝ સુધી નહીં, કેન્દ્રીકરણના CRL કે OCSP રસ્તા સુધી પણ પહોંચવું જોઈએ. પ્રમાણપત્ર જાહેર દસ્તાવેજ છે, અને RFC 5280 પ્રોફાઇલ તેની ચકાસણી કેવી રીતે થાય તે આવરી લે છે; તે ચકાસણીનો કોઈ ભાગ પરિભ્રમણ પહેલાં કૉપી કરેલી ખાનગી કીનું રક્ષણ કરતો નથી.
નિર્ણય એક જગ્યાએ લખો: કયો ભંડાર કી રાખે છે, કઈ પ્રક્રિયા તેનો ઉપયોગ કરી શકે છે, કોણ તેને ફરી ઇશ્યુ કરી શકે છે અને પાછા ફરવું શું છે. તે જ ફકરો છે જે ઓડિટર પૂછે છે, અને તે જ જે કર્મચારી પરિવર્તનમાંથી બચે છે.