Windows VPN কোন মেশিন সার্টিফিকেট প্রস্তাব করে?
কয়েকটি মেশিন সার্টিফিকেট, তার মধ্যে একটি প্রস্তাবিত, আর গেটওয়ে তা প্রত্যাখ্যান করে। কিছু মুছে ফেলার বদলে ইস্যুয়ার ও EKU ফিল্টার দিয়ে পুলটি সংকুচিত করুন।
সার্টিফিকেট ইনস্টল করা আছে, প্রাইভেট কী উপস্থিত, তবুও টানেল প্রমাণীকরণে ব্যর্থ হয়। একাধিক সার্টিফিকেট থাকা একটি মেশিন VPN-কে এমন একটি প্রার্থী দিতে পারে যা কেউ চায়নি, আর গেটওয়ে কোনটি গ্রহণ করবে তা জানার কোনো উপায় ক্লায়েন্টের নেই। বাকিগুলো মুছে ফেলা হলো এমন একটি নির্বাচন নীতি যার পরিণতি মেশিনের প্রতিটি সেবার ওপর পড়ে। বরং যোগ্য সেটটি সংকুচিত করুন, তারপর নিশ্চিত করুন কোন সার্টিফিকেটটি আসলে প্রস্তাব করা হয়েছিল।
একাধিক সার্টিফিকেট, একটি প্রস্তাবিত
মেশিন-সার্টিফিকেট প্রমাণীকরণসহ নেটিভ Windows VPN প্রোফাইল দুটি ফিল্টার দেয় যা প্রার্থীদের সীমিত করে: একটি ইস্যুয়ার ফিল্টার এবং একটি বর্ধিত-কী-ব্যবহার ফিল্টার। এগুলো সেই সেটটি কমায় যা থেকে ক্লায়েন্ট বেছে নিতে পারে। এগুলো অনুপযুক্ত সার্টিফিকেট মেরামত করে না, এবং যা থেকে যায় তা সার্ভার গ্রহণ করবে বলে নিশ্চয়তা দেয় না। এই সীমাটি পরিবর্তন-রেকর্ডে লেখার মতো, কারণ পরবর্তী পাঠক ধরে নেবেন ফিল্টারটি তার চেয়ে বেশি সিদ্ধান্ত নিয়েছে যা সে আসলে নিয়েছিল।
তারা যে ব্যর্থতার সমাধান করে তা সংকীর্ণ ও নির্দিষ্ট। ভুল কর্তৃপক্ষের একটি বৈধ সার্টিফিকেট, বা গেটওয়ে যে উদ্দেশ্য গ্রহণ করে না এমন উদ্দেশ্যে ইস্যু করা সার্টিফিকেট, অভীষ্টটির আগে বেছে নেওয়া হয়, ফলে একটি সুস্থ স্টোরের পাশেই প্রমাণীকরণ ব্যর্থ হয়। দুটি ফিল্টার এটিকে বিশ্লেষণের জন্য যথেষ্ট ছোট সেটে পরিণত করে, আর এই পৃষ্ঠার বাকি অংশ সেগুলো ক্রমানুসারে প্রয়োগ করে।
প্রোফাইল সম্পাদনার আগে স্টোর পরীক্ষা করুন
প্রোফাইলটি যে স্টোর আসলে ব্যবহার করে সেখানে প্রার্থী ও তাদের বৈশিষ্ট্য তালিকাভুক্ত করুন। এখানে কিছুই প্রাইভেট কী রপ্তানি করে না, আর কোনো সার্টিফিকেটকে মেশিন ছাড়তে হয় না:
Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList
সিদ্ধান্ত যে বৈশিষ্ট্যগুলোর ওপর নির্ভর করে সেগুলোর জন্য আউটপুট পড়ুন: ব্যবহারযোগ্য প্রাইভেট কী, গ্রহণযোগ্য বৈধতার সময়সীমা, অভীষ্ট ইস্যুয়ার এবং এক্সটেনশনে থাকা উদ্দেশ্যগুলো। একটি সার্টিফিকেট একই সঙ্গে উপস্থিত, সঠিকভাবে নথিভুক্ত এবং এই সংযোগের জন্য অকেজো হতে পারে। থাম্বপ্রিন্ট কলামটিই পরে তুলনা করবেন, তাই আউটপুটটি রেখে দিন।
সম্পাদনার আগে প্রোফাইল ও তার পরিধি নিশ্চিত করুন, কারণ LocalMachine -এ থাকা একটি মেশিন সার্টিফিকেট, একটি ব্যবহারকারী EAP-TLS সার্টিফিকেট এবং একটি অ্যাপের নিজস্ব প্রাইভেট কী স্টোর তিনটি ভিন্ন প্রসঙ্গ। পরিচালিত প্রোফাইল সেখানে থাকলে সর্ব-ব্যবহারকারী পরিধি ও প্রশাসনিক প্রসঙ্গ ব্যবহার করুন। একই রকম নামে দ্বিতীয় প্রোফাইল তৈরি করলে সংযোগটি আসলে কোন কনফিগারেশন ব্যবহার করে তা ঢাকা পড়ে।
ইস্যুয়ার ফিল্টার একটি অবজেক্ট চায়
ইস্যুয়ার প্যারামিটার একটি সার্টিফিকেট অবজেক্ট প্রত্যাশা করে, প্রদর্শিত নাম নয় এবং খালি থাম্বপ্রিন্ট স্ট্রিংও নয়। অনুমোদিত কর্তৃপক্ষের সার্টিফিকেট এমন একটি পথ থেকে দিন যা আপনি পর্যালোচনা করেছেন, সেটি যে স্টোরে থাকে সেখানে:
$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer
ক্লায়েন্টের নিজের লিফ সার্টিফিকেট, অনুরূপ সাবজেক্টযুক্ত ভিন্ন কর্তৃপক্ষ, বা সদ্য তৈরি একটি রুট কেবল প্যারামিটারের ধরন তা গ্রহণ করে বলে প্রতিস্থাপন করবেন না। দুই কর্তৃপক্ষ একই সাবজেক্ট স্ট্রিং ভাগ করতে পারে, এ কারণেই টেক্সটের চেয়ে অবজেক্টটি বেশি জরুরি। Microsoft কমান্ডলেট রেফারেন্স উভয় ইনপুট ধরন নথিভুক্ত করে, আর ব্যর্থ চেষ্টার পরে নয়, প্রথম সম্পাদনার আগেই এটি পড়া উচিত।
ব্যবহার ফিল্টার একটি OID স্ট্রিং চায়
বর্ধিত-কী-ব্যবহার প্যারামিটার OID স্ট্রিং নেয়, আর ক্লায়েন্ট প্রমাণীকরণের উদ্দেশ্য হলো 1.3.6.1.5.5.7.3.2। এটি প্রয়োগ করলে প্রার্থীরা সেই উদ্দেশ্য বহনকারী সার্টিফিকেটে সীমিত হয়, যা ক্লায়েন্ট-প্রমাণীকরণ স্থাপনা চায়:
Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'
মানটি একটি অ্যারে, তাই একাধিক উদ্দেশ্য প্রয়োজন হলে স্থাপনা সেগুলো তালিকা হিসেবে পাঠায়। ফিল্টার যা করতে পারে না তা হলো সার্টিফিকেটে উদ্দেশ্য যোগ করা: এটি স্বাক্ষরিত এক্সটেনশনের বিরুদ্ধে মূল্যায়িত একটি নির্বাচন প্রকাশ, এবং কোনো ফিল্টার সেগুলো পুনর্লিখন করে না, তাই উদ্দেশ্যহীন সার্টিফিকেটকে আবার নথিভুক্তির মধ্য দিয়ে যেতে হবে।
ব্যবহারকারী-সার্টিফিকেট EAP কনফিগারেশন মেশিন-সার্টিফিকেট ফিল্টারিং থেকে আলাদা রাখুন, কারণ তারা ভিন্ন জায়গায় থাকে এবং একটিতে পরিবর্তন অন্যটির ব্যর্থতা খুব কমই ব্যাখ্যা করে। এছাড়া দেখুন প্রোফাইলটি ডোমেইন না ডিভাইস ব্যবস্থাপনার অধীনে, কারণ পরবর্তী নীতি হালনাগাদে কেউ মেশিন স্পর্শ না করেই স্থানীয় সম্পাদনা প্রতিস্থাপিত হতে পারে।
ক্লায়েন্ট কোন সার্টিফিকেট প্রস্তাব করেছিল তা প্রমাণ করুন
একটি নতুন সংযোগ স্থাপন করুন এবং অভীষ্ট পরিচয়ের জন্য ক্লায়েন্ট ও সার্ভার প্রমাণীকরণের প্রমাণ পড়ুন। যখন একাধিক সার্টিফিকেট ফিল্টার পূরণ করে, ফলাফল একটি পিন করা লিফ নয় বরং ছোট পুল, তাই পরের চেষ্টা ভিন্ন সদস্য বেছে নিতে পারে। সেই প্রমাণে যে থাম্বপ্রিন্ট দেখা যায় তা নোট করুন এবং স্টোর থেকে লিপিবদ্ধটির সঙ্গে তুলনা করুন।
সফল কমান্ড মানেই সফল প্রমাণীকরণ নয়। লিপিবদ্ধ করার মতো ফলাফল হলো অভীষ্ট সার্টিফিকেট পরিচালিত নীতির অধীনে প্রমাণীকরণ করছে, আর প্রতিটি অসম্পর্কিত সার্টিফিকেট তার ওপর নির্ভরশীল সেবাগুলোর জন্য উপলব্ধ থাকছে। ব্যর্থতা দুটি ফিল্টার পেরিয়ে টিকে থাকলে পরের দেখার জায়গা পুরো প্রোফাইল নয়, বরং অবশিষ্ট প্রার্থীরা।