RouterOS OpenVPN ও NPS: auth নয়, user-auth-method সেট করুন
RouterOS-এ auth টানেলের ডাইজেস্ট বেছে নেয়, আর user-auth-method ঠিক করে RADIUS অনুরোধ কীভাবে যাচাই হবে। দ্বিতীয়টি NPS নীতির সঙ্গে মিলিয়ে নিন।
RouterOS একটি OpenVPN লগইন নিয়ে NPS-এ পৌঁছেও প্রত্যাখ্যাত হতে পারে, আর সাধারণ কারণ হলো দুটি সেটিং যাদের নাম দুটোই প্রমাণীকরণের মতো শোনায়। একটি টানেলের জন্য ক্রিপ্টোগ্রাফিক ডাইজেস্ট বেছে নেয়; অন্যটি ঠিক করে ব্যবহারকারীর শনাক্তকরণ তথ্য RADIUS-এ কীভাবে উপস্থাপিত হবে। ডাইজেস্ট বদলালে PAP অনুরোধ কখনোই MS-CHAPv2 হয়ে যাবে না, সেবাটি যতবারই পুনরায় চালু হোক। নিচের চেকলিস্ট দুটিকে আলাদা করে, তারপর একটি ব্যর্থ লগইনকে যাচাইকারী NPS নীতির মধ্য দিয়ে অনুসরণ করে।
ধাপ 1: যেকোনোটি বদলানোর আগে দুটি সেটিংই পড়ুন
যে রাউটার টানেল শেষ করে, তার ওপর কার্যকর OpenVPN সার্ভার কনফিগারেশন প্রিন্ট করুন, ব্যাকআপ বা কপি করা ফোরাম পোস্ট থেকে নয়। আপনার আগ্রহের দুটি ফিল্ড সাধারণত একই মেনুতে থাকে এবং বিকল্পের মতো পড়া যায়। তারা বিকল্প নয়: একটি ডেটা চ্যানেল সম্পর্কে, অন্যটি শনাক্তকরণ তথ্য বিনিময় সম্পর্কে.
/interface ovpn-server server print
/interface ovpn-server server export
auth ফিল্ডে sha1 ও sha256-এর মতো ডাইজেস্ট তালিকাভুক্ত থাকে এবং এটি টানেল প্যাকেট প্রমাণীকরণকারী HMAC নিয়ন্ত্রণ করে। user-auth-method ফিল্ড pap বা mschap2 বেছে নেয় এবং রাউটার কীভাবে ব্যবহারকারীর শনাক্তকরণ তথ্য RADIUS-এ উপস্থাপন করবে তা ঠিক করে। ডাইজেস্ট পরিবর্তন দ্বিতীয় আচরণ বদলাতে পারে না, তাই প্রথমটিতে যত টোকা দেওয়া হয় একই প্রত্যাখ্যান টিকে থাকে।
যদি আপনার রিলিজ user-auth-method একেবারেই না দেখায়, এখানেই থামুন। পুরোনো RouterOS বিল্ড OpenVPN সার্ভারে এটি নাও দিতে পারে, আর সমাধান নতুন থেকে কপি করা কমান্ডে নয়, আপনার সহায়তাকৃত রিলিজে থাকা উচিত।
ধাপ 2: যে নীতি সত্যিই লগইন প্রত্যাখ্যান করেছে তা খুঁজুন
NPS-এর দিকে একটি সংযোগ অনুরোধ নেটওয়ার্ক নীতির বিপরীতে মূল্যায়িত হয়, আর মিলে যাওয়া নীতিতে উল্লিখিত প্রমাণীকরণ পদ্ধতি ক্লায়েন্টের সত্যিই প্রস্তাবিত একটি হতে হবে। সারসংক্ষেপ সংখ্যা পড়ার বদলে একটি ব্যর্থ লগইনকে সময় ও ব্যবহারকারী দিয়ে মিলিয়ে দেখুন। নিরাপত্তা লগ অনুমোদিত ও প্রত্যাখ্যাত অনুরোধ কারণ কোডসহ নথিভুক্ত করে, যা রাউটারের সাধারণ ব্যর্থতার লাইনের চেয়ে অনেক বেশি বলে।
Get-WinEvent -LogName Security -MaxEvents 200 |
Where-Object { $_.Id -in 6272,6273 } |
Format-List TimeCreated,Id,Message
ইভেন্টে তিনটি জিনিস পড়ুন: মিলে যাওয়া নীতির নাম, প্রমাণীকরণ পদ্ধতি এবং কারণ কোড। MS-CHAPv2 প্রয়োজন এমন নীতি পাসওয়ার্ড সঠিক হলেও PAP অনুরোধ প্রত্যাখ্যান করে, আর ডোমেইন অ্যাকাউন্ট প্রয়োজন এমন নীতি স্থানীয় অ্যাকাউন্ট প্রত্যাখ্যান করে। RADIUS ক্লায়েন্ট এন্ট্রিকেও রাউটারের উৎস ঠিকানার সঙ্গে মিলতে হবে, নইলে কোনো নীতি দেখা হওয়ার আগেই অনুরোধ বাদ পড়ে। এগুলোর কিছুই OpenVPN লগে দেখা যায় না।
অনুরোধ যদি কখনো NPS-এ না পৌঁছায়, এখানেই থামুন। এটি শেয়ার্ড সিক্রেট, ক্লায়েন্ট ঠিকানা বা UDP 1812-এর সমস্যা, আর প্রমাণীকরণ পদ্ধতি বদলে এটি ঠিক হবে না।
ধাপ 3: উভয় দিকে একটি পদ্ধতি বদলান
অনুমোদিত নকশা যদি MS-CHAPv2 হয়, রাউটারে তা সেট করুন এবং মিলে যাওয়া নীতি তা গ্রহণ করে নিশ্চিত করুন। এক দিক বদলান, আবার পরীক্ষা করুন, তারপর অন্যটি বদলান; দুটো একসঙ্গে বদলালে কোনটি গুরুত্বপূর্ণ ছিল তা আর বলতে পারবেন না।
/interface ovpn-server server set user-auth-method=mschap2
/interface ovpn-server server print
/log print where topics~"radius"
ত্রুটি মিলিয়ে দিতে NPS-এ প্রতিটি দুর্বল পদ্ধতি চালু করবেন না। ব্যাকএন্ডে এমন উপাদান থাকতে হবে যা নির্বাচিত পদ্ধতি যাচাই করতে পারে: MS-CHAPv2-এর পাসওয়ার্ড বা ডোমেইনে প্রবেশাধিকার প্রয়োজন, আর নীতি সেই উপাদান বানাতে পারে না। নীতি প্রশস্ত করলে একই অ্যাকাউন্টের বিরুদ্ধে আক্রমণকারী কী চেষ্টা করতে পারে তাও প্রশস্ত হয়। পদ্ধতি, নীতির নাম ও পরিবর্তনের রেফারেন্স একসঙ্গে লিখুন, যাতে পরের ব্যক্তি অনুমান নয়, একটি সিদ্ধান্ত উত্তরাধিকার পান।
টানেলের সার্টিফিকেট যাচাই আগের মতোই রাখুন। শনাক্তকরণ পদ্ধতি সার্ভার পরিচয়ের বিকল্প নয়, আর পরীক্ষা পাস করাতে TLS যাচাই কমানো একটি সমস্যার বদলে আরও খারাপ একটি সমস্যা ডেকে আনে।
ধাপ 4: তিনটি লগইন ও একটি অনুমতি পরীক্ষা করুন
একজন অনুমোদিত ব্যবহারকারী, একটি ভুল পাসওয়ার্ড এবং একজন বাদ দেওয়া ব্যবহারকারী পরীক্ষা করুন, প্রত্যেকে নতুন সেশনে। প্রথমটি পথ প্রমাণ করে, দ্বিতীয়টি প্রমাণ করে শনাক্তকরণ যাচাই সত্যিই হচ্ছে, আর তৃতীয়টি প্রমাণ করে নীতি এখনও যাদের বাদ দেওয়া উচিত তাদের বাদ দিচ্ছে। ক্যাশে করা সেশন তিনটিই লুকাতে পারে, তাই চেষ্টার মাঝে সংযোগ বিচ্ছিন্ন করুন।
/log print where topics~"ovpn"
/radius monitor 0
সফল প্রমাণীকরণ চেকলিস্টের শেষ নয়। ক্লায়েন্ট যে ঠিকানা পেয়েছে এবং সেই ঠিকানা যে সম্পদে পৌঁছাতে পারে তা পরীক্ষা করুন, কারণ ব্যবহারকারী সঠিকভাবে প্রমাণিত হয়েও ভুল পুলে পড়তে পারে। নির্ধারিত ঠিকানা ভুল হলে সমস্যা পদ্ধতিতে নয়, প্রোফাইল বা RADIUS উত্তরের অ্যাট্রিবিউটে। টিকিট বন্ধ করার আগে দুটোই নিশ্চিত করুন।
চেকলিস্ট সম্পূর্ণ হয় যখন রাউটার সেটিং ও NPS নীতি একই পদ্ধতির নাম বলে, একজন অনুমোদিত ব্যবহারকারী নতুন সেশনে সংযুক্ত হন, একটি ভুল পাসওয়ার্ড প্রত্যাখ্যাত হয়, একজন বাদ দেওয়া ব্যবহারকারী বাদই থাকেন এবং নির্ধারিত ঠিকানা কাঙ্ক্ষিত পুলের সঙ্গে মেলে। এর কম হলে পরের লগইন ভাগ্যের ওপর থাকে।