آپ کا VPN کلائنٹ ان انسٹال ہو چکا ہے، پروفائل سیٹنگز سے غائب ہے، پھر بھی ٹنل پرانے اسناد کے ساتھ اٹھتا ہے۔ یا آپ اسے حذف کرتے ہیں، ری بوٹ کرتے ہیں، اور اگلی صبح اسے واپس پاتے ہیں۔ ان میں سے کوئی بھی خراب ڈیلیٹ بٹن نہیں ہے۔ پروفائل کنفیگریشن ہے؛ سرٹیفکیٹ کلیدی مواد اور اعتماد کا فیصلہ ہے جو ایسے اسٹور میں درج ہے جس کی طرف پروفائل صرف اشارہ کرتا ہے۔ آپ کے ہاتھ میں ان میں سے کون ہے یہ طے کرتا ہے کہ 'ہٹانا' کا مطلب کیا ہونا چاہیے۔

پروفائل سرٹیفکیٹ نہیں ہے

VPN سیٹ اپ میں تین مختلف چیزوں کو 'سرٹیفکیٹ' کہا جاتا ہے۔ کلائنٹ کی شناخت نجی کلید والا لیف سرٹیفکیٹ ہے، اور گیٹ وے اسی سے فیصلہ کرتا ہے کہ آپ کون ہیں۔ سرور کا اپنا لیف سرٹیفکیٹ اور اس کا انٹرمیڈیٹ وہ ہیں جو آپ کا کلائنٹ جڑتے وقت جانچتا ہے۔ ٹرسٹ اینکر، عام طور پر روٹ یا نجی CA سرٹیفکیٹ، وہی ہے جو زنجیر کو قابل تصدیق بناتا ہے۔ RFC 5280 انہیں ٹرسٹ اینکر، انٹرمیڈیٹ اور آخری ہستی کہتا ہے، اور زنجیر صرف تب تک درست ہے جب تک ہر کڑی نیچے والی کڑی پر دستخط کرے۔

شناخت حذف کریں اور ایک ڈیوائس رسائی کھو دیتی ہے۔ اینکر حذف کریں اور اس اسٹور کے خلاف تصدیق کرنے والی ہر ایپلیکیشن اس کے تحت جاری کردہ کسی بھی چیز کی جانچ کی صلاحیت کھو دیتی ہے، بشمول وہ کنکشن جن کا VPN سے کوئی تعلق نہیں۔ یہی عدم توازن یہاں پورا خطرہ ہے: ایک گیٹ وے کے لیے نصب روٹ اکثر وہی روٹ ہوتا ہے جو اندرونی پورٹل، میل سرور یا پیکیج مرر پر دستخط کرتا ہے۔ یاد رکھیں کہ ان دونوں میں سے کون آپ کے ہاتھ میں ہے۔

ملکیت طے کرتی ہے کہ حذف شدہ حذف ہی رہے گا یا نہیں۔ آپ کے اپنے لیپ ٹاپ پر سرٹیفکیٹ واپس رکھ سکنے والے صرف آپ ہیں۔ منظم ڈیوائس پر کنفیگریشن پروفائل یا MDM پے لوڈ اگلی چیک اِن پر اسے دوبارہ نصب کر سکتا ہے، اسی لیے یہ 'واپس آتا ہے' اور اسی لیے زیادہ زور سے حذف کرنا مدد نہیں کرتا۔

معلوم کریں کہ یہ اب بھی کس اسٹور میں ہے

لوگ سیٹنگز ایپ میں شروع کرتے ہیں، جو واحد جگہ ہے جہاں سرٹیفکیٹ محفوظ نہیں ہوتا۔ اصل مقامات OS کے ٹرسٹ اسٹور، براؤزر کا اپنا اسٹور اور ایپلیکیشن کا نجی اسٹور ہیں۔

