Windows-এ IKEv2 কাস্টম পলিসি: এটি স্বতন্ত্র ধাপ হিসেবে প্রয়োগ করুন
প্রভিজন করা সংযোগ আর কাস্টম ক্রিপ্টো স্যুট দুটি আলাদা ফলাফল। পলিসি ফিল্ড, প্রোফাইল স্কোপ এবং যে মালিক সেগুলো আবার প্রয়োগ করেন—সবই মিলিয়ে নিন।
একটি প্রভিজনিং প্যাকেজ IKEv2 সংযোগ তৈরি করে, আর তা থেকে তৈরি প্রোফাইলটি আপনার ইচ্ছুক স্যুটের বদলে অন্য কিছুতে সমঝোতা করে। প্যাকেজটি নিজের কাজ করেছে; আপনার ধরে নেওয়া কাজের জন্য এতে কখনো কোনো ফিল্ড ছিল না। ক্রিপ্টো স্যুটটিকে আলাদা ও যাচাইযোগ্য প্রভিজনিং ধাপ হিসেবে গণ্য করুন।
নিচের পাঁচটি বিষয় ক্রমানুসারে দেখুন এবং গ্রহণযোগ্যতার ফলাফলগুলো আলাদা রাখুন।
একই রকম নামের পেছনে দুই ধরনের পলিসি
Windows কী এক্সচেঞ্জ রক্ষা করে যে পলিসি এবং ট্রাফিক রক্ষা করে যে পলিসি, এই দুটিকে আলাদা রাখে। IKE দিকটি একটি এনক্রিপশন পদ্ধতি ও একটি ইন্টিগ্রিটি পদ্ধতি দিয়ে কনফিগার হয়। ডেটা দিকটি সাইফার ও অথেন্টিকেশন ট্রান্সফর্ম কনস্ট্যান্ট দিয়ে কনফিগার হয়, এবং সেই কনস্ট্যান্টগুলো নিজেদের নাম ব্যবহার করে। ভুল ফিল্ডে কপি করা একটি AES লেবেল এমন সংযোগ তৈরি করে যা কেউ অনুমোদন করেনি এমন পলিসির অধীনে প্রতিষ্ঠিত হয়।
কী এক্সচেঞ্জ গ্রুপ ও পারফেক্ট ফরওয়ার্ড সিক্রেসি একই সমঝোতার অংশ এবং গেটওয়ের কাছে গ্রহণযোগ্য হতে হবে। দূরবর্তী প্রান্ত যাচাই না করে এগুলো সেট করলে আপনি যে ধাপটি সম্পাদনা করছিলেন তার চেয়ে পরের কোনো ধাপে ব্যর্থতা ঘটে, তাই এই ভুলগুলো গেটওয়ে সমস্যার মতো দেখায়।
দুটি অ্যালগরিদম নাম নয়, একটি সম্পূর্ণ পলিসি তৈরি করুন
প্রতিটি ফিল্ড স্পষ্টভাবে লিখুন, যেগুলোকে আপনি ডিফল্ট মনে করেন সেগুলোসহ। ফোর্স ফ্ল্যাগসহ আংশিক পলিসি প্রয়োগ হলে সেটিই সংরক্ষিত কনফিগারেশন হয়ে যায়, আর আপনি যে মানগুলো বাদ দিয়েছেন সেগুলো হলো সেই মুহূর্তে প্ল্যাটফর্মে যা ছিল। একই উপসর্গ দিয়ে শুরু হওয়া মান ফিল্ডের মধ্যে বিনিময়যোগ্য নয়, এবং সুপরিচিত ট্রান্সফর্ম নামগুলোর একটি কেবল অথেন্টিকেশন ট্রান্সফর্ম হিসেবে বৈধ।
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
সেই ব্লকটিকে আপনার দুই প্রান্তেরই সমর্থন করা উচিত একটি উদাহরণমূলক স্যুট হিসেবে ধরুন, সুপারিশ হিসেবে নয়। ফোর্স সুইচটি প্রম্পট চেপে দেয়; আপনি পর্যালোচনা করেননি এমন প্যাকেজ অনুমোদন করে না।
আগে তৈরি করুন, পরে প্রয়োগ করুন — একই স্কোপে
পলিসি সেট করার আগে সংযোগটি থাকতে হবে, এবং প্রতিটি ধাপে স্কোপ মিলতে হবে। মেশিন-কনটেক্সটের একটি ধাপ কেবল ডিসপ্লে নাম একই হওয়ার কারণে কোনো ইচ্ছাকৃত ব্যবহারকারীর ব্যক্তিগত প্রোফাইল খুঁজে পায় না। সকল-ব্যবহারকারীর সংযোগ, ব্যবহারকারীর সংযোগ এবং তাদের স্টেট ডিরেক্টরি আলাদা নামের আলাদা অবজেক্ট।
প্রভিজনিং প্যাকেজে ক্রমটি দেখতে যতটা সহজ, তার চেয়ে বেশি গুরুত্বপূর্ণ, কারণ দুটি কমান্ড সংযোগ তৈরির সময়ের চেয়ে বেশি নিকটে চলতে পারে। কনফিগারেশনের পরবর্তী কাজটি ঘোষিত এক্সিকিউশন কনটেক্সটসহ অনুমোদিত প্রভিজনিং কমান্ড হিসেবে প্যাকেজ করুন এবং অনুমানভিত্তিক বিলম্ব ঢোকানোর বদলে প্রভিজনিং ইঞ্জিনকে সেটি ক্রমানুসারে সাজাতে দিন। আপনার পরীক্ষার হার্ডওয়্যারে যতক্ষণ যথেষ্ট, ততক্ষণ ঘুম হলো বিলম্ব জুড়ে দেওয়া একটি রেস কন্ডিশন। সময়কাল নয়, নির্ভরতাটি লিখে রাখুন।
ডকুমেন্টেড Configuration Designer ফিল্ডগুলো একটি VPN সেটিং বর্ণনা করে এবং প্রতিটি নেটিভ IPsec নিয়ন্ত্রণ প্রকাশ করে না। যদি প্রয়োজনটি ব্যবস্থাপিত ডেলিভারি হয়, VPNv2 কনফিগারেশন সার্ভিস প্রোভাইডারের ঠিক এই উদ্দেশ্যে একটি ক্রিপ্টোগ্রাফি স্যুট বিভাগ আছে।
পলিসির জন্য একজনই মালিক নির্ধারণ করুন
পরবর্তী কোনো ম্যানেজমেন্ট-প্রোফাইল আপডেট সংযোগটি পুনরায় তৈরি করতে পারে এবং স্ক্রিপ্ট যা প্রয়োগ করেছিল তা প্রতিস্থাপন করতে পারে, আর সেই প্রতিস্থাপন পিছিয়ে যাওয়ার মতো দেখাবে। স্যুটটির মালিক প্রোফাইল, স্ক্রিপ্ট নাকি ম্যানেজমেন্ট চ্যানেল—তা ঠিক করুন, এবং রুটিন আপডেটগুলো যেন প্রথম ইনস্টলেশনের মতো একই পথ অনুসরণ করে।
দুই মালিক মতভেদ করলে তা মালিকহীন হওয়ার সমান। প্রোফাইলের পরিবর্তন রেকর্ডে মালিকের নাম লিখুন। পরবর্তী আপডেট সেই রেকর্ড যা বলে তা-ই অনুসরণ করবে।
প্যাকেজ নয়, সমঝোতায় আসা ফলাফল যাচাই করুন
সংরক্ষিত প্রোফাইল ও তার স্কোপ পড়ুন, তারপর নতুন সংযোগ প্রতিষ্ঠা করে গেটওয়েতে নির্বাচিত প্রস্তাবগুলো তুলনা করুন। কী পুনর্নবীকরণের আচরণও নিশ্চিত করুন, কারণ প্রাথমিক হ্যান্ডশেক এমন স্যুটে সফল হতে পারে যা পরের ধাপ প্রত্যাখ্যান করে।
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
তিনটি গ্রহণযোগ্যতার ফলাফল একই ঘটনা নয়: প্যাকেজ ইনস্টল হয়েছে, প্রোফাইলটি উদ্দিষ্ট পলিসিসহ বিদ্যমান, এবং প্রান্ত দুটি এতে সমঝোতায় এসেছে। এগুলো আলাদা রাখুন, যাতে অনুপস্থিত কোনো ফিল্ড কখনো অথেন্টিকেশন দুর্বল করে বা কেউ বেছে নেয়নি এমন ফলব্যাক চালু করে মেরামত না হয়।