کلائنٹ سرٹیفکیٹ گم ہو گیا؟ نام سے نہیں، سیریل نمبر سے منسوخ کریں
سرٹیفکیٹ فائل کا غائب ہونا ریکارڈ کا غائب ہونا نہیں۔ منسوخی اُس سیریل نمبر پر کام کرتی ہے جس پر CA نے دستخط کیے، لہٰذا متبادل جاری کرنے سے پہلے وہ شے تلاش کریں۔
آپ کے کلائنٹ کی سرٹیفکیٹ فائل غائب ہو گئی ہے، اور فوری ردعمل نام منسوخ کر کے نیا جاری کرنا ہے۔ یہ ردعمل اصل سرٹیفکیٹ کو درست رکھتا ہے، کیونکہ منسوخی لیبل پر نہیں بلکہ سیریل نمبر پر کام کرتی ہے۔ CA تقریباً یقینی طور پر اپنے جاری کردہ کی نقل رکھتا ہے، اور اُس نقل کو تلاش کرنا ہی پورا کام ہے۔
فائل کا ضائع ہونا CA کے ریکارڈ کا ضائع ہونا نہیں
Easy-RSA PKI اپنے جاری کردہ عوامی سرٹیفکیٹ رکھتا ہے، اور موجودہ ریلیز PKI کی certs_by_serial ڈائریکٹری میں سیریل کے مطابق نقول بھی محفوظ کرتی ہیں۔ کچھ بھی منسوخ کرنے کے لیے نجی کلید ضروری نہیں۔ اہم بات وہی درست سرٹیفکیٹ ہے جس پر CA نے دستخط کیے، اور وہ CA کے پاس پہلے سے ہے۔
صحیح PKI کی بیک اپ نقل پر، اُس کے مالک منتظم کے ساتھ کام کریں۔ منسوخی ایک قابلِ آڈٹ کارروائی ہے، آدھی رات کو پروڈکشن ڈیٹابیس پر کی گئی مرمت نہیں۔
کلائنٹ کے اندرونی عوامی سرٹیفکیٹ کی نقل بھی کام کرتی ہے، اگر تعیناتی نے ایک رکھی ہو۔
پہلے جاری کنندہ اور سیریل پڑھیں
بازیافت شدہ PEM کا معائنہ کریں اور جاری کنندہ، سیریل نمبر، موضوع اور مدتِ اعتبار لکھیں۔ سیریل نمبر ایک جاری کنندہ کے دائرے میں منفرد ہے، آپ کے ماحول کے تمام CA میں نہیں، اس لیے جاری کنندہ شناخت کا حصہ ہے۔ اگر کئی سرٹیفکیٹ ایک ہی موضوع رکھتے ہیں تو اُنہیں وہی سیریل الگ کرتے ہیں۔
اقدار کو CA کے ریکارڈ اور اُس آلے یا شخص سے ملائیں جس کے بارے میں آپ سمجھتے ہیں کہ سرٹیفکیٹ رکھتا ہے۔
عام نام دوبارہ استعمال ہو سکتا ہے، اور عام طور پر ہوتا ہے۔ سیریل لکھے جانے سے پہلے فیصلہ نہ کریں کہ کون سے سرٹیفکیٹ واپس لیے جائیں۔
نیا سرٹیفکیٹ منسوخ کرنے سے کچھ کیوں نہیں ہوتا
اُسی عام نام کے ساتھ متبادل جاری کرنے سے مختلف سیریل والا دوسرا سرٹیفکیٹ بنتا ہے۔ متبادل منسوخ کرنے سے نیا واپس لیا جاتا ہے اور اصل اپنی میعاد ختم ہونے تک درست رہتا ہے۔ CA کی نظر میں یہ دو خودمختار اشیاء ہیں، اور CRL نام نہیں بلکہ سیریل کی فہرست دیتی ہے۔ CA انڈیکس ہر جاری شدہ سرٹیفکیٹ کے لیے ایک قطار رکھتا ہے، ٹھیک اسی وجہ سے۔
وہی الجھن اُلٹی غلطی پیدا کرتی ہے: کلائنٹ کی فائل مٹا دینا اور سمجھنا کہ CA اسے بھول گیا۔ کلائنٹ پر مٹانا منسوخی کا واقعہ نہیں، اور جس کے پاس نقل ہے اُس کے لیے سرٹیفکیٹ کام کرتا رہتا ہے۔
دونوں غلطیاں نام کو شناخت سمجھنے سے آتی ہیں۔
وہ سرٹیفکیٹ منسوخ کریں جس کا نام سیریل بتاتا ہے
CA کو چھونے سے پہلے شے کی شناخت کریں: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates چاروں اقدار ایک ہی پاس میں چھاپتا ہے، اور CA محافظ خانے سے آپ جو ملاتے ہیں وہ سیریل ہے۔ Easy-RSA وہ محافظ خانہ pki/certs_by_serial کے تحت رکھتا ہے، ہر سیریل کے نام پر ایک فائل۔ منسوخی کا حکم سیریل نہیں بلکہ عام نام لیتا ہے، اس لیے محفوظ شدہ فائل pki/issued/<common-name>.crt پر نقل کریں اور نام کو آپ کی شناخت کردہ شے کی طرف اشارہ کرنے دیں۔ PKI ڈائریکٹری سے easyrsa revoke <common-name> چلائیں، پھر دیکھیں کہ index.txt میں متعلقہ قطار R میں بدل گئی ہے۔ سیریل شے چننے کا طریقہ ہے، حکم کی قبول کردہ دلیل نہیں۔
openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl
اگر index.txt R نہ دکھائے تو رکیں اور CRL بنانے سے پہلے خرابی پڑھیں، کیونکہ اب بھی درست ریکارڈ سے بنایا گیا CRL کچھ واپس نہیں لیتا۔ قطار بدلنے کے بعد ہی آپ easyrsa gen-crl چلاتے ہیں اور فائل کی تقسیم کی طرف جاتے ہیں۔
CRL وہیں شائع کریں جہاں وہ واقعی نافذ ہوتا ہے
PKI کے معاون ورک فلو سے نیا CRL بنائیں، پھر اُسے ہر ایسے تصدیق کنندہ پر شائع کریں جو اِس جاری کنندہ کی منسوخیاں نافذ کرتا ہے۔
CA پر رکھی تازہ شدہ فائل کچھ نہیں بدلتی، کیونکہ VPN اپنے ہی تصدیق کنندہ پر فیصلہ مکمل کرتا ہے۔ CRL کا جاری کنندہ، مدتِ اعتبار اور منسوخ شدہ سیریل دیکھیں، اور تصدیق کریں کہ سروس فائل کو دوبارہ لوڈ کرتی ہے، پچھلی کو کیش نہیں کرتی۔ ملکیت اور راستہ مواد جتنے ہی اہم ہیں: وہ CRL جسے ڈیمن پڑھ نہیں سکتا کسی CRL کے نہ ہونے کے برابر ہے۔ OpenVPN کا crl-verify اختیار اُس فائل کا نام دیتا ہے جو ڈیمن پڑھتا ہے، اس لیے سرور کنفیگ میں وہ راستہ اور فائل کی ملکیت چیک کریں۔
فائل کے ٹائم اسٹیمپ سے نہیں، حقیقی کنکشن کی کوشش سے تصدیق کریں۔
جانیں کہ CRL کب غلط ہتھیار ہے
اگر جاری کنندہ کی نجی کلید پر اب بھروسا نہیں تو معلوم سیریل واپس لینے سے کوئی غیر مجاز حامل نئے سرٹیفکیٹ پر دستخط کرنے سے نہیں رکے گا۔ یہ جاری کنندہ کے بھروسے کی منتقلی ہے، یعنی نیا CA اور تقسیم کا منصوبہ، CRL میں ایک اور اندراج نہیں۔ سابق منتظم کی رسائی بذاتِ خود کلید کے غلط استعمال کا ثبوت نہیں، اس لیے بھروسا دوبارہ بنانے سے پہلے حقائق حاصل کریں۔
حالت کا حرف پلٹنے کے لیے اجرا کا ڈیٹابیس ہاتھ سے تبدیل کرنا دستخط شدہ منسوخی کا متبادل نہیں، اور یہ CRL کو ریکارڈ سے متضاد چھوڑ دیتا ہے۔
سیریل، CRL اور تقسیم کا مرحلہ ایک ہی نوٹ میں رکھیں، اگلا آڈٹ پڑھنے کی مشق بن جائے گا۔ Easy-RSA منصوبہ آپ کے نصب شدہ ریلیز کے لیے معاون احکامات کی دستاویز کرتا ہے، اور یہی واحد انٹرفیس ہے جس کی پیروی کرنا مناسب ہے۔