StoreWhat deleting from it affects
Windows CurrentUser\Myyour login session only
Windows LocalMachine Rootevery user and service on the machine
macOS login or System keychainone account, or all of them with sudo
Linux ca-certificates bundlecurl, git, Python, anything using the system bundle
Firefox cert9.dbFirefox only; it does not read the OS store

سیریل یا فنگر پرنٹ پر ملائیں، کبھی دکھنے والے نام پر نہیں۔ دکھنے والے نام سرٹیفکیٹ جاری کرنے والا رکھتا ہے اور وہ دوبارہ استعمال ہوتے ہیں: 'Example VPN' تین مختلف کلیدوں والے تین سرٹیفکیٹ ہو سکتے ہیں، ایک اب بھی روزانہ استعمال میں ہے۔

certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256

macOS پر security ٹول وہی حقائق دیتا ہے، اور find-identity دکھاتا ہے کہ کن سرٹیفکیٹ کے ساتھ اب بھی نجی کلید منسلک ہے:

security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client

تنگ چیز حذف کریں، مشترکہ جاری کرنے والا رکھیں

حذف کرنے سے پہلے برآمد کریں۔ بیک اپ کے بغیر واحد بحالی دوبارہ جاری کرنا ہے، جس کا نجی CA پر مطلب PKI چلانے والے کے پاس واپس جانا ہے۔ برآمد شدہ PFX بھی وہی ہے جو آپ حوالے کرتے ہیں اگر ہٹانا غلط فیصلہ ثابت ہو۔

certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>

یہ -user فلیگ لوگ اتفاقی طور پر چھوڑ دیتے ہیں۔ اس کے بغیر certutil مشین اسٹور پر کام کرتا ہے، یعنی بلند شیل، مختلف سرٹیفکیٹ سیٹ اور ایسا اثر دائرہ جو اب مشین کے ہر دوسرے اکاؤنٹ کو بھی شامل کرتا ہے۔

macOS اور Linux پر شکل ایک ہی ہے: شناخت کریں، برآمد کریں، پھر اس تنگ ترین اسٹور سے ہٹائیں جو علامت کی وضاحت کرتا ہے۔ /usr/local/share/ca-certificates کے تحت فائل حذف کرنا اور دوبارہ update-ca-certificates چلانا کافی ہے؛ --fresh صرف اس وقت مدد کرتا ہے جب /etc/ssl/certs میں سمبولک لنکس پہلے ہی غیر مستقل ہوں۔ RHEL خاندان کے نظام اینکر /etc/pki/ca-trust/source/anchors میں رکھتے ہیں، جہاں trust anchor --remove وہی کام کرتا ہے۔

sudo security delete-certificate -Z <sha1> /Library/Keychains/System.keychain
sudo rm /usr/local/share/ca-certificates/example-vpn.crt
sudo update-ca-certificates
sudo trust anchor --remove /etc/pki/ca-trust/source/anchors/example-vpn.crt

CA سرٹیفکیٹ حذف کرنے سے پہلے دیکھیں کہ اس سے اور کیا زنجیر بنتا ہے۔ بنڈل میں موجود موضوعات کی فہرست بنانا دو سطروں کی جانچ ہے اور یہ بتاتی ہے کہ وہ اینکر کوئی اور کام کرتا ہے یا نہیں:

openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
  | openssl pkcs7 -print_certs -noout | grep -i example

فائل حذف کرنا شناخت منسوخ کرنا نہیں ہے

مقامی حذف ایک کاپی ہٹاتا ہے۔ نجی کلید اب بھی پرانے ٹکٹ سے منسلک p12 میں، بیک اپ فولڈر میں یا اسی وقت سیٹ اپ ہونے والے دوسرے لیپ ٹاپ میں ہو سکتی ہے۔ اگر یہ کلائنٹ شناخت تھی، تو گیٹ وے اس کلید کی کوئی بھی کاپی قبول کرتا رہتا ہے جب تک شناخت سرور کی طرف سے مسترد نہ ہو۔

