प्रोफ़ाइल सेटिंग्स में एक नाम, एक हस्ताक्षरकर्ता और एक इंस्टॉल बटन के साथ आती हैं, और हस्ताक्षरकर्ता वाली पंक्ति ही वह हिस्सा है जिसे ज़्यादातर लोग पढ़ते हैं। वह पंक्ति एक सवाल का जवाब देती है: हस्ताक्षर सत्यापन के नियमों के अनुसार इन सेटिंग्स को किसने पैकेज किया। वह यह नहीं कहती कि VPN पेलोड आपके नियोक्ता के गेटवे की ओर इशारा करता है, या कोई अंतर्निहित रूट प्रमाणपत्र आपके TLS विश्वास भंडार में जाने योग्य है। नीचे दिया गया वॉकथ्रू पैकेज को उसी क्रम में खोलता है जिसमें डिवाइस उसे लागू करेगा।

लिफ़ाफ़े से शुरू करें: इस प्रोफ़ाइल पर किसने हस्ताक्षर किए

iOS पर प्रोफ़ाइल सेटिंग्स, सामान्य, VPN और डिवाइस प्रबंधन के अंतर्गत दिखती है, और हस्ताक्षरकर्ता इंस्टॉल बटन के ऊपर दिखाया जाता है। कुछ भी छूने से पहले वह नाम पढ़ें, और पूछें कि क्या यह वही संगठन है जिससे आपको सेटिंग्स मिलने की उम्मीद थी। किसी अनजान पक्ष का वैध हस्ताक्षर भी वैध हस्ताक्षर ही होता है, और वह उनके कॉन्फ़िगरेशन को अधिकृत करता है, आपके को नहीं। वही स्क्रीन यह भी बताती है कि प्रोफ़ाइल पर हस्ताक्षर है या नहीं।

अगर फ़ाइल आपके Mac पर है, तो फ़ोन तक पहुँचने से पहले उसे जाँच लें। सुरक्षा उपकरण CMS लिफ़ाफ़े को डिकोड करता है और वह plist छापता है जिसे डिवाइस पढ़ेगा, यानी वही सामग्री बिना इंस्टॉल बटन के। Apple का कॉन्फ़िगरेशन प्रवर्तन दस्तावेज़ हस्ताक्षर को मूल-सत्यापन के रूप में बताता है, जो यहाँ बताया गया दायरा ही है।

security cms -D -i corp-vpn.mobileconfig -o corp-vpn.plist
plutil -p corp-vpn.plist

यहीं रुक जाएँ अगर हस्ताक्षरकर्ता वह नहीं है जिसकी आपने अपेक्षा की थी, या अगर फ़ाइल बिना हस्ताक्षर की है और ऐसे माध्यम से आई है जो उसकी पुष्टि नहीं कर सकता। इस वॉकथ्रू में आगे कुछ भी किसी अविश्वसनीय लिफ़ाफ़े को विश्वसनीय नहीं बनाता।

हर पेलोड खोलें और बताएं कि वह क्या इंस्टॉल करता है

प्रोफ़ाइल एक कंटेनर है, और दिलचस्प हिस्सा उसके अंदर का PayloadContent ऐरे है। हर प्रविष्टि में एक PayloadType होता है जो बताता है कि डिवाइस क्या इंस्टॉल करेगा: प्रबंधित VPN कॉन्फ़िगरेशन, PKCS#12 पहचान, रूट प्रमाणपत्र, या प्रबंधन नामांकन। कोई भी सेटिंग पढ़ने से पहले प्रकार छाप लें।

plutil -extract PayloadContent xml1 -o - corp-vpn.plist |
  grep -E 'PayloadType|PayloadDisplayName'

VPN पेलोड एक कनेक्शन का नाम देता है: सर्वर पता, प्रमाणीकरण विधि, और संभवतः प्रति-ऐप या मांग-पर नियम। पहचान पेलोड वह क्लाइंट क्रेडेंशियल देता है जो वह कनेक्शन प्रस्तुत करेगा। रूट प्रमाणपत्र पेलोड एक विश्वास एंकर जोड़ता है, और प्रबंधन पेलोड चल रहा नियंत्रण किसी सर्वर को सौंप देता है। ये चार अलग-अलग प्रतिबद्धताएँ हैं, और हस्ताक्षर पैकेज को कवर करता है, हर एक की अलग गारंटी नहीं देता। इन्हें उसी क्रम में पढ़ें, क्योंकि पहचान के बिना VPN बेकार है और पहचान का अर्थ तब तक कम है जब तक पता न हो कि उसे किसने जारी किया।

