એક OpenVPN ક્લાયન્ટ થોભાવવો: રદ કરવું કેમ ખોટો લિવર છે
સેશન મારવું ઉલટાવી શકાય છે; સર્ટિફિકેટ રદ કરવું નહીં. કેસને કયો લિવર જોઈએ તે નક્કી કરો, અને CRL ફરી બનાવો જ્યારે જ તે યોગ્ય હોય.
એક ક્લાયન્ટની ઍક્સેસ થોભાવવી અને તેને કાયમ માટે દૂર કરવું એક જ કામ લાગે છે, જ્યાં સુધી તમે એમાંથી એકને પાછું ન કરવાનો પ્રયાસ ન કરો. સર્ટિફિકેટ રદ કરવું એવો રેકોર્ડ લખે છે જેને સર્વર અંતિમ ગણે છે, અને તેને ઉલટાવવાનો અર્થ છે ઇશ્યુ કરનારનો ડેટાબેઝ હાથે સંપાદિત કરવો. ચાલુ ટનલ છોડી દેવું એ વ્યવસ્થાપન આદેશ છે જે વિશ્વાસમાં કંઈ બદલતો નથી. લિવર એ પૂછીને પસંદ કરો કે ચાવી હજી ભરોસાપાત્ર છે કે નહીં, એ પૂછીને નહીં કે વિનંતી કેટલી તાકીદની લાગે છે.
માન્યતા: રદ કરેલું અને સ્થગિત એક જ છે
એક કોન્ટ્રાક્ટરને એક અઠવાડિયું થોભાવવામાં આવે છે અને પ્રતિક્રિયા રદ કરવાની હોય છે, કારણ કે રદ કરવું એ કંઈક બંધ કરવા જેવું સંભળાય છે. તે સુઘડ લાગે છે, દસ સેકન્ડ લે છે, અને પાછા ફરવાનો એકમાત્ર રસ્તો ડેટાબેઝ સંપાદન રાખે છે. પ્રતિક્રિયા સમજી શકાય તેવી છે અને તે દરવાજો બંધ કરવા કરતાં પાસપોર્ટ બાળવાની વધુ નજીક છે. થોભાવેલું ઉપકરણ અને જોખમમાં આવેલી ચાવીને અલગ વર્તન જોઈએ, અને એમાંથી ફક્ત એક જ સસ્તામાં ઉલટાવી શકાય છે.
ભેદ ઓળખપત્રનો છે, વ્યક્તિનો નહીં. જે ચાવી હજી યોગ્ય હાથમાં છે તેને કોઈ વિશ્વાસ ગુમાવ્યા વિના થોભાવી અને ફરી ચાલુ કરી શકાય છે. જે ચાવી કોપી થઈ હોઈ શકે તેને ક્યારેય પુનઃસ્થાપિત કરવી જોઈએ નહીં, કારણ કે પુનઃસ્થાપન દાવો કરે છે કે નકલ અસ્તિત્વમાં નથી.
બંનેમાંથી કોઈ પણ સિસ્ટમને અડકતા પહેલા જવાબ લખી લો. જો તમે કહી શકતા નથી કે ચાવી ખુલ્લી થઈ છે કે નહીં, તો રૂઢિગત જવાબ બદલી કરવાનો છે.
વ્યવસ્થાપન ઇન્ટરફેસથી ચાલુ સેશન છોડી દો
OpenVPN વ્યવસ્થાપન ઇન્ટરફેસ આપે છે જે સેશનની યાદી બનાવી શકે છે અને સામાન્ય નામથી એમાંથી એકને મારી શકે છે. તેને localhost પર સક્રિય કરો, જાહેર ઇન્ટરફેસથી દૂર રાખો, અને જ્યારે સેશનને હમણાં જ અદૃશ્ય થવું હોય ત્યારે મારવાનો આદેશ મોકલો. આદેશ ફક્ત તે ટનલ બંધ કરે છે, અને બીજા દરેક ક્લાયન્ટ કામ ચાલુ રાખે છે.
આ સક્રિય સમસ્યાનો પ્રતિભાવ છે, સ્થગિત કરવાની નીતિ નહીં. એ જ પ્રોફાઇલ એક મિનિટમાં ફરી જોડાઈ શકે છે, કારણ કે તેના ઓળખપત્રમાં કંઈ બદલાયું નથી. જ્યારે સેશન જવું જોઈએ અને કાયમી નિર્ણય હજી લેવાઈ રહ્યો હોય ત્યારે તેનો ઉપયોગ કરો.
મારવાના પહેલા ખાતરી કરો કે સેશન જોડાયેલું હતું, જેથી ક્યારેય ન જોડાયેલા ક્લાયન્ટને શોધવા ન પડે. નીચેનો સ્થિતિ આદેશ હાલમાં શું જોડાયેલું છે તે છાપે છે.
printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506જો મારવાનું કહે કે એવો કોઈ ક્લાયન્ટ નથી, તો સર્ટિફિકેટમાંનું સામાન્ય નામ તમે ટાઇપ કરેલી શબ્દમાળા નથી. પ્રોફાઇલ ફાઇલના નામને બદલે સ્થિતિ આઉટપુટ વાંચો.
CRL ખરેખર શું નિયંત્રિત કરે છે
સર્વર સર્ટિફિકેટ પર સંગ્રહિત કોઈ રદ કરવાના ધ્વજને જોતું નથી. તે crl-verify માં નામ આપેલી સર્ટિફિકેટ રદ યાદી દરેક નવા જોડાણ પર વાંચે છે અને એવું સર્ટિફિકેટ નકારે છે જેનો ક્રમ નંબર તે યાદીમાં હોય. એમાંથી બે પરિણામ આવે છે, અને બંને કાર્યાત્મક રીતે મહત્વપૂર્ણ છે. ફાઇલ એ ખાતા માટે વાંચી શકાય તેવી હોવી જોઈએ જેમાં સર્વર પોતાના અધિકારો સોંપે છે, અને પહેલેથી જોડાયેલો ક્લાયન્ટ ફરી જોડાય ત્યાં સુધી ચાલુ રહે છે.
બીજું પરિણામ ઘટનાઓ દરમિયાન લોકોને આશ્ચર્યમાં મૂકે છે. સર્ટિફિકેટ રદ કરવું એ ટનલ બંધ કરતું નથી જે હાલમાં તેનો ઉપયોગ કરી રહી છે. જો સેશન તરત જ પૂરું થવું જોઈએ તો રદ કરવાને વ્યવસ્થાપન માર સાથે જોડો, અને બંને ક્રિયાઓને માર્ગદર્શિકામાં અલગ પગલાં ગણો.
યાદીની તપાસ કરો કે સર્વર ખરેખર શું લાગુ કરશે, તમે છેલ્લે કોપી કરેલી ફાઇલના સમયચિહ્ન પર ભરોસો કરવાને બદલે. મહત્વનો ભાગ ક્રમ નંબરોની ગણતરી છે.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pemકોઈ નોંધ ન હોય તેવી યાદી અને યોગ્ય નોંધ હોય તેવી યાદી ડિરેક્ટરી સૂચિમાં એકસરખી દેખાય છે, તેથી ક્રમ નંબરોની ગણતરી છાપવી યોગ્ય છે. પરવાનગીની લાઇન પણ એટલી જ મહત્વપૂર્ણ છે, કારણ કે ડિમન વાંચી ન શકે તેવી ફાઇલ નકારેલા ક્લાયન્ટ જેવી નિષ્ફળતા ઉત્પન્ન કરે છે.
રેકોર્ડ પુનઃસ્થાપિત કરવો, સાવધાનીથી
સર્ટિફિકેટ પુનઃસ્થાપિત કરવાનો અર્થ છે ઇશ્યુ ડેટાબેઝમાં રેકોર્ડ ઉલટાવવો અને નવી યાદી પ્રકાશિત કરવી. easy-rsa 3 તે ડેટાબેઝને PKI ડિરેક્ટરી હેઠળ index.txt તરીકે રાખે છે, જ્યારે જૂની ગોઠવણો બીજી રચના વાપરતી હતી. પંક્તિ સ્થિતિ અક્ષર અને સમાપ્તિ તારીખથી શરૂ થાય છે. રદ કરેલી પંક્તિ ક્રમ નંબર, સર્ટિફિકેટ ફાઇલનું નામ અને વિશિષ્ટ નામ સાથે આગળ વધતા પહેલા રદ કરવા માટે સમયચિહ્ન દાખલ કરે છે. પંક્તિ પાછી મૂકવાનો અર્થ છે તે સમયચિહ્ન કાઢી નાખવું અને અક્ષર ઉલટાવવો, જ્યારે બાકીનું બધું અકબંધ રાખવું.
પહેલા ફાઇલનો બેકઅપ લો, અને ટેક્સ્ટ એડિટરમાં ટાઇપ કરવાને બદલે સ્ક્રિપ્ટ તરીકે સંપાદન લખો. જે ટાઇપો પંક્તિમાં કેટલાં ક્ષેત્રો છે તે બદલે છે તે પછીથી ઉમેરાયેલા દરેક સર્ટિફિકેટ માટે ઇશ્યુ તોડે છે. એટલે જ ફેરફાર સ્વચાલિત કરવો અને અડકતા પહેલા ફાઇલ કોપી કરવી જોઈએ.
એ જ નામનું બીજું રદ કરવું પણ ઘણી વાર નિષ્ફળ જાય છે, કારણ કે પહેલી વાર ચલાવવાથી તે સર્ટિફિકેટ અને તેની ચાવી એ ડિરેક્ટરીઓની બહાર ખસેડાઈ ગયા જ્યાં સાધન તેમને મળવાની અપેક્ષા રાખે છે. પછી સાધનને જે રદ કરવાનું કહેવાયું હતું તે મળતું નથી, અને ભૂલનો સંદેશ હંમેશા કારણ સ્પષ્ટ કરતો નથી.
cp /etc/easy-rsa/pki/index.txt /root/index.txt.$(date +%F-%H%M)
grep -c '^R' /etc/easy-rsa/pki/index.txt
easyrsa gen-crlનવી યાદી પ્રકાશિત કરો, તેની માલિકી સુધારો, અને સર્વરને તે વાંચવા દો. મોટાભાગની સ્થાપનાઓમાં રીલોડ પૂરતું છે, પણ પુષ્ટિ નવા જોડાણથી આવવી જોઈએ, કારણ કે હાલના સેશને કંઈ ફરી ચકાસ્યું નથી.
કેસ કયા લિવરને લાયક છે તે તપાસો
એક પ્રશ્ન પૂછો જે આખી માર્ગદર્શિકા નક્કી કરે: શું ખાનગી ચાવી હજી ફક્ત ત્યાં જ છે જ્યાં તે હોવી જોઈએ. જો છે, તો સેશન મારવું અને દસ્તાવેજીકૃત વિરામ કેસને આવરી લે છે અને કોઈ કાયમી રેકોર્ડ પાછળ રાખતું નથી. જો નથી, તો એકમાત્ર સુરક્ષિત જવાબ નવી ચાવી છે અને જૂનું સર્ટિફિકેટ રદ કરેલું રહે છે.
પછી પરિણામને જોડાણના પ્રયાસથી ચકાસો, કન્ફિગરેશનના તફાવતથી નહીં. તફાવત તમને કહે છે કે તમે શું ઇરાદો રાખ્યો હતો, અને જોડાણ કહે છે કે સર્વર શું લાગુ કરે છે.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506જ્યારે પુનઃસ્થાપિત ક્લાયન્ટ જોડાય છે અને સ્થિતિ આઉટપુટમાં દેખાય છે, ત્યારે રેકોર્ડ સંપાદન કામ કર્યું છે. જ્યારે રદ કરેલો ક્લાયન્ટ નકારાય છે અને લોગ CRLનું નામ લે છે, ત્યારે રદ કરવું કામ કર્યું છે. વચ્ચેનું કંઈ પણ પરવાનગી કે રીલોડની સમસ્યા છે, અને આગલી વિનંતી આવે તે પહેલા તેને સુધારવી યોગ્ય છે.