ایک OpenVPN PKI کے لیے اس کا مطلب سرٹیفکیٹ منسوخ کرنا اور یقینی بنانا ہے کہ crl-verify کا حوالہ دیا گیا CRL موجودہ ہے؛ easyrsa revoke پھر easyrsa gen-crl مختصر ورژن ہے۔ شناخت فراہم کنندہ سے منسلک گیٹ وے کے لیے وہاں صارف کو غیر فعال کریں یا ڈیوائس ہٹائیں، کیونکہ سرٹیفکیٹ کھیل میں صرف ایک اسناد ہے۔ اکاؤنٹ فعال رہتے ہوئے مقامی کاپی حذف کرنا صفائی جیسا لگتا ہے اور ایسا نہیں ہے۔

واقعے کا کام مختلف ترتیب رکھتا ہے: پہلے سرٹیفکیٹ، اس کا سیریل اور منسوخی کا ریکارڈ محفوظ کریں، پھر حذف کریں اور منسوخ کریں۔ وہ ریکارڈ کچھ خرچ نہیں کرتے اور کام کرنے والی اسناد کو جگہ پر چھوڑنے کی ضرورت نہیں۔

ہینڈ شیک اور دوسری ایپ سے تصدیق کریں

زنجیر باہر سے جانچیں، اس اسٹور فہرست سے نہیں جسے آپ نے ابھی ایڈٹ کیا۔ اسٹور آپ کی تبدیلی دکھاتا ہے؛ ہینڈ شیک نتیجہ دکھاتا ہے۔

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com \
  -CAfile /etc/ssl/certs/ca-certificates.crt -verify_return_error < /dev/null
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt vpn-gateway.pem

واپسی کوڈ 0 کا مطلب ہے کہ باقی اینکر اب بھی گیٹ وے کی تصدیق کرتے ہیں۔ اینکر ہٹانے کے بعد زنجیر کی خرابی متوقع نتیجہ ہے، اور یہ تصدیق کرتی ہے کہ آپ استعمال میں اینکر پر لگے، نہ کہ ایسے اسٹور میں کاپی پر جسے کلائنٹ کبھی نہیں پڑھتا۔ اگر کنکشن اب بھی کام کرتا ہے تو دوسری کاپی، ایپ میں شامل اسٹور یا پن شدہ سرٹیفکیٹ تلاش کریں، یہ سب اپنی ٹرسٹ فہرست لانے والے کلائنٹس میں عام ہیں۔

پھر کوئی غیر متعلق چیز جانچیں: اندرونی سائٹ، میل کلائنٹ، پیکیج مرر۔ یہ تبدیلی کی ونڈو بند ہونے سے پہلے اثر دائرہ سستے میں ناپتا ہے۔

  • کردار شناخت، انٹرمیڈیٹ یا ٹرسٹ اینکر کے طور پر متعین ہوا
  • سیریل اور فنگر پرنٹ درج ہوئے، اور کاپی منظور شدہ مقام پر برآمد ہوئی
  • حذف اس تنگ ترین دائرے میں کیا گیا جو علامت کی وضاحت کرتا ہے
  • جب کوئی شخص یا ڈیوائس گیا تو سرور کی طرف کی اجازت منسوخ کی گئی
  • ہینڈ شیک کی وضاحت کی گئی، اور ایک غیر متعلق ایپ دوبارہ جانچی گئی
  • MDM پے لوڈ یا مینجمنٹ پروفائل اپ ڈیٹ ہوا، ورنہ سرٹیفکیٹ واپس آتا ہے

اگر ری بوٹ کے بعد سرٹیفکیٹ واپس آ گیا ہے تو کام مکمل نہیں ہوا: کوئی چیز اس کی مالک ہے اور اسے دوبارہ نصب کرتی ہے۔ دوبارہ حذف کرنے سے پہلے وہ مالک تلاش کریں، کیونکہ تیسرا حذف پہلے دو کی طرح ہی برتاؤ کرے گا۔

متعلقہ مضامین