फ़ाइल पर पासवर्ड सुरक्षा फिर एक अलग गुण है। एन्क्रिप्टेड पैकेज उस व्यक्ति से सामग्री छिपाता है जिसके पास पासवर्ड नहीं है; यह तय नहीं करता कि आपको अंदर की चीज़ों को अधिकृत करना चाहिए या नहीं। पासवर्ड को डिलीवरी तंत्र मानें, समीक्षा नहीं।

प्रमाणपत्रों को उस कनेक्शन तक ट्रेस करें जो उन्हें उपयोग करता है

पैकेज के प्रमाणपत्रों की सूची बनाएं और हर एक को एक काम से मिलाएं। क्लाइंट प्रमाणपत्र इस डिवाइस की पहचान गेटवे के सामने करता है, उसे जारी करने वाला CA उस कनेक्शन की विश्वास श्रृंखला में आता है, और किसी प्रॉक्सी या आंतरिक सेवा के लिए इंस्टॉल किया गया रूट अपने आप हर HTTPS साइट के लिए एंकर नहीं बनता। iOS पर हाथ से इंस्टॉल किया गया रूट TLS के लिए तब तक अविश्वसनीय रहता है जब तक आप उसे सेटिंग्स, सामान्य, फ़ोन के बारे में, प्रमाणपत्र विश्वास सेटिंग्स में सक्षम नहीं करते, जबकि प्रबंधन द्वारा दिया गया रूट उस चरण के बिना ही विश्वसनीय होता है। यही अंतर पेलोड के उद्देश्य को महत्वपूर्ण बनाता है।

openssl pkcs7 -inform DER -in corp-vpn.mobileconfig -print_certs -noout
security find-certificate -a -c "Corp Root" -p | openssl x509 -noout -subject -dates

जो प्रदाता आपका ट्रैफ़िक ढोता है, वह इस कारण से आपकी हर देखी गई वेबसाइट का TLS एंडपॉइंट नहीं है। अवरोधन के लिए ट्रैफ़िक पथ और ऐप द्वारा स्वीकार्य विश्वास एंकर दोनों चाहिए, और एक प्रमाणपत्र ले जाने वाली प्रोफ़ाइल दोनों में से किसी को सिद्ध नहीं करती। पूछें कि कौन-सा कनेक्शन उस प्रमाणपत्र का उपयोग करता है और कौन-से ऐप उसे स्वीकार करेंगे, बजाय यह मान लेने के कि प्रोफ़ाइल इंस्टॉल करने से सब कुछ डिक्रिप्ट हो जाता है।

इंस्टॉल के बाद: सत्यापित करें, और जानें कि हटाना क्या करता है

प्रोफ़ाइल इंस्टॉल होने के बाद उसे डाउनलोड की गई फ़ाइल से नहीं, डिवाइस से पुष्टि करें। सेटिंग्स स्क्रीन इंस्टॉल की गई प्रोफ़ाइल, उसके हस्ताक्षरकर्ता और उसके पेलोड की सूची दिखाती है, और VPN स्क्रीन दिखाती है कि कनेक्शन इच्छित रूप से कॉन्फ़िगर है या नहीं। डाउनलोड की गई फ़ाइल हटाने से कुछ नहीं हटता; इंस्टॉल किया गया कॉन्फ़िगरेशन एक अलग वस्तु है।

profiles show -type configuration
scutil --nc list

अगर प्रोफ़ाइल में प्रबंधन नामांकन शामिल है, तो हटाने के परिणाम इंस्टॉल करने से पहले पढ़ें, बाद में नहीं। उस नामांकन को हटाना उससे जुड़े कॉन्फ़िगरेशन साथ ले जाता है और प्रबंधित ऐप भी हटा सकता है, यह इस पर निर्भर है कि डिवाइस कैसे नामांकित हुआ था। यह ऐसा मरम्मत कदम नहीं है जिसे प्रमाणपत्र गलत दिखने पर आज़माया जाए। कुछ भी हटाने से पहले व्यवस्थापक से पूछें कि कौन-सा पेलोड समस्या का मालिक है।

यह वॉकथ्रू चार अलग जवाबों पर समाप्त होता है: पैकेज पर किसने हस्ताक्षर किए, वह कौन-से पेलोड इंस्टॉल करता है, हर कनेक्शन कौन-सी पहचान और विश्वास उपयोग करता है, और हटाने से क्या साथ जाएगा। इन्हें अलग रखें और हस्ताक्षरित प्रोफ़ाइल एक हरी सही का निशान नहीं, बल्कि समीक्षित निर्णय बन जाती है।

संबंधित लेख