ঠিকানা ব্লক করা আর অ্যাকাউন্ট লক করা দুটি ভিন্ন ব্যবস্থা, আর এরা বিপরীত দিকে ব্যর্থ হয়। নিষেধাজ্ঞা একটি উৎস থামায়, অ্যাকাউন্ট অন্য জায়গা থেকে পৌঁছনো যায়; লক পরিচয়টি সব জায়গায় থামায়, ব্যবহারকারীর নিজের ল্যাপটপেও।

PAM-এ প্রমাণীকরণ ছেড়ে দেওয়া VPN-এ গণনাটি PAM স্ট্যাক যেখানে পৌঁছায় সেটাই, শ্রবণকারীর লগ নয়।

দুটি গণনা, দুই ভিন্ন ভুক্তভোগী

হার সীমা উৎস দেখে জিজ্ঞাসা করে সম্প্রতি কত চেষ্টা এসেছে; লক পরিচয় দেখে জিজ্ঞাসা করে অ্যাকাউন্ট কত ব্যর্থতা জমিয়েছে। প্রথমটি প্রাপ্যতা, দ্বিতীয়টি প্রমাণপত্র রক্ষা করে; একটি অন্যটির বিকল্প নয়।

তাই পাঁচ ব্যর্থতার পরে IP ব্লক করি কথাটি প্রমাণপত্র ভরাটের উত্তর নয়। আক্রমণকারী উৎস বদলায়, প্রতিটিতে অল্প চেষ্টা হয়, অ্যাকাউন্ট গণনায় আসে না। উল্টোদিকে উৎস নিয়ন্ত্রণহীন লক ইচ্ছাকৃত ব্যর্থতায় অ্যাকাউন্ট অনির্দিষ্টকাল লক রাখতে দেয়।

পুনরুদ্ধারও আলাদা। নিষেধাজ্ঞা টাইমারে শেষ হয়; লকে প্রশাসক, লিখিত অপেক্ষা বা স্ব-পরিষেবা রিসেট লাগতে পারে।

যে ভাণ্ডার ইতিমধ্যেই গণনাটি রাখে তা খুঁজুন

কিছু যোগ করার আগে দেখুন ব্যর্থতার ভাণ্ডার আগেই আছে কি না। স্থানীয় অ্যাকাউন্ট, ডিরেক্টরি আর বাহ্যিক পরিচয় প্রদানকারী নিজের গণনা রাখে; সামনে বসানো PAM মডিউল প্রথমটি বাড়ানোর বদলে দ্বিতীয়টি তৈরি করে।

grep -rnE 'faillock|pam_tally|pam_unix' /etc/pam.d/
ls -l /etc/pam.d/ | head -20

VPN যে পরিষেবা ফাইলের নাম দেয় তা পড়ে অন্তর্ভুক্তির লাইন অনুসরণ করুন। অনেক ডিস্ট্রিবিউশনে VPN পরিষেবা সাধারণ ফাইল অন্তর্ভুক্ত করে, তাই আপনার গণনা SSH আর স্থানীয় লগইনেও প্রযোজ্য।

ডিরেক্টরি আগেই লক প্রয়োগ করলে প্রশ্ন হলো PAM সংলাপ কীভাবে সেই সিদ্ধান্তে পৌঁছায় আর VPN তা কীভাবে জানায়। উপরের স্থানীয় গণনা ডিরেক্টরির গণনা হয় না, দুটি নীতি অ্যাকাউন্ট কখন খুলবে নিয়ে একমত নাও হতে পারে।

pam_faillock-এ একটি নয়, তিনটি কল অবস্থান আছে

মডিউলটি নকল করা লাইনে ধোঁয়াশা হওয়া তিনটি কাজ আলাদা করে: আগেই লক কি না যাচাই, ব্যর্থতা লিপিবদ্ধ, আর সফলতার পরে ইতিহাস মোছা।

পুরোনো মডিউল থেকে স্থানান্তরে এখানেই ভুল হয়। কাজ করা pam_tally2 উদাহরণের লাইন pam_faillock স্ট্যাকে নকল করা নাম বদল নয়; ভুল জায়গায় কল ব্যর্থতা যাচাই না করেই লিপিবদ্ধ করতে পারে।

faillock --user alice
faillock --user alice --reset

পরিদর্শন সরঞ্জাম গণনা সত্যি কি না দেখার দ্রুততম উপায়: লিপিবদ্ধ ব্যর্থতা দেখায় আর মুছতে পারে। নিয়ন্ত্রিত ব্যর্থতা ফল না বদলালে কল অবস্থান ভুল।

নিজস্ব পরিষেবা নাম বিচ্ছিন্নতা নয়

নিজের PAM ফাইল নীতি দৃশ্যমান করে, প্রভাব সীমিত করে না। সাধারণ ফাইলের অন্তর্ভুক্তি তার সব কাজ নিয়ে আসে, সারা সিস্টেমের গণনাসহ।

লক কেবল VPN প্রবেশ না একই অ্যাকাউন্টের প্রতিটি পরিষেবা কভার করবে তা স্পষ্ট করুন। দুটি উত্তরই যুক্তিসঙ্গত; ভুল হলো একটি বেছেছেন ভেবে থাকা অথচ স্ট্যাক অন্যটি চালাচ্ছে।

তারপর খরচ হিসাব করুন। আক্রমণকারী লক চালু করতে পারে, আর কষ্ট পাওয়া ব্যবহারকারীই অ্যাকাউন্টের মালিক। সীমা, অপেক্ষার সময় আর প্রশাসনিক পুনরুদ্ধার পথ নীতির অংশ, আর পুনরুদ্ধার ঘটনার সময় VPN পুনর্বিন্যাসের উপর নির্ভর করা উচিত নয়।

ক্রমটি মেনে নিন, একটি প্রত্যাখ্যান নয়

অনুমোদিত পরিকল্পনায় নির্ধারিত পরিচয়ে শৃঙ্খল পরীক্ষা করুন: বৈধ অ্যাকাউন্ট প্রমাণ করে, ইচ্ছাকৃত ভুল পাসওয়ার্ড গণনা এগোয়, লক কার্যকর হয়, নথিভুক্ত পুনরুদ্ধার প্রবেশ ফেরায়।

faillock --user test-vpn-01
journalctl -u openvpn-server@lab -n 30 --no-pager | grep -i 'auth\|pam'

সফলতার আচরণও তেমনই দেখুন। সফল লগইন ইতিহাস না মুছলে ধীর জমা হওয়া সাধারণ ভুলে অ্যাকাউন্ট লক হবে। সব পরিষেবা থেকে সব মুছলে গণনা নীতির দাবির চেয়ে দুর্বল।

শেষে বিজয় ঘোষণার আগে অপরিবীক্ষিত ক্লায়েন্ট বন্ধ করুন। সংরক্ষিত প্রমাণপত্র পটভূমিতে চেষ্টা করে পুনরুদ্ধারের কয়েক মিনিটেই ব্যর্থতা আবার তৈরি করে অ্যাকাউন্ট লক করবে। উৎসভিত্তিক হার সীমা অতিরিক্ত নিয়ন্ত্রণ, অ্যাকাউন্ট নীতি নয়।

সম্পর্কিত নিবন্